cacao 0.98+hg20071001: Added snapshot version.
authorRobert Schuster <thebohemian@gmx.net>
Mon, 14 Jan 2008 14:35:45 +0000 (14:35 +0000)
committerRobert Schuster <thebohemian@gmx.net>
Mon, 14 Jan 2008 14:35:45 +0000 (14:35 +0000)
cacao-cldc: Added an include recipe.
classpath: Moved versions prior 0.95 to obsolete/ .
classpath-minimal: Moved versions prior 0.95 to obsolete/ .
classpath-gtk: Moved to obsolete/.
classpath cvs: Moved to obsolete/.
classpath 0.96.1: Added new version.
classpath 0.95: Added new version.
classpath-minimal 0.96.1: Added new version.
midpath-cldc: Removed notion of virtual/cldc-api-1.1
  - install cldc1.1.jar as midpath-cldc1.1.jar to ${datadir}/midpath-cldc

39 files changed:
packages/cacao/cacao-cldc.inc [new file with mode: 0644]
packages/cacao/cacao-cldc_0.98.bb
packages/cacao/cacao.inc
packages/cacao/cacao_0.98+hg20071001.bb [new file with mode: 0644]
packages/cacao/cacaoh-cldc-native_0.98.bb
packages/cacao/cacaoh-native.inc [new file with mode: 0644]
packages/cacao/cacaoh-native_0.98+hg20071001.bb [new file with mode: 0644]
packages/cacao/files/cacao-0.98+hg-arm-cacheflush-workaround.patch [new file with mode: 0644]
packages/cacao/files/cacao-0.98+hg-attachthread.patch [new file with mode: 0644]
packages/cacao/files/cacao-0.98+svn-classpath_var.patch [new file with mode: 0644]
packages/cacao/files/cacao-0.98+svn-libdir.diff [new file with mode: 0644]
packages/classpath/classpath-minimal_0.96.1.bb [new file with mode: 0644]
packages/classpath/classpath.inc
packages/classpath/classpath_0.95.bb [new file with mode: 0644]
packages/classpath/classpath_0.96.1.bb [new file with mode: 0644]
packages/midpath/midpath-cldc-native_0.1.bb
packages/midpath/midpath-cldc-x11_0.1.bb
packages/midpath/midpath-cldc_0.1.bb
packages/midpath/midpath.inc
packages/obsolete/classpath/.mtn2git_empty [new file with mode: 0644]
packages/obsolete/classpath/classpath-gtk_0.93.bb [moved from packages/classpath/classpath-gtk_0.93.bb with 100% similarity]
packages/obsolete/classpath/classpath-gtk_cvs.bb [moved from packages/classpath/classpath-gtk_cvs.bb with 100% similarity]
packages/obsolete/classpath/classpath-minimal-native_0.93.bb [moved from packages/classpath/classpath-minimal-native_0.93.bb with 100% similarity]
packages/obsolete/classpath/classpath-minimal-native_0.95.bb [moved from packages/classpath/classpath-minimal-native_0.95.bb with 100% similarity]
packages/obsolete/classpath/classpath-minimal_0.90.bb [moved from packages/classpath/classpath-minimal_0.90.bb with 100% similarity]
packages/obsolete/classpath/classpath-minimal_0.95.bb [moved from packages/classpath/classpath-minimal_0.95.bb with 100% similarity]
packages/obsolete/classpath/classpath.inc [new file with mode: 0644]
packages/obsolete/classpath/classpath_0.14.bb [moved from packages/classpath/classpath_0.14.bb with 100% similarity]
packages/obsolete/classpath/classpath_0.15.bb [moved from packages/classpath/classpath_0.15.bb with 100% similarity]
packages/obsolete/classpath/classpath_0.17.bb [moved from packages/classpath/classpath_0.17.bb with 100% similarity]
packages/obsolete/classpath/classpath_0.18.bb [moved from packages/classpath/classpath_0.18.bb with 100% similarity]
packages/obsolete/classpath/classpath_0.19.bb [moved from packages/classpath/classpath_0.19.bb with 100% similarity]
packages/obsolete/classpath/classpath_0.20.bb [moved from packages/classpath/classpath_0.20.bb with 100% similarity]
packages/obsolete/classpath/classpath_cvs.bb [moved from packages/classpath/classpath_cvs.bb with 100% similarity]
packages/obsolete/classpath/files/.mtn2git_empty [new file with mode: 0644]
packages/obsolete/classpath/files/disable-automake-checks-v2.patch [moved from packages/classpath/files/disable-automake-checks-v2.patch with 100% similarity]
packages/obsolete/classpath/files/disable-automake-checks.patch [moved from packages/classpath/files/disable-automake-checks.patch with 100% similarity]
packages/obsolete/classpath/files/fix-endian-arm-floats.patch [moved from packages/classpath/files/fix-endian-arm-floats.patch with 100% similarity]
packages/obsolete/classpath/files/gconf_version.patch [moved from packages/classpath/files/gconf_version.patch with 100% similarity]

