Bug 171674 - [NEW PORT] audio/alure: Utility library to help manage common tasks with OpenAL
[NEW PORT] audio/alure: Utility library to help manage common tasks with OpenAL
Status: Closed FIXED
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s)
Latest
Any Any
: Normal Affects Only Me
Assigned To: Marcus von Appen
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2012-09-16 00:20 UTC by nemysis
Modified: 2013-01-18 21:00 UTC (History)
1 user (show)

See Also:


Attachments
.shar (8.11 KB, text/plain)
2012-09-16 00:20 UTC, nemysis
no flags Details
alure.shar (6.59 KB, application/x-shar)
2012-10-11 03:30 UTC, nemysis
no flags Details
alure.shar (6.54 KB, application/x-shar)
2013-01-15 17:35 UTC, nemysis
no flags Details
alure.shar (7.32 KB, application/x-shar)
2013-01-18 02:36 UTC, nemysis
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description nemysis 2012-09-16 00:20:09 UTC
ALURE is a utility library to help manage common tasks with OpenAL applications.
This includes device enumeration and initialization, file loading,
and streaming. As of version 1.1, it is X11/MIT licensed, allowing it to be used
in open- and closed-source programs, freeware or commercial.

The purpose of this library is to provide pre-made functionality that would
otherwise be repetitive or difficult to (re)code for various projects
and platforms, such as loading a sound file into an OpenAL buffer and streaming
an audio file through a buffer queue. Support for different formats is
consistant across platforms, so no special checks are needed when loading files,
and all formats are handled through the same API.

Currently ALURE includes a basic .wav and .aif file reader,
and can leverage external libraries such as libSndFile
(for extended wave formats and several others), VorbisFile (for Ogg Vorbis),
FLAC (for FLAC and Ogg FLAC), and others. External libraries can also be
dynamically loaded at run-time, or individually disabled outright at compile
time.

WWW: http://kcat.strangesoft.net/alure.html

Generated and tested manually, tested with port test and with RedPorts (all RELEASES, CLANG), sent with FreeBSD Port Tools 0.99_6 (mode: new)

How-To-Repeat: 
portlint -A
WARN: Makefile: only one MASTER_SITE configured.  Consider adding additional mirrors.


Build log RedPorts

https://redports.org/buildarchive/20120915160741-27406/
Comment 1 Marcus von Appen freebsd_committer 2013-01-15 15:54:53 UTC
Responsible Changed
From-To: freebsd-ports-bugs->mva

I'll take it.
Comment 2 Marcus von Appen freebsd_committer 2013-01-15 15:57:35 UTC
State Changed
From-To: open->feedback

The port should only use USE_OPENAL=[[si|soft|al] alut] and not an 
additional lib dependency on openal-soft. Can you verify that it works 
with USE_OPENAL=si alut, too? In that case, remove the openal-soft 
LIB_DEPENDS line or set USE_OPENAL to soft
Comment 3 Marcus von Appen freebsd_committer 2013-01-15 15:59:24 UTC
State Changed
From-To: feedback->analyzed

.
Comment 4 Marcus von Appen freebsd_committer 2013-01-15 15:59:41 UTC
State Changed
From-To: analyzed->feedback

The port should only use USE_OPENAL=[[si|soft|al] alut] and not an 
additional lib dependency on openal-soft. Can you verify that it works 
with USE_OPENAL=si alut, too? In that case, remove the openal-soft 
LIB_DEPENDS line or set USE_OPENAL to 'soft alut' explicitly.
Comment 5 nemysis 2013-01-15 17:35:53 UTC
Thanks have removed

openal:${PORTSDIR}/audio/openal-soft

and use

USE_OPENAL=     soft

Use soft because audio/openal-soft and audio/alure are from
same Developer

http://kcat.strangesoft.net/index.html
Comment 6 Marcus von Appen freebsd_committer 2013-01-17 19:59:02 UTC
State Changed
From-To: feedback->analyzed

.
Comment 7 Marcus von Appen freebsd_committer 2013-01-17 20:00:31 UTC
State Changed
From-To: analyzed->feedback

The port fails to respect NOPORTDOCS. The documentation should only be 
built and installed, if the DOCS option is set. In that case, the 
additional BUILD_DEPENDS on naturaldocs is required.
Comment 8 nemysis 2013-01-18 02:36:20 UTC
Changed Makefile:

