diff options
author | Christian Faulhammer <opfer@gentoo.org> | 2007-02-14 14:04:53 +0000 |
---|---|---|
committer | Christian Faulhammer <opfer@gentoo.org> | 2007-02-14 14:04:53 +0000 |
commit | bac91f9f56e90f088d3f976ff160d67586f0504b (patch) | |
tree | a03f3cb5495a8b3b48f75e85bc487de26fd3513c /media-sound/cmus | |
parent | Stable on sparc wrt #166805 (diff) | |
download | gentoo-2-bac91f9f56e90f088d3f976ff160d67586f0504b.tar.gz gentoo-2-bac91f9f56e90f088d3f976ff160d67586f0504b.tar.bz2 gentoo-2-bac91f9f56e90f088d3f976ff160d67586f0504b.zip |
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
(Portage version: 2.1.2-r9)
Diffstat (limited to 'media-sound/cmus')
-rw-r--r-- | media-sound/cmus/ChangeLog | 9 | ||||
-rw-r--r-- | media-sound/cmus/cmus-2.1.0-r1.ebuild | 86 | ||||
-rw-r--r-- | media-sound/cmus/files/cmus-2.1.0-faad-2.0.patch | 301 | ||||
-rw-r--r-- | media-sound/cmus/files/digest-cmus-2.1.0-r1 | 3 |
4 files changed, 398 insertions, 1 deletions
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 <opfer@gentoo.org> + +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 <opfer@gentoo.org> -cmus-2.0.4.ebuild: clean up 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 <neaacdec.h> ++#include <faad.h> + + #include <errno.h> + #include <string.h> +@@ -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 <mp4.h> +-#include <neaacdec.h> ++#include <faad.h> + + #include <errno.h> + #include <string.h> +@@ -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 |