diff --git a/packages/cacao/cacao-cldc.inc b/packages/cacao/cacao-cldc.inc
new file mode 100644 (file)
index 0000000..86df369
--- /dev/null
@@ -0,0 +1,64 @@
+DESCRIPTION = "Cacao-cldc is a Java Virtual Machine, which uses MIDPath CLDC as default Java core library"
+HOMEPAGE = "http://www.cacaojvm.org/"
+LICENSE  = "GPL"
+PRIORITY = "optional"
+SECTION  = "interpreters"
+
+DEPENDS = "zlib libtool classpath midpath-cldc cacaoh-cldc-native virtual/javac-native"
+
+# Avoid version number here, otherwise dpkg will expect a package name
+# and cannot be satisfied with a package that provides classpath.
+RDEPENDS = "midpath-cldc"
+
+PROVIDES = "cacao-cldc virtual/java-cldc"
+RPROVIDES_cacao-cldc = "java-cldc-runtime"
+
+inherit autotools update-alternatives
+
+EXTRA_OECONF = "\
+       ${@['','--enable-softfloat'][bb.data.getVar('TARGET_FPU',d,1) == 'soft']} \
+       --enable-debug \
+       --enable-jni \
+       --disable-libjvm \
+       --enable-java=cldc1.1 \
+       --with-classpath=cldc1.1 \
+       --with-classpath-classes=${STAGING_DATADIR}/midpath-cldc/midpath-cldc1.1.jar \
+       --with-target-classpath-classes=${datadir}/midpath-cldc/midpath-cldc1.1.jar \
+       --with-cacaoh=${STAGING_BINDIR_NATIVE}/cacaoh-cldc-${PV} \
+       --with-classpath-libdir=${STAGING_LIBDIR}/classpath \
+       --with-classpath-includedir=${STAGING_INCDIR}/classpath \
+       --with-vm-zip=${datadir}/cacao-cldc/vm.zip \
+       --libdir=${libdir}/cacao-cldc \
+       --program-suffix=-cldc \
+       "
+
+S = "${WORKDIR}/cacao-${PV}"
+
+PACKAGES = "${PN} ${PN}-doc ${PN}-dbg"
+
+FILES_${PN} = "${bindir}/${PN} ${libdir}/lib*.so* ${datadir}/${PN}"
+FILES_${PN}-doc = "${datadir}/man"
+FILES_${PN}-dbg = "${bindir}/.debug ${libdir}/.debug/lib*.so*"
+
+ALTERNATIVE_NAME = "java-cldc"
+ALTERNATIVE_LINK = "${bindir}/${ALTERNATIVE_NAME}"
+ALTERNATIVE_PATH = "${bindir}/cacao-cldc"
+ALTERNATIVE_PRIORITY = "10"
+
+do_configure_prepend() {
+  # Replaces the placeholder OE_LIBDIR_JNI with the JNI library directory
+  # configured in OE.
+  if [ -e src/vm/properties.c ]; then
+    sed -i -e "s|OE_LIBDIR_JNI|${libdir}/jni|" src/vm/properties.c
+  fi
+
+  if [ -e src/vm/properties.c ]; then
+    sed -i -e "s|OE_LIBDIR_JNI|${libdir}/jni|" src/vm/vm.c
+  fi
+}
+
+do_configure_append() {
+  # Fix the executable name in the wrapper script.
+  sed -i -e "s|exec cacao|exec cacao-cldc|" src/scripts/java.in
+}
+
index b791296..f5a48c4 100644 (file)
@@ -1,35 +1,17 @@
+# Compatible with GNU Classpath 0.95 only!
 
-require cacao.inc
+require cacao-cldc.inc
 
-SRC_URI +="file://midpath.patch;patch=1 \
-           file://offsets_make.patch;patch=1 \
-          file://classpath_var.patch;patch=1 \
-          file://libmath.patch;patch=1 \
-          file://arm_mmap.patch;patch=1 \
-          "
-SRC_URI_append_arm = "file://offset.h_arm.patch;patch=1"
-
-DEPENDS = "cacaoh-cldc-native virtual/javac-native classpath-minimal-native virtual/cldc-api-1.1 libtool zlib"
-RDEPENDS = "virtual/cldc-api-1.1 libltdl"
-RPROVIDES = "virtual/java"
+PR = "r1"
 