OPTIONS_DEFINE=>VORBIS FLAC MPG123 DUMB MODPLUG FLUIDSYNTH DOCS

.if defined(WITH_DOCS)
BUILD_DEPENDS+= NaturalDocs:${PORTSDIR}/devel/naturaldocs
PLIST_SUB+=     PORTDOCS=""
.else
PLIST_SUB+=     PORTDOCS="@comment "
.endif

post-patch:
        @${REINPLACE_CMD} -e 's|lib$${LIB_SUFFIX}/pkgconfig|$${CMAKE_INSTALL_PREFIX}/libdata/pkgconfig|' \
                -e 's|"ModPlug support (for IT/XM/S3M/MOD)" OFF)|"ModPlug support (for IT/XM/S3M/MOD)" ON)|' \
                ${WRKSRC}/CMakeLists.txt
        @${REINPLACE_CMD} -e 's|/lib/pkgconfig|/libdata/pkgconfig|' \
                ${WRKSRC}/XCompile.txt


.if ${PORT_OPTIONS:MDOCS}
        @${REINPLACE_CMD} \
                -e 's|INSTALL(DIRECTORY "$${ALURE_SOURCE_DIR}/docs/html"|INSTALL(DIRECTORY "$${ALURE_SOURCE_DIR}/docs/html" "$${ALURE_SOURCE_DIR}/docs/naturaldocs"|' \
                ${WRKSRC}/CMakeLists.txt
.endif

.if ! ${PORT_OPTIONS:MDOCS}
        @${REINPLACE_CMD} -i '' '/FIND_PROGRAM(NATDOCS_BIN NaturalDocs)/,/ENDIF(NATDOCS_BIN)/s/^/#/' ${WRKSRC}/CMakeLists.txt
        @${REINPLACE_CMD} -i '' -e '/INSTALL(DIRECTORY "$${ALURE_SOURCE_DIR}/,+2d' ${WRKSRC}/CMakeLists.txt
.endif

post-install:
.if ${PORT_OPTIONS:MEXAMPLES}
        ${MKDIR} ${EXAMPLESDIR}
        @(cd ${WRKSRC}/examples && ${COPYTREE_SHARE} \* ${EXAMPLESDIR})
.endif


Now port respect NOPORTDOCS. Have added Examples. This patching is needed.

portlint -A
looks fine.


port test: clean


ldconfig -r | grep alure
...
867:-lalure.1 => /usr/local/lib/libalure.so.1
Comment 9 dfilter freebsd_committer 2013-01-18 20:57:19 UTC
Author: mva
Date: Fri Jan 18 20:57:11 2013
New Revision: 310620
URL: http://svnweb.freebsd.org/changeset/ports/310620

Log:
  ALURE is a utility library to help manage common tasks with OpenAL applications.
  This includes device enumeration and initialization, file loading,
  and streaming. As of version 1.1, it is X11/MIT licensed, allowing it to be used
  in open- and closed-source programs, freeware or commercial.
  
  The purpose of this library is to provide pre-made functionality that would
  otherwise be repetitive or difficult to (re)code for various projects
  and platforms, such as loading a sound file into an OpenAL buffer and streaming
  an audio file through a buffer queue. Support for different formats is
  consistant across platforms, so no special checks are needed when loading files,
  and all formats are handled through the same API.
  
  Currently ALURE includes a basic .wav and .aif file reader,
  and can leverage external libraries such as libSndFile
  (for extended wave formats and several others), VorbisFile (for Ogg Vorbis),
  FLAC (for FLAC and Ogg FLAC), and others. External libraries can also be
  dynamically loaded at run-time, or individually disabled outright at compile
  time.
  
  WWW: http://kcat.strangesoft.net/alure.html
  
  PR:		ports/171674
  Submitted by:	nemysis <nemysis@gmx.ch>

Added:
  head/audio/alure/
  head/audio/alure/Makefile   (contents, props changed)
  head/audio/alure/distinfo   (contents, props changed)
  head/audio/alure/pkg-descr   (contents, props changed)
  head/audio/alure/pkg-plist   (contents, props changed)
Modified:
  head/audio/Makefile

