diff options
7 files changed, 288 insertions, 6 deletions
diff --git a/media-sound/squeezelite/Manifest b/media-sound/squeezelite/Manifest index c380a09..6dc9611 100644 --- a/media-sound/squeezelite/Manifest +++ b/media-sound/squeezelite/Manifest @@ -4,11 +4,15 @@ AUX squeezelite-1.2-gentoo-makefile.patch 722 SHA256 9a90340d3d447b66195e9615e74 AUX squeezelite-1.2-gentoo-optional-codecs.patch 2556 SHA256 d91783f425d0c4378d31597c547c56f23499f96bbc5032ee9c012dd284851835 SHA512 a9ebcbae0370b809b9765cd625a7d2bfc2df6c3c573e93b706a9e0fa07207e9d1a2cea5c893c4ec811f005c9b7786a31d33ef7dc614175f8f7ee7189e5d8ca56 WHIRLPOOL 615fa01a96371fe15081b715848b2d8181c192c90f1c5c4d8c101c192bb10ec217f4ec36ac7a1d2c1ab72a7b759003484ffde678c23f536a02b4722a0b0683c7 AUX squeezelite-1.8-gentoo-makefile.patch 654 SHA256 61cc14bec1f8587e938666bcd953042dfe695daa09e1028e3fe4f8a773bb9521 SHA512 4e00d9051a34faca1697ce6a9f8c66e03cd279323c1b0b6af9a8d52df2e5d29e1b0d567060f51a4f76dbf1e1ffe0fc9f1d95751f904f82b21dde201e5342f481 WHIRLPOOL 1077dd822f9b6ac05dd5c20486287e6185a3805cdcd872661d42f76b15672fea463d05577b8f71df96162bb15d01d3336d81bb56bb47fcf56d60cfe6a7a1a46f AUX squeezelite-1.8-gentoo-optional-codecs.patch 3390 SHA256 2a20b4bd7d2ed4648699c4b4f5d7b3439ef2978771e7013ebc540f3dd660ca1e SHA512 0b7f6416e1c1e29c9f06573ed210dc98879bd20f1a894c4a720079383adb55d462dd41d10d81841f6d6f13f684ab492a9d1c529fa7c8d20947a4280dae0c57a0 WHIRLPOOL b1698495c67516f0c128e05fbee47fffd491f0816f0f04ef563d7f1d41979d0e9b7fcc6d5ed8d4f391afed348e9c6ac7921d64111d275ff7d75cf08e63b6ceb5 -AUX squeezelite.conf.d 885 SHA256 288a6aceafb7d13625ec418c69e5f1820a8bbf11f3d268fd1297784e6b2e3f9d SHA512 40cc716cc7278234582c05b08c2a7190421b314a2af6b30aab7c946efe37b33cd95cfb01a9286678c336a74eda7894056d386e7f548ed3c207ba80b559044e73 WHIRLPOOL 0ac9c06d59f93d06e5d80cc35c1c0f69c968fa00acfdde1998ad7bb98a7d66179ee1222399b557fae15d6f16166557ee7da3486c1c4320eaa681cc579afbf635 -AUX squeezelite.init.d 599 SHA256 80e45a507b69e027ef511c247755e1511944b6eb5d822713345d05ca8c6dfce9 SHA512 79b85316c614478370d04a0beb0958f54e967786101d7c93cff2c77f25923599faa882bbdbf336269b50123c56d9a6871c1842841cc6c95baddbceb54ed24037 WHIRLPOOL c1f86bec704c61dc2e1af03a798b5f755932e46c5e925da9bf8980133647d98d304c2a7981a0a2459085bab3bcd0098328955ab8f75da3137fcbcedc5a915017 +AUX squeezelite-1.8.7.1007-gentoo-makefile.patch 654 SHA256 61cc14bec1f8587e938666bcd953042dfe695daa09e1028e3fe4f8a773bb9521 SHA512 4e00d9051a34faca1697ce6a9f8c66e03cd279323c1b0b6af9a8d52df2e5d29e1b0d567060f51a4f76dbf1e1ffe0fc9f1d95751f904f82b21dde201e5342f481 WHIRLPOOL 1077dd822f9b6ac05dd5c20486287e6185a3805cdcd872661d42f76b15672fea463d05577b8f71df96162bb15d01d3336d81bb56bb47fcf56d60cfe6a7a1a46f +AUX squeezelite-1.8.7.1007-gentoo-optional-codecs-decode.patch 2217 SHA256 9510bdc03cc390ae50ac126da83d0d107317b3f51ed7ad457bdb11198870828c SHA512 dfb5863bd02a9502ee3ca5f96edd1d572a9ab38c2ccddaaddb826203eb88785491ac09be8d01d5dc2ef7d2f1b8e0b3bbcb13c3ad506763db71d6e56831b82284 WHIRLPOOL 9bac4e7872fa98e027bccf4079f3e2ba8205cfee14ef37a1fc849f52d1b341b273201ea9ca1f704b5793e6a283b9a8e47d5bc71280ace2cad8bdef04ac727bbe +AUX squeezelite-1.8.7.1007-gentoo-optional-codecs.patch 1789 SHA256 af584864a5188a110c83f75a5d893845ee828c2e4b5f9e0c75bfb9c3c1d4992d SHA512 5adc75cf66b07fcee0faf6e9f8d46623ec76ae0c091fad975ab0acbaa25da9648806d7c3cb3e55e9eef8ad5088b8f2d95c70b0d85966316035f7a5711c8a0a43 WHIRLPOOL 01ab0334f311a0c622d74c8084c62abf5444afcc582975706cd9483a9664039f5249d475f64dd201f27fab89429bfc28e656dc559921c6de6a53d0281e59ef6c +AUX squeezelite.conf.d 1126 SHA256 ff7e8d51d80c34ea393e1743dd56983acf7e577ac8858a566634df651ec5eca7 SHA512 ff552fcbbbf2b2291958fa1c61057f54ba0d9b19620666036dd1e19897b5d7bcc543c40699c3ee53b2eec7a38b9cf46cb9205c2048f7d5488c23085d9904f114 WHIRLPOOL ad4cdd8847182724cdb73fbe8f52c48fc87ec0f8a3d832d900c210fd0778d1bf59e7d66985f70242b01a1b376c4dbf80a946cb67060a006a18a20cf491c23255 +AUX squeezelite.init.d 587 SHA256 76fece46865196193bcb4eac628c16e863262a0b54f72e71762f44e9b00627d4 SHA512 38f69c55cda7f58e66cf913718ab245a9f08545e223d6d5b3f6ebd6185df0a35338dc7607b6318fa85787c8b7a606500f79e755a624e2be95138a79d4878f3e4 WHIRLPOOL c41e8a5d7747ce1592fb88061f8221ceab2b5e53626ca048d0d2a6c4759d2c2a2ed5d852ca5d55fa362c57df9a17f24ff81c768887127af23c60686f9379a473 DIST 7c64f298b78e9d3ef69ab29fc33c455a55dfe9ec.zip 54295 SHA256 f854099d1885d6a406fe6b834995006db35cf868ff05b2df504b6d893d626834 SHA512 95308c46f0daba2cd7bab18f3cfcb1f39c460e37406bd9721bbf4ee13665752963764e93f165d87286521ff6a586a057ade67a590e1dea41f345e0f55e0d0890 WHIRLPOOL aec0c19c067801b2a38a9555d3e184b53b7fa7f4d9cc84336736fc13a9c1b7d58876134cd5831c0cd38988adc8d9cc40a72a4da7cf2aead617affc6a9886a287 EBUILD squeezelite-1.1.ebuild 2272 SHA256 9de674158faa0809d812eef6606e4b6290d2e63a88f63ba2a22f2b428c5327ab SHA512 cf68cfa109d095fc55975b77a225a92cd4d3110015bbe8bb665934806ea80647baaaf74d676da3ce1c37582fa24fa0fed8f9a00877f6236c467a43fac686202d WHIRLPOOL 24fe918a94a6d6b6eb4b142f09d8b3cd53c4320bccaa46da215091a42ef1dc68f0eff29dc74fd579421716cc13245777e839c96338a2ec8e6a63828ab76b28fb EBUILD squeezelite-1.2.ebuild 2269 SHA256 05c575c54a5c1cc736d577308d20fc935044f1a7933cb944172c367ce47b4a45 SHA512 ddbf2f6b88579cf09dec8dba956c50679bf7bc92717cfb2a52b0a98bcf6a30659f2e2916ad5566b97a4dcccea9b3ddf7701b61c2174ecfc69ee24df51ec8870e WHIRLPOOL a84d8951338dbfe24b75fdb34a8d776168d62741647316d0e2d8cd7a68e85c605ff5fd3d5e8194746235a57a13ded35d96f5162420140de14b74cd49d7732c6e +EBUILD squeezelite-1.8.7.1007.ebuild 2970 SHA256 f2c09649ce4c39008b55dc001c788a275648742d05cbfec5e5c8e296bb84734d SHA512 ee4799317e42ed0430ff6c855032cbafa2b44d4937575e17c2ab1f33e4748604662325ec29fe6ae07b484562f0ed2a375e585791d896ddaad2eb33652b0f1390 WHIRLPOOL 6c1b6c15330aedb9c7611e839d1e1caabce2ac16b19190ed7a83a9696413289262d4ac56fbe5b7dbbf62302840d32c802f3f0f84d88e528cb0dc96aec9990304 EBUILD squeezelite-1.8.ebuild 2919 SHA256 80a1491e21ad820efce7453772f63c5316d544d27577b436aa579e8a7decc057 SHA512 e205362428825cac199c7be5e1fc48ce39eef5c123b96dd8d8de0259b85f332ce5c1a9126148ad2fb9c0c8f2d116d003bf79183dbed9257eb2a1fb3a5f1602ef WHIRLPOOL 48daffd342195e3e009a030098543013667cbc84cc51620a0c854e11e7a0ab614c5e53fbb7084142fe3dabc2dd39f3cb421b81c28d5c428bb73f5cea852c1576 MISC ChangeLog 1467 SHA256 e8a7c9b3924a1ffd4fbf0d5c87639d8826d44530d05d1ebf7e3e12191ddc6f9b SHA512 6b9316ef22849d2d21bade6e49acdb6e8d6b9e3b9f1ccc9d1aad58dd575308877a56ef11d4e044891e5328cf5b926a35d269f7604880065831f73e9ea2d170f0 WHIRLPOOL 5febea8474ff8317e2557f228c6ace0058fcd62da6fef8ba18a9e00a6f2ffd73986cd3a6de3c09248f4097d1b902d16d3a64a0ba96797aa128635521f2f4a615 MISC metadata.xml 1899 SHA256 92ebf84b54e9d7533fa806ee61ea51567bf8a71915723aa3df98f869f9260ab4 SHA512 70ccf0c46982b5eeb33f291797e5c5131fb2b5819566f00290e3fccc0c952ca6036bc0042d5cdbe86c3a0285c1c24a3003fa5bffa92772fd94c7e58799a13df5 WHIRLPOOL 0706ada6d875bc114575ccdb2b4e9787db4e6701a56b20b93ecb117f1b02faf5fe04c8d74ab2a1e9a7fba22431c89e89295c582df1dcc483b836374c1ad82034 diff --git a/media-sound/squeezelite/files/squeezelite-1.8.7.1007-gentoo-makefile.patch b/media-sound/squeezelite/files/squeezelite-1.8.7.1007-gentoo-makefile.patch new file mode 100644 index 0000000..271c199 --- /dev/null +++ b/media-sound/squeezelite/files/squeezelite-1.8.7.1007-gentoo-makefile.patch @@ -0,0 +1,21 @@ +diff --git a/Makefile b/Makefile +index dca2abd..f6b985f 100644 +--- a/Makefile ++++ b/Makefile +@@ -1,6 +1,6 @@ + # Cross compile support - create a Makefile which defines these three variables and then includes this Makefile... + CFLAGS ?= -Wall -fPIC -O2 $(OPTS) +-LDFLAGS ?= -lasound -lpthread -lm -lrt ++EXTRALIBS ?= -lasound -lpthread -lm -lrt + EXECUTABLE ?= squeezelite + + # passing one or more of these in $(OPTS) enables optional feature inclusion +@@ -74,7 +74,7 @@ OBJECTS = $(SOURCES:.c=.o) + all: $(EXECUTABLE) + + $(EXECUTABLE): $(OBJECTS) +- $(CC) $(OBJECTS) $(LDFLAGS) -o $@ ++ $(CC) $(OBJECTS) $(LDFLAGS) $(EXTRALIBS) -o $@ + + $(OBJECTS): $(DEPS) + diff --git a/media-sound/squeezelite/files/squeezelite-1.8.7.1007-gentoo-optional-codecs-decode.patch b/media-sound/squeezelite/files/squeezelite-1.8.7.1007-gentoo-optional-codecs-decode.patch new file mode 100644 index 0000000..cd6bcde --- /dev/null +++ b/media-sound/squeezelite/files/squeezelite-1.8.7.1007-gentoo-optional-codecs-decode.patch @@ -0,0 +1,42 @@ +diff --git a/decode.c b/decode.c +index 7a63a4d..faf192b 100644 +--- a/decode.c ++++ b/decode.c +@@ -165,23 +165,35 @@ void decode_init(log_level level, const char *include_codecs, const char *exclud + if (!strstr(exclude_codecs, "wma") && (!include_codecs || (order_codecs = strstr(include_codecs, "wma")))) + sort_codecs((include_codecs ? order_codecs - include_codecs : i), register_ff("wma")); + #endif ++#ifndef SL_NO_AAC + if (!strstr(exclude_codecs, "aac") && (!include_codecs || (order_codecs = strstr(include_codecs, "aac")))) + sort_codecs((include_codecs ? order_codecs - include_codecs : i), register_faad()); ++#endif ++#ifndef SL_NO_OGG + if (!strstr(exclude_codecs, "ogg") && (!include_codecs || (order_codecs = strstr(include_codecs, "ogg")))) + sort_codecs((include_codecs ? order_codecs - include_codecs : i), register_vorbis()); ++#endif ++#ifndef SL_NO_FLAC + if (!strstr(exclude_codecs, "flac") && (!include_codecs || (order_codecs = strstr(include_codecs, "flac")))) + sort_codecs((include_codecs ? order_codecs - include_codecs : i), register_flac()); ++#endif + if (!strstr(exclude_codecs, "pcm") && (!include_codecs || (order_codecs = strstr(include_codecs, "pcm")))) + sort_codecs((include_codecs ? order_codecs - include_codecs : i), register_pcm()); + + // try mad then mpg for mp3 unless command line option passed ++#ifndef SL_NO_MAD + if (!(strstr(exclude_codecs, "mp3") || strstr(exclude_codecs, "mad")) && + (!include_codecs || (order_codecs = strstr(include_codecs, "mp3")) || (order_codecs = strstr(include_codecs, "mad")))) + sort_codecs((include_codecs ? order_codecs - include_codecs : i), register_mad()); +- else if (!(strstr(exclude_codecs, "mp3") || strstr(exclude_codecs, "mpg")) && ++#endif ++#ifndef SL_NO_MPG123 ++#ifndef SL_NO_MAD ++ else ++#endif ++ if (!(strstr(exclude_codecs, "mp3") || strstr(exclude_codecs, "mpg")) && + (!include_codecs || (order_codecs = strstr(include_codecs, "mp3")) || (order_codecs = strstr(include_codecs, "mpg")))) + sort_codecs((include_codecs ? order_codecs - include_codecs : i), register_mpg()); +- ++#endif + LOG_DEBUG("include codecs: %s exclude codecs: %s", include_codecs ? include_codecs : "", exclude_codecs); + + mutex_create(decode.mutex); diff --git a/media-sound/squeezelite/files/squeezelite-1.8.7.1007-gentoo-optional-codecs.patch b/media-sound/squeezelite/files/squeezelite-1.8.7.1007-gentoo-optional-codecs.patch new file mode 100644 index 0000000..c67a1a7 --- /dev/null +++ b/media-sound/squeezelite/files/squeezelite-1.8.7.1007-gentoo-optional-codecs.patch @@ -0,0 +1,95 @@ +diff --git a/faad.c b/faad.c +index 96d33ca..f994cf3 100644 +--- a/faad.c ++++ b/faad.c +@@ -20,6 +20,8 @@ + + #include "squeezelite.h" + ++#ifndef SL_NO_AAC ++ + #include <neaacdec.h> + + #define WRAPBUF_LEN 2048 +@@ -640,3 +642,5 @@ struct codec *register_faad(void) { + LOG_INFO("using faad to decode aac"); + return &ret; + } ++ ++#endif +diff --git a/flac.c b/flac.c +index a5c7b3b..6240d84 100644 +--- a/flac.c ++++ b/flac.c +@@ -20,6 +20,8 @@ + + #include "squeezelite.h" + ++#ifndef SL_NO_FLAC ++ + #include <FLAC/stream_decoder.h> + + struct flac { +@@ -286,3 +288,5 @@ struct codec *register_flac(void) { + LOG_INFO("using flac to decode flc"); + return &ret; + } ++ ++#endif +diff --git a/mad.c b/mad.c +index 30e2498..b667900 100644 +--- a/mad.c ++++ b/mad.c +@@ -20,6 +20,8 @@ + + #include "squeezelite.h" + ++#ifndef SL_NO_MAD ++ + #include <mad.h> + + #define MAD_DELAY 529 +@@ -412,3 +414,5 @@ struct codec *register_mad(void) { + LOG_INFO("using mad to decode mp3"); + return &ret; + } ++ ++#endif +diff --git a/mpg.c b/mpg.c +index f3074f2..bcf79d6 100644 +--- a/mpg.c ++++ b/mpg.c +@@ -20,6 +20,8 @@ + + #include "squeezelite.h" + ++#ifndef SL_NO_MAD ++ + #include <mpg123.h> + + #define READ_SIZE 512 +@@ -274,3 +276,5 @@ struct codec *register_mpg(void) { + LOG_INFO("using mpg to decode mp3"); + return &ret; + } ++ ++#endif +diff --git a/vorbis.c b/vorbis.c +index 0809bee..7f258f3 100644 +--- a/vorbis.c ++++ b/vorbis.c +@@ -20,6 +20,8 @@ + + #include "squeezelite.h" + ++#ifndef SL_NO_OGG ++ + // automatically select between floating point (preferred) and fixed point libraries: + // NOTE: works with Tremor version here: http://svn.xiph.org/trunk/Tremor, not vorbisidec.1.0.2 currently in ubuntu + +@@ -329,3 +331,5 @@ struct codec *register_vorbis(void) { + LOG_INFO("using vorbis to decode ogg"); + return &ret; + } ++ ++#endif diff --git a/media-sound/squeezelite/files/squeezelite.conf.d b/media-sound/squeezelite/files/squeezelite.conf.d index 5eaea00..86235b4 100644 --- a/media-sound/squeezelite/files/squeezelite.conf.d +++ b/media-sound/squeezelite/files/squeezelite.conf.d @@ -1,6 +1,5 @@ -# Copyright 1999-2015 Gentoo Foundation +# Copyright 1999-2017 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: $ # Configuration for /etc/init.d/squeezelite @@ -21,4 +20,12 @@ SL_USER=squeezelite # Any other switches to pass to Squeezelite. See 'squeezelite -h' for # a description of all possible switches. + +# Example setting: +# 1. the ALSA output device +# 2. the player name +# 3. turning on visualiser support (-v) +# +# SL_OPTS="-o sysdefault -n $HOSTNAME -v" +# SL_OPTS="" diff --git a/media-sound/squeezelite/files/squeezelite.init.d b/media-sound/squeezelite/files/squeezelite.init.d index 0112c5d..e9bb6b0 100755 --- a/media-sound/squeezelite/files/squeezelite.init.d +++ b/media-sound/squeezelite/files/squeezelite.init.d @@ -1,7 +1,6 @@ -#!/sbin/runscript +#!/sbin/openrc-run # Copyright 1999-2015 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: $ depend() { need net diff --git a/media-sound/squeezelite/squeezelite-1.8.7.1007.ebuild b/media-sound/squeezelite/squeezelite-1.8.7.1007.ebuild new file mode 100644 index 0000000..6911111 --- /dev/null +++ b/media-sound/squeezelite/squeezelite-1.8.7.1007.ebuild @@ -0,0 +1,114 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit eutils user flag-o-matic git-r3 + +DESCRIPTION="Lightweight headless squeezebox client emulator" +HOMEPAGE="https://github.com/ralph-irving/squeezelite" + +EGIT_REPO_URI="https://github.com/ralph-irving/squeezelite.git" +EGIT_COMMIT="68770e4ed38d3a547912c39de69edaf41dcace84" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="aac dsd ffmpeg flac mad mpg123 pulseaudio resample visexport vorbis" + +# ffmpeg provides alac and wma codecs +DEPEND="media-libs/alsa-lib + flac? ( media-libs/flac ) + ffmpeg? ( media-video/ffmpeg ) + vorbis? ( media-libs/libvorbis ) + mad? ( media-libs/libmad ) + mpg123? ( media-sound/mpg123 ) + aac? ( media-libs/faad2 ) + resample? ( media-libs/soxr ) + visexport? ( media-sound/jivelite ) + pulseaudio? ( media-plugins/alsa-plugins[pulseaudio] ) +" +RDEPEND="${DEPEND} + media-sound/alsa-utils" + +pkg_setup() { + enewgroup squeezelite + if use pulseaudio ; then + enewuser squeezelite -1 -1 "/dev/null" "squeezelite" + else + enewuser squeezelite -1 -1 "/dev/null" "squeezelite,audio" + fi +} + +src_prepare () { + epatch "${FILESDIR}/${P}-gentoo-makefile.patch" + epatch "${FILESDIR}/${P}-gentoo-optional-codecs.patch" + epatch "${FILESDIR}/${P}-gentoo-optional-codecs-decode.patch" + eapply_user +} + +src_compile() { + + if use dsd; then + append-cflags "-DDSD" + einfo "dsd support enabled via dsd2pcm" + fi + + if use ffmpeg; then + append-cflags "-DFFMPEG" + einfo "alac and wma support enabled via ffmpeg" + fi + + if use resample; then + append-cflags "-DRESAMPLE" + einfo "resample support enabled via soxr" + fi + + if use visexport; then + append-cflags "-DVISEXPORT" + einfo "audio data export to jivelite support enabled" + fi + + # Configure other optional codec support; this is added to the original + # source via a patch in this ebuild at present. + if ! use flac; then + append-cflags "-DSL_NO_FLAC" + einfo "FLAC support disabled; add 'flac' USE flag if you need it" + fi + if ! use vorbis; then + append-cflags "-DSL_NO_OGG" + einfo "Ogg/Vorbis support disabled; add 'vorbis' USE flag if you need it" + fi + if ! use mad; then + append-cflags "-DSL_NO_MAD" + fi + if ! use mpg123; then + append-cflags "-DSL_NO_MPG123" + fi + if ! use mad && ! use mpg123; then + einfo "MP3 support disabled; add 'mad' (recommended)" + einfo " or 'mpg123' USE flag if you need it" + fi + if ! use aac; then + append-cflags "-DSL_NO_AAC" + einfo "AAC support disabled; add 'aac' USE flag if you need it" + fi + + # Build it + emake || die "emake failed" +} + +src_install() { + dobin squeezelite + dodoc LICENSE.txt + + newconfd "${FILESDIR}/${PN}.conf.d" "${PN}" + newinitd "${FILESDIR}/${PN}.init.d" "${PN}" +} + +pkg_postinst() { + elog "If you want start Squeezelite automatically on system boot:" + elog " rc-update add squeezelite default" + elog "Edit /etc/cond.d/squeezelite to customise -- in particular" + elog "you may want to set the audio device to be used." +} |