-EXTRA_OECONF += "--with-classpath-libdir=${STAGING_DATADIR}/classpath-minimal \
-                 --with-classpath-includedir=${STAGING_INCDIR}/classpath-minimal \
-                --enable-jni \
-                 --enable-java=cldc1.1 \
-                 --with-classpath=cldc1.1 \
-                 --with-classpath-classes=${STAGING_DATADIR}/java/cldc1.1.jar \
-                --with-target-classpath-classes=${datadir}/java/cldc1.1.jar \
-                --with-cacaoh=${STAGING_BINDIR_NATIVE}/cacaoh \
-                --disable-libjvm \
-                "
+SRC_URI += "\
+  http://www.complang.tuwien.ac.at/cacaojvm/download/cacao-${PV}/cacao-${PV}.tar.bz2;md5sum=8b8907c8b925761c9410bcadb9705346 \
+       file://midpath.patch;patch=1 \
+       file://offsets_make.patch;patch=1 \
+       file://classpath_var.patch;patch=1 \
+       file://libmath.patch;patch=1 \
+       file://arm_mmap.patch;patch=1 \
+       "
 
-PACKAGES = "${PN} ${PN}-doc ${PN}-dbg" 
-
-FILES_${PN} = "${bindir}/cacao"
-FILES_${PN}-doc = "${datadir}/man"
-FILES_${PN}-dbg = "${bindir}/.debug"
+SRC_URI_append_arm = "file://offset.h_arm.patch;patch=1"
 
-ALTERNATIVE_NAME = "java"
-ALTERNATIVE_PATH = "${bindir}/cacao"
-ALTERNATIVE_PRIORITY = "10"
index 9315bab..cc107ab 100644 (file)
@@ -1,16 +1,52 @@
-DESCRIPTION = "cacao is a Java Virtual Machine, which uses GNU Classpath as default Java core library"
+DESCRIPTION = "Cacao is a Java Virtual Machine, which uses GNU Classpath as default Java core library"
 HOMEPAGE = "http://www.cacaojvm.org/"
 LICENSE  = "GPL"
 PRIORITY = "optional"
 SECTION  = "interpreters"
-PR = "r1"
 
-inherit autotools
+DEPENDS = "zlib libtool classpath cacaoh-native virtual/javac-native"
 
-SRC_URI = "http://www.complang.tuwien.ac.at/cacaojvm/download/cacao-0.98/cacao-${PV}.tar.bz2;md5sum=8b8907c8b925761c9410bcadb9705346"
+# Avoid version number here, otherwise dpkg will expect a package name
+# and cannot be satisfied with a package that provides classpath.
+RDEPENDS = "classpath"
 
-S = "${WORKDIR}/cacao-${PV}"
+PROVIDES = "cacao virtual/java"
+RPROVIDES_cacao = "java2-runtime"
+
+inherit autotools update-alternatives
+
+EXTRA_OECONF = "\
+       ${@['','--enable-softfloat'][bb.data.getVar('TARGET_FPU',d,1) == 'soft']} \
+       --enable-debug \
+       --with-cacaoh=${STAGING_BINDIR_NATIVE}/cacaoh-${PV} \
+       --with-classpath-libdir=${STAGING_LIBDIR}/classpath \
+       --with-classpath-includedir=${STAGING_INCDIR}/classpath \
+       --with-classpath-classes=${STAGING_DATADIR}/classpath/glibj.zip \
+       --with-target-classpath-classes=${datadir}/classpath/glibj.zip \
+       --with-vm-zip=${datadir}/cacao/vm.zip \
+       --with-classpath-libdir=${libdir} \
+       "
+
+PACKAGES = "${PN} ${PN}-doc ${PN}-dbg"
+
+FILES_${PN} = "${bindir}/${PN} ${libdir}/lib*.so* ${datadir}/${PN}"
+FILES_${PN}-doc = "${datadir}/man"
+FILES_${PN}-dbg = "${bindir}/.debug ${libdir}/.debug/lib*.so*"
+
+ALTERNATIVE_NAME = "java"
+ALTERNATIVE_LINK = "${bindir}/${ALTERNATIVE_NAME}"
+ALTERNATIVE_PATH = "${bindir}/cacao"
+ALTERNATIVE_PRIORITY = "10"
+
+do_configure_prepend() {
+  # Replaces the placeholder OE_LIBDIR_JNI with the JNI library directory
+  # configured in OE.
+  if [ -e src/vm/properties.c ]; then
+    sed -i -e "s|OE_LIBDIR_JNI|${libdir}/jni|" src/vm/properties.c
+  fi
+
+  if [ -e src/vm/properties.c ]; then
+    sed -i -e "s|OE_LIBDIR_JNI|${libdir}/jni|" src/vm/vm.c
+  fi
+}
 
