summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin H. Johnson <robbat2@gentoo.org>2015-08-08 13:49:04 -0700
committerRobin H. Johnson <robbat2@gentoo.org>2015-08-08 17:38:18 -0700
commit56bd759df1d0c750a065b8c845e93d5dfa6b549d (patch)
tree3f91093cdb475e565ae857f1c5a7fd339e2d781e /dev-java/jid3
downloadgentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.gz
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.bz2
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.zip
proj/gentoo: Initial commit
This commit represents a new era for Gentoo: Storing the gentoo-x86 tree in Git, as converted from CVS. This commit is the start of the NEW history. Any historical data is intended to be grafted onto this point. Creation process: 1. Take final CVS checkout snapshot 2. Remove ALL ChangeLog* files 3. Transform all Manifests to thin 4. Remove empty Manifests 5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$ 5.1. Do not touch files with -kb/-ko keyword flags. Signed-off-by: Robin H. Johnson <robbat2@gentoo.org> X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration tests X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this project X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo developer, wrote Git features for the migration X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve cvs2svn X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014 work in migration X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging X-Thanks: All of other Gentoo developers - many ideas and lots of paint on the bikeshed
Diffstat (limited to 'dev-java/jid3')
-rw-r--r--dev-java/jid3/Manifest1
-rw-r--r--dev-java/jid3/files/0.46-javadoc.patch11
-rw-r--r--dev-java/jid3/files/0.46-tests-and-unicode.patch179
-rw-r--r--dev-java/jid3/files/0.46-tests.patch21
-rw-r--r--dev-java/jid3/jid3-0.46-r2.ebuild60
-rw-r--r--dev-java/jid3/metadata.xml10
6 files changed, 282 insertions, 0 deletions
diff --git a/dev-java/jid3/Manifest b/dev-java/jid3/Manifest
new file mode 100644
index 000000000000..7c1a92eeb7af
--- /dev/null
+++ b/dev-java/jid3/Manifest
@@ -0,0 +1 @@
+DIST jid3_0.46.tar.gz 972609 SHA256 eab5813cf0268c4a114f0ac361e6ffbfc6e233d493cee8a6dba00334b1833491 SHA512 478a78601613ab0e7965145733f1adec10005ef8069deb0595880feb47b065573d66cb5eb2b810869970a6b0272f8fb3363e4946ba5737ad740e372875cfa707 WHIRLPOOL fbe23739d84e8bbc1134780c1788f45a8442ec309bbc9eb92724d4c226dbb0d2b6fdd42a10cb5fc82765423c0b5652a82b2fd11f8a42672bb2048640b6789127
diff --git a/dev-java/jid3/files/0.46-javadoc.patch b/dev-java/jid3/files/0.46-javadoc.patch
new file mode 100644
index 000000000000..8a17f1de73bb
--- /dev/null
+++ b/dev-java/jid3/files/0.46-javadoc.patch
@@ -0,0 +1,11 @@
+diff -ur nbproject.old/build-impl.xml nbproject/build-impl.xml
+--- nbproject.old/build-impl.xml 2007-05-05 13:32:49.000000000 +0300
++++ nbproject/build-impl.xml 2007-05-05 13:32:56.000000000 +0300
+@@ -343,7 +343,6 @@
+ <sourcepath>
+ <pathelement location="${src.dir}"/>
+ </sourcepath>
+- <fileset dir="${src.dir}"/>
+ </javadoc>
+ </target>
+ <target name="-javadoc-browse" if="netbeans.home" unless="no.javadoc.preview" depends="init,-javadoc-build">
diff --git a/dev-java/jid3/files/0.46-tests-and-unicode.patch b/dev-java/jid3/files/0.46-tests-and-unicode.patch
new file mode 100644
index 000000000000..1453cb38b996
--- /dev/null
+++ b/dev-java/jid3/files/0.46-tests-and-unicode.patch
@@ -0,0 +1,179 @@
+--- src/org/blinkenlights/jid3/io/TextEncoding.java 2008-05-27 11:23:03.000000000 -0700
++++ src/org/blinkenlights/jid3/io/TextEncoding.java 2008-05-26 10:39:01.000000000 -0700
+@@ -91,7 +91,7 @@
+ case (byte)0x00:
+ return "ISO-8859-1";
+ case (byte)0x01:
+- return "Unicode";
++ return "UTF-16";
+ default:
+ return null; // can't happen because we control construction of this object
+ }
+--- src/org/blinkenlights/jid3/test/AllTests.java 2008-05-27 11:23:03.000000000 -0700
++++ src/org/blinkenlights/jid3/test/AllTests.java 2008-05-27 11:11:32.000000000 -0700
+@@ -44,7 +44,7 @@
+ public class AllTests extends TestCase
+ {
+ // set root path for testing, so tests can find the test files
+- public static String s_RootPath = "c:/work/jid3/test_data/";
++ public static String s_RootPath = "./test_data/";
+
+ public static void main(String[] args)
+ {
+@@ -134,7 +134,7 @@
+ }
+
+ // a 'visit list' was created by our visitor, recording which frames were visited, so we can compare
+- if ( ! oTestID3Visitor.getVisitList().equals("3=DS+uw_PsKMr(VT$ICBUtvNyEzRL)W[QJO6*-"))
++ if ( ! oTestID3Visitor.getVisitList().equals("3rstuvwyzBCDEIJKLMNOPQRSTUVW$()_=+[6*-"))
+ {
+ fail("Unexpected resulting visit list: " + oTestID3Visitor.getVisitList());
+ }
+--- src/org/blinkenlights/jid3/test/ID3V2Test.java 2008-05-27 11:23:03.000000000 -0700
++++ src/org/blinkenlights/jid3/test/ID3V2Test.java 2008-05-26 10:39:01.000000000 -0700
+@@ -540,7 +540,7 @@
+ oTALB.setTextEncoding(TextEncoding.UNICODE);
+ oID3V2_3_0Tag.setTALBTextInformationFrame(oTALB);
+
+- String sPrefix = "ID3<bh:03><bh:00><bh:00><bh:00><bh:00><bh:00>ATALB<bh:00><bh:00><bh:00>7<bh:00><bh:00><bh:01><bh:ff><bh:fe>a<bh:00>b<bh:00>c<bh:00>d<bh:00>e<bh:00>f<bh:00>g<bh:00>h<bh:00>i<bh:00>j<bh:00>k<bh:00>l<bh:00>m<bh:00>n<bh:00>o<bh:00>p<bh:00>q<bh:00>r<bh:00>s<bh:00>t<bh:00>u<bh:00>v<bh:00>w<bh:00>x<bh:00>y<bh:00>z<bh:00>";
++ String sPrefix = "ID3<bh:03><bh:00><bh:00><bh:00><bh:00><bh:00>ATALB<bh:00><bh:00><bh:00>7<bh:00><bh:00><bh:01><bh:fe><bh:ff><bh:00>a<bh:00>b<bh:00>c<bh:00>d<bh:00>e<bh:00>f<bh:00>g<bh:00>h<bh:00>i<bh:00>j<bh:00>k<bh:00>l<bh:00>m<bh:00>n<bh:00>o<bh:00>p<bh:00>q<bh:00>r<bh:00>s<bh:00>t<bh:00>u<bh:00>v<bh:00>w<bh:00>x<bh:00>y<bh:00>z";
+
+ runTagVerifyTest(oID3V2_3_0Tag, sPrefix);
+ }
+@@ -744,7 +744,7 @@
+ oTIME.setTextEncoding(TextEncoding.UNICODE);
+ oID3V2_3_0Tag.setTIMETextInformationFrame(oTIME);
+
+- String sPrefix = "ID3<bh:03><bh:00><bh:00><bh:00><bh:00><bh:00><bh:15>TIME<bh:00><bh:00><bh:00><bh:0b><bh:00><bh:00><bh:01><bh:ff><bh:fe>0<bh:00>8<bh:00>0<bh:00>5<bh:00>";
++ String sPrefix = "ID3<bh:03><bh:00><bh:00><bh:00><bh:00><bh:00><bh:15>TIME<bh:00><bh:00><bh:00><bh:0b><bh:00><bh:00><bh:01><bh:fe><bh:ff><bh:00>0<bh:00>8<bh:00>0<bh:00>5";
+
+ runTagVerifyTest(oID3V2_3_0Tag, sPrefix);
+ }
+@@ -1258,7 +1258,7 @@
+ oTXXX = new TXXXTextInformationID3V2Frame("description2", "information2");
+ oID3V2_3_0Tag.addTXXXTextInformationFrame(oTXXX);
+
+- String sPrefix = "ID3<bh:03><bh:00><bh:00><bh:00><bh:00><bh:00>aTXXX<bh:00><bh:00><bh:00>3<bh:00><bh:00><bh:01><bh:ff><bh:fe>d<bh:00>e<bh:00>s<bh:00>c<bh:00>r<bh:00>i<bh:00>p<bh:00>t<bh:00>i<bh:00>o<bh:00>n<bh:00><bh:00><bh:00><bh:ff><bh:fe>i<bh:00>n<bh:00>f<bh:00>o<bh:00>r<bh:00>m<bh:00>a<bh:00>t<bh:00>i<bh:00>o<bh:00>n<bh:00>TXXX<bh:00><bh:00><bh:00><bh:1a><bh:00><bh:00><bh:00>description2<bh:00>information2";
++ String sPrefix = "ID3<bh:03><bh:00><bh:00><bh:00><bh:00><bh:00>aTXXX<bh:00><bh:00><bh:00>3<bh:00><bh:00><bh:01><bh:fe><bh:ff><bh:00>d<bh:00>e<bh:00>s<bh:00>c<bh:00>r<bh:00>i<bh:00>p<bh:00>t<bh:00>i<bh:00>o<bh:00>n<bh:00><bh:00><bh:fe><bh:ff><bh:00>i<bh:00>n<bh:00>f<bh:00>o<bh:00>r<bh:00>m<bh:00>a<bh:00>t<bh:00>i<bh:00>o<bh:00>nTXXX<bh:00><bh:00><bh:00><bh:1a><bh:00><bh:00><bh:00>description2<bh:00>information2";
+
+ runTagVerifyTest(oID3V2_3_0Tag, sPrefix);
+ }
+@@ -1464,7 +1464,7 @@
+ oWXXX = new WXXXUrlLinkID3V2Frame("another description", "http://www.grebenc.ca");
+ oID3V2_3_0Tag.addWXXXUrlLinkFrame(oWXXX);
+
+- String sPrefix = "ID3<bh:03><bh:00><bh:00><bh:00><bh:00><bh:00>vWXXX<bh:00><bh:00><bh:00>*<bh:00><bh:00><bh:00>another description<bh:00>http://www.grebenc.caWXXX<bh:00><bh:00><bh:00>8<bh:00><bh:00><bh:01><bh:ff><bh:fe>d<bh:00>e<bh:00>s<bh:00>c<bh:00>r<bh:00>i<bh:00>p<bh:00>t<bh:00>i<bh:00>o<bh:00>n<bh:00><bh:00><bh:00>http://jid3.blinkenlights.org";
++ String sPrefix = "ID3<bh:03><bh:00><bh:00><bh:00><bh:00><bh:00>vWXXX<bh:00><bh:00><bh:00>*<bh:00><bh:00><bh:00>another description<bh:00>http://www.grebenc.caWXXX<bh:00><bh:00><bh:00>8<bh:00><bh:00><bh:01><bh:fe><bh:ff><bh:00>d<bh:00>e<bh:00>s<bh:00>c<bh:00>r<bh:00>i<bh:00>p<bh:00>t<bh:00>i<bh:00>o<bh:00>n<bh:00><bh:00>http://jid3.blinkenlights.org";
+
+ runTagVerifyTest(oID3V2_3_0Tag, sPrefix);
+ }
+@@ -1519,7 +1519,7 @@
+ oID3V2_3_0Tag.addAPICFrame(oAPIC);
+ oID3V2_3_0Tag.addAPICFrame(new APICID3V2Frame("image/jpeg", APICID3V2Frame.PictureType.FrontCover, "Front cover.", new byte[] { 0x05, 0x04, 0x03, 0x02, 0x01 }));
+
+- String sPrefix = "ID3<bh:03><bh:00><bh:00><bh:00><bh:00><bh:00>bAPIC<bh:00><bh:00><bh:00>/<bh:00><bh:00><bh:01>image/png<bh:00><bh:08><bh:ff><bh:fe>A<bh:00>r<bh:00>t<bh:00>i<bh:00>s<bh:00>t<bh:00> <bh:00>i<bh:00>m<bh:00>a<bh:00>g<bh:00>e<bh:00>.<bh:00><bh:00><bh:00><bh:01><bh:02><bh:03><bh:04><bh:05>APIC<bh:00><bh:00><bh:00><bh:1f><bh:00><bh:00><bh:00>image/jpeg<bh:00><bh:03>Front cover.<bh:00><bh:05><bh:04><bh:03><bh:02><bh:01>";
++ String sPrefix = "ID3<bh:03><bh:00><bh:00><bh:00><bh:00><bh:00>bAPIC<bh:00><bh:00><bh:00>/<bh:00><bh:00><bh:01>image/png<bh:00><bh:08><bh:fe><bh:ff><bh:00>A<bh:00>r<bh:00>t<bh:00>i<bh:00>s<bh:00>t<bh:00> <bh:00>i<bh:00>m<bh:00>a<bh:00>g<bh:00>e<bh:00>.<bh:00><bh:00><bh:01><bh:02><bh:03><bh:04><bh:05>APIC<bh:00><bh:00><bh:00><bh:1f><bh:00><bh:00><bh:00>image/jpeg<bh:00><bh:03>Front cover.<bh:00><bh:05><bh:04><bh:03><bh:02><bh:01>";
+
+ runTagVerifyTest(oID3V2_3_0Tag, sPrefix);
+ }
+@@ -1556,7 +1556,7 @@
+ oID3V2_3_0Tag.addCOMMFrame(oCOMM);
+ oID3V2_3_0Tag.addCOMMFrame(new COMMID3V2Frame("rus", "next description", "next actual text"));
+
+- String sPrefix = "ID3<bh:03><bh:00><bh:00><bh:00><bh:00><bh:00>{COMM<bh:00><bh:00><bh:00>B<bh:00><bh:00><bh:01>eng<bh:ff><bh:fe>s<bh:00>h<bh:00>o<bh:00>r<bh:00>t<bh:00> <bh:00>d<bh:00>e<bh:00>s<bh:00>c<bh:00>r<bh:00>i<bh:00>p<bh:00>t<bh:00>i<bh:00>o<bh:00>n<bh:00><bh:00><bh:00><bh:ff><bh:fe>a<bh:00>c<bh:00>t<bh:00>u<bh:00>a<bh:00>l<bh:00> <bh:00>t<bh:00>e<bh:00>x<bh:00>t<bh:00>COMM<bh:00><bh:00><bh:00>%<bh:00><bh:00><bh:00>rusnext description<bh:00>next actual text";
++ String sPrefix = "ID3<bh:03><bh:00><bh:00><bh:00><bh:00><bh:00>{COMM<bh:00><bh:00><bh:00>B<bh:00><bh:00><bh:01>eng<bh:fe><bh:ff><bh:00>s<bh:00>h<bh:00>o<bh:00>r<bh:00>t<bh:00> <bh:00>d<bh:00>e<bh:00>s<bh:00>c<bh:00>r<bh:00>i<bh:00>p<bh:00>t<bh:00>i<bh:00>o<bh:00>n<bh:00><bh:00><bh:fe><bh:ff><bh:00>a<bh:00>c<bh:00>t<bh:00>u<bh:00>a<bh:00>l<bh:00> <bh:00>t<bh:00>e<bh:00>x<bh:00>tCOMM<bh:00><bh:00><bh:00>%<bh:00><bh:00><bh:00>rusnext description<bh:00>next actual text";
+
+ runTagVerifyTest(oID3V2_3_0Tag, sPrefix);
+ }
+@@ -1605,7 +1605,7 @@
+ oCOMR.setTextEncoding(TextEncoding.UNICODE);
+ oID3V2_3_0Tag.setCOMRFrame(oCOMR);
+
+- String sPrefix = "ID3<bh:03><bh:00><bh:00><bh:00><bh:00><bh:00>tCOMR<bh:00><bh:00><bh:00>j<bh:00><bh:00><bh:01>cad12.99<bh:00>25250101http://jid3.blinkenlights.org<bh:00><bh:03><bh:ff><bh:fe>s<bh:00>e<bh:00>l<bh:00>l<bh:00>e<bh:00>r<bh:00><bh:00><bh:00><bh:ff><bh:fe>d<bh:00>e<bh:00>s<bh:00>c<bh:00>r<bh:00>i<bh:00>p<bh:00>t<bh:00>i<bh:00>o<bh:00>n<bh:00><bh:00><bh:00>image/png<bh:00><bh:01><bh:02><bh:03><bh:04><bh:05>";
++ String sPrefix = "ID3<bh:03><bh:00><bh:00><bh:00><bh:00><bh:00>tCOMR<bh:00><bh:00><bh:00>j<bh:00><bh:00><bh:01>cad12.99<bh:00>25250101http://jid3.blinkenlights.org<bh:00><bh:03><bh:fe><bh:ff><bh:00>s<bh:00>e<bh:00>l<bh:00>l<bh:00>e<bh:00>r<bh:00><bh:00><bh:fe><bh:ff><bh:00>d<bh:00>e<bh:00>s<bh:00>c<bh:00>r<bh:00>i<bh:00>p<bh:00>t<bh:00>i<bh:00>o<bh:00>n<bh:00><bh:00>image/png<bh:00><bh:01><bh:02><bh:03><bh:04><bh:05>";
+
+ runTagVerifyTest(oID3V2_3_0Tag, sPrefix);
+ }
+@@ -1717,7 +1717,7 @@
+ oGEOB = new GEOBID3V2Frame("image/jpeg", "filename2", "another content description", new byte[] { 0x05, 0x04, 0x03, 0x02, 0x01 });
+ oID3V2_3_0Tag.addGEOBFrame(oGEOB);
+
+- String sPrefix = "ID3<bh:03><bh:00><bh:00><bh:00><bh:00><bh:01><bh:19>GEOB<bh:00><bh:00><bh:00>7<bh:00><bh:00><bh:00>image/jpeg<bh:00>filename2<bh:00>another content description<bh:00><bh:05><bh:04><bh:03><bh:02><bh:01>GEOB<bh:00><bh:00><bh:00>N<bh:00><bh:00><bh:01>image/png<bh:00><bh:ff><bh:fe>f<bh:00>i<bh:00>l<bh:00>e<bh:00>n<bh:00>a<bh:00>m<bh:00>e<bh:00><bh:00><bh:00><bh:ff><bh:fe>c<bh:00>o<bh:00>n<bh:00>t<bh:00>e<bh:00>n<bh:00>t<bh:00> <bh:00>d<bh:00>e<bh:00>s<bh:00>c<bh:00>r<bh:00>i<bh:00>p<bh:00>t<bh:00>i<bh:00>o<bh:00>n<bh:00><bh:00><bh:00><bh:01><bh:02><bh:03><bh:04><bh:05>";
++ String sPrefix = "ID3<bh:03><bh:00><bh:00><bh:00><bh:00><bh:01><bh:19>GEOB<bh:00><bh:00><bh:00>7<bh:00><bh:00><bh:00>image/jpeg<bh:00>filename2<bh:00>another content description<bh:00><bh:05><bh:04><bh:03><bh:02><bh:01>GEOB<bh:00><bh:00><bh:00>N<bh:00><bh:00><bh:01>image/png<bh:00><bh:fe><bh:ff><bh:00>f<bh:00>i<bh:00>l<bh:00>e<bh:00>n<bh:00>a<bh:00>m<bh:00>e<bh:00><bh:00><bh:fe><bh:ff><bh:00>c<bh:00>o<bh:00>n<bh:00>t<bh:00>e<bh:00>n<bh:00>t<bh:00> <bh:00>d<bh:00>e<bh:00>s<bh:00>c<bh:00>r<bh:00>i<bh:00>p<bh:00>t<bh:00>i<bh:00>o<bh:00>n<bh:00><bh:00><bh:01><bh:02><bh:03><bh:04><bh:05>";
+
+ runTagVerifyTest(oID3V2_3_0Tag, sPrefix);
+ }
+@@ -1779,7 +1779,7 @@
+ oIPLS.setTextEncoding(TextEncoding.UNICODE);
+ oID3V2_3_0Tag.setIPLSFrame(oIPLS);
+
+- String sPrefix = "ID3<bh:03><bh:00><bh:00><bh:00><bh:00><bh:01><bh:15>IPLS<bh:00><bh:00><bh:00><bh:8b><bh:00><bh:00><bh:01><bh:ff><bh:fe>i<bh:00>n<bh:00>v<bh:00>o<bh:00>l<bh:00>v<bh:00>e<bh:00>m<bh:00>e<bh:00>n<bh:00>t<bh:00>1<bh:00><bh:00><bh:00><bh:ff><bh:fe>p<bh:00>e<bh:00>r<bh:00>s<bh:00>o<bh:00>n<bh:00>1<bh:00><bh:00><bh:00><bh:ff><bh:fe>i<bh:00>n<bh:00>v<bh:00>o<bh:00>l<bh:00>v<bh:00>e<bh:00>m<bh:00>e<bh:00>n<bh:00>t<bh:00>1<bh:00><bh:00><bh:00><bh:ff><bh:fe>p<bh:00>e<bh:00>r<bh:00>s<bh:00>o<bh:00>n<bh:00>2<bh:00><bh:00><bh:00><bh:ff><bh:fe>i<bh:00>n<bh:00>v<bh:00>o<bh:00>l<bh:00>v<bh:00>e<bh:00>m<bh:00>e<bh:00>n<bh:00>t<bh:00>2<bh:00><bh:00><bh:00><bh:ff><bh:fe>p<bh:00>e<bh:00>r<bh:00>s<bh:00>o<bh:00>n<bh:00>3<bh:00><bh:00><bh:00>";
++ String sPrefix = "ID3<bh:03><bh:00><bh:00><bh:00><bh:00><bh:01><bh:15>IPLS<bh:00><bh:00><bh:00><bh:8b><bh:00><bh:00><bh:01><bh:fe><bh:ff><bh:00>i<bh:00>n<bh:00>v<bh:00>o<bh:00>l<bh:00>v<bh:00>e<bh:00>m<bh:00>e<bh:00>n<bh:00>t<bh:00>1<bh:00><bh:00><bh:fe><bh:ff><bh:00>p<bh:00>e<bh:00>r<bh:00>s<bh:00>o<bh:00>n<bh:00>1<bh:00><bh:00><bh:fe><bh:ff><bh:00>i<bh:00>n<bh:00>v<bh:00>o<bh:00>l<bh:00>v<bh:00>e<bh:00>m<bh:00>e<bh:00>n<bh:00>t<bh:00>1<bh:00><bh:00><bh:fe><bh:ff><bh:00>p<bh:00>e<bh:00>r<bh:00>s<bh:00>o<bh:00>n<bh:00>2<bh:00><bh:00><bh:fe><bh:ff><bh:00>i<bh:00>n<bh:00>v<bh:00>o<bh:00>l<bh:00>v<bh:00>e<bh:00>m<bh:00>e<bh:00>n<bh:00>t<bh:00>2<bh:00><bh:00><bh:fe><bh:ff><bh:00>p<bh:00>e<bh:00>r<bh:00>s<bh:00>o<bh:00>n<bh:00>3<bh:00><bh:00>";
+
+ runTagVerifyTest(oID3V2_3_0Tag, sPrefix);
+ }
+@@ -1871,7 +1871,7 @@
+ oOWNE.setTextEncoding(TextEncoding.UNICODE);
+ oID3V2_3_0Tag.setOWNEFrame(oOWNE);
+
+- String sPrefix = "ID3<bh:03><bh:00><bh:00><bh:00><bh:00><bh:00>*OWNE<bh:00><bh:00><bh:00> <bh:00><bh:00><bh:01>cad12.34<bh:00>20000102<bh:ff><bh:fe>s<bh:00>e<bh:00>l<bh:00>l<bh:00>e<bh:00>r<bh:00>";
++ String sPrefix = "ID3<bh:03><bh:00><bh:00><bh:00><bh:00><bh:00>*OWNE<bh:00><bh:00><bh:00> <bh:00><bh:00><bh:01>cad12.34<bh:00>20000102<bh:fe><bh:ff><bh:00>s<bh:00>e<bh:00>l<bh:00>l<bh:00>e<bh:00>r";
+
+ runTagVerifyTest(oID3V2_3_0Tag, sPrefix);
+ }
+@@ -2063,7 +2063,7 @@
+ oSYLT.addSyncEntry(new SYLTID3V2Frame.SyncEntry("def", 5));
+ oID3V2_3_0Tag.addSYLTFrame(oSYLT);
+
+- String sPrefix = "ID3<bh:03><bh:00><bh:00><bh:00><bh:00><bh:01><bh:1a>SYLT<bh:00><bh:00><bh:00><bh:5c><bh:00><bh:00><bh:01>eng<bh:02><bh:01><bh:ff><bh:fe>c<bh:00>o<bh:00>n<bh:00>t<bh:00>e<bh:00>n<bh:00>t<bh:00> <bh:00>d<bh:00>e<bh:00>s<bh:00>c<bh:00>r<bh:00>i<bh:00>p<bh:00>t<bh:00>o<bh:00>r<bh:00><bh:00><bh:00><bh:ff><bh:fe>o<bh:00>n<bh:00>e<bh:00><bh:00><bh:00><bh:00><bh:00><bh:00><bh:01><bh:ff><bh:fe>t<bh:00>w<bh:00>o<bh:00><bh:00><bh:00><bh:00><bh:00><bh:00><bh:02><bh:ff><bh:fe>t<bh:00>h<bh:00>r<bh:00>e<bh:00>e<bh:00><bh:00><bh:00><bh:00><bh:00><bh:00><bh:03>SYLT<bh:00><bh:00><bh:00>*<bh:00><bh:00><bh:00>rus<bh:01><bh:06>another description<bh:00>abc<bh:00><bh:00><bh:00><bh:00><bh:04>def<bh:00><bh:00><bh:00><bh:00><bh:05>";
++ String sPrefix = "ID3<bh:03><bh:00><bh:00><bh:00><bh:00><bh:01><bh:1a>SYLT<bh:00><bh:00><bh:00><bh:5c><bh:00><bh:00><bh:01>eng<bh:02><bh:01><bh:fe><bh:ff><bh:00>c<bh:00>o<bh:00>n<bh:00>t<bh:00>e<bh:00>n<bh:00>t<bh:00> <bh:00>d<bh:00>e<bh:00>s<bh:00>c<bh:00>r<bh:00>i<bh:00>p<bh:00>t<bh:00>o<bh:00>r<bh:00><bh:00><bh:fe><bh:ff><bh:00>o<bh:00>n<bh:00>e<bh:00><bh:00><bh:00><bh:00><bh:00><bh:01><bh:fe><bh:ff><bh:00>t<bh:00>w<bh:00>o<bh:00><bh:00><bh:00><bh:00><bh:00><bh:02><bh:fe><bh:ff><bh:00>t<bh:00>h<bh:00>r<bh:00>e<bh:00>e<bh:00><bh:00><bh:00><bh:00><bh:00><bh:03>SYLT<bh:00><bh:00><bh:00>*<bh:00><bh:00><bh:00>rus<bh:01><bh:06>another description<bh:00>abc<bh:00><bh:00><bh:00><bh:00><bh:04>def<bh:00><bh:00><bh:00><bh:00><bh:05>";
+
+ runTagVerifyTest(oID3V2_3_0Tag, sPrefix);
+ }
+@@ -2141,7 +2141,7 @@
+ oUSER.setTextEncoding(TextEncoding.UNICODE);
+ oID3V2_3_0Tag.setUSERFrame(oUSER);
+
+- String sPrefix = "ID3<bh:03><bh:00><bh:00><bh:00><bh:00><bh:00>*USER<bh:00><bh:00><bh:00> <bh:00><bh:00><bh:01>eng<bh:ff><bh:fe>T<bh:00>e<bh:00>r<bh:00>m<bh:00>s<bh:00> <bh:00>o<bh:00>f<bh:00> <bh:00>u<bh:00>s<bh:00>e<bh:00>.<bh:00>";
++ String sPrefix = "ID3<bh:03><bh:00><bh:00><bh:00><bh:00><bh:00>*USER<bh:00><bh:00><bh:00> <bh:00><bh:00><bh:01>eng<bh:fe><bh:ff><bh:00>T<bh:00>e<bh:00>r<bh:00>m<bh:00>s<bh:00> <bh:00>o<bh:00>f<bh:00> <bh:00>u<bh:00>s<bh:00>e<bh:00>.";
+
+ runTagVerifyTest(oID3V2_3_0Tag, sPrefix);
+ }
+@@ -2177,7 +2177,7 @@
+ oUSLT.setTextEncoding(TextEncoding.UNICODE);
+ oID3V2_3_0Tag.addUSLTFrame(oUSLT);
+
+- String sPrefix = "ID3<bh:03><bh:00><bh:00><bh:00><bh:00><bh:00>DUSLT<bh:00><bh:00><bh:00>:<bh:00><bh:00><bh:01>eng<bh:ff><bh:fe>c<bh:00>o<bh:00>n<bh:00>t<bh:00>e<bh:00>n<bh:00>t<bh:00> <bh:00>d<bh:00>e<bh:00>s<bh:00>c<bh:00>r<bh:00>i<bh:00>p<bh:00>t<bh:00>o<bh:00>r<bh:00><bh:00><bh:00><bh:ff><bh:fe>l<bh:00>y<bh:00>r<bh:00>i<bh:00>c<bh:00>s<bh:00>";
++ String sPrefix = "ID3<bh:03><bh:00><bh:00><bh:00><bh:00><bh:00>DUSLT<bh:00><bh:00><bh:00>:<bh:00><bh:00><bh:01>eng<bh:fe><bh:ff><bh:00>c<bh:00>o<bh:00>n<bh:00>t<bh:00>e<bh:00>n<bh:00>t<bh:00> <bh:00>d<bh:00>e<bh:00>s<bh:00>c<bh:00>r<bh:00>i<bh:00>p<bh:00>t<bh:00>o<bh:00>r<bh:00><bh:00><bh:fe><bh:ff><bh:00>l<bh:00>y<bh:00>r<bh:00>i<bh:00>c<bh:00>s";
+
+ runTagVerifyTest(oID3V2_3_0Tag, sPrefix);
+ }
+@@ -2599,7 +2599,7 @@
+ ID3Tag.useStrict(false);
+ try
+ {
+- File oSourceDir = new File("c:/temp/mp3");
++ File oSourceDir = new File("test_data");
+ recurseDirectoryForMP3s(oSourceDir);
+ }
+ catch (Exception e)
+--- src/org/blinkenlights/jid3/v2/ID3V2Tag.java 2008-05-27 11:23:03.000000000 -0700
++++ src/org/blinkenlights/jid3/v2/ID3V2Tag.java 2008-05-27 11:09:51.000000000 -0700
+@@ -50,7 +50,7 @@
+ protected boolean m_bCRCDataFlag;
+
+ /** Mapping from frame ID to list containing frames. For frames that can only be used once. */
+- protected Map m_oFrameIdToFrameMap = null;
++ protected SortedMap m_oFrameIdToFrameMap = null;
+
+ /** Default padding for ID3 v2 frames, if not specified. 16 bytes, because Winamp does not read the last
+ * frame when there isn't at least 6 bytes of padding following it in a tag. */
+@@ -72,7 +72,7 @@
+ m_bUnsynchronizationUsedFlag = bUnsynchronizationUsedFlag;
+ m_bExtendedHeaderFlag = bExtendedHeaderFlag;
+ m_bExperimentalFlag = bExperimentalFlag;
+- m_oFrameIdToFrameMap = new HashMap();
++ m_oFrameIdToFrameMap = new TreeMap();
+ //HACK: Default padding of 16 bytes, because Winamp doesn't seem to see the last frame in a v2 tag
+ // when there is less than 6 bytes of padding. (???)
+ m_iPaddingLength = s_iDefaultPaddingLength;
diff --git a/dev-java/jid3/files/0.46-tests.patch b/dev-java/jid3/files/0.46-tests.patch
new file mode 100644
index 000000000000..7c557a6a8528
--- /dev/null
+++ b/dev-java/jid3/files/0.46-tests.patch
@@ -0,0 +1,21 @@
+diff -ur src.old/org/blinkenlights/jid3/test/ID3V2Test.java src/org/blinkenlights/jid3/test/ID3V2Test.java
+--- src.old/org/blinkenlights/jid3/test/ID3V2Test.java 2007-05-05 14:15:53.000000000 +0300
++++ src/org/blinkenlights/jid3/test/ID3V2Test.java 2007-05-05 14:17:02.000000000 +0300
+@@ -2612,7 +2612,7 @@
+ throws Exception
+ {
+ File[] aoMP3File = getMP3FileList(oDirectory);
+- for (int i=0; i < aoMP3File.length; i++)
++ for (int i=0; aoMP3File != null && i < aoMP3File.length; i++)
+ {
+ // mp3 file to read
+ MP3File oMP3File = new MP3File(aoMP3File[i]);
+@@ -2626,7 +2626,7 @@
+ }
+ }
+ File[] aoDirectory = getSubDirectories(oDirectory);
+- for (int i=0; i < aoDirectory.length; i++)
++ for (int i=0; aoDirectory != null && i < aoDirectory.length; i++)
+ {
+ // subdirectory to recurse into
+ System.out.println("Recursing into subdirectory: " + aoDirectory[i].getAbsolutePath());
diff --git a/dev-java/jid3/jid3-0.46-r2.ebuild b/dev-java/jid3/jid3-0.46-r2.ebuild
new file mode 100644
index 000000000000..e0124316e0c1
--- /dev/null
+++ b/dev-java/jid3/jid3-0.46-r2.ebuild
@@ -0,0 +1,60 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+JAVA_PKG_IUSE="doc source test"
+
+# To make sure the javadoc patch doesn't break things
+WANT_SPLIT_WANT="true"
+
+inherit eutils java-pkg-2 java-ant-2
+
+MY_P="${P/-/_}"
+
+DESCRIPTION="ID3 Class Library Implementation"
+HOMEPAGE="http://jid3.blinkenlights.org/"
+SRC_URI="http://jid3.blinkenlights.org/release/${MY_P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="amd64 x86"
+
+S="${WORKDIR}/${MY_P}"
+
+# Feel free to submit a patch that doesn't bundle the classes
+# into the result jar
+DEPEND=">=virtual/jdk-1.4
+ test? ( =dev-java/junit-3.8* )"
+
+RDEPEND=">=virtual/jre-1.4"
+
+java_prepare() {
+ epatch "${FILESDIR}"/${PV}-javadoc.patch
+ epatch "${FILESDIR}"/${PV}-tests-and-unicode.patch
+
+ rm -v "${S}"/dist/*.jar || die
+
+ if use !test; then
+ rm -rv "${S}/src/org/blinkenlights/jid3/test" || die
+ fi
+
+}
+
+src_compile() {
+ local junit="-Dlibs.junit.classpath"
+ eant jar $(use_doc) \
+ $(use test && echo ${junit}=$(java-pkg_getjars --build-only junit))
+}
+
+src_test() {
+ ejunit -cp dist/JID3.jar org.blinkenlights.jid3.test.AllTests
+}
+
+src_install() {
+ java-pkg_dojar dist/JID3.jar
+
+ use doc && java-pkg_dojavadoc dist/javadoc
+ use source && java-pkg_dosrc src/
+}
diff --git a/dev-java/jid3/metadata.xml b/dev-java/jid3/metadata.xml
new file mode 100644
index 000000000000..5c85ecc2bd69
--- /dev/null
+++ b/dev-java/jid3/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>java</herd>
+ <longdescription lang="en">
+ JID3 is a class library, written in Java and licensed under the LGPL,
+ which provides the required functionality for editing ID3 tags commonly
+ used in MP3 media files.
+ </longdescription>
+</pkgmetadata>