diff options
author | Olivier Crête <tester@gentoo.org> | 2008-05-05 02:53:46 +0000 |
---|---|---|
committer | Olivier Crête <tester@gentoo.org> | 2008-05-05 02:53:46 +0000 |
commit | 54e395925ca1a4941ac9bb4dd983e19f6400f077 (patch) | |
tree | d9cae8646f3694e0de421cdabfcde89799ddb849 /media-libs | |
parent | Bug #220263, fix typo in patch (PARTITIOn -> PARTITION). (diff) | |
download | historical-54e395925ca1a4941ac9bb4dd983e19f6400f077.tar.gz historical-54e395925ca1a4941ac9bb4dd983e19f6400f077.tar.bz2 historical-54e395925ca1a4941ac9bb4dd983e19f6400f077.zip |
Make tagwriting work on amd64, add various other patches
Package-Manager: portage-2.1.4.4
Diffstat (limited to 'media-libs')
11 files changed, 272 insertions, 5 deletions
diff --git a/media-libs/libid3tag/ChangeLog b/media-libs/libid3tag/ChangeLog index 52e6c04f65f7..a0c469cc66ad 100644 --- a/media-libs/libid3tag/ChangeLog +++ b/media-libs/libid3tag/ChangeLog @@ -1,6 +1,20 @@ # ChangeLog for media-libs/libid3tag -# Copyright 2000-2006 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/media-libs/libid3tag/ChangeLog,v 1.31 2006/10/04 17:34:19 grobian Exp $ +# Copyright 2000-2008 Gentoo Foundation; Distributed under the GPL v2 +# $Header: /var/cvsroot/gentoo-x86/media-libs/libid3tag/ChangeLog,v 1.32 2008/05/05 02:53:45 tester Exp $ + +*libid3tag-0.15.1b-r1 (05 May 2008) + + 05 May 2008; Olivier Crête <tester@gentoo.org> + +files/0.15.1b/libid3tag-0.15.1b-64bit-long.patch, + +files/0.15.1b/libid3tag-0.15.1b-a_capella.patch, + +files/0.15.1b/libid3tag-0.15.1b-compat.patch, + +files/0.15.1b/libid3tag-0.15.1b-file-write.patch, + +files/0.15.1b/libid3tag-0.15.1b-tag.patch, + +files/0.15.1b/libid3tag-0.15.1b-unknown-encoding.patch, + +files/0.15.1b/libid3tag-0.15.1b-utf16.patchlibid3tag-0.15.1b-utf16.patch, + +libid3tag-0.15.1b-r1.ebuild: + Add various patches from debian pkg revision 10, from bugs #188754 and + #210564 and also a patch to make tag-writing work on amd64 04 Oct 2006; Fabian Groffen <grobian@gentoo.org> libid3tag-0.15.1b.ebuild: Dropped ~ppc-macos, see you in prefix. diff --git a/media-libs/libid3tag/Manifest b/media-libs/libid3tag/Manifest index ba1216036147..34e76ce59d8a 100644 --- a/media-libs/libid3tag/Manifest +++ b/media-libs/libid3tag/Manifest @@ -1,7 +1,25 @@ -AUX id3tag.pc 222 RMD160 f2ef95aaed166edc84d837854086ddbd45a7ff76 SHA1 db4be8657dc22311fa2ef63355261df26449a126 SHA256 46465c31b4e7e873f10f6e7ca3e642b55cb48a398a04dd3b0605d4fdd58d3c05 +-----BEGIN PGP SIGNED MESSAGE----- +Hash: SHA1 + +AUX 0.15.1b/libid3tag-0.15.1b-64bit-long.patch 567 RMD160 b045933419998fb569f5be661b03e7bc5d862003 SHA1 f9778590811a050384b9bf8827345b61999f0da3 SHA256 5f8b3d3419addf90977832b0a6e563acc2c8e243bb826ebb6d0ec573ec122e1b +AUX 0.15.1b/libid3tag-0.15.1b-a_capella.patch 1365 RMD160 cc588ded6d7a1d69d91ca714854e29232954baaa SHA1 d2bd03350f13198a36a189cd1e9042aeed41a4e9 SHA256 07bb9a3fa3e0e7e74987725dc8eb29924e5177048d8d09e43bbd19b0e4ad09b8 +AUX 0.15.1b/libid3tag-0.15.1b-compat.patch 452 RMD160 e8a422004935e18c2217c9ac623d4895c17ad471 SHA1 8c179b10bf49385e4334aab141e4cf270cb02182 SHA256 88f486c3d263a4dd5bb556232dcfe2fba175b5124bcdd72aa6c30f562fc87d53 +AUX 0.15.1b/libid3tag-0.15.1b-file-write.patch 1344 RMD160 4f3179f4164559a64339ceaa522b6643d999332d SHA1 b7baae1c87f90aac64a4d17725b2eaad521e42af SHA256 eff855cabd8a51866a29246a1b257da64f46aab72d4b8e163e2a4c0d15165bf1 +AUX 0.15.1b/libid3tag-0.15.1b-tag.patch 527 RMD160 5ec862828df4fe66e47047f135d2b52aba285a29 SHA1 b7ef9a41a31a37b8bb6d8e064b0c0ba618d3fa03 SHA256 ca7262ddad158ab0be804429d705f8c6a1bb120371dec593323fa4876c1b277f +AUX 0.15.1b/libid3tag-0.15.1b-unknown-encoding.patch 879 RMD160 c4b4ac0a7d013fe06075ae7ebb7b7a9f93805159 SHA1 093def535edb3d2f5be6b173eedf0f93a1c0314c SHA256 8b695c9c05e3885655b2e798326b804011615bc6c831cd55cdbacc456a6b9494 +AUX 0.15.1b/libid3tag-0.15.1b-utf16.patchlibid3tag-0.15.1b-utf16.patch 753 RMD160 337a896343f79e83737048bd0e7f56bb5154eced SHA1 dcc01e31d5131c9be5a4dd7efe72b4fad46df9a5 SHA256 8d28c8cc163caebb4a7f927f2d80f317dfd6d8927e3235d19c006b3881f9447e +AUX id3tag.pc 222 RMD160 fae7791cbdf0d5e4d86a3bb06dcfdcfaa164b859 SHA1 9708c6ec9a571d2e8d926c360c075e81a7c65e54 SHA256 86c6e517864243daffadbd5fa5bd4a9e0c10535f1d1894903dd66c87b8bf594f DIST libid3tag-0.15.0b.tar.gz 240656 RMD160 6091e6772076f04017635d1f219b586ee56e6b3f SHA1 97ea5f410c7c6dd1fe8af55eaa20d73d6c53b18a SHA256 794092368890321ffbb9cb1b260808d732658af093bd0a3e01c9b54c4bd657e5 DIST libid3tag-0.15.1b.tar.gz 338143 RMD160 31a69b8ad7684aefdb675acc8ebf89bd6f432095 SHA1 4d867e8a8436e73cd7762fe0e85958e35f1e4306 SHA256 63da4f6e7997278f8a3fef4c6a372d342f705051d1eeb6a46a86b03610e26151 EBUILD libid3tag-0.15.0b.ebuild 832 RMD160 44fcfb75e54e4d2acc38b1c0638e29a823f60785 SHA1 9217a321b3a4500d90058942a3f791476ce5ed6c SHA256 2b8ba15e6d1a7dcf3a572e197a539b5b8d585be13b62eaebbea8e7e163e0bffe +EBUILD libid3tag-0.15.1b-r1.ebuild 1225 RMD160 83c98fddf1ffc8c096a206552e6374d25ded9bf7 SHA1 ee026c105f665b9853ed160ce03345a1d10f8b7d SHA256 0adeadd3158c88f67e089c1e0a409b99a0146312d41e5f4592f221d2eed0a6e5 EBUILD libid3tag-0.15.1b.ebuild 1062 RMD160 c8dcadd30e93161a58cc30eeb55ef292b8a53d82 SHA1 0ba914b9f42b818c93559305ce31f01f5cc6d243 SHA256 b57a7f5017a2ee099207ec7f33327deb8b78b3a8397990a7cf7deb7e2ce8f89f -MISC ChangeLog 3554 RMD160 e18156acc03c29222a5daa9f0101657cc5ccd366 SHA1 28ad7ef0c30a7c4dba784656954fdea8c370e776 SHA256 c28e6a34f7a16831377d6fb353e253e018521d1ae6b16e8594dc14fddbe1184c +MISC ChangeLog 4196 RMD160 8b42a59eb1141b7ee992a6c15f89e19136557cb9 SHA1 b1467eaa20704c9ae3add055d170ac82a3826863 SHA256 24d98ac2167330b87ab0af54570771558a9b400bc41c1fc7c610c3fa7c1290e0 MISC metadata.xml 248 RMD160 05122080e3580393675ec87101f0eb48aba15ea5 SHA1 8f9b5d80a666c1f111e7a6e61c66a298ed67a408 SHA256 790cfd8d63ed9248363a7e773fd9bdad79266c4153368dceb5109a63b2a2aa8f +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v1.4.7 (GNU/Linux) + +iD8DBQFIHna+mOfEJZHYOKcRArVaAJ979KAx3YLjA3JOba9V+A+rpqzZ5wCeLiFn +lc9BR48b23RmxdK5z1ZBkLs= +=xlo3 +-----END PGP SIGNATURE----- diff --git a/media-libs/libid3tag/files/0.15.1b/libid3tag-0.15.1b-64bit-long.patch b/media-libs/libid3tag/files/0.15.1b/libid3tag-0.15.1b-64bit-long.patch new file mode 100644 index 000000000000..852d9efd69b2 --- /dev/null +++ b/media-libs/libid3tag/files/0.15.1b/libid3tag-0.15.1b-64bit-long.patch @@ -0,0 +1,24 @@ +--- id3tag.h.orig 2004-01-23 18:22:46.000000000 -0500 ++++ id3tag.h 2008-05-04 19:46:33.000000000 -0400 +@@ -25,6 +25,8 @@ + # ifndef LIBID3TAG_ID3TAG_H + # define LIBID3TAG_ID3TAG_H + ++#include <stdint.h> ++ + # ifdef __cplusplus + extern "C" { + # endif +@@ -36,10 +38,10 @@ + typedef unsigned char id3_byte_t; + typedef unsigned long id3_length_t; + +-typedef unsigned long id3_ucs4_t; ++typedef uint32_t id3_ucs4_t; + + typedef unsigned char id3_latin1_t; +-typedef unsigned short id3_utf16_t; ++typedef uint16_t id3_utf16_t; + typedef signed char id3_utf8_t; + + struct id3_tag { diff --git a/media-libs/libid3tag/files/0.15.1b/libid3tag-0.15.1b-a_capella.patch b/media-libs/libid3tag/files/0.15.1b/libid3tag-0.15.1b-a_capella.patch new file mode 100644 index 000000000000..a45308031e36 --- /dev/null +++ b/media-libs/libid3tag/files/0.15.1b/libid3tag-0.15.1b-a_capella.patch @@ -0,0 +1,35 @@ +diff -urNad /home/debian/mad/libid3tag-0.15.1b/libid3tag-0.15.1b/genre.dat libid3tag-0.15.1b/genre.dat +--- /home/debian/mad/libid3tag-0.15.1b/libid3tag-0.15.1b/genre.dat 2004-02-16 21:34:39.000000000 -0500 ++++ libid3tag-0.15.1b/genre.dat 2004-09-06 09:50:33.000000000 -0400 +@@ -277,8 +277,8 @@ + { 'P', 'u', 'n', 'k', ' ', 'R', 'o', 'c', 'k', 0 }; + static id3_ucs4_t const genre_DRUM_SOLO[] = + { 'D', 'r', 'u', 'm', ' ', 'S', 'o', 'l', 'o', 0 }; +-static id3_ucs4_t const genre_A_CAPPELLA[] = +- { 'A', ' ', 'C', 'a', 'p', 'p', 'e', 'l', 'l', 'a', 0 }; ++static id3_ucs4_t const genre_A_CAPELLA[] = ++ { 'A', ' ', 'C', 'a', 'p', 'e', 'l', 'l', 'a', 0 }; + static id3_ucs4_t const genre_EURO_HOUSE[] = + { 'E', 'u', 'r', 'o', '-', 'H', 'o', 'u', 's', 'e', 0 }; + static id3_ucs4_t const genre_DANCE_HALL[] = +@@ -452,7 +452,7 @@ + genre_DUET, + genre_PUNK_ROCK, + genre_DRUM_SOLO, +- genre_A_CAPPELLA, ++ genre_A_CAPELLA, + genre_EURO_HOUSE, + genre_DANCE_HALL, + genre_GOA, +diff -urNad /home/debian/mad/libid3tag-0.15.1b/libid3tag-0.15.1b/genre.dat.in libid3tag-0.15.1b/genre.dat.in +--- /home/debian/mad/libid3tag-0.15.1b/libid3tag-0.15.1b/genre.dat.in 2004-01-23 04:41:32.000000000 -0500 ++++ libid3tag-0.15.1b/genre.dat.in 2004-09-06 09:50:33.000000000 -0400 +@@ -153,7 +153,7 @@ + Duet + Punk Rock + Drum Solo +-A Cappella ++A Capella + Euro-House + Dance Hall + Goa diff --git a/media-libs/libid3tag/files/0.15.1b/libid3tag-0.15.1b-compat.patch b/media-libs/libid3tag/files/0.15.1b/libid3tag-0.15.1b-compat.patch new file mode 100644 index 000000000000..6ef1a22d5a64 --- /dev/null +++ b/media-libs/libid3tag/files/0.15.1b/libid3tag-0.15.1b-compat.patch @@ -0,0 +1,13 @@ +diff -ur libid3tag-0.15.1b/compat.gperf libid3tag-0.15.1b.fixed/compat.gperf +--- libid3tag-0.15.1b/compat.gperf Fri Jan 23 01:41:32 2004 ++++ libid3tag-0.15.1b.fixed/compat.gperf Thu Oct 19 12:21:10 2006 +@@ -237,6 +237,9 @@ + encoding = id3_parse_uint(&data, 1); + string = id3_parse_string(&data, end - data, encoding, 0); + ++ if (string == 0) ++ continue; ++ + if (id3_ucs4_length(string) < 4) { + free(string); + continue; diff --git a/media-libs/libid3tag/files/0.15.1b/libid3tag-0.15.1b-file-write.patch b/media-libs/libid3tag/files/0.15.1b/libid3tag-0.15.1b-file-write.patch new file mode 100644 index 000000000000..aa61d09f8748 --- /dev/null +++ b/media-libs/libid3tag/files/0.15.1b/libid3tag-0.15.1b-file-write.patch @@ -0,0 +1,52 @@ +diff -ur -x '*.lo' -x '*.o' -x config.h -x config.log libid3tag-0.15.1b/file.c libid3tag-0.15.1b-fixed/file.c +--- libid3tag-0.15.1b/file.c 2004-01-23 12:41:32.000000000 +0300 ++++ libid3tag-0.15.1b-fixed/file.c 2005-05-24 23:34:08.000000000 +0400 +@@ -37,6 +37,10 @@ + # include <assert.h> + # endif + ++# ifdef HAVE_SYS_STAT_H ++# include <sys/stat.h> ++# endif ++ + # include "id3tag.h" + # include "file.h" + # include "tag.h" +@@ -575,6 +579,10 @@ + int v2_write(struct id3_file *file, + id3_byte_t const *data, id3_length_t length) + { ++ struct stat st; ++ char *buffer; ++ id3_length_t datalen, offset; ++ + assert(!data || length > 0); + + if (data && +@@ -592,9 +600,25 @@ + } + + /* hard general case: rewrite entire file */ ++ if (stat(file->path, &st) == -1) ++ return -1; + +- /* ... */ ++ offset = file->tags ? file->tags[0].length : 0; ++ datalen = st.st_size - offset; ++ if ((buffer = (char *) malloc(datalen)) == NULL) ++ return -1; + ++ if (fseek(file->iofile, offset, SEEK_SET) == -1 || ++ fread(buffer, datalen, 1, file->iofile) != 1 || ++ fseek(file->iofile, 0, SEEK_SET) == -1 || ++ fwrite(data, length, 1, file->iofile) != 1 || ++ fwrite(buffer, datalen, 1, file->iofile) != 1 || ++ fflush(file->iofile) == EOF) { ++ free(buffer); ++ return -1; ++ } ++ free(buffer); ++ + done: + return 0; + } diff --git a/media-libs/libid3tag/files/0.15.1b/libid3tag-0.15.1b-tag.patch b/media-libs/libid3tag/files/0.15.1b/libid3tag-0.15.1b-tag.patch new file mode 100644 index 000000000000..2badfb35cffa --- /dev/null +++ b/media-libs/libid3tag/files/0.15.1b/libid3tag-0.15.1b-tag.patch @@ -0,0 +1,17 @@ +--- tag.c.orig Fri Apr 18 18:14:33 2003 ++++ tag.c Mon Sep 26 22:29:24 2005 +@@ -714,9 +714,12 @@ + + frame = id3_tag_findframe(tag, ID3_FRAME_TRACK, 0); + if (frame) { +- unsigned int track; ++ id3_ucs4_t const *string; ++ unsigned int track = 0; + +- track = id3_ucs4_getnumber(id3_field_getstrings(&frame->fields[1], 0)); ++ string = id3_field_getstrings(&frame->fields[1], 0); ++ if (string) ++ track = id3_ucs4_getnumber(string); + if (track > 0 && track <= 0xff) { + ptr[-2] = 0; + ptr[-1] = track; diff --git a/media-libs/libid3tag/files/0.15.1b/libid3tag-0.15.1b-unknown-encoding.patch b/media-libs/libid3tag/files/0.15.1b/libid3tag-0.15.1b-unknown-encoding.patch new file mode 100644 index 000000000000..7c70d0020384 --- /dev/null +++ b/media-libs/libid3tag/files/0.15.1b/libid3tag-0.15.1b-unknown-encoding.patch @@ -0,0 +1,27 @@ +diff -urNad libid3tag-0.15.1b~/compat.gperf libid3tag-0.15.1b/compat.gperf +--- libid3tag-0.15.1b~/compat.gperf 2004-01-23 09:41:32.000000000 +0000 ++++ libid3tag-0.15.1b/compat.gperf 2007-01-14 14:36:53.000000000 +0000 +@@ -236,6 +236,10 @@ + + encoding = id3_parse_uint(&data, 1); + string = id3_parse_string(&data, end - data, encoding, 0); ++ if (!string) ++ { ++ continue; ++ } + + if (id3_ucs4_length(string) < 4) { + free(string); +diff -urNad libid3tag-0.15.1b~/parse.c libid3tag-0.15.1b/parse.c +--- libid3tag-0.15.1b~/parse.c 2004-01-23 09:41:32.000000000 +0000 ++++ libid3tag-0.15.1b/parse.c 2007-01-14 14:37:34.000000000 +0000 +@@ -165,6 +165,9 @@ + case ID3_FIELD_TEXTENCODING_UTF_8: + ucs4 = id3_utf8_deserialize(ptr, length); + break; ++ default: ++ /* FIXME: Unknown encoding! Print warning? */ ++ return NULL; + } + + if (ucs4 && !full) { diff --git a/media-libs/libid3tag/files/0.15.1b/libid3tag-0.15.1b-utf16.patchlibid3tag-0.15.1b-utf16.patch b/media-libs/libid3tag/files/0.15.1b/libid3tag-0.15.1b-utf16.patchlibid3tag-0.15.1b-utf16.patch new file mode 100644 index 000000000000..72ed1189bfeb --- /dev/null +++ b/media-libs/libid3tag/files/0.15.1b/libid3tag-0.15.1b-utf16.patchlibid3tag-0.15.1b-utf16.patch @@ -0,0 +1,22 @@ +diff -urNad libid3tag-0.15.1b/utf16.c /tmp/dpep.tKvO7a/libid3tag-0.15.1b/utf16.c +--- libid3tag-0.15.1b/utf16.c 2006-01-13 15:26:29.000000000 +0100 ++++ /tmp/dpep.tKvO7a/libid3tag-0.15.1b/utf16.c 2006-01-13 15:27:19.000000000 +0100 +@@ -282,5 +282,18 @@ + + free(utf16); + ++ if (end == *ptr && length % 2 != 0) ++ { ++ /* We were called with a bogus length. It should always ++ * be an even number. We can deal with this in a few ways: ++ * - Always give an error. ++ * - Try and parse as much as we can and ++ * - return an error if we're called again when we ++ * already tried to parse everything we can. ++ * - tell that we parsed it, which is what we do here. ++ */ ++ (*ptr)++; ++ } ++ + return ucs4; + } diff --git a/media-libs/libid3tag/files/id3tag.pc b/media-libs/libid3tag/files/id3tag.pc index 01678dbaa48f..e68600068919 100644 --- a/media-libs/libid3tag/files/id3tag.pc +++ b/media-libs/libid3tag/files/id3tag.pc @@ -8,4 +8,4 @@ Description: ID3 tag reading library Requires: Version: 0.15.0b Libs: -L${libdir} -lid3tag -lz -Cflags: -L${includedir} +Cflags: -I${includedir} diff --git a/media-libs/libid3tag/libid3tag-0.15.1b-r1.ebuild b/media-libs/libid3tag/libid3tag-0.15.1b-r1.ebuild new file mode 100644 index 000000000000..e6578c37eb53 --- /dev/null +++ b/media-libs/libid3tag/libid3tag-0.15.1b-r1.ebuild @@ -0,0 +1,45 @@ +# Copyright 1999-2008 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/media-libs/libid3tag/libid3tag-0.15.1b-r1.ebuild,v 1.1 2008/05/05 02:53:45 tester Exp $ + +inherit eutils multilib + +DESCRIPTION="The MAD id3tag library" +HOMEPAGE="http://www.underbit.com/products/mad/" +SRC_URI="mirror://sourceforge/mad/${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sh ~sparc ~x86 ~x86-fbsd" +IUSE="debug" + +DEPEND="dev-util/gperf" + +RDEPEND="${DEPEND} + >=sys-libs/zlib-1.1.3" + +src_unpack() { + unpack ${A} + cd "${S}" + epunt_cxx #74489 + + epatch "${FILESDIR}/${PV}/*.patch" +} + +src_compile() { + econf $(use_enable debug debugging) || die "configure failed" + emake || die "make failed" +} + +src_install() { + make install DESTDIR="${D}" || die "make install failed" + + dodoc CHANGES CREDITS README TODO VERSION + + # This file must be updated with every version update + insinto /usr/$(get_libdir)/pkgconfig + doins "${FILESDIR}/id3tag.pc" + sed -i -e "s:libdir=\${exec_prefix}/lib:libdir=/usr/$(get_libdir):" \ + "${D}/usr/$(get_libdir)/pkgconfig/id3tag.pc" + sed -i -e s:15.0b:15.1b: "${D}/usr/$(get_libdir)/pkgconfig/id3tag.pc" +} |