-EXTRA_OECONF = "--disable-debug \
-               ${@['','--enable-softfloat'][bb.data.getVar('TARGET_FPU',d,1) == 'soft']} \
-              "
diff --git a/packages/cacao/cacao_0.98+hg20071001.bb b/packages/cacao/cacao_0.98+hg20071001.bb
new file mode 100644 (file)
index 0000000..38fcb37
--- /dev/null
@@ -0,0 +1,16 @@
+require cacao.inc
+
+PR = "r5"
+
+SRC_URI = "\
+        http://jalimo.evolvis.org/repository/sources/cacao-${PV}.tar.bz2;md5sum=9ff10c929bd0cbf15909107c1aff7518 \
+        file://cacao-0.98+svn-libdir.diff;patch=1 \
+        file://cacao-0.98+svn-classpath_var.patch;patch=1 \
+        file://cacao-0.98+hg-arm-cacheflush-workaround.patch;patch=1 \
+        file://cacao-0.98+hg-attachthread.patch;patch=1 \
+        "
+
+EXTRA_OECONF += "\
+    --enable-annotations \
+               "
+
index 73546f8..e2c92cc 100644 (file)
@@ -1,16 +1,19 @@
+require cacaoh-native.inc
 
-require cacao.inc
+DEPENDS += "midpath-cldc-native"
 
-DEPENDS = "virtual/javac-native classpath-minimal-native virtual/cldc-api-1.1-native libtool-native zlib-native"
+SRC_URI = "\
+  http://www.complang.tuwien.ac.at/cacaojvm/download/cacao-${PV}/cacao-${PV}.tar.bz2;md5sum=8b8907c8b925761c9410bcadb9705346 \
+  "
 
-inherit native
-
-EXTRA_OECONF += "--with-classpath-includedir=${STAGING_INCDIR}/classpath-minimal \
-                --enable-jni \
-                 --enable-java=cldc1.1 \
-                 --with-classpath=cldc1.1 \
-                --with-classpath-classes=${STAGING_DATADIR}/java/cldc1.1.jar \
-                "
+EXTRA_OECONF += "\
+  --with-classpath-includedir=${STAGING_INCDIR}/classpath \
+  --enable-jni \
+  --enable-java=cldc1.1 \
+  --with-classpath=cldc1.1 \
+  --with-classpath-classes=${STAGING_DATADIR}/midpath-cldc/midpath-cldc1.1.jar \
+"
+               
 do_stage() {
-       install -m 0755 src/cacaoh/.libs/cacaoh ${STAGING_BINDIR}/
+       install -m 0755 src/cacaoh/.libs/cacaoh ${STAGING_BINDIR}/cacaoh-cldc-${PV}
 }
