summaryrefslogtreecommitdiffstats
path: root/recipes-core/classpath/classpath-0.99
diff options
context:
space:
mode:
authorHenning Heinold <heinold@inf.fu-berlin.de>2012-07-18 22:48:50 +0200
committerHenning Heinold <heinold@inf.fu-berlin.de>2012-07-19 17:37:39 +0200
commitea76b80108b4c292379e37e01cdbb9d984d74759 (patch)
tree8b3d9567925bfaaaa295e396c6f2ecb907356afe /recipes-core/classpath/classpath-0.99
parent817d88937ea7fed7d8812ba905a88e2c24d661d7 (diff)
downloadmeta-java-ea76b80108b4c292379e37e01cdbb9d984d74759.tar.gz
classpath: update to version 0.99
* switch to INC_PR for native and initial * clean up dependencies * inherit gettext class instead of depeding directly on the package * clean up patches
Diffstat (limited to 'recipes-core/classpath/classpath-0.99')
-rw-r--r--recipes-core/classpath/classpath-0.99/autotools.patch118
-rw-r--r--recipes-core/classpath/classpath-0.99/ecj_java_dir.patch37
-rw-r--r--recipes-core/classpath/classpath-0.99/fix-gmp.patch19
-rw-r--r--recipes-core/classpath/classpath-0.99/miscompilation.patch13
-rw-r--r--recipes-core/classpath/classpath-0.99/sun-security-getproperty.patch503
-rw-r--r--recipes-core/classpath/classpath-0.99/toolwrapper-exithook.patch46
6 files changed, 736 insertions, 0 deletions
diff --git a/recipes-core/classpath/classpath-0.99/autotools.patch b/recipes-core/classpath/classpath-0.99/autotools.patch
new file mode 100644
index 0000000..6a077a0
--- /dev/null
+++ b/recipes-core/classpath/classpath-0.99/autotools.patch
@@ -0,0 +1,118 @@
1Index: classpath-0.99/configure.ac
2===================================================================
3--- classpath-0.99.orig/configure.ac 2012-03-08 19:03:15.000000000 +0100
4+++ classpath-0.99/configure.ac 2012-07-18 23:16:41.047796558 +0200
5@@ -42,6 +42,9 @@
6 AC_CONFIG_HEADERS([include/config.h])
7 AC_PREFIX_DEFAULT(/usr/local/classpath)
8
9+AC_PROG_MKDIR_P
10+AM_ICONV_LINK
11+
12 dnl -----------------------------------------------------------
13 dnl Enable collections.jar (disabled by default)
14 dnl -----------------------------------------------------------
15@@ -382,6 +385,7 @@
16 AC_PROG_CC
17 AM_PROG_CC_C_O
18 AC_PROG_CPP
19+AM_PROG_CC_C_O
20
21 # Handle -Werror default case.
22 if test "$ENABLE_WERROR" = default; then
23Index: classpath-0.99/examples/Makefile.am
24===================================================================
25--- classpath-0.99.orig/examples/Makefile.am 2008-09-14 18:49:43.000000000 +0200
26+++ classpath-0.99/examples/Makefile.am 2012-07-18 23:17:58.604498498 +0200
27@@ -96,9 +96,9 @@
28 endif
29
30 $(EXAMPLE_ZIP): $(EXAMPLE_JAVA_FILES)
31- @mkdir_p@ classes/gnu/classpath/examples/icons
32+ $(MKDIR_P) classes/gnu/classpath/examples/icons
33 cp $(EXAMPLE_ICONS) classes/gnu/classpath/examples/icons
34- @mkdir_p@ classes/gnu/classpath/examples/swing
35+ $(MKDIR_P) classes/gnu/classpath/examples/swing
36 cp $(EXAMPLE_HTML) classes/gnu/classpath/examples/swing
37 $(JCOMPILER) -d classes $(EXAMPLE_JAVA_FILES)
38 (cd classes; \
39Index: classpath-0.99/lib/Makefile.am
40===================================================================
41--- classpath-0.99.orig/lib/Makefile.am 2011-05-29 11:07:06.000000000 +0200
42+++ classpath-0.99/lib/Makefile.am 2012-07-18 23:18:55.769018757 +0200
43@@ -83,18 +83,18 @@
44 resources: copy-vmresources.sh
45 @list=`cd $(top_srcdir)/resource && $(FIND) gnu java javax org -name \*\.properties -print -o -name \*\.css -print`; for p in $$list; do \
46 dirname=`dirname $$p`; \
47- if ! test -d "$$dirname"; then @mkdir_p@ "$$dirname"; fi; \
48+ if ! test -d "$$dirname"; then $(MKDIR_P) "$$dirname"; fi; \
49 cp $(top_srcdir)/resource/$$p $$p; \
50 done
51 @list=`cd $(top_srcdir)/resource && $(FIND) META-INF -name CVS -prune -o -name .svn -prune -o -name \*\.in -prune -o -type f -print`; for p in $$list; do \
52 dirname=`dirname $$p`; \
53- if ! test -d "$$dirname"; then @mkdir_p@ "$$dirname"; fi; \
54+ if ! test -d "$$dirname"; then $(MKDIR_P) "$$dirname"; fi; \
55 cp $(top_srcdir)/resource/$$p $$p; \
56 done
57 @$(SHELL) ./copy-vmresources.sh
58 @list=`cd $(top_srcdir) && $(FIND) gnu/javax/swing/plaf/gtk/icons -name *.png -type f -print`; for p in $$list; do \
59 dirname=`dirname $$p`; \
60- if ! test -d "$$dirname"; then @mkdir_p@ "$$dirname"; fi; \
61+ if ! test -d "$$dirname"; then $(MKDIR_P) "$$dirname"; fi; \
62 cp $(top_srcdir)/$$p $$p; \
63 done
64 touch resources
65@@ -102,7 +102,7 @@
66 classes: genclasses
67
68 $(top_builddir)/gnu/java/locale/LocaleData.java: $(top_srcdir)/scripts/generate-locale-list.sh
69- @mkdir_p@ $(top_builddir)/gnu/java/locale
70+ $(MKDIR_P) $(top_builddir)/gnu/java/locale
71 $(top_srcdir)/scripts/generate-locale-list.sh > $(top_builddir)/gnu/java/locale/LocaleData.java
72
73 genclasses: gen-classlist.sh standard.omit $(top_builddir)/gnu/java/locale/LocaleData.java gen-xpath-parser
74@@ -160,7 +160,7 @@
75 -rm -rf lists
76
77 dist-hook:
78- @mkdir_p@ $(distdir)
79+ $(MKDIR_P) $(distdir)
80 cp -pdfR $(top_srcdir)/gnu $(top_srcdir)/java $(top_srcdir)/javax $(top_srcdir)/org $(top_srcdir)/sun $(top_srcdir)/vm $(top_srcdir)/resource $(distdir)/..
81 # Delete not wanted files.
82 $(FIND) $(distdir)/../gnu $(distdir)/../java $(distdir)/../javax $(distdir)/../org $(distdir)/../sun $(distdir)/../vm $(distdir)/../resource -name CVS -print | xargs rm -fr
83Index: classpath-0.99/tools/Makefile.am
84===================================================================
85--- classpath-0.99.orig/tools/Makefile.am 2012-07-18 23:13:23.782018215 +0200
86+++ classpath-0.99/tools/Makefile.am 2012-07-18 23:20:02.701629749 +0200
87@@ -314,11 +314,11 @@
88 # so they get also included.
89 $(TOOLS_ZIP): $(ALL_TOOLS_FILES)
90 @rm -rf classes asm
91- @mkdir_p@ classes asm
92+ $(MKDIR_P) classes asm
93 if CREATE_GJDOC
94 if CREATE_GJDOC_PARSER
95 ## Generate antlr sources.
96- @mkdir_p@ $(gjdoc_gendir)/gnu/classpath/tools/gjdoc/expr
97+ $(MKDIR_P) $(gjdoc_gendir)/gnu/classpath/tools/gjdoc/expr
98 $(ANTLR) -o $(gjdoc_gendir)/gnu/classpath/tools/gjdoc/expr/ \
99 $(srcdir)/gnu/classpath/tools/gjdoc/expr/java-expression.g
100 endif
101@@ -348,7 +348,7 @@
102 sun/rmi/rmic $(GJDOC_EX) -name \*.properties -print -o -name \*.jav -print`; \
103 for p in $$list; do \
104 dirname=classes/`dirname $$p`; \
105- if ! test -d "$$dirname"; then @mkdir_p@ "$$dirname"; fi; \
106+ if ! test -d "$$dirname"; then $(MKDIR_P) "$$dirname"; fi; \
107 echo " cp $(srcdir)/resource/$$p classes/$$p"; \
108 cp $(srcdir)/resource/$$p classes/$$p; \
109 done
110@@ -356,7 +356,7 @@
111 ## Copy over gjdoc resource files.
112 for res in $(gjdoc_resources); do \
113 dir=classes/`dirname $$res`; \
114- if ! test -d "$$dir"; then @mkdir_p@ "$$dir"; fi; \
115+ if ! test -d "$$dir"; then $(MKDIR_P) "$$dir"; fi; \
116 echo " cp $(srcdir)/resource/gnu/classpath/tools/gjdoc/$$res classes/$$res"; \
117 cp $(srcdir)/resource/gnu/classpath/tools/gjdoc/$$res classes/$$res; \
118 done
diff --git a/recipes-core/classpath/classpath-0.99/ecj_java_dir.patch b/recipes-core/classpath/classpath-0.99/ecj_java_dir.patch
new file mode 100644
index 0000000..1455a24
--- /dev/null
+++ b/recipes-core/classpath/classpath-0.99/ecj_java_dir.patch
@@ -0,0 +1,37 @@
1Index: classpath-0.98/lib/gen-classlist.sh.in
2===================================================================
3--- classpath-0.98.orig/lib/gen-classlist.sh.in 2010-06-24 21:18:02.776819217 +0200
4+++ classpath-0.98/lib/gen-classlist.sh.in 2010-06-24 21:18:35.625566191 +0200
5@@ -148,4 +148,7 @@
6 done
7 fi
8
9+# hack for javac that uses -d and do not make the directories
10+@AWK@ -F " " '{print $1}' classes.1 | uniq | awk -F " " '{system("mkdir -p " $0)}'
11+
12 exit 0
13Index: classpath-0.98/tools/Makefile.am
14===================================================================
15--- classpath-0.98.orig/tools/Makefile.am 2010-06-24 21:18:02.783479881 +0200
16+++ classpath-0.98/tools/Makefile.am 2010-06-24 21:20:04.925557253 +0200
17@@ -323,6 +323,8 @@
18 endif
19 ## Compile ASM separately as it is latin-1 encoded.
20 find $(srcdir)/external/asm -name '*.java' -print > asm.lst
21+ @AWK@ -F "/" '{OFS=FS;gsub("/"$$2"/"$$3,"",$$0);gsub("/"$$NF,"",$$0); print $$0}' asm.lst | \
22+ sort | uniq | @AWK@ -F " " '{system("mkdir -p asm/" $$0)}'
23 AC=`echo $(JCOMPILER) | sed -e 's/UTF-8/ISO-8859-1/g'`; \
24 $$AC -g -d asm @asm.lst
25 find $(srcdir)/gnu/classpath/tools \
26@@ -334,7 +336,10 @@
27 $(srcdir)/sun/rmi/rmic \
28 $(GJDOC_EX) \
29 -name '*.java' -print > classes.lst
30- $(JCOMPILER) -g -d classes @classes.lst
31+ @AWK@ -F "/" '{OFS=FS;gsub("/"$$NF,"",$$0); print $$0}' classes.lst | \
32+ sort | uniq | @AWK@ -F " " '{system("mkdir -p classes/" $$0)}'
33+ BC=`echo $(JCOMPILER) | sed -e 's/UTF-8/ISO-8859-1/g'`; \
34+ $$BC -g -d classes @classes.lst
35 cat classes.lst asm.lst > all-classes.lst
36 ## Copy over tools resource files.
37 @list=`cd $(srcdir)/resource && find gnu/classpath/tools com/sun/tools/javac \
diff --git a/recipes-core/classpath/classpath-0.99/fix-gmp.patch b/recipes-core/classpath/classpath-0.99/fix-gmp.patch
new file mode 100644
index 0000000..3f0dfbe
--- /dev/null
+++ b/recipes-core/classpath/classpath-0.99/fix-gmp.patch
@@ -0,0 +1,19 @@
1---
2 configure.ac | 2 +-
3 1 file changed, 1 insertion(+), 1 deletion(-)
4
5--- classpath-0.98.orig/configure.ac
6+++ classpath-0.98/configure.ac
7@@ -766,11 +766,11 @@ if test "x${COMPILE_JNI}" = xyes; then
8 dnl __gmpz_mul_si for earlier versions (>= 3.1).
9 dnl IMPORTANT: if you decide to look for __gmpz_combit, don't forget to
10 dnl change the name of the corresponding ac_ variable on lines 860...
11 if test "x${COMPILE_GMP}" = xyes; then
12 AC_CHECK_LIB(gmp, __gmpz_mul_si,
13- [GMP_CFLAGS=-I/usr/include
14+ [GMP_CFLAGS=
15 GMP_LIBS=-lgmp ],
16 [GMP_CFLAGS=
17 GMP_LIBS= ])
18 AC_SUBST(GMP_CFLAGS)
19 AC_SUBST(GMP_LIBS)
diff --git a/recipes-core/classpath/classpath-0.99/miscompilation.patch b/recipes-core/classpath/classpath-0.99/miscompilation.patch
new file mode 100644
index 0000000..c61b214
--- /dev/null
+++ b/recipes-core/classpath/classpath-0.99/miscompilation.patch
@@ -0,0 +1,13 @@
1Index: classpath-0.97.2/native/jni/java-io/java_io_VMFile.c
2===================================================================
3--- classpath-0.97.2.orig/native/jni/java-io/java_io_VMFile.c 2008-10-10 15:24:54.000000000 +0200
4+++ classpath-0.97.2/native/jni/java-io/java_io_VMFile.c 2008-10-10 15:25:36.000000000 +0200
5@@ -439,7 +439,7 @@
6 {
7 #ifndef WITHOUT_FILESYSTEM
8 const char *filename;
9- int result;
10+ volatile int result;
11
12 /* Don't use the JCL convert function because it throws an exception
13 on failure */
diff --git a/recipes-core/classpath/classpath-0.99/sun-security-getproperty.patch b/recipes-core/classpath/classpath-0.99/sun-security-getproperty.patch
new file mode 100644
index 0000000..4ec8b1e
--- /dev/null
+++ b/recipes-core/classpath/classpath-0.99/sun-security-getproperty.patch
@@ -0,0 +1,503 @@
1Index: gnu/classpath/debug/Simple1LineFormatter.java
2===================================================================
3--- gnu/classpath/debug/Simple1LineFormatter.java.orig 2006-07-11 18:03:59.000000000 +0200
4+++ gnu/classpath/debug/Simple1LineFormatter.java 2012-07-18 23:08:46.803554178 +0200
5@@ -38,8 +38,6 @@
6
7 package gnu.classpath.debug;
8
9-import gnu.java.security.action.GetPropertyAction;
10-
11 import java.io.PrintWriter;
12 import java.io.StringWriter;
13 import java.security.AccessController;
14@@ -51,6 +49,8 @@
15 import java.util.logging.Formatter;
16 import java.util.logging.LogRecord;
17
18+import sun.security.action.GetPropertyAction;
19+
20 /**
21 * A simple 1-line formatter to use instead of the 2-line SimpleFormatter used
22 * by default in the JDK logging handlers.
23Index: gnu/classpath/debug/SystemLogger.java
24===================================================================
25--- gnu/classpath/debug/SystemLogger.java.orig 2010-06-03 21:11:20.000000000 +0200
26+++ gnu/classpath/debug/SystemLogger.java 2012-07-18 23:08:46.803554178 +0200
27@@ -38,13 +38,13 @@
28
29 package gnu.classpath.debug;
30
31-import gnu.java.security.action.GetPropertyAction;
32-
33 import java.security.AccessController;
34 import java.util.StringTokenizer;
35 import java.util.logging.Level;
36 import java.util.logging.Logger;
37
38+import sun.security.action.GetPropertyAction;
39+
40 public final class SystemLogger extends Logger
41 {
42 public static final SystemLogger SYSTEM = new SystemLogger();
43Index: gnu/java/security/PolicyFile.java
44===================================================================
45--- gnu/java/security/PolicyFile.java.orig 2010-06-03 21:11:53.000000000 +0200
46+++ gnu/java/security/PolicyFile.java 2012-07-18 23:08:46.803554178 +0200
47@@ -41,7 +41,6 @@
48 import gnu.classpath.debug.SystemLogger;
49
50 import gnu.java.lang.CPStringBuilder;
51-import gnu.java.security.action.GetPropertyAction;
52
53 import java.io.File;
54 import java.io.IOException;
55@@ -74,6 +73,8 @@
56 import java.util.StringTokenizer;
57 import java.util.logging.Logger;
58
59+import sun.security.action.GetPropertyAction;
60+
61 /**
62 * An implementation of a {@link java.security.Policy} object whose
63 * permissions are specified by a <em>policy file</em>.
64Index: gnu/java/security/action/GetPropertyAction.java
65===================================================================
66--- gnu/java/security/action/GetPropertyAction.java 2010-06-03 21:11:54.000000000 +0200
67+++ /dev/null 1970-01-01 00:00:00.000000000 +0000
68@@ -1,89 +0,0 @@
69-/* GetPropertyAction.java
70- Copyright (C) 2004 Free Software Foundation, Inc.
71-
72-This file is part of GNU Classpath.
73-
74-GNU Classpath is free software; you can redistribute it and/or modify
75-it under the terms of the GNU General Public License as published by
76-the Free Software Foundation; either version 2, or (at your option)
77-any later version.
78-
79-GNU Classpath is distributed in the hope that it will be useful, but
80-WITHOUT ANY WARRANTY; without even the implied warranty of
81-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
82-General Public License for more details.
83-
84-You should have received a copy of the GNU General Public License
85-along with GNU Classpath; see the file COPYING. If not, write to the
86-Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
87-02110-1301 USA.
88-
89-Linking this library statically or dynamically with other modules is
90-making a combined work based on this library. Thus, the terms and
91-conditions of the GNU General Public License cover the whole
92-combination.
93-
94-As a special exception, the copyright holders of this library give you
95-permission to link this library with independent modules to produce an
96-executable, regardless of the license terms of these independent
97-modules, and to copy and distribute the resulting executable under
98-terms of your choice, provided that you also meet, for each linked
99-independent module, the terms and conditions of the license of that
100-module. An independent module is a module which is not derived from
101-or based on this library. If you modify this library, you may extend
102-this exception to your version of the library, but you are not
103-obligated to do so. If you do not wish to do so, delete this
104-exception statement from your version. */
105-
106-package gnu.java.security.action;
107-
108-import java.security.PrivilegedAction;
109-
110-/**
111- * PrivilegedAction implementation that calls System.getProperty() with
112- * the property name passed to its constructor.
113- *
114- * Example of use:
115- * <code>
116- * GetPropertyAction action = new GetPropertyAction("http.proxyPort");
117- * String port = AccessController.doPrivileged(action);
118- * </code>
119- */
120-public class GetPropertyAction implements PrivilegedAction<String>
121-{
122- String name;
123- String value = null;
124-
125- public GetPropertyAction()
126- {
127- }
128-
129- public GetPropertyAction(String propName)
130- {
131- setParameters(propName);
132- }
133-
134- public GetPropertyAction(String propName, String defaultValue)
135- {
136- setParameters(propName, defaultValue);
137- }
138-
139- public String run()
140- {
141- return System.getProperty(name, value);
142- }
143-
144- public GetPropertyAction setParameters(String propName)
145- {
146- this.name = propName;
147- this.value = null;
148- return this;
149- }
150-
151- public GetPropertyAction setParameters(String propName, String defaultValue)
152- {
153- this.name = propName;
154- this.value = defaultValue;
155- return this;
156- }
157-}
158Index: gnu/java/security/key/dss/DSSKey.java
159===================================================================
160--- gnu/java/security/key/dss/DSSKey.java.orig 2010-06-03 21:11:56.000000000 +0200
161+++ gnu/java/security/key/dss/DSSKey.java 2012-07-18 23:08:46.803554178 +0200
162@@ -41,7 +41,6 @@
163 import gnu.java.lang.CPStringBuilder;
164
165 import gnu.java.security.Registry;
166-import gnu.java.security.action.GetPropertyAction;
167 import gnu.java.security.util.FormatUtil;
168
169 import java.math.BigInteger;
170@@ -51,6 +50,8 @@
171 import java.security.interfaces.DSAParams;
172 import java.security.spec.DSAParameterSpec;
173
174+import sun.security.action.GetPropertyAction;
175+
176 /**
177 * A base asbtract class for both public and private DSS (Digital Signature
178 * Standard) keys. It encapsulates the three DSS numbers: <code>p</code>,
179Index: gnu/java/security/key/dss/DSSPrivateKey.java
180===================================================================
181--- gnu/java/security/key/dss/DSSPrivateKey.java.orig 2010-06-03 21:11:56.000000000 +0200
182+++ gnu/java/security/key/dss/DSSPrivateKey.java 2012-07-18 23:08:46.803554178 +0200
183@@ -42,7 +42,6 @@
184
185 import gnu.java.security.Configuration;
186 import gnu.java.security.Registry;
187-import gnu.java.security.action.GetPropertyAction;
188 import gnu.java.security.key.IKeyPairCodec;
189
190 import java.math.BigInteger;
191@@ -50,6 +49,8 @@
192 import java.security.PrivateKey;
193 import java.security.interfaces.DSAPrivateKey;
194
195+import sun.security.action.GetPropertyAction;
196+
197 /**
198 * An object that embodies a DSS (Digital Signature Standard) private key.
199 *
200Index: gnu/java/security/key/dss/DSSPublicKey.java
201===================================================================
202--- gnu/java/security/key/dss/DSSPublicKey.java.orig 2010-06-03 21:11:56.000000000 +0200
203+++ gnu/java/security/key/dss/DSSPublicKey.java 2012-07-18 23:08:46.803554178 +0200
204@@ -41,7 +41,6 @@
205 import gnu.java.lang.CPStringBuilder;
206
207 import gnu.java.security.Registry;
208-import gnu.java.security.action.GetPropertyAction;
209 import gnu.java.security.key.IKeyPairCodec;
210
211 import java.math.BigInteger;
212@@ -49,6 +48,8 @@
213 import java.security.PublicKey;
214 import java.security.interfaces.DSAPublicKey;
215
216+import sun.security.action.GetPropertyAction;
217+
218 /**
219 * An object that embodies a DSS (Digital Signature Standard) public key.
220 *
221Index: gnu/java/security/key/rsa/GnuRSAKey.java
222===================================================================
223--- gnu/java/security/key/rsa/GnuRSAKey.java.orig 2010-06-03 21:11:56.000000000 +0200
224+++ gnu/java/security/key/rsa/GnuRSAKey.java 2012-07-18 23:08:46.803554178 +0200
225@@ -41,7 +41,6 @@
226 import gnu.java.lang.CPStringBuilder;
227
228 import gnu.java.security.Registry;
229-import gnu.java.security.action.GetPropertyAction;
230 import gnu.java.security.util.FormatUtil;
231
232 import java.math.BigInteger;
233@@ -49,6 +48,8 @@
234 import java.security.Key;
235 import java.security.interfaces.RSAKey;
236
237+import sun.security.action.GetPropertyAction;
238+
239 /**
240 * A base asbtract class for both public and private RSA keys.
241 */
242Index: gnu/java/security/key/rsa/GnuRSAPrivateKey.java
243===================================================================
244--- gnu/java/security/key/rsa/GnuRSAPrivateKey.java.orig 2010-06-03 21:11:56.000000000 +0200
245+++ gnu/java/security/key/rsa/GnuRSAPrivateKey.java 2012-07-18 23:08:46.803554178 +0200
246@@ -41,7 +41,6 @@
247 import gnu.java.lang.CPStringBuilder;
248
249 import gnu.java.security.Configuration;
250-import gnu.java.security.action.GetPropertyAction;
251 import gnu.java.security.Registry;
252 import gnu.java.security.key.IKeyPairCodec;
253
254@@ -51,6 +50,8 @@
255 import java.security.interfaces.RSAPrivateCrtKey;
256 import java.security.interfaces.RSAPrivateKey;
257
258+import sun.security.action.GetPropertyAction;
259+
260 /**
261 * An object that embodies an RSA private key.
262 * <p>
263Index: gnu/java/security/key/rsa/GnuRSAPublicKey.java
264===================================================================
265--- gnu/java/security/key/rsa/GnuRSAPublicKey.java.orig 2010-06-03 21:11:56.000000000 +0200
266+++ gnu/java/security/key/rsa/GnuRSAPublicKey.java 2012-07-18 23:08:46.803554178 +0200
267@@ -41,7 +41,6 @@
268 import gnu.java.lang.CPStringBuilder;
269
270 import gnu.java.security.Registry;
271-import gnu.java.security.action.GetPropertyAction;
272 import gnu.java.security.key.IKeyPairCodec;
273
274 import java.math.BigInteger;
275@@ -49,6 +48,8 @@
276 import java.security.PublicKey;
277 import java.security.interfaces.RSAPublicKey;
278
279+import sun.security.action.GetPropertyAction;
280+
281 /**
282 * An object that encapsulates an RSA public key.
283 * <p>
284Index: gnu/javax/crypto/key/dh/GnuDHKey.java
285===================================================================
286--- gnu/javax/crypto/key/dh/GnuDHKey.java.orig 2010-06-03 21:12:05.000000000 +0200
287+++ gnu/javax/crypto/key/dh/GnuDHKey.java 2012-07-18 23:08:46.803554178 +0200
288@@ -39,7 +39,6 @@
289 package gnu.javax.crypto.key.dh;
290
291 import gnu.java.security.Registry;
292-import gnu.java.security.action.GetPropertyAction;
293 import gnu.java.security.util.FormatUtil;
294
295 import java.math.BigInteger;
296@@ -49,6 +48,8 @@
297 import javax.crypto.interfaces.DHKey;
298 import javax.crypto.spec.DHParameterSpec;
299
300+import sun.security.action.GetPropertyAction;
301+
302 /**
303 * A base asbtract class for both public and private Diffie-Hellman keys. It
304 * encapsulates the two DH numbers: <code>p</code>, and <code>g</code>.
305Index: gnu/javax/crypto/key/dh/GnuDHPrivateKey.java
306===================================================================
307--- gnu/javax/crypto/key/dh/GnuDHPrivateKey.java.orig 2010-06-03 21:12:05.000000000 +0200
308+++ gnu/javax/crypto/key/dh/GnuDHPrivateKey.java 2012-07-18 23:08:46.803554178 +0200
309@@ -40,7 +40,6 @@
310
311 import gnu.java.security.Configuration;
312 import gnu.java.security.Registry;
313-import gnu.java.security.action.GetPropertyAction;
314 import gnu.java.security.key.IKeyPairCodec;
315
316 import java.math.BigInteger;
317@@ -48,6 +47,8 @@
318
319 import javax.crypto.interfaces.DHPrivateKey;
320
321+import sun.security.action.GetPropertyAction;
322+
323 /**
324 * An implementation of the Diffie-Hellman private key.
325 * <p>
326Index: gnu/javax/crypto/key/dh/GnuDHPublicKey.java
327===================================================================
328--- gnu/javax/crypto/key/dh/GnuDHPublicKey.java.orig 2010-06-03 21:12:05.000000000 +0200
329+++ gnu/javax/crypto/key/dh/GnuDHPublicKey.java 2012-07-18 23:08:46.803554178 +0200
330@@ -39,7 +39,6 @@
331 package gnu.javax.crypto.key.dh;
332
333 import gnu.java.security.Registry;
334-import gnu.java.security.action.GetPropertyAction;
335 import gnu.java.security.key.IKeyPairCodec;
336
337 import java.math.BigInteger;
338@@ -47,6 +46,8 @@
339
340 import javax.crypto.interfaces.DHPublicKey;
341
342+import sun.security.action.GetPropertyAction;
343+
344 /**
345 * An implementation of the Diffie-Hellman public key.
346 * <p>
347Index: gnu/javax/crypto/sasl/plain/PasswordFile.java
348===================================================================
349--- gnu/javax/crypto/sasl/plain/PasswordFile.java.orig 2010-06-03 21:12:10.000000000 +0200
350+++ gnu/javax/crypto/sasl/plain/PasswordFile.java 2012-07-18 23:08:46.803554178 +0200
351@@ -40,7 +40,6 @@
352
353 import gnu.java.lang.CPStringBuilder;
354
355-import gnu.java.security.action.GetPropertyAction;
356 import gnu.javax.crypto.sasl.NoSuchUserException;
357 import gnu.javax.crypto.sasl.UserAlreadyExistsException;
358
359@@ -58,6 +57,8 @@
360 import java.util.NoSuchElementException;
361 import java.util.StringTokenizer;
362
363+import sun.security.action.GetPropertyAction;
364+
365 /**
366 * A representation of a Plain password file.
367 */
368Index: gnu/javax/net/ssl/provider/X509TrustManagerFactory.java
369===================================================================
370--- gnu/javax/net/ssl/provider/X509TrustManagerFactory.java.orig 2010-06-03 21:12:17.000000000 +0200
371+++ gnu/javax/net/ssl/provider/X509TrustManagerFactory.java 2012-07-18 23:08:46.803554178 +0200
372@@ -66,11 +66,12 @@
373 import javax.net.ssl.TrustManagerFactorySpi;
374 import javax.net.ssl.X509TrustManager;
375
376-import gnu.java.security.action.GetPropertyAction;
377 import gnu.java.security.x509.X509CertPath;
378 import gnu.javax.net.ssl.NullManagerParameters;
379 import gnu.javax.net.ssl.StaticTrustAnchors;
380
381+import sun.security.action.GetPropertyAction;
382+
383 /**
384 * This class implements a {@link javax.net.ssl.TrustManagerFactory} engine
385 * for the ``JessieX509'' algorithm.
386Index: gnu/xml/aelfred2/XmlParser.java
387===================================================================
388--- gnu/xml/aelfred2/XmlParser.java.orig 2010-06-03 21:12:21.000000000 +0200
389+++ gnu/xml/aelfred2/XmlParser.java 2012-07-18 23:08:46.807554239 +0200
390@@ -53,8 +53,6 @@
391
392 package gnu.xml.aelfred2;
393
394-import gnu.java.security.action.GetPropertyAction;
395-
396 import java.io.BufferedInputStream;
397 import java.io.CharConversionException;
398 import java.io.EOFException;
399@@ -74,6 +72,7 @@
400 import org.xml.sax.InputSource;
401 import org.xml.sax.SAXException;
402
403+import sun.security.action.GetPropertyAction;
404
405 /**
406 * Parse XML documents and return parse events through call-backs.
407Index: sun/security/action/GetPropertyAction.java
408===================================================================
409--- /dev/null 1970-01-01 00:00:00.000000000 +0000
410+++ sun/security/action/GetPropertyAction.java 2012-07-18 23:08:46.807554239 +0200
411@@ -0,0 +1,92 @@
412+/* GetPropertyAction.java
413+ Copyright (C) 2004, 2008 Free Software Foundation, Inc.
414+
415+This file is part of GNU Classpath.
416+
417+GNU Classpath is free software; you can redistribute it and/or modify
418+it under the terms of the GNU General Public License as published by
419+the Free Software Foundation; either version 2, or (at your option)
420+any later version.
421+
422+GNU Classpath is distributed in the hope that it will be useful, but
423+WITHOUT ANY WARRANTY; without even the implied warranty of
424+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
425+General Public License for more details.
426+
427+You should have received a copy of the GNU General Public License
428+along with GNU Classpath; see the file COPYING. If not, write to the
429+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
430+02110-1301 USA.
431+
432+Linking this library statically or dynamically with other modules is
433+making a combined work based on this library. Thus, the terms and
434+conditions of the GNU General Public License cover the whole
435+combination.
436+
437+As a special exception, the copyright holders of this library give you
438+permission to link this library with independent modules to produce an
439+executable, regardless of the license terms of these independent
440+modules, and to copy and distribute the resulting executable under
441+terms of your choice, provided that you also meet, for each linked
442+independent module, the terms and conditions of the license of that
443+module. An independent module is a module which is not derived from
444+or based on this library. If you modify this library, you may extend
445+this exception to your version of the library, but you are not
446+obligated to do so. If you do not wish to do so, delete this
447+exception statement from your version. */
448+
449+package sun.security.action;
450+
451+import java.security.PrivilegedAction;
452+
453+/**
454+ * PrivilegedAction implementation that calls System.getProperty() with
455+ * the property name passed to its constructor.
456+ *
457+ * Example of use:
458+ * <code>
459+ * GetPropertyAction action = new GetPropertyAction("http.proxyPort");
460+ * String port = AccessController.doPrivileged(action);
461+ * </code>
462+ *
463+ * Note: Usage of this class is discouraged as it is not a part of the
464+ * J2SE API.
465+ */
466+public class GetPropertyAction implements PrivilegedAction<String>
467+{
468+ String name;
469+ String value = null;
470+
471+ public GetPropertyAction()
472+ {
473+ }
474+
475+ public GetPropertyAction(String propName)
476+ {
477+ setParameters(propName);
478+ }
479+
480+ public GetPropertyAction(String propName, String defaultValue)
481+ {
482+ setParameters(propName, defaultValue);
483+ }
484+
485+ public String run()
486+ {
487+ return System.getProperty(name, value);
488+ }
489+
490+ public GetPropertyAction setParameters(String propName)
491+ {
492+ this.name = propName;
493+ this.value = null;
494+ return this;
495+ }
496+
497+ public GetPropertyAction setParameters(String propName, String defaultValue)
498+ {
499+ this.name = propName;
500+ this.value = defaultValue;
501+ return this;
502+ }
503+}
diff --git a/recipes-core/classpath/classpath-0.99/toolwrapper-exithook.patch b/recipes-core/classpath/classpath-0.99/toolwrapper-exithook.patch
new file mode 100644
index 0000000..49b6631
--- /dev/null
+++ b/recipes-core/classpath/classpath-0.99/toolwrapper-exithook.patch
@@ -0,0 +1,46 @@
1Index: classpath-0.97.2/tools/toolwrapper.c
2===================================================================
3--- classpath-0.97.2.orig/tools/toolwrapper.c 2006-12-13 18:56:44.000000000 +0100
4+++ classpath-0.97.2/tools/toolwrapper.c 2009-12-24 13:16:44.295000627 +0100
5@@ -59,6 +59,10 @@
6 /* Typedef for JNI_CreateJavaVM dlopen call. */
7 typedef jint createVM (JavaVM **, void **, void *);
8
9+void exit_hook(jint);
10+
11+int return_code = 1;
12+
13 int
14 main (int argc, const char** argv)
15 {
16@@ -143,6 +147,17 @@
17 vm_args.options[vm_args.nOptions++].optionString = "-Xbootclasspath/p:" TOOLS_ZIP;
18 }
19
20+ /* Set the exit hook */
21+ vm_args.options = (JavaVMOption*) realloc (vm_args.options, (vm_args.nOptions + 1) * sizeof (JavaVMOption));
22+
23+ if (vm_args.options == NULL)
24+ {
25+ fprintf (stderr, TOOLNAME ": realloc failed.\n");
26+ goto destroy;
27+ }
28+ vm_args.options[vm_args.nOptions].optionString = "exit";
29+ vm_args.options[vm_args.nOptions++].extraInfo = (void *) exit_hook;
30+
31 /* Terminate vm_args.options with a NULL element. */
32 vm_args.options = (JavaVMOption*) realloc (vm_args.options, (vm_args.nOptions + 1) * sizeof (JavaVMOption));
33 if (vm_args.options == NULL)
34@@ -260,5 +275,11 @@
35 if (lt_dlexit () != 0)
36 fprintf (stderr, TOOLNAME ": lt_dlexit failed.\n");
37
38- return 1;
39+ return return_code;
40+}
41+
42+void exit_hook(jint code)
43+{
44+ return_code = code;
45 }
46+