Modified: head/audio/Makefile
==============================================================================
--- head/audio/Makefile	Fri Jan 18 20:52:49 2013	(r310619)
+++ head/audio/Makefile	Fri Jan 18 20:57:11 2013	(r310620)
@@ -29,6 +29,7 @@
     SUBDIR += alsa-lib
     SUBDIR += alsa-plugins
     SUBDIR += alsa-utils
+    SUBDIR += alure
     SUBDIR += amarok
     SUBDIR += amarok-fs
     SUBDIR += amarok-kde4

Added: head/audio/alure/Makefile
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/audio/alure/Makefile	Fri Jan 18 20:57:11 2013	(r310620)
@@ -0,0 +1,117 @@
+# Created by: nemysis@gmx.ch
+# $FreeBSD$
+
+PORTNAME=	alure
+PORTVERSION=	1.2
+CATEGORIES=	audio
+MASTER_SITES=	http://kcat.strangesoft.net/alure-releases/
+
+MAINTAINER=	nemysis@gmx.ch
+COMMENT=	Utility library to help manage common tasks with OpenAL
+
+LICENSE=	MIT
+
+LIB_DEPENDS+=	sndfile:${PORTSDIR}/audio/libsndfile
+
+USE_OPENAL=	soft
+USE_LDCONFIG=	yes
+USE_CMAKE=	yes
+CMAKE_VERBOSE=	yes
+
+CFLAGS+=	-I${LOCALBASE}/include -L${LOCALBASE}/lib
+
+OPTIONS_DEFINE=		VORBIS FLAC MPG123 DUMB MODPLUG FLUIDSYNTH DOCS EXAMPLES
+OPTIONS_DEFAULT=	VORBIS FLAC DUMB
+
+DUMB_DESC=		DUMB audio library decoding support
+MODPLUG_DESC=		MOD decoding via ModPlug
+FLUIDSYNTH_DESC=	MIDI support via FluidSynth
+
+.include <bsd.port.options.mk>
+
+.if ${PORT_OPTIONS:MVORBIS}
+PLIST_SUB+=	VORBIS=""
+LIB_DEPENDS+=	vorbis:${PORTSDIR}/audio/libvorbis
+PLUGIN_OPTIONS_CMAKE+=	-DUSE_VORBIS:BOOL=TRUE
+.else
+PLIST_SUB+=	VORBIS="@comment "
+PLUGIN_OPTIONS_CMAKE+=	-DUSE_VORBIS:BOOL=FALSE
+.endif
+
+.if ${PORT_OPTIONS:MFLAC}
+PLIST_SUB+=	FLAC=""
+LIB_DEPENDS+=	FLAC:${PORTSDIR}/audio/flac
+PLUGIN_OPTIONS_CMAKE+=	-DUSE_FLAC:BOOL=TRUE
+.else
+PLIST_SUB+=	FLAC="@comment "
+PLUGIN_OPTIONS_CMAKE+=	-DUSE_FLAC:BOOL=FALSE
+.endif
+
+.if ${PORT_OPTIONS:MMPG123}
+PLIST_SUB+=	MPG123=""
+LIB_DEPENDS+=	mpg123:${PORTSDIR}/audio/mpg123
+PLUGIN_OPTIONS_CMAKE+=	-DUSE_MPG123:BOOL=TRUE
+.else
+PLIST_SUB+=	mpg123="@comment "
+PLUGIN_OPTIONS_CMAKE+=	-DUSE_MPG123:BOOL=FALSE
+.endif
+
+.if ${PORT_OPTIONS:MDUMB}
+PLIST_SUB+=	DUMB=""
+BUILD_DEPENDS+=	${LOCALBASE}/include/dumb.h:${PORTSDIR}/audio/dumb-allegro
+PLUGIN_OPTIONS_CMAKE+=	-DUSE_DUMB:BOOL=TRUE
+.else
+PLIST_SUB+=	DUMB="@comment "
+PLUGIN_OPTIONS_CMAKE+=	-DUSE_DUMB:BOOL=FALSE
+.endif
+
+.if ${PORT_OPTIONS:MMODPLUG}
+PLIST_SUB+=	MODPLUG=""
+BUILD_DEPENDS+=	${LOCALBASE}/include/libmodplug/modplug.h:${PORTSDIR}/audio/libmodplug
+PLUGIN_OPTIONS_CMAKE+=	-DUSE_MODPLUG:BOOL=TRUE
+.else
+PLIST_SUB+=	MODPLUG="@comment "
+PLUGIN_OPTIONS_CMAKE+=	-DUSE_MODPLUG:BOOL=FALSE
+.endif
+
+.if ${PORT_OPTIONS:MFLUIDSYNTH}
+PLIST_SUB+=	FLUIDSYNTH=""
+LIB_DEPENDS+=	fluidsynth:${PORTSDIR}/audio/fluidsynth
+PLUGIN_OPTIONS_CMAKE+=	-DUSE_FLUIDSYNTH:BOOL=TRUE
+.else
+PLIST_SUB+=	FLUIDSYNTH="@comment "
+PLUGIN_OPTIONS_CMAKE+=	-DUSE_FLUIDSYNTH:BOOL=FALSE
+.endif
+
+.if ${PORT_OPTIONS:MDOCS}
+BUILD_DEPENDS+=	NaturalDocs:${PORTSDIR}/devel/naturaldocs
+PLIST_SUB+=	PORTDOCS=""
+.else
+PLIST_SUB+=	PORTDOCS="@comment "
+.endif
+
+post-patch:
+	@${REINPLACE_CMD} -e 's|lib$${LIB_SUFFIX}/pkgconfig|$${CMAKE_INSTALL_PREFIX}/libdata/pkgconfig|' \
+		-e 's|"ModPlug support (for IT/XM/S3M/MOD)" OFF)|"ModPlug support (for IT/XM/S3M/MOD)" ON)|' \
+		${WRKSRC}/CMakeLists.txt
+	@${REINPLACE_CMD} -e 's|/lib/pkgconfig|/libdata/pkgconfig|' \
+		${WRKSRC}/XCompile.txt
+
+.if ${PORT_OPTIONS:MDOCS}
+	@${REINPLACE_CMD} \
+		-e 's|INSTALL(DIRECTORY "$${ALURE_SOURCE_DIR}/docs/html"|INSTALL(DIRECTORY "$${ALURE_SOURCE_DIR}/docs/html" "$${ALURE_SOURCE_DIR}/docs/naturaldocs"|' \
+		${WRKSRC}/CMakeLists.txt
+.endif
+
+.if ! ${PORT_OPTIONS:MDOCS}
+	@${REINPLACE_CMD} -i '' '/FIND_PROGRAM(NATDOCS_BIN NaturalDocs)/,/ENDIF(NATDOCS_BIN)/s/^/#/' ${WRKSRC}/CMakeLists.txt
+	@${REINPLACE_CMD} -i '' -e '/INSTALL(DIRECTORY "$${ALURE_SOURCE_DIR}/,+2d' ${WRKSRC}/CMakeLists.txt
+.endif
+
+post-install:
+.if ${PORT_OPTIONS:MEXAMPLES}
+	${MKDIR} ${EXAMPLESDIR}
+	@(cd ${WRKSRC}/examples && ${COPYTREE_SHARE} \* ${EXAMPLESDIR})
+.endif
+
+.include <bsd.port.mk>