diff --git a/packages/cacao/cacaoh-native.inc b/packages/cacao/cacaoh-native.inc
new file mode 100644 (file)
index 0000000..1f81672
--- /dev/null
@@ -0,0 +1,28 @@
+DESCRIPTION = "Header generator for Cacao JVM - Needed for cross-compilation builds"
+HOMEPAGE = "http://www.cacaojvm.org/"
+LICENSE  = "GPL"
+
+DEPENDS = "libtool-native zlib-native virtual/javac-native classpath-native"
+
+S = "${WORKDIR}/cacao-${PV}"
+
+PR = "r1"
+
+inherit autotools
+inherit native
+
+EXTRA_OECONF = " \
+    --with-classpath-includedir=${STAGING_INCDIR}/classpath \
+    --with-classpath-classes=${STAGING_DATADIR}/classpath/glibj.zip \
+    "
+
+do_compile() {
+  # Compile the header generator only (and what is needed for it).
+  oe_runmake -C src/toolbox libtoolbox.la
+  oe_runmake -C src/vmcore libvmcore.la
+  oe_runmake -C src/cacaoh cacaoh
+}
+
+do_stage() {
+       install -m 0755 src/cacaoh/.libs/cacaoh ${STAGING_BINDIR}/cacaoh-${PV}
+}
diff --git a/packages/cacao/cacaoh-native_0.98+hg20071001.bb b/packages/cacao/cacaoh-native_0.98+hg20071001.bb
new file mode 100644 (file)
index 0000000..cb552df
--- /dev/null
@@ -0,0 +1,5 @@
+require cacaoh-native.inc
+
+SRC_URI = "http://jalimo.evolvis.org/repository/sources/cacao-${PV}.tar.bz2;md5sum=9ff10c929bd0cbf15909107c1aff7518"
+
+
diff --git a/packages/cacao/files/cacao-0.98+hg-arm-cacheflush-workaround.patch b/packages/cacao/files/cacao-0.98+hg-arm-cacheflush-workaround.patch
new file mode 100644 (file)
index 0000000..813cb68
--- /dev/null
@@ -0,0 +1,50 @@
+Index: cacao-0.98+hg7750/src/vm/jit/arm/asmpart.S
+===================================================================
+--- cacao-0.98+hg7750.orig/src/vm/jit/arm/asmpart.S    2007-11-28 10:14:51.000000000 +0100
++++ cacao-0.98+hg7750/src/vm/jit/arm/asmpart.S 2007-11-28 10:15:31.000000000 +0100
+@@ -302,35 +302,21 @@
+ *                                                                              *
+ *******************************************************************************/
+-.equ sys_cacheflush,__ARM_NR_cacheflush /* syscall number for cache flushing  */
+-
++.equ sys_cacheflush, 0x9f0002
+ asm_cacheflush:
+-      add   a1, a0, a1
+-      mov   a2, #0
+-
+-#if defined(__ARM_EABI__)
+-      /* According to EABI, the syscall number should be passed via R7,
+-         see "http://wiki.debian.org/ArmEabiPort" for additional details. */
+-
+-      stmfd sp!, {r7}
+-      mov   r7, #0x0f0000
+-      add   r7, r7, #0x000002
+-#endif
++  add   a1, a0, a1
++  mov   a2, #0
+ #if 0
+-      /* TWISTI: required on iyonix, maybe a linux-2.4 bug */
+-      mov   a0, #0x0
+-      mov   a1, #0xff000000
++  /* TWISTI: required on iyonix, maybe a linux-2.4 bug */
++  /* TODO: repeair this! */
++  /* cacheflush is messed up beyond all repair! */
++  mov a0, #0x0
++  mov a1, #0xff000000
+ #endif
+-      swi   sys_cacheflush
+-
+-#if defined(__ARM_EABI__)
+-      ldmfd sp!, {r7}
+-#endif
+-
+-      mov   pc, lr
+-
++  swi   #sys_cacheflush
++  mov   pc, lr
+ /* disable exec-stacks ********************************************************/
diff --git a/packages/cacao/files/cacao-0.98+hg-attachthread.patch b/packages/cacao/files/cacao-0.98+hg-attachthread.patch
new file mode 100644 (file)
index 0000000..b3dfabc
--- /dev/null
@@ -0,0 +1,12 @@
+diff -r d8fe2c3ba284 src/threads/native/threads.c
+--- a/src/threads/native/threads.c     Sun Dec 30 17:43:35 2007 +0100
++++ b/src/threads/native/threads.c     Wed Jan 02 16:41:57 2008 +0100
+@@ -1432,6 +1432,8 @@ bool threads_attach_current_thread(JavaV
+       threads_thread_set_object(thread, (java_handle_t *) t);
++  threads_set_current_threadobject(thread);
++
+       /* thread is completely initialized */
+       threads_thread_state_runnable(thread);
diff --git a/packages/cacao/files/cacao-0.98+svn-classpath_var.patch b/packages/cacao/files/cacao-0.98+svn-classpath_var.patch
new file mode 100644 (file)
index 0000000..255281d
--- /dev/null
@@ -0,0 +1,56 @@
+Index: cacao-trunk/src/vm/properties.c
+===================================================================
+--- cacao-trunk.orig/src/vm/properties.c       2007-08-31 13:28:53.000000000 +0200
++++ cacao-trunk/src/vm/properties.c    2007-09-03 00:36:14.000000000 +0200
+@@ -294,14 +294,14 @@
+               len =
+                       strlen(CACAO_VM_ZIP) +
+                       strlen(":") +
+-                      strlen(CLASSPATH_CLASSES) +
++                      strlen(TARGET_CLASSPATH_CLASSES) +
+                       strlen("0");
+               boot_class_path = MNEW(char, len);
+               strcpy(boot_class_path, CACAO_VM_ZIP);
+               strcat(boot_class_path, ":");
+-              strcat(boot_class_path, CLASSPATH_CLASSES);
++              strcat(boot_class_path, TARGET_CLASSPATH_CLASSES);
+ # elif defined(WITH_CLASSPATH_SUN)
+Index: cacao-trunk/configure.ac
+===================================================================
+--- cacao-trunk.orig/configure.ac      2007-08-31 13:22:03.000000000 +0200
++++ cacao-trunk/configure.ac   2007-08-31 13:30:44.000000000 +0200
+@@ -851,6 +851,7 @@
+ AC_CHECK_WITH_CLASSPATH
+ AC_CHECK_WITH_CLASSPATH_PREFIX
+ AC_CHECK_WITH_CLASSPATH_CLASSES
++AC_CHECK_WITH_TARGET_CLASSPATH_CLASSES
+ AC_CHECK_WITH_CLASSPATH_LIBDIR
+ AC_CHECK_WITH_CLASSPATH_INCLUDEDIR
+Index: cacao-trunk/m4/classpath.m4
+===================================================================
+--- cacao-trunk.orig/m4/classpath.m4   2007-08-31 13:22:21.000000000 +0200
++++ cacao-trunk/m4/classpath.m4        2007-08-31 13:30:55.000000000 +0200
+@@ -98,6 +98,18 @@
+ AC_SUBST(CLASSPATH_CLASSES)
+ ])
++dnl where are Java core library classes installed on the target
++
++AC_DEFUN([AC_CHECK_WITH_TARGET_CLASSPATH_CLASSES],[
++AC_MSG_CHECKING(where Java core library classes are installed on the target)
++AC_ARG_WITH([target-classpath-classes],
++            [AS_HELP_STRING(--with-target-classpath-classes=<path>,path to Java core library classes (includes the name of the file and may be flat) [[default=/usr/local/classpath/share/classpath/glibj.zip]])],
++            [TARGET_CLASSPATH_CLASSES=${withval}],
++            [TARGET_CLASSPATH_CLASSES=${CLASSPATH_PREFIX}/share/classpath/glibj.zip])
++AC_MSG_RESULT(${TARGET_CLASSPATH_CLASSES})
++AC_DEFINE_UNQUOTED([TARGET_CLASSPATH_CLASSES], "${TARGET_CLASSPATH_CLASSES}", [Java core library classes on the target])
++AC_SUBST(TARGET_CLASSPATH_CLASSES)
++])
+ dnl where are Java core library native libraries installed
diff --git a/packages/cacao/files/cacao-0.98+svn-libdir.diff b/packages/cacao/files/cacao-0.98+svn-libdir.diff
new file mode 100644 (file)
index 0000000..f5cf9ba
--- /dev/null
@@ -0,0 +1,30 @@
+Index: cacao-trunk/src/vm/properties.c
+===================================================================
+--- cacao-trunk.orig/src/vm/properties.c       2007-08-31 13:20:41.000000000 +0200
++++ cacao-trunk/src/vm/properties.c    2007-09-04 14:54:19.000000000 +0200
+@@ -210,15 +210,22 @@
+ # if defined(WITH_CLASSPATH_GNU)
+-      boot_library_path = CLASSPATH_LIBDIR"/classpath";
++      boot_library_path = CLASSPATH_LIBDIR"/classpath:OE_LIBDIR_JNI";
+ # elif defined(WITH_CLASSPATH_SUN)
+-      boot_library_path = CLASSPATH_LIBDIR;
++      boot_library_path = CLASSPATH_LIBDIR":OE_LIBDIR_JNI";
+ # elif defined(WITH_CLASSPATH_CLDC1_1)
+-      /* No boot_library_path required. */
++      /* No boot_library_path required.
++           Well, don't be that strict on Debian-like
++           environments. Setting this to /usr/lib/jni
++           makes it unneccessary to fumble with
++           LD_LIBRARY_PATH to get things like MIDPath
++           running.
++        */
++      boot_library_path = "OE_LIBDIR_JNI";
+ # else
+ #  error unknown classpath configuration
diff --git a/packages/classpath/classpath-minimal_0.96.1.bb b/packages/classpath/classpath-minimal_0.96.1.bb
new file mode 100644 (file)
index 0000000..0597274
--- /dev/null
@@ -0,0 +1,17 @@
+require classpath.inc
+
+PR = "r3"
+
+SRC_URI += "file://gjar-prefix-patch.diff;patch=1;pnum=0"
+
+PROVIDES = "${PN} classpath"
+
+EXTRA_OECONF += "\
+                --enable-local-sockets \
+                --disable-alsa \
+                --disable-gconf-peer \
+                --disable-gtk-peer \
+                --disable-plugin \
+                --disable-dssi \
+                --disable-examples \
+               "
index d9498c9..97c081a 100644 (file)
@@ -3,28 +3,62 @@ HOMEPAGE = "http://www.gnu.org/software/classpath/"
 SECTION = "libs"
 PRIORITY = "optional"
 LICENSE = "Classpath"
