summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'media-libs/flac')
-rw-r--r--media-libs/flac/ChangeLog10
-rw-r--r--media-libs/flac/files/digest-flac-1.2.1-r13
-rw-r--r--media-libs/flac/files/flac-1.2.1-asm.patch80
-rw-r--r--media-libs/flac/flac-1.2.1-r1.ebuild56
4 files changed, 148 insertions, 1 deletions
diff --git a/media-libs/flac/ChangeLog b/media-libs/flac/ChangeLog
index feb1188209d1..5c48c565ac1a 100644
--- a/media-libs/flac/ChangeLog
+++ b/media-libs/flac/ChangeLog
@@ -1,6 +1,14 @@
# ChangeLog for media-libs/flac
# Copyright 2002-2007 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/media-libs/flac/ChangeLog,v 1.121 2007/09/26 16:30:59 armin76 Exp $
+# $Header: /var/cvsroot/gentoo-x86/media-libs/flac/ChangeLog,v 1.122 2007/09/28 13:03:55 drac Exp $
+
+*flac-1.2.1-r1 (28 Sep 2007)
+
+ 28 Sep 2007; Samuli Suominen <drac@gentoo.org>
+ +files/flac-1.2.1-asm.patch, +flac-1.2.1-r1.ebuild:
+ Fix TEXTRELs using patch from PaX Team from bug 193222 and while at it,
+ attempt to clean up ebuild a bit. Revert last commit restoring elibtoolize
+ for fbsd since eautoreconf allready does libtoolize.
26 Sep 2007; Raúl Porcel <armin76@gentoo.org> flac-1.1.4.ebuild:
alpha/ia64 stable wrt #191280
diff --git a/media-libs/flac/files/digest-flac-1.2.1-r1 b/media-libs/flac/files/digest-flac-1.2.1-r1
new file mode 100644
index 000000000000..061357afea8b
--- /dev/null
+++ b/media-libs/flac/files/digest-flac-1.2.1-r1
@@ -0,0 +1,3 @@
+MD5 153c8b15a54da428d1f0fadc756c22c7 flac-1.2.1.tar.gz 2009217
+RMD160 bd3223c848054f0a75d11200b30f903bdd375bfc flac-1.2.1.tar.gz 2009217
+SHA256 9635a44bceb478bbf2ee8a785cf6986fba525afb5fad1fd4bba73cf71f2d3edf flac-1.2.1.tar.gz 2009217
diff --git a/media-libs/flac/files/flac-1.2.1-asm.patch b/media-libs/flac/files/flac-1.2.1-asm.patch
new file mode 100644
index 000000000000..cc832eec74a2
--- /dev/null
+++ b/media-libs/flac/files/flac-1.2.1-asm.patch
@@ -0,0 +1,80 @@
+diff -urp flac-1.2.1-old/src/libFLAC/ia32/bitreader_asm.nasm flac-1.2.1/src/libFLAC/ia32/bitreader_asm.nasm
+--- flac-1.2.1-old/src/libFLAC/ia32/bitreader_asm.nasm 2007-03-30 02:54:53.000000000 +0200
++++ flac-1.2.1/src/libFLAC/ia32/bitreader_asm.nasm 2007-09-27 21:39:45.000000000 +0200
+@@ -140,8 +140,13 @@ cident FLAC__bitreader_read_rice_signed_
+ %ifdef FLAC__PUBLIC_NEEDS_UNDERSCORE
+ mov edi, _FLAC__crc16_table
+ %else
++%ifdef OBJ_FORMAT_elf
++ mov edi, [esp + 16] ; saved ebx (GOT base)
++ lea edi, [edi + FLAC__crc16_table wrt ..gotoff]
++%else
+ mov edi, FLAC__crc16_table
+ %endif
++%endif
+ ;; eax (ax) crc a.k.a. br->read_crc
+ ;; ebx (bl) intermediate result index into FLAC__crc16_table[]
+ ;; ecx br->crc16_align
+@@ -216,8 +221,13 @@ cident FLAC__bitreader_read_rice_signed_
+ %ifdef FLAC__PUBLIC_NEEDS_UNDERSCORE
+ mov edi, _FLAC__crc16_table
+ %else
++%ifdef OBJ_FORMAT_elf
++ mov edi, [esp + 16] ; saved ebx (GOT base)
++ lea edi, [edi + FLAC__crc16_table wrt ..gotoff]
++%else
+ mov edi, FLAC__crc16_table
+ %endif
++%endif
+ ;; eax (ax) crc a.k.a. br->read_crc
+ ;; ebx (bl) intermediate result index into FLAC__crc16_table[]
+ ;; ecx br->crc16_align
+@@ -315,8 +325,13 @@ cident FLAC__bitreader_read_rice_signed_
+ %ifdef FLAC__PUBLIC_NEEDS_UNDERSCORE
+ call _bitreader_read_from_client_
+ %else
++%ifdef OBJ_FORMAT_elf
++ mov ebx, [esp + 20] ; saved ebx (GOT base)
++ call bitreader_read_from_client_ wrt ..plt
++%else
+ call bitreader_read_from_client_
+ %endif
++%endif
+ pop edx ; /* discard, unused */
+ pop ecx ; /* restore */
+ mov esi, [ebp + 16] ; cwords = br->consumed_words;
+@@ -362,13 +377,20 @@ cident FLAC__bitreader_read_rice_signed_
+ mov [ebp + 16], esi ; br->consumed_words = cwords;
+ mov [ebp + 20], ecx ; br->consumed_bits = cbits;
+ push ecx ; /* save */
++ push ebx ; /* save */
+ push ebp ; /* push br argument */
+ %ifdef FLAC__PUBLIC_NEEDS_UNDERSCORE
+ call _bitreader_read_from_client_
+ %else
++%ifdef OBJ_FORMAT_elf
++ mov ebx, [esp + 24] ; saved ebx (GOT base)
++ call bitreader_read_from_client_ wrt ..plt
++%else
+ call bitreader_read_from_client_
+ %endif
++%endif
+ pop edx ; /* discard, unused */
++ pop ebx ; /* restore */
+ pop ecx ; /* restore */
+ mov esi, [ebp + 16] ; cwords = br->consumed_words;
+ ; ucbits = (br->words-cwords)*FLAC__BITS_PER_WORD + br->bytes*8 - cbits;
+@@ -437,8 +459,13 @@ cident FLAC__bitreader_read_rice_signed_
+ %ifdef FLAC__PUBLIC_NEEDS_UNDERSCORE
+ mov edi, _FLAC__crc16_table
+ %else
++%ifdef OBJ_FORMAT_elf
++ mov edi, [esp + 24] ; saved ebx (GOT base)
++ lea edi, [edi + FLAC__crc16_table wrt ..gotoff]
++%else
+ mov edi, FLAC__crc16_table
+ %endif
++%endif
+ ;; eax (ax) crc a.k.a. br->read_crc
+ ;; ebx (bl) intermediate result index into FLAC__crc16_table[]
+ ;; ecx br->crc16_align
diff --git a/media-libs/flac/flac-1.2.1-r1.ebuild b/media-libs/flac/flac-1.2.1-r1.ebuild
new file mode 100644
index 000000000000..d38e764e8cf2
--- /dev/null
+++ b/media-libs/flac/flac-1.2.1-r1.ebuild
@@ -0,0 +1,56 @@
+# Copyright 1999-2007 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/media-libs/flac/flac-1.2.1-r1.ebuild,v 1.1 2007/09/28 13:03:55 drac Exp $
+
+inherit autotools eutils
+
+DESCRIPTION="free lossless audio encoder and decoder"
+HOMEPAGE="http://flac.sourceforge.net"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-2 LGPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sh ~sparc ~x86 ~x86-fbsd"
+IUSE="3dnow altivec debug doc ogg sse"
+
+RDEPEND="ogg? ( >=media-libs/libogg-1.1.3 )"
+DEPEND="${RDEPEND}
+ x86? ( dev-lang/nasm )
+ sys-apps/gawk
+ sys-devel/gettext
+ dev-util/pkgconfig"
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+
+ # Stop using upstream CFLAGS. Fix building with
+ # ldflag asneeded on non glibc systems. Fix
+ # broken asm causing text relocations.
+ epatch "${FILESDIR}"/${P}-asneeded.patch
+ epatch "${FILESDIR}"/${P}-cflags.patch
+ epatch "${FILESDIR}"/${P}-asm.patch
+
+ AT_M4DIR="m4" eautoreconf
+}
+
+src_compile() {
+ econf $(use_enable ogg) \
+ $(use_enable sse) \
+ $(use_enable 3dnow) \
+ $(use_enable altivec) \
+ $(use_enable debug) \
+ --disable-doxygen-docs \
+ --disable-dependency-tracking \
+ --disable-xmms-plugin
+
+ emake || die "emake failed."
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die "emake install failed."
+
+ rm -rf "${D}"/usr/share/doc/flac-1.2.1
+ dodoc AUTHORS README
+ use doc && dohtml -r doc/html/*
+}