Added: head/audio/alure/distinfo
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/audio/alure/distinfo	Fri Jan 18 20:57:11 2013	(r310620)
@@ -0,0 +1,2 @@
+SHA256 (alure-1.2.tar.gz) = 66f1cb6f1feba0c3e6e8118756d236f664b7a585cbb5551ee84b5669459f5b62
+SIZE (alure-1.2.tar.gz) = 85331

Added: head/audio/alure/pkg-descr
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/audio/alure/pkg-descr	Fri Jan 18 20:57:11 2013	(r310620)
@@ -0,0 +1,20 @@
+ALURE is a utility library to help manage common tasks with OpenAL applications.
+This includes device enumeration and initialization, file loading,
+and streaming. As of version 1.1, it is X11/MIT licensed, allowing it to be used
+in open- and closed-source programs, freeware or commercial.
+
+The purpose of this library is to provide pre-made functionality that would
+otherwise be repetitive or difficult to (re)code for various projects
+and platforms, such as loading a sound file into an OpenAL buffer and streaming
+an audio file through a buffer queue. Support for different formats is
+consistant across platforms, so no special checks are needed when loading files,
+and all formats are handled through the same API.
+
+Currently ALURE includes a basic .wav and .aif file reader,
+and can leverage external libraries such as libSndFile
+(for extended wave formats and several others), VorbisFile (for Ogg Vorbis),
+FLAC (for FLAC and Ogg FLAC), and others. External libraries can also be
+dynamically loaded at run-time, or individually disabled outright at compile
+time.
+
+WWW: http://kcat.strangesoft.net/alure.html