-PROVIDES = "classpath"
-RPROVIDES = "classpath"
+PBN = "classpath"
 
-SRC_URI = "${GNU_MIRROR}/classpath/classpath-${PV}.tar.gz \
-           file://gconf_version.patch;patch=1 \
-           file://fix-endian-arm-floats.patch;patch=1"
+DEPENDS = "virtual/javac-native fastjar-native zip-native"
+RPROVIDES = ""
+
+RDEPENDS_${PN} = "${PBN}-common (>= ${PV})"
+
+RPROVIDES_${PN} = "${PBN}"
+RPROVIDES_${PN}-gtk = "${PBN}-awt"
+
+SRC_URI = "${GNU_MIRROR}/classpath/classpath-${PV}.tar.gz"
+
+S = "${WORKDIR}/${PBN}-${PV}"
+
+EXTRA_OECONF = "\
+  --with-glibj \
+  --with-ecj=javac \
+  --with-fastjar=fastjar \
+  --includedir=${includedir}/classpath \
+  --with-vm=java \
+  "
 
 inherit autotools
 
 do_stage() {
        install -d ${STAGING_INCDIR}/classpath
-       install -m 0755 include/jni* ${STAGING_INCDIR}/classpath/
+       install -m 0644 include/jni* ${STAGING_INCDIR}/classpath
+  install -m 0644 include/jni_md.h ${STAGING_INCDIR}/classpath/
+
+  install -d ${STAGING_DATADIR}/classpath
+  install -m 0644 lib/glibj.zip ${STAGING_DATADIR}/classpath  
 }
 
 do_install() {
        autotools_do_install
-       mv ${D}${libdir}/security ${D}${libdir}/${PN}
+       mv ${D}${libdir}/security ${D}${libdir}/${PBN}
 }
 
