Bug 171674

Summary: [NEW PORT] audio/alure: Utility library to help manage common tasks with OpenAL
Product: Ports & Packages Reporter: nemysis <nemysis>
Component: Individual Port(s)Assignee: Marcus von Appen <mva>
Status: Closed FIXED    
Severity: Affects Only Me CC: jgh
Priority: Normal    
Version: Latest   
Hardware: Any   
OS: Any   
Attachments:
Description Flags
.shar
none
alure.shar
none
alure.shar
none
alure.shar none

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 freebsd_triage 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 freebsd_triage 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 freebsd_triage 2013-01-15 15:59:24 UTC
State Changed
From-To: feedback->analyzed

.
Comment 4 Marcus von Appen freebsd_committer freebsd_triage 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 freebsd_triage 2013-01-17 19:59:02 UTC
State Changed
From-To: feedback->analyzed

.
Comment 7 Marcus von Appen freebsd_committer freebsd_triage 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 service freebsd_committer freebsd_triage 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 freebsd_triage 2013-01-18 20:57:45 UTC
State Changed
From-To: feedback->closed

Committed, with minor changes. Thanks!