Added: head/audio/alure/pkg-plist
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/audio/alure/pkg-plist	Fri Jan 18 20:57:11 2013	(r310620)
@@ -0,0 +1,46 @@
+bin/alurecdplay
+bin/alureplay
+bin/alurestream
+include/AL/alure.h
+lib/libalure-static.a
+lib/libalure.so
+lib/libalure.so.1
+lib/libalure.so.1.2.0
+libdata/pkgconfig/alure-static.pc
+libdata/pkgconfig/alure.pc
+%%PORTDOCS%%%%DOCSDIR%%/html/files/alure-cpp.html
+%%PORTDOCS%%%%DOCSDIR%%/html/files/buffer-cpp.html
+%%PORTDOCS%%%%DOCSDIR%%/html/files/istream-cpp.html
+%%PORTDOCS%%%%DOCSDIR%%/html/files/stream-cpp.html
+%%PORTDOCS%%%%DOCSDIR%%/html/files/streamplay-cpp.html
+%%PORTDOCS%%%%DOCSDIR%%/html/index.html
+%%PORTDOCS%%%%DOCSDIR%%/html/index/Functions.html
+%%PORTDOCS%%%%DOCSDIR%%/html/index/General.html
+%%PORTDOCS%%%%DOCSDIR%%/html/javascript/main.js
+%%PORTDOCS%%%%DOCSDIR%%/html/javascript/searchdata.js
+%%PORTDOCS%%%%DOCSDIR%%/html/search/FunctionsA.html
+%%PORTDOCS%%%%DOCSDIR%%/html/search/GeneralA.html
+%%PORTDOCS%%%%DOCSDIR%%/html/search/GeneralF.html
+%%PORTDOCS%%%%DOCSDIR%%/html/search/GeneralM.html
+%%PORTDOCS%%%%DOCSDIR%%/html/search/GeneralS.html
+%%PORTDOCS%%%%DOCSDIR%%/html/search/NoResults.html
+%%PORTDOCS%%%%DOCSDIR%%/html/styles/1.css
+%%PORTDOCS%%%%DOCSDIR%%/html/styles/2.css
+%%PORTDOCS%%%%DOCSDIR%%/html/styles/main.css
+%%PORTDOCS%%%%DOCSDIR%%/naturaldocs/CustomStyle.css
+%%PORTDOCS%%%%DOCSDIR%%/naturaldocs/Languages.txt
+%%PORTDOCS%%%%DOCSDIR%%/naturaldocs/Menu.txt
+%%PORTDOCS%%%%DOCSDIR%%/naturaldocs/Topics.txt
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/alurecdplay.c
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/alureplay.c
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/alurestream.c
+%%PORTEXAMPLES%%@dirrm %%EXAMPLESDIR%%
+%%PORTDOCS%%@dirrm %%DOCSDIR%%/naturaldocs
+%%PORTDOCS%%@dirrm %%DOCSDIR%%/html/styles
+%%PORTDOCS%%@dirrm %%DOCSDIR%%/html/search
+%%PORTDOCS%%@dirrm %%DOCSDIR%%/html/javascript
+%%PORTDOCS%%@dirrm %%DOCSDIR%%/html/index
+%%PORTDOCS%%@dirrm %%DOCSDIR%%/html/files
+%%PORTDOCS%%@dirrm %%DOCSDIR%%/html
+%%PORTDOCS%%@dirrm %%DOCSDIR%%
+@dirrmtry include/AL
_______________________________________________
svn-ports-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-ports-all
To unsubscribe, send any mail to "svn-ports-all-unsubscribe@freebsd.org"
Comment 10 Marcus von Appen freebsd_committer 2013-01-18 20:57:45 UTC
State Changed
From-To: feedback->closed

Committed, with minor changes. Thanks!