-PACKAGES =+ "classpath-common classpath-examples classpath-tools"
-FILES_classpath-common += "${datadir}/classpath/glibj.zip"
-FILES_classpath-examples += "${datadir}/classpath/examples"
-FILES_classpath-tools += "${datadir}/classpath/tools.zip ${datadir}/classpath/tools"
-FILES_classpath-dev += "${libdir}/*.so"
-FILES_classpath-dbg += "${libdir}/classpath/.debug"
+PACKAGES =+ "${PBN}-common ${PN}-examples \
+             ${PN}-tools ${PN}-tools-doc \
+             ${PN}-gtk ${PN}-gconf "
+
+FILES_${PN}-dev += "${libdir}/${PBN}/*.la ${incdir}/${PBN}"
+
+FILES_${PBN}-common = "${datadir}/${PBN}/glibj.zip ${libdir}/logging.properties ${libdir}/${PBN}/security"
+FILES_${PN}-examples = "${datadir}/${PBN}/examples"
+
+FILES_${PN}-tools = "${datadir}/${PBN}/tools.zip ${bindir}"
+FILES_${PN}-tools-doc = "${mandir}"
+
+FILES_${PN}-dbg += "${libdir}/${PBN}/.debug"
+FILES_${PN}-doc = "${infodir}"
+
+# gcjwebplugin - not built yet
+#FILES_${PN}-gcjwebplugin = "${libdir}/${PBN}/libgcjwebplugin.so"
+FILES_${PN}-gtk = "${libdir}/${PBN}/libgtkpeer.so ${libdir}/${PBN}/libjawt.so"
+FILES_${PN}-gconf = "${libdir}/${PBN}/libgconfpeer.so"
+FILES_${PN} = "${libdir}/${PBN}/lib*so*"
+
diff --git a/packages/classpath/classpath_0.95.bb b/packages/classpath/classpath_0.95.bb
new file mode 100644 (file)
index 0000000..6b167a2
--- /dev/null
@@ -0,0 +1,20 @@
+require classpath.inc
+
+SRC_URI += "file://gjar-prefix-patch.diff;patch=1;pnum=0"
+
+PR = "r2"
+
+DEPENDS += "gtk+ gconf libxtst"
+
+EXTRA_OECONF += "\
+                --disable-alsa \
+                --disable-dssi \
+                --disable-qt4-peer \
+                --disable-plugin \
+                --enable-gconf-peer \
+                --enable-gtk-peer \
+                --enable-local-sockets \
+                --with-vm=java \
+               "
+
+
diff --git a/packages/classpath/classpath_0.96.1.bb b/packages/classpath/classpath_0.96.1.bb
new file mode 100644 (file)
index 0000000..6b167a2
--- /dev/null
@@ -0,0 +1,20 @@
+require classpath.inc
+
+SRC_URI += "file://gjar-prefix-patch.diff;patch=1;pnum=0"
+
+PR = "r2"
+
+DEPENDS += "gtk+ gconf libxtst"
+
+EXTRA_OECONF += "\
+                --disable-alsa \
+                --disable-dssi \
+                --disable-qt4-peer \
+                --disable-plugin \
+                --enable-gconf-peer \
+                --enable-gtk-peer \
+                --enable-local-sockets \
+                --with-vm=java \
+               "
+
+
index 27700d2..30f6785 100644 (file)
@@ -4,9 +4,6 @@ inherit native
 require midpath-cldc_${PV}.bb
 
 
