From 7a7702a59d9549d835fa09653034507ac6851294 Mon Sep 17 00:00:00 2001 From: Christian Faulhammer Date: Wed, 14 Feb 2007 14:04:53 +0000 Subject: [PATCH] add a patch from cmus mailing list that allows building against media-libs/faad2 2.0, so now I can provide aac and mp4 USE flags Package-Manager: portage-2.1.2-r9 --- media-sound/cmus/ChangeLog | 9 +- media-sound/cmus/Manifest | 25 +- media-sound/cmus/cmus-2.1.0-r1.ebuild | 86 +++++ .../cmus/files/cmus-2.1.0-faad-2.0.patch | 301 ++++++++++++++++++ media-sound/cmus/files/digest-cmus-2.1.0-r1 | 3 + 5 files changed, 416 insertions(+), 8 deletions(-) create mode 100644 media-sound/cmus/cmus-2.1.0-r1.ebuild create mode 100644 media-sound/cmus/files/cmus-2.1.0-faad-2.0.patch create mode 100644 media-sound/cmus/files/digest-cmus-2.1.0-r1 diff --git a/media-sound/cmus/ChangeLog b/media-sound/cmus/ChangeLog index 4cc3e365fa66..73a85397a483 100644 --- a/media-sound/cmus/ChangeLog +++ b/media-sound/cmus/ChangeLog @@ -1,6 +1,13 @@ # ChangeLog for media-sound/cmus # Copyright 1999-2007 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/media-sound/cmus/ChangeLog,v 1.6 2007/01/29 09:09:52 opfer Exp $ +# $Header: /var/cvsroot/gentoo-x86/media-sound/cmus/ChangeLog,v 1.7 2007/02/14 14:04:53 opfer Exp $ + +*cmus-2.1.0-r1 (14 Feb 2007) + + 14 Feb 2007; Christian Faulhammer + +files/cmus-2.1.0-faad-2.0.patch, +cmus-2.1.0-r1.ebuild: + add a patch from cmus mailing list that allows building against + media-libs/faad2 2.0, so now I can provide aac and mp4 USE flags 29 Jan 2007; Christian Faulhammer -cmus-2.0.4.ebuild: clean up diff --git a/media-sound/cmus/Manifest b/media-sound/cmus/Manifest index fdabd306bed6..9bcdfae28b48 100644 --- a/media-sound/cmus/Manifest +++ b/media-sound/cmus/Manifest @@ -1,15 +1,23 @@ -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 +AUX cmus-2.1.0-faad-2.0.patch 9319 RMD160 04e836ec3ae74d7d233aa9bf96bd5313a67ad4fa SHA1 b4dbe49f1a300e38c68adcda397ab6afd28fb440 SHA256 74e70a7c6430f3d210a27a4ed272f70d4ab7be12b665d6b9eb30d4f9ae4d71be +MD5 a4eb9a6a20e5d0a9ece11fd802e14cb3 files/cmus-2.1.0-faad-2.0.patch 9319 +RMD160 04e836ec3ae74d7d233aa9bf96bd5313a67ad4fa files/cmus-2.1.0-faad-2.0.patch 9319 +SHA256 74e70a7c6430f3d210a27a4ed272f70d4ab7be12b665d6b9eb30d4f9ae4d71be files/cmus-2.1.0-faad-2.0.patch 9319 DIST cmus-2.1.0.tar.bz2 146956 RMD160 f359c8929dd616855aedbe2c4d1d2e252a8946ca SHA1 961d4bd1446c9499aeaac5a280761e5d98ca514f SHA256 fe47e258918526b9e1b2cd7081d73654af8c326f0f3b0fabe450b805b78423c0 +EBUILD cmus-2.1.0-r1.ebuild 2358 RMD160 2839fc5639b479aea32adeb1ba1b4bdedf369c5d SHA1 93ca05053429948ca344cee4ef4a0b064d6d75f4 SHA256 0deefb602aac5ed50993173fe3e8611c6be05247d876f4638974e9551c8a619b +MD5 64e79215623ac22637a6359d739c0288 cmus-2.1.0-r1.ebuild 2358 +RMD160 2839fc5639b479aea32adeb1ba1b4bdedf369c5d cmus-2.1.0-r1.ebuild 2358 +SHA256 0deefb602aac5ed50993173fe3e8611c6be05247d876f4638974e9551c8a619b cmus-2.1.0-r1.ebuild 2358 EBUILD cmus-2.1.0.ebuild 2296 RMD160 f9548391af2222c8f0b4f542812f11e9c0aee3b0 SHA1 7a5780b97801cdcf37992f9675060e2c52e0d98b SHA256 b14bf8b70c488aba1446b34875c826dc224d396e6e206125674b14ec2254f897 MD5 7891a424e0ba704bbb0c8f847b83b1d1 cmus-2.1.0.ebuild 2296 RMD160 f9548391af2222c8f0b4f542812f11e9c0aee3b0 cmus-2.1.0.ebuild 2296 SHA256 b14bf8b70c488aba1446b34875c826dc224d396e6e206125674b14ec2254f897 cmus-2.1.0.ebuild 2296 -MISC ChangeLog 1145 RMD160 859b2c9457576e7010e9cd87e14538eec3a60bb0 SHA1 3226944dfb55681576e999501f6cded1d70a2571 SHA256 7f890fc2e2d25fc06d6bc400867ace51635a45615b72a9f18c19e37134b49923 -MD5 d63ac17fa31e6ea2719f030591d71e5e ChangeLog 1145 -RMD160 859b2c9457576e7010e9cd87e14538eec3a60bb0 ChangeLog 1145 -SHA256 7f890fc2e2d25fc06d6bc400867ace51635a45615b72a9f18c19e37134b49923 ChangeLog 1145 +MISC ChangeLog 1423 RMD160 f8aa6aaa1c6cc00d23dd448e78f5ff25b81dcae8 SHA1 88e625c4dcc73fb3609d8871fcbe6083f8f56c56 SHA256 65b2c935ff9ab3520c4b0d1118dc42e61255b87ccb2e2eba6f2e96ee7ef9014f +MD5 89a98e3cf9f9b3e4a767b820484e8bf2 ChangeLog 1423 +RMD160 f8aa6aaa1c6cc00d23dd448e78f5ff25b81dcae8 ChangeLog 1423 +SHA256 65b2c935ff9ab3520c4b0d1118dc42e61255b87ccb2e2eba6f2e96ee7ef9014f ChangeLog 1423 MISC metadata.xml 266 RMD160 ec474d4b2edebeccd738705e8717ecdb4aaca347 SHA1 2eb26e89e18770b3cc373ab290938a2aea6bce97 SHA256 2d1e8e22e242d00cd34f662e4d04d2e7d488951bd1e84fe3132d2b1ebd1b71d2 MD5 f2e99271e391d686f969c3d65ac24562 metadata.xml 266 RMD160 ec474d4b2edebeccd738705e8717ecdb4aaca347 metadata.xml 266 @@ -17,10 +25,13 @@ SHA256 2d1e8e22e242d00cd34f662e4d04d2e7d488951bd1e84fe3132d2b1ebd1b71d2 metadata MD5 09c6a71861ec01bf051528e96b76651b files/digest-cmus-2.1.0 235 RMD160 a55cde314c80603ebb98468fbd26542662ba5203 files/digest-cmus-2.1.0 235 SHA256 c40feb869833f7706be4e6c528e121c6b18fddeb0d275c0ad9695d8714f8a3a2 files/digest-cmus-2.1.0 235 +MD5 09c6a71861ec01bf051528e96b76651b files/digest-cmus-2.1.0-r1 235 +RMD160 a55cde314c80603ebb98468fbd26542662ba5203 files/digest-cmus-2.1.0-r1 235 +SHA256 c40feb869833f7706be4e6c528e121c6b18fddeb0d275c0ad9695d8714f8a3a2 files/digest-cmus-2.1.0-r1 235 -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.6 (GNU/Linux) -iD8DBQFFvbnHNQqtfCuFneMRAovUAJ9tGEDhWeFHfWofUewkBqseaPTn/wCeORti -+R8CNFCJnko5anLuK/Ynyso= -=TiuT +iD8DBQFF0xbzNQqtfCuFneMRAqcTAJ9gzHuiiOz2sZHAG2j8/6y5gIeUrgCfY29K +bRn39/LT/ceYFsaMZAgIIWQ= +=7hNG -----END PGP SIGNATURE----- diff --git a/media-sound/cmus/cmus-2.1.0-r1.ebuild b/media-sound/cmus/cmus-2.1.0-r1.ebuild new file mode 100644 index 000000000000..7ddcb149e513 --- /dev/null +++ b/media-sound/cmus/cmus-2.1.0-r1.ebuild @@ -0,0 +1,86 @@ +# Copyright 1999-2007 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/media-sound/cmus/cmus-2.1.0-r1.ebuild,v 1.1 2007/02/14 14:04:53 opfer Exp $ + +inherit eutils multilib + +DESCRIPTION="A ncurses based music player with plugin support for many formats" +HOMEPAGE="http://onion.dynserv.net/~timo/cmus.html" +SRC_URI="http://onion.dynserv.net/~timo/files/${P}.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="aac alsa ao arts debug flac mad mikmod modplug mp3 mp4 musepack oss vorbis" + +DEPEND="sys-libs/ncurses + alsa? ( >=media-libs/alsa-lib-1.0.11 ) + ao? ( media-libs/libao ) + arts? ( kde-base/arts ) + flac? ( media-libs/flac ) + mad? ( >=media-libs/libmad-0.14 ) + mikmod? ( media-libs/libmikmod ) + modplug? ( >=media-libs/libmodplug-0.7 ) + mp3? ( >=media-libs/libmad-0.14 ) + musepack? ( >=media-libs/libmpcdec-1.2 ) + vorbis? ( >=media-libs/libvorbis-1.0 ) + aac? ( media-libs/faad2 ) + mp4? ( media-libs/libmp4v2 + media-libs/faad2 )" +RDEPEND="${DEPEND}" + +my_config() { + local value + use ${1} && value=y || value=n + myconf="${myconf} ${2}=${value}" +} + +pkg_setup() { + if ! built_with_use sys-libs/ncurses unicode + then + ewarn + ewarn "\t sys-libs/ncurses compiled without the unicode USE flag." + ewarn "\t Please recompile sys-libs/ncurses with USE=unicode and emerge" + ewarn "\t cmus again if you experience any problems with UTF-8 or" + ewarn "\t wide characters." + ewarn + epause + fi +} + +src_unpack(){ + unpack ${A} + cd "${S}" + epatch "${FILESDIR}/${P}-faad-2.0.patch" +} + +src_compile() { + local debuglevel myconf + + use debug && debuglevel=2 || debuglevel=1 + + myconf="CONFIG_SUN=n" + my_config aac CONFIG_AAC + my_config ao CONFIG_AO + my_config alsa CONFIG_ALSA + my_config arts CONFIG_ARTS + my_config flac CONFIG_FLAC + my_config mad CONFIG_MAD + my_config mikmod CONFIG_MIKMOD + my_config mp3 CONFIG_MAD + my_config mp4 CONFIG_MP4 + my_config modplug CONFIG_MODPLUG + my_config musepack CONFIG_MPC + my_config oss CONFIG_OSS + my_config vorbis CONFIG_VORBIS + + # econf doesn't work, because configure wants "prefix" (and similar) without dashes + ./configure prefix=/usr ${myconf} libdir=/usr/$(get_libdir) DEBUG=$debuglevel || die "configure failed" + + emake || die "emake failed" +} + +src_install() { + emake DESTDIR="${D}" install || die "emake install failed" + dodoc AUTHORS README +} diff --git a/media-sound/cmus/files/cmus-2.1.0-faad-2.0.patch b/media-sound/cmus/files/cmus-2.1.0-faad-2.0.patch new file mode 100644 index 000000000000..d86fcc2a1d80 --- /dev/null +++ b/media-sound/cmus/files/cmus-2.1.0-faad-2.0.patch @@ -0,0 +1,301 @@ +diff --git a/aac.c b/aac.c +index 727b705..4983ad4 100644 +--- a/aac.c ++++ b/aac.c +@@ -24,7 +24,7 @@ #include "id3.h" + #include "comment.h" + #include "read_wrapper.h" + +-#include ++#include + + #include + #include +@@ -41,12 +41,12 @@ struct aac_private { + int rbuf_pos; + + unsigned char channels; +- unsigned long sample_rate; ++ uint32_t sample_rate; + + char *overflow_buf; + int overflow_buf_len; + +- NeAACDecHandle decoder; /* typedef void * */ ++ faacDecHandle decoder; /* typedef void * */ + }; + + static inline int buffer_length(const struct input_plugin_data *ip_data) +@@ -187,20 +187,20 @@ static int buffer_fill_frame(struct inpu + static int aac_open(struct input_plugin_data *ip_data) + { + struct aac_private *priv; +- NeAACDecConfigurationPtr neaac_cfg; ++ faacDecConfigurationPtr neaac_cfg; + int ret, n; + + /* init private struct */ + priv = xnew0(struct aac_private, 1); +- priv->decoder = NeAACDecOpen(); ++ priv->decoder = faacDecOpen(); + ip_data->private = priv; + + /* set decoder config */ +- neaac_cfg = NeAACDecGetCurrentConfiguration(priv->decoder); ++ neaac_cfg = faacDecGetCurrentConfiguration(priv->decoder); + neaac_cfg->outputFormat = FAAD_FMT_16BIT; /* force 16 bit audio */ + neaac_cfg->downMatrix = 1; /* 5.1 -> stereo */ + neaac_cfg->dontUpSampleImplicitSBR = 0; /* upsample, please! */ +- NeAACDecSetConfiguration(priv->decoder, neaac_cfg); ++ faacDecSetConfiguration(priv->decoder, neaac_cfg); + + /* find a frame */ + if (buffer_fill_frame(ip_data) <= 0) { +@@ -209,7 +209,7 @@ static int aac_open(struct input_plugin_ + } + + /* in case of a bug, make sure there is at least some data +- * in the buffer for NeAACDecInit() to work with. ++ * in the buffer for faacDecInit() to work with. + */ + if (buffer_fill_min(ip_data, 256) <= 0) { + d_print("not enough data\n"); +@@ -218,10 +218,10 @@ static int aac_open(struct input_plugin_ + } + + /* init decoder, returns the length of the header (if any) */ +- n = NeAACDecInit(priv->decoder, buffer_data(ip_data), buffer_length(ip_data), ++ n = faacDecInit(priv->decoder, buffer_data(ip_data), buffer_length(ip_data), + &priv->sample_rate, &priv->channels); + if (n < 0) { +- d_print("NeAACDecInit failed\n"); ++ d_print("faacDecInit failed\n"); + ret = -IP_ERROR_FILE_FORMAT; + goto out; + } +@@ -233,7 +233,7 @@ static int aac_open(struct input_plugin_ + + d_print("sample rate %luhz, channels %u\n", priv->sample_rate, priv->channels); + +- /*NeAACDecInitDRM(priv->decoder, priv->sample_rate, priv->channels);*/ ++ /*faacDecInitDRM(priv->decoder, priv->sample_rate, priv->channels);*/ + + ip_data->sf = sf_rate(priv->sample_rate) | sf_channels(priv->channels) | sf_bits(16) | sf_signed(1); + #if defined(WORDS_BIGENDIAN) +@@ -241,7 +241,7 @@ #if defined(WORDS_BIGENDIAN) + #endif + return 0; + out: +- NeAACDecClose(priv->decoder); ++ faacDecClose(priv->decoder); + free(priv); + return ret; + } +@@ -250,7 +250,7 @@ static int aac_close(struct input_plugin + { + struct aac_private *priv = ip_data->private; + +- NeAACDecClose(priv->decoder); ++ faacDecClose(priv->decoder); + free(priv); + ip_data->private = NULL; + return 0; +@@ -265,7 +265,7 @@ static int decode_one_frame(struct input + struct aac_private *priv = ip_data->private; + unsigned char *aac_data; + unsigned int aac_data_size; +- NeAACDecFrameInfo frame_info; ++ faacDecFrameInfo frame_info; + char *sample_buf; + int bytes, rc; + +@@ -277,18 +277,18 @@ static int decode_one_frame(struct input + aac_data_size = buffer_length(ip_data); + + /* aac data -> raw pcm */ +- sample_buf = NeAACDecDecode(priv->decoder, &frame_info, aac_data, aac_data_size); ++ sample_buf = faacDecDecode(priv->decoder, &frame_info, aac_data, aac_data_size); + + buffer_consume(ip_data, frame_info.bytesconsumed); + + if (!sample_buf || frame_info.bytesconsumed <= 0) { +- d_print("fatal error: %s\n", NeAACDecGetErrorMessage(frame_info.error)); ++ d_print("fatal error: %s\n", faacDecGetErrorMessage(frame_info.error)); + errno = EINVAL; + return -1; + } + + if (frame_info.error != 0) { +- d_print("frame error: %s\n", NeAACDecGetErrorMessage(frame_info.error)); ++ d_print("frame error: %s\n", faacDecGetErrorMessage(frame_info.error)); + return -2; + } + +@@ -395,7 +395,7 @@ out: + static int aac_duration(struct input_plugin_data *ip_data) + { + struct aac_private *priv = ip_data->private; +- NeAACDecFrameInfo frame_info; ++ faacDecFrameInfo frame_info; + int samples = 0, bytes = 0, frames = 0; + off_t file_size; + char *sample_buf; +@@ -409,7 +409,7 @@ static int aac_duration(struct input_plu + if (buffer_fill_frame(ip_data) <= 0) + break; + +- sample_buf = NeAACDecDecode(priv->decoder, &frame_info, ++ sample_buf = faacDecDecode(priv->decoder, &frame_info, + buffer_data(ip_data), buffer_length(ip_data)); + if (frame_info.error == 0 && frame_info.samples > 0) { + samples += frame_info.samples; +diff --git a/configure b/configure +index d1dce2d..a71d73d 100755 +--- a/configure ++++ b/configure +@@ -174,14 +174,14 @@ check_waveout() + + check_mp4() + { +- check_header neaacdec.h && ++ check_header faad.h && + check_library MP4 "" "-lmp4v2 -lfaad -lm" + return $? + } + + check_aac() + { +- check_header neaacdec.h && ++ check_header faad.h && + check_library AAC "" "-lfaad -lm" + return $? + } +diff --git a/mp4.c b/mp4.c +index eb82ca7..ce1c542 100644 +--- a/mp4.c ++++ b/mp4.c +@@ -23,7 +23,7 @@ #include "debug.h" + #include "file.h" + + #include +-#include ++#include + + #include + #include +@@ -35,9 +35,9 @@ struct mp4_private { + int overflow_buf_len; + + unsigned char channels; +- unsigned long sample_rate; ++ uint32_t sample_rate; + +- NeAACDecHandle decoder; /* typedef void * */ ++ faacDecHandle decoder; /* typedef void * */ + + struct { + MP4FileHandle handle; /* typedef void * */ +@@ -88,7 +88,7 @@ static MP4TrackId mp4_get_track(MP4FileH + static int mp4_open(struct input_plugin_data *ip_data) + { + struct mp4_private *priv; +- NeAACDecConfigurationPtr neaac_cfg; ++ faacDecConfigurationPtr neaac_cfg; + unsigned char *buf; + unsigned int buf_size; + +@@ -101,13 +101,13 @@ static int mp4_open(struct input_plugin_ + priv = xnew0(struct mp4_private, 1); + ip_data->private = priv; + +- priv->decoder = NeAACDecOpen(); ++ priv->decoder = faacDecOpen(); + + /* set decoder config */ +- neaac_cfg = NeAACDecGetCurrentConfiguration(priv->decoder); ++ neaac_cfg = faacDecGetCurrentConfiguration(priv->decoder); + neaac_cfg->outputFormat = FAAD_FMT_16BIT; /* force 16 bit audio */ + neaac_cfg->downMatrix = 1; /* 5.1 -> stereo */ +- NeAACDecSetConfiguration(priv->decoder, neaac_cfg); ++ faacDecSetConfiguration(priv->decoder, neaac_cfg); + + /* open mpeg-4 file */ + priv->mp4.handle = MP4Read(ip_data->filename, 0); +@@ -131,15 +131,14 @@ static int mp4_open(struct input_plugin_ + buf_size = 0; + if (!MP4GetTrackESConfiguration(priv->mp4.handle, priv->mp4.track, &buf, &buf_size)) { + /* failed to get mpeg-4 audio config... this is ok. +- * NeAACDecInit2() will simply use default values instead. ++ * faacDecInit2() will simply use default values instead. + */ + buf = NULL; + buf_size = 0; + } + +- /* init decoder according to mpeg-4 audio config +- * cast to signed char because char is unsigned by default on ppc */ +- if ((signed char)NeAACDecInit2(priv->decoder, buf, buf_size, &priv->sample_rate, &priv->channels) < 0) { ++ /* init decoder according to mpeg-4 audio config */ ++ if (faacDecInit2(priv->decoder, buf, buf_size, &priv->sample_rate, &priv->channels) < 0) { + free(buf); + goto out; + } +@@ -159,7 +158,7 @@ out: + if (priv->mp4.handle) + MP4Close(priv->mp4.handle); + if (priv->decoder) +- NeAACDecClose(priv->decoder); ++ faacDecClose(priv->decoder); + free(priv); + return -IP_ERROR_FILE_FORMAT; + } +@@ -174,7 +173,7 @@ static int mp4_close(struct input_plugin + MP4Close(priv->mp4.handle); + + if (priv->decoder) +- NeAACDecClose(priv->decoder); ++ faacDecClose(priv->decoder); + + free(priv); + ip_data->private = NULL; +@@ -191,7 +190,7 @@ static int decode_one_frame(struct input + struct mp4_private *priv; + unsigned char *aac_data = NULL; + unsigned int aac_data_len = 0; +- NeAACDecFrameInfo frame_info; ++ faacDecFrameInfo frame_info; + char *sample_buf; + int bytes; + +@@ -217,18 +216,18 @@ static int decode_one_frame(struct input + return -1; + } + +- sample_buf = NeAACDecDecode(priv->decoder, &frame_info, aac_data, aac_data_len); ++ sample_buf = faacDecDecode(priv->decoder, &frame_info, aac_data, aac_data_len); + + free(aac_data); + + if (!sample_buf || frame_info.bytesconsumed <= 0) { +- d_print("fatal error: %s\n", NeAACDecGetErrorMessage(frame_info.error)); ++ d_print("fatal error: %s\n", faacDecGetErrorMessage(frame_info.error)); + errno = EINVAL; + return -1; + } + + if (frame_info.error != 0) { +- d_print("frame error: %s\n", NeAACDecGetErrorMessage(frame_info.error)); ++ d_print("frame error: %s\n", faacDecGetErrorMessage(frame_info.error)); + return -2; + } + +@@ -244,8 +243,7 @@ static int decode_one_frame(struct input + bytes = frame_info.samples * 2; + + if (bytes > count) { +- /* decoded too much; keep overflow. this only happens +- * when we've called NeAACDecDecode_bugfree() */ ++ /* decoded too much; keep overflow. */ + priv->overflow_buf = sample_buf + count; + priv->overflow_buf_len = bytes - count; + memcpy(buffer, sample_buf, count); diff --git a/media-sound/cmus/files/digest-cmus-2.1.0-r1 b/media-sound/cmus/files/digest-cmus-2.1.0-r1 new file mode 100644 index 000000000000..98c2b516ef2b --- /dev/null +++ b/media-sound/cmus/files/digest-cmus-2.1.0-r1 @@ -0,0 +1,3 @@ +MD5 11ca53a05442ee073b6e790e957b1433 cmus-2.1.0.tar.bz2 146956 +RMD160 f359c8929dd616855aedbe2c4d1d2e252a8946ca cmus-2.1.0.tar.bz2 146956 +SHA256 fe47e258918526b9e1b2cd7081d73654af8c326f0f3b0fabe450b805b78423c0 cmus-2.1.0.tar.bz2 146956 -- 2.26.2