From c526be0ff705941e1b45248808d313b120c2c681 Mon Sep 17 00:00:00 2001 From: Alexander Huemer Date: Mon, 4 May 2009 13:29:47 +0200 Subject: bumped media-sound/lame to latest ~ (3.98.2-r1) --- media-sound/lame/Manifest | 2 + .../lame/files/lame-3.98.2-ffmpeg-0.5.patch | 86 ++++++++++++++++++++++ media-sound/lame/lame-3.98.2-r1.ebuild | 86 ++++++++++++++++++++++ 3 files changed, 174 insertions(+) create mode 100644 media-sound/lame/files/lame-3.98.2-ffmpeg-0.5.patch create mode 100644 media-sound/lame/lame-3.98.2-r1.ebuild (limited to 'media-sound') diff --git a/media-sound/lame/Manifest b/media-sound/lame/Manifest index 2881d8c37..e1dd12d24 100644 --- a/media-sound/lame/Manifest +++ b/media-sound/lame/Manifest @@ -7,10 +7,12 @@ AUX lame-3.98-gtk-path.patch 8606 RMD160 8bca3b986edf75853bfaee6837f9eb4832b664f AUX lame-3.98-pic-fix.patch 14804 RMD160 443e4b1fc6a54be4d2c356ea7b4cc857f26b2a1c SHA1 551d364c34c30f6486b034f6e0789247450aae95 SHA256 f77ededd6e067a4d47ad49a0fa939290de5b248ef83a4b8a1aba52dbb0649381 AUX lame-3.98-shared-frontend.patch 1008 RMD160 8e12e752a325926e1376e45ffd3b72cac61ebf4a SHA1 af371fe673e42c4ba2e6e07255d6196d76d8ef79 SHA256 fb40bfb00e47964acbe0de428cc7a3e4b3a0e0ade120bf547891bf78031f6916 AUX lame-3.98-stdint.patch 651 RMD160 84a732f356ac05941d90c2a261f9d624fc38bc5b SHA1 b4ebe2a3e8c343180b7d82e2bd2edb81a7c0d1bd SHA256 2fc25342cf5b5d5fd465c76f7899b0276e6e9f21b948f6005de0724a35dcc567 +AUX lame-3.98.2-ffmpeg-0.5.patch 2950 RMD160 71628a5b2d9ac7365ccbac3dbf3de7cea6006b5d SHA1 1f7c0a6c90bdc133921f999f1ed0855e95d39a5a SHA256 f9de77da233d81485463cf6c51a3b7ff21be78b17f7d91741532f9a9f5577500 DIST lame-3.97.tar.gz 1328058 RMD160 5c4cf02c0f4e10c4cd2ab610d62478b554cd0873 SHA1 acf56065f4e31ce023b0f99002d537adb1ec09df SHA256 0a2334a6d11085298a9a3c46d5d310cca012f2e61d6efae90840a76a364dbe17 DIST lame-398-2.tar.gz 1327643 RMD160 767dd94271eef221170469535db2bf388149715a SHA1 b2db41dbc9c0824caa102e8c932b820c79ccd5ec SHA256 a17a28569d8ed1e514915c1f12bdf4eedac506e5fbdf9a429ba97d5d42c9af32 DIST lame-398.tar.gz 1415983 RMD160 754343791ac80d2403291c63f99eb409bca6b62f SHA1 287979d076834882c99d0cc01ddbd9b3697ceaae SHA256 8396bcb425ddcbfb8027d5712fa8878a2257006ccbe3ac7a772e1652e43d19b1 EBUILD lame-3.97-r1.ebuild 2463 RMD160 817c39ec6f5df1a9790b24b8305a7576d3071604 SHA1 1b7a018e4a1547c333d7583c640bb353628953ce SHA256 bc40029ced32790978ab609d7221f70f106a4abb6fb9ca3c8f62e387a86b5e32 +EBUILD lame-3.98.2-r1.ebuild 2733 RMD160 70231b90bf73f0b203661155281e31ea29233f4b SHA1 87042bcd46b281b529abb66c6a204e7154e6b09a SHA256 7c28f27e69e3feb42e896569574cbbdcc0d4f653eeaa59b21315f165dfc4175a EBUILD lame-3.98.2.ebuild 2636 RMD160 4612a529ad55e2eb66972a2d7aa0cb19b74d36d8 SHA1 71deb751279cadb26ebf649fbaf327877b63bd31 SHA256 5766fcae3fdedc9f4642ef28bf00049cd43725556a223738cebab2a53560f932 EBUILD lame-3.98.ebuild 2982 RMD160 13b5f8b2dba50dcea7015dc62b4c80180a3649de SHA1 2af0d47545e6e006c939397cc64e83d07e4487c6 SHA256 8501af22b587e2f3d07864fa7906d4038b200c7de46ab837ecd43ae1298d7109 MISC ChangeLog 14986 RMD160 a8d8f2cc563f19cbf076a7e55dd7a74eb64acd63 SHA1 149ea580edecd730ddbae9976e1ab955d00669ea SHA256 b2c3ba3f8f0325a4bb491407531a9e2ec29a74e32f12393406dc2522c57bddab diff --git a/media-sound/lame/files/lame-3.98.2-ffmpeg-0.5.patch b/media-sound/lame/files/lame-3.98.2-ffmpeg-0.5.patch new file mode 100644 index 000000000..30528c7db --- /dev/null +++ b/media-sound/lame/files/lame-3.98.2-ffmpeg-0.5.patch @@ -0,0 +1,86 @@ +diff -NrU5 lame-398-2.orig/libmp3lame/lame.c lame-398-2/libmp3lame/lame.c +--- lame-398-2.orig/libmp3lame/lame.c 2009-05-03 15:16:40.000000000 +0200 ++++ lame-398-2/libmp3lame/lame.c 2009-05-03 15:24:49.000000000 +0200 +@@ -1600,10 +1600,17 @@ + in_buffer[1] += n_in; + + /* update mfbuf[] counters */ + gfc->mf_size += n_out; + assert(gfc->mf_size <= MFSIZE); ++ ++ /* lame_encode_flush may have set gfc->mf_sample_to_encode to 0 ++ * so we have to reinitialize it here when that happened. ++ */ ++ if (gfc->mf_samples_to_encode < 1) { ++ gfc->mf_samples_to_encode = ENCDELAY + POSTDELAY; ++ } + gfc->mf_samples_to_encode += n_out; + + + if (gfc->mf_size >= mf_needed) { + /* encode the frame. */ +@@ -1929,10 +1936,14 @@ + int end_padding = POSTDELAY; + int pad_out_samples; + int frames_left; + int samples_to_encode = gfc->mf_samples_to_encode; + ++ /* Was flush already called? */ ++ if (gfc->mf_samples_to_encode < 1) { ++ return 0; ++ } + memset(buffer, 0, sizeof(buffer)); + mp3count = 0; + + if (gfp->in_samplerate != gfp->out_samplerate) { + /* delay due to resampling; needs to be fixed, if resampling code gets changed */ +@@ -1940,35 +1951,38 @@ + } + pad_out_samples = gfp->framesize - (samples_to_encode % gfp->framesize); + end_padding += pad_out_samples; + + frames_left = (samples_to_encode + pad_out_samples) / gfp->framesize; +- while (frames_left > 0) { ++ ++ /* send in a frame of 0 padding until all internal sample buffers are flushed */ ++ while (frames_left > 0 && imp3 >= 0) { + int frame_num = gfp->frameNum; + + mp3buffer_size_remaining = mp3buffer_size - mp3count; + + /* if user specifed buffer size = 0, dont check size */ + if (mp3buffer_size == 0) + mp3buffer_size_remaining = 0; + +- /* send in a frame of 0 padding until all internal sample buffers +- * are flushed +- */ + imp3 = lame_encode_buffer(gfp, buffer[0], buffer[1], 32, + mp3buffer, mp3buffer_size_remaining); + +- if (frame_num != gfp->frameNum) { +- --frames_left; +- } +- if (imp3 < 0) { +- /* some type of fatal error */ +- return imp3; +- } + mp3buffer += imp3; + mp3count += imp3; ++ frames_left -= (frame_num != gfp->frameNum) ? 1 : 0; + } ++ /* Set gfc->mf_samples_to_encode to 0, so we may detect ++ * and break loops calling it more than once in a row. ++ */ ++ gfc->mf_samples_to_encode = 0; ++ ++ if (imp3 < 0) { ++ /* some type of fatal error */ ++ return imp3; ++ } ++ + mp3buffer_size_remaining = mp3buffer_size - mp3count; + /* if user specifed buffer size = 0, dont check size */ + if (mp3buffer_size == 0) + mp3buffer_size_remaining = 0; + diff --git a/media-sound/lame/lame-3.98.2-r1.ebuild b/media-sound/lame/lame-3.98.2-r1.ebuild new file mode 100644 index 000000000..f3599bc36 --- /dev/null +++ b/media-sound/lame/lame-3.98.2-r1.ebuild @@ -0,0 +1,86 @@ +# Copyright 1999-2008 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/media-sound/lame/lame-3.98.2.ebuild,v 1.6 2008/11/14 12:25:16 armin76 Exp $ + +EAPI="2" + +inherit flag-o-matic toolchain-funcs eutils autotools versionator multilib-native + +DESCRIPTION="LAME Ain't an MP3 Encoder" +HOMEPAGE="http://lame.sourceforge.net" + +MY_PV=$(replace_version_separator 1 '') +[ ${MY_PV/.} = ${MY_PV} ] || MY_PV=$(replace_version_separator 1 '-' ${MY_PV}) +S=${WORKDIR}/${PN}-${MY_PV} +SRC_URI="mirror://sourceforge/${PN}/${PN}-${MY_PV}.tar.gz" + +LICENSE="LGPL-2.1" +SLOT="0" +KEYWORDS="alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sh ~sparc ~x86 ~x86-fbsd" +IUSE="debug mmx mp3rtp sndfile gtk" + +RDEPEND=">=sys-libs/ncurses-5.2[lib32?] + sndfile? ( >=media-libs/libsndfile-1.0.2[lib32?] ) + gtk? ( =x11-libs/gtk+-1.2*[lib32?] )" +DEPEND="${RDEPEND} + dev-util/pkgconfig + mmx? ( dev-lang/nasm )" + +multilib-native_src_prepare_internal() { + cd "${S}" + + # The frontened tries to link staticly, but we prefer shared libs + epatch "${FILESDIR}"/${PN}-3.98-shared-frontend.patch + + # If ccc (alpha compiler) is installed on the system, the default + # configure is broken, fix it to respect CC. This is only + # directly broken for ARCH=alpha but would affect anybody with a + # ccc binary in their PATH. Bug #41908 (26 Jul 2004 agriffis) + epatch "${FILESDIR}"/${PN}-3.96-ccc.patch + + # Patch gtk stuff, otherwise eautoreconf dies + epatch "${FILESDIR}"/${PN}-3.98-gtk-path.patch + + # Fix for ffmpeg-0.5, bug 265830 + epatch "${FILESDIR}"/${PN}-3.98.2-ffmpeg-0.5.patch + + # It fails parallel make otherwise when enabling nasm... + mkdir "${S}/libmp3lame/i386/.libs" || die + + AT_M4DIR="${S}" eautoreconf + epunt_cxx # embedded bug #74498 +} + +multilib-native_src_configure_internal() { + use sndfile && myconf="--with-fileio=sndfile" + # The user sets compiler optimizations... But if you'd like + # lame to choose it's own... uncomment one of these (experiMENTAL) + # myconf="${myconf} --enable-expopt=full \ + # myconf="${myconf} --enable-expopt=norm \ + + econf \ + --enable-shared \ + $(use_enable debug debug norm) \ + --disable-mp3x \ + $(use_enable mmx nasm) \ + $(use_enable mp3rtp) \ + $(use_enable gtk gtktest) \ + ${myconf} || die "econf failed" +} + +multilib-native_src_install_internal() { + emake DESTDIR="${D}" pkghtmldir="/usr/share/doc/${PF}/html" install || die + + dodoc API ChangeLog HACKING README* STYLEGUIDE TODO USAGE || die + dohtml misc/lameGUI.html Dll/LameDLLInterface.htm || die + + dobin "${S}"/misc/mlame || die +} + +pkg_postinst(){ + if use mp3rtp ; then + ewarn "Warning, support for the encode-to-RTP program, 'mp3rtp'" + ewarn "is broken as of August 2001." + ewarn " " + fi +} -- cgit v1.2.3