-PROVIDES = "virtual/cldc-api-1.1-native"
-RPROVIDES = " "
-
 PACKAGES = " "
 
 do_install() {
index 9db0c4a..7c92621 100644 (file)
@@ -1,7 +1,7 @@
 
 require midpath.inc
 
-DEPENDS += " virtual/libx11 virtual/cldc-api-1.1"
+DEPENDS += "virtual/libx11 midpath-cldc"
 
 do_configure() {
        
index 51a1314..7aeefa5 100644 (file)
@@ -1,9 +1,6 @@
 
 require midpath.inc
 
-PROVIDES  = "virtual/cldc-api-1.1"
-RPROVIDES = "virtual/cldc-api-1.1"
-
 do_compile() {
 
 mkdir -p ${S}/dist
@@ -18,21 +15,21 @@ cd ${S}/src/cldc-glue
 make JAVAC=${JAVAC_CMD} JAVAC_FLAGS="-bootclasspath ${S}/external/cldc1.1/classes -sourcepath ${S}/src/cldc-glue -source 1.3 -target 1.1"
 make install JAVAC=${JAVAC_CMD} JAVAC_FLAGS="-bootclasspath ${S}/external/cldc1.1/classes -source 1.3 -target 1.1" CLASS_DIR=${S}/external/cldc1.1/classes
 # Make a jar
-${FASTJAR_CMD} cvf  ${S}/dist/cldc1.1.jar -C ${S}/external/cldc1.1/classes .
+${FASTJAR_CMD} cvf  ${S}/dist/midpath-cldc1.1.jar -C ${S}/external/cldc1.1/classes .
 
 
 }
 
 do_install() {
-       install -d ${D}${datadir}/java
-       install -m 0644 dist/cldc1.1.jar ${D}${datadir}/java
+       install -d ${D}${datadir}/midpath-cldc
+       install -m 0644 dist/midpath-cldc1.1.jar ${D}${datadir}/midpath-cldc
 }
 
 do_stage() {
-       install -d ${STAGING_DATADIR}/java
-       install -m 0644 dist/cldc1.1.jar ${STAGING_DATADIR}/java
+       install -d ${STAGING_DATADIR}/midpath-cldc
+       install -m 0644 dist/midpath-cldc1.1.jar ${STAGING_DATADIR}/midpath-cldc
 }
        
 PACKAGES = "${PN}"
 
-FILES_${PN}  = "${datadir}/java/cldc1.1.jar"
+FILES_${PN}  = "${datadir}/midpath-cldc/midpath-cldc1.1.jar"
index 9fa8fac..4bc3b71 100644 (file)
@@ -9,7 +9,7 @@ SRC_URI = "http://downloads.sourceforge.net/midpath/midpath-${PV}.tar.gz"
 
 S = "${WORKDIR}/midpath-${PV}"
 
-DEPENDS = "virtual/javac-native fastjar-native classpath-minimal"
+DEPENDS = "virtual/javac-native fastjar-native classpath"
 
 JAVAC_CMD = "${STAGING_BINDIR_NATIVE}/javac"
 
@@ -17,6 +17,6 @@ FASTJAR_CMD = "${STAGING_BINDIR_NATIVE}/fastjar"
 
 JAVA_PATH = "${STAGING_DATADIR}/java"
 
-GNU_CLASSPATH_PATH = "${JAVA_PATH}/classpath-minimal/glibj.zip"
+GNU_CLASSPATH_PATH = "${JAVA_PATH}/classpath/glibj.zip"
 
-CLDC_PATH = ${JAVA_PATH}/cldc1.1.jar
+CLDC_PATH = ${STAGING_DATADIR}/midpath-cldc/midpath-cldc1.1.jar
diff --git a/packages/obsolete/classpath/.mtn2git_empty b/packages/obsolete/classpath/.mtn2git_empty
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/packages/obsolete/classpath/classpath.inc b/packages/obsolete/classpath/classpath.inc
new file mode 100644 (file)
index 0000000..d9498c9
--- /dev/null
@@ -0,0 +1,30 @@
+DESCRIPTION = "GNU Classpath standard Java libraries"
+HOMEPAGE = "http://www.gnu.org/software/classpath/"
+SECTION = "libs"
+PRIORITY = "optional"
+LICENSE = "Classpath"
+PROVIDES = "classpath"
+RPROVIDES = "classpath"
+
+SRC_URI = "${GNU_MIRROR}/classpath/classpath-${PV}.tar.gz \
+           file://gconf_version.patch;patch=1 \
+           file://fix-endian-arm-floats.patch;patch=1"
+
+inherit autotools
+
+do_stage() {
+       install -d ${STAGING_INCDIR}/classpath
+       install -m 0755 include/jni* ${STAGING_INCDIR}/classpath/
+}
+
+do_install() {
+       autotools_do_install
+       mv ${D}${libdir}/security ${D}${libdir}/${PN}
+}
+
+PACKAGES =+ "classpath-common classpath-examples classpath-tools"
+FILES_classpath-common += "${datadir}/classpath/glibj.zip"
+FILES_classpath-examples += "${datadir}/classpath/examples"
+FILES_classpath-tools += "${datadir}/classpath/tools.zip ${datadir}/classpath/tools"
+FILES_classpath-dev += "${libdir}/*.so"
+FILES_classpath-dbg += "${libdir}/classpath/.debug"
diff --git a/packages/obsolete/classpath/files/.mtn2git_empty b/packages/obsolete/classpath/files/.mtn2git_empty
new file mode 100644 (file)
index 0000000..e69de29