pkgsrc/audio/libgroove/Makefile

45 lines
1.1 KiB
Makefile
Raw Normal View History

2020-03-22 08:52:59 +01:00
# $NetBSD: Makefile,v 1.25 2020/03/22 07:52:59 nia Exp $
libgroove: Upgrade to 4.3.0 pkgsrc changes: - reuse the github framework - disable -Werror - set -D_NETBSD_SOURCE for NetBSD, this is required for obtaining pthread_condattr_setclock(3) and pthread_condattr_getclock(3) on NetBSD compiled on version <8.0 (bug in a header) - switch from ffmpeg2 to ffmpeg3 - add a workaround for a detector of ffmpeg in a homegrown dependency detector, this hardcodes paths to headers and libraries of ffmpeg3 upstream changelog ================== Version 4.3.0 (2015-05-25) player: Add support for "exact mode" - re-opens the audio device when a buffer is encountered that does not match the open audio device's sound parameters. build: Simplify cmake find modules. Add const qualifier to some fields and functions. metadata example: print the number of channels. Add documentation. Add more channel layouts. build: Compile in Debug mode by default. Version 4.2.1 (2014-10-07) updating metadata: set time_base on stream not the codec libav lockmgr: set mutex pointer to NULL on destroy fix build on GNU/hurd Version 4.2.0 (2014-09-25) build: remove bundled dependencies build: simpler cmake find modules, both code and license player: add shim to fix build failure on OSX Version 4.1.1 (2014-06-20) playlist: fix race condition which can cause decoder to hang dummy player: fix timing issues Version 4.1.0 (2014-06-13) playlist: added groove_playlist_set_fill_mode. Allows you to choose between buffering until all sinks are full and buffering until any sinks are full. Version 4.0.4 (2014-06-03) Fixed a race condition where seeking to a different playlist item and then back would have a window of time where it could report the wrong position. Properly play and pause network streams. Version 4.0.3 (2014-05-31) build: update bundled libav to latest stable 10 release build: link player with -lrt for clock_gettime. closes #67 playlist: fix case where filter graph was not being rebuilt. closes #65 playlist: fix race condition segfault when attaching a sink encoder: properly reset encoding when flush or playlist end is encountered. closes #66 Version 4.0.2 (2014-05-20) player: thread cleanup only if thread was initialized - fixes potential crash on player detach build: look for includes in the current source tree. Fixes an issue when a previous version of the library is installed. build: on unix link with -lm Version 4.0.1 (2014-05-13) groove_playlist_get_position: always set seconds even when item is NULL playlist: correct generation of the sink map fixes potential error when adding multiple sinks optimizes some cases where sinks can share filter graph chain dummy player now uses disable_resample optimization dummy player: avoid floating point error accumulation Version 4.0.0 (2014-05-12) GrooveBuffer struct contains the presentation time stamp move include statements to outside of extern C ability to set true peak on playlist items. closes #50 support per-sink gain adjustment. closes #41 GroovePlaylist: volume renamed to gain groove_playlist_set_gain renamed to groove_playlist_set_item_gain groove_playlist_set_volume renamed to groove_playlist_set_gain player: specify device by index rather than name. closes #44 player: ability to attach a dummy player device. closes #60 fingerprinter: encode/decode return 0 on success, < 0 on error fingerprinter: info struct contains raw fingerprint instead of compressed string. closes #61
2018-02-20 06:17:31 +01:00
DISTNAME= libgroove-4.3.0
2020-03-08 17:47:24 +01:00
PKGREVISION= 6
CATEGORIES= audio
libgroove: Upgrade to 4.3.0 pkgsrc changes: - reuse the github framework - disable -Werror - set -D_NETBSD_SOURCE for NetBSD, this is required for obtaining pthread_condattr_setclock(3) and pthread_condattr_getclock(3) on NetBSD compiled on version <8.0 (bug in a header) - switch from ffmpeg2 to ffmpeg3 - add a workaround for a detector of ffmpeg in a homegrown dependency detector, this hardcodes paths to headers and libraries of ffmpeg3 upstream changelog ================== Version 4.3.0 (2015-05-25) player: Add support for "exact mode" - re-opens the audio device when a buffer is encountered that does not match the open audio device's sound parameters. build: Simplify cmake find modules. Add const qualifier to some fields and functions. metadata example: print the number of channels. Add documentation. Add more channel layouts. build: Compile in Debug mode by default. Version 4.2.1 (2014-10-07) updating metadata: set time_base on stream not the codec libav lockmgr: set mutex pointer to NULL on destroy fix build on GNU/hurd Version 4.2.0 (2014-09-25) build: remove bundled dependencies build: simpler cmake find modules, both code and license player: add shim to fix build failure on OSX Version 4.1.1 (2014-06-20) playlist: fix race condition which can cause decoder to hang dummy player: fix timing issues Version 4.1.0 (2014-06-13) playlist: added groove_playlist_set_fill_mode. Allows you to choose between buffering until all sinks are full and buffering until any sinks are full. Version 4.0.4 (2014-06-03) Fixed a race condition where seeking to a different playlist item and then back would have a window of time where it could report the wrong position. Properly play and pause network streams. Version 4.0.3 (2014-05-31) build: update bundled libav to latest stable 10 release build: link player with -lrt for clock_gettime. closes #67 playlist: fix case where filter graph was not being rebuilt. closes #65 playlist: fix race condition segfault when attaching a sink encoder: properly reset encoding when flush or playlist end is encountered. closes #66 Version 4.0.2 (2014-05-20) player: thread cleanup only if thread was initialized - fixes potential crash on player detach build: look for includes in the current source tree. Fixes an issue when a previous version of the library is installed. build: on unix link with -lm Version 4.0.1 (2014-05-13) groove_playlist_get_position: always set seconds even when item is NULL playlist: correct generation of the sink map fixes potential error when adding multiple sinks optimizes some cases where sinks can share filter graph chain dummy player now uses disable_resample optimization dummy player: avoid floating point error accumulation Version 4.0.0 (2014-05-12) GrooveBuffer struct contains the presentation time stamp move include statements to outside of extern C ability to set true peak on playlist items. closes #50 support per-sink gain adjustment. closes #41 GroovePlaylist: volume renamed to gain groove_playlist_set_gain renamed to groove_playlist_set_item_gain groove_playlist_set_volume renamed to groove_playlist_set_gain player: specify device by index rather than name. closes #44 player: ability to attach a dummy player device. closes #60 fingerprinter: encode/decode return 0 on success, < 0 on error fingerprinter: info struct contains raw fingerprint instead of compressed string. closes #61
2018-02-20 06:17:31 +01:00
MASTER_SITES= ${MASTER_SITE_GITHUB:=andrewrk/}
MAINTAINER= pkgsrc-users@NetBSD.org
HOMEPAGE= https://github.com/andrewrk/libgroove/
COMMENT= Audio dispatching library
LICENSE= mit
USE_CMAKE= yes
2020-03-22 08:52:59 +01:00
USE_TOOLS+= pkg-config
USE_LANGUAGES= c c++
libgroove: Upgrade to 4.3.0 pkgsrc changes: - reuse the github framework - disable -Werror - set -D_NETBSD_SOURCE for NetBSD, this is required for obtaining pthread_condattr_setclock(3) and pthread_condattr_getclock(3) on NetBSD compiled on version <8.0 (bug in a header) - switch from ffmpeg2 to ffmpeg3 - add a workaround for a detector of ffmpeg in a homegrown dependency detector, this hardcodes paths to headers and libraries of ffmpeg3 upstream changelog ================== Version 4.3.0 (2015-05-25) player: Add support for "exact mode" - re-opens the audio device when a buffer is encountered that does not match the open audio device's sound parameters. build: Simplify cmake find modules. Add const qualifier to some fields and functions. metadata example: print the number of channels. Add documentation. Add more channel layouts. build: Compile in Debug mode by default. Version 4.2.1 (2014-10-07) updating metadata: set time_base on stream not the codec libav lockmgr: set mutex pointer to NULL on destroy fix build on GNU/hurd Version 4.2.0 (2014-09-25) build: remove bundled dependencies build: simpler cmake find modules, both code and license player: add shim to fix build failure on OSX Version 4.1.1 (2014-06-20) playlist: fix race condition which can cause decoder to hang dummy player: fix timing issues Version 4.1.0 (2014-06-13) playlist: added groove_playlist_set_fill_mode. Allows you to choose between buffering until all sinks are full and buffering until any sinks are full. Version 4.0.4 (2014-06-03) Fixed a race condition where seeking to a different playlist item and then back would have a window of time where it could report the wrong position. Properly play and pause network streams. Version 4.0.3 (2014-05-31) build: update bundled libav to latest stable 10 release build: link player with -lrt for clock_gettime. closes #67 playlist: fix case where filter graph was not being rebuilt. closes #65 playlist: fix race condition segfault when attaching a sink encoder: properly reset encoding when flush or playlist end is encountered. closes #66 Version 4.0.2 (2014-05-20) player: thread cleanup only if thread was initialized - fixes potential crash on player detach build: look for includes in the current source tree. Fixes an issue when a previous version of the library is installed. build: on unix link with -lm Version 4.0.1 (2014-05-13) groove_playlist_get_position: always set seconds even when item is NULL playlist: correct generation of the sink map fixes potential error when adding multiple sinks optimizes some cases where sinks can share filter graph chain dummy player now uses disable_resample optimization dummy player: avoid floating point error accumulation Version 4.0.0 (2014-05-12) GrooveBuffer struct contains the presentation time stamp move include statements to outside of extern C ability to set true peak on playlist items. closes #50 support per-sink gain adjustment. closes #41 GroovePlaylist: volume renamed to gain groove_playlist_set_gain renamed to groove_playlist_set_item_gain groove_playlist_set_volume renamed to groove_playlist_set_gain player: specify device by index rather than name. closes #44 player: ability to attach a dummy player device. closes #60 fingerprinter: encode/decode return 0 on success, < 0 on error fingerprinter: info struct contains raw fingerprint instead of compressed string. closes #61
2018-02-20 06:17:31 +01:00
.include "../../mk/bsd.prefs.mk"
.if ${OPSYS} == "Darwin"
SOEXT= dylib
.else
SOEXT= so
.endif
2020-03-22 08:52:59 +01:00
.for lib in AVCODEC AVFILTER AVFORMAT AVUTIL
CMAKE_ARGS+= -D${lib}_INCLUDE_DIRS=${BUILDLINK_PREFIX.ffmpeg4}/include/ffmpeg4
CMAKE_ARGS+= -D${lib}_LIBRARIES=${BUILDLINK_PREFIX.ffmpeg4}/lib/ffmpeg4/lib${lib:tl}.${SOEXT}
.endfor
libgroove: Upgrade to 4.3.0 pkgsrc changes: - reuse the github framework - disable -Werror - set -D_NETBSD_SOURCE for NetBSD, this is required for obtaining pthread_condattr_setclock(3) and pthread_condattr_getclock(3) on NetBSD compiled on version <8.0 (bug in a header) - switch from ffmpeg2 to ffmpeg3 - add a workaround for a detector of ffmpeg in a homegrown dependency detector, this hardcodes paths to headers and libraries of ffmpeg3 upstream changelog ================== Version 4.3.0 (2015-05-25) player: Add support for "exact mode" - re-opens the audio device when a buffer is encountered that does not match the open audio device's sound parameters. build: Simplify cmake find modules. Add const qualifier to some fields and functions. metadata example: print the number of channels. Add documentation. Add more channel layouts. build: Compile in Debug mode by default. Version 4.2.1 (2014-10-07) updating metadata: set time_base on stream not the codec libav lockmgr: set mutex pointer to NULL on destroy fix build on GNU/hurd Version 4.2.0 (2014-09-25) build: remove bundled dependencies build: simpler cmake find modules, both code and license player: add shim to fix build failure on OSX Version 4.1.1 (2014-06-20) playlist: fix race condition which can cause decoder to hang dummy player: fix timing issues Version 4.1.0 (2014-06-13) playlist: added groove_playlist_set_fill_mode. Allows you to choose between buffering until all sinks are full and buffering until any sinks are full. Version 4.0.4 (2014-06-03) Fixed a race condition where seeking to a different playlist item and then back would have a window of time where it could report the wrong position. Properly play and pause network streams. Version 4.0.3 (2014-05-31) build: update bundled libav to latest stable 10 release build: link player with -lrt for clock_gettime. closes #67 playlist: fix case where filter graph was not being rebuilt. closes #65 playlist: fix race condition segfault when attaching a sink encoder: properly reset encoding when flush or playlist end is encountered. closes #66 Version 4.0.2 (2014-05-20) player: thread cleanup only if thread was initialized - fixes potential crash on player detach build: look for includes in the current source tree. Fixes an issue when a previous version of the library is installed. build: on unix link with -lm Version 4.0.1 (2014-05-13) groove_playlist_get_position: always set seconds even when item is NULL playlist: correct generation of the sink map fixes potential error when adding multiple sinks optimizes some cases where sinks can share filter graph chain dummy player now uses disable_resample optimization dummy player: avoid floating point error accumulation Version 4.0.0 (2014-05-12) GrooveBuffer struct contains the presentation time stamp move include statements to outside of extern C ability to set true peak on playlist items. closes #50 support per-sink gain adjustment. closes #41 GroovePlaylist: volume renamed to gain groove_playlist_set_gain renamed to groove_playlist_set_item_gain groove_playlist_set_volume renamed to groove_playlist_set_gain player: specify device by index rather than name. closes #44 player: ability to attach a dummy player device. closes #60 fingerprinter: encode/decode return 0 on success, < 0 on error fingerprinter: info struct contains raw fingerprint instead of compressed string. closes #61
2018-02-20 06:17:31 +01:00
.if ${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "x86_64"
2020-03-22 08:52:59 +01:00
TOOL_DEPENDS+= yasm-[0-9]*:../../devel/yasm
.endif
libgroove: Upgrade to 4.3.0 pkgsrc changes: - reuse the github framework - disable -Werror - set -D_NETBSD_SOURCE for NetBSD, this is required for obtaining pthread_condattr_setclock(3) and pthread_condattr_getclock(3) on NetBSD compiled on version <8.0 (bug in a header) - switch from ffmpeg2 to ffmpeg3 - add a workaround for a detector of ffmpeg in a homegrown dependency detector, this hardcodes paths to headers and libraries of ffmpeg3 upstream changelog ================== Version 4.3.0 (2015-05-25) player: Add support for "exact mode" - re-opens the audio device when a buffer is encountered that does not match the open audio device's sound parameters. build: Simplify cmake find modules. Add const qualifier to some fields and functions. metadata example: print the number of channels. Add documentation. Add more channel layouts. build: Compile in Debug mode by default. Version 4.2.1 (2014-10-07) updating metadata: set time_base on stream not the codec libav lockmgr: set mutex pointer to NULL on destroy fix build on GNU/hurd Version 4.2.0 (2014-09-25) build: remove bundled dependencies build: simpler cmake find modules, both code and license player: add shim to fix build failure on OSX Version 4.1.1 (2014-06-20) playlist: fix race condition which can cause decoder to hang dummy player: fix timing issues Version 4.1.0 (2014-06-13) playlist: added groove_playlist_set_fill_mode. Allows you to choose between buffering until all sinks are full and buffering until any sinks are full. Version 4.0.4 (2014-06-03) Fixed a race condition where seeking to a different playlist item and then back would have a window of time where it could report the wrong position. Properly play and pause network streams. Version 4.0.3 (2014-05-31) build: update bundled libav to latest stable 10 release build: link player with -lrt for clock_gettime. closes #67 playlist: fix case where filter graph was not being rebuilt. closes #65 playlist: fix race condition segfault when attaching a sink encoder: properly reset encoding when flush or playlist end is encountered. closes #66 Version 4.0.2 (2014-05-20) player: thread cleanup only if thread was initialized - fixes potential crash on player detach build: look for includes in the current source tree. Fixes an issue when a previous version of the library is installed. build: on unix link with -lm Version 4.0.1 (2014-05-13) groove_playlist_get_position: always set seconds even when item is NULL playlist: correct generation of the sink map fixes potential error when adding multiple sinks optimizes some cases where sinks can share filter graph chain dummy player now uses disable_resample optimization dummy player: avoid floating point error accumulation Version 4.0.0 (2014-05-12) GrooveBuffer struct contains the presentation time stamp move include statements to outside of extern C ability to set true peak on playlist items. closes #50 support per-sink gain adjustment. closes #41 GroovePlaylist: volume renamed to gain groove_playlist_set_gain renamed to groove_playlist_set_item_gain groove_playlist_set_volume renamed to groove_playlist_set_gain player: specify device by index rather than name. closes #44 player: ability to attach a dummy player device. closes #60 fingerprinter: encode/decode return 0 on success, < 0 on error fingerprinter: info struct contains raw fingerprint instead of compressed string. closes #61
2018-02-20 06:17:31 +01:00
BUILDLINK_TRANSFORM+= rm:-Werror
CFLAGS.NetBSD+= -D_NETBSD_SOURCE
.include "../../audio/chromaprint/buildlink3.mk"
.include "../../audio/lame/buildlink3.mk"
.include "../../audio/libebur128/buildlink3.mk"
.include "../../audio/speexdsp/buildlink3.mk"
.include "../../devel/SDL2/buildlink3.mk"
2020-03-22 08:52:59 +01:00
.include "../../multimedia/ffmpeg4/buildlink3.mk"
.include "../../mk/bsd.pkg.mk"