diff options
Diffstat (limited to 'packages/kaffe/kaffe.inc')
-rw-r--r-- | packages/kaffe/kaffe.inc | 80 |
1 files changed, 80 insertions, 0 deletions
diff --git a/packages/kaffe/kaffe.inc b/packages/kaffe/kaffe.inc index e69de29bb2..48023d4f9f 100644 --- a/packages/kaffe/kaffe.inc +++ b/packages/kaffe/kaffe.inc @@ -0,0 +1,80 @@ +DESCRIPTION = "Kaffe is a clean room implementation of the Java Virtual Machine" +HOMEPAGE = "http://www.kaffe.org/" +LICENSE = "GPL LGPL W3C Classpath BSD" + +DEPENDS = "jikes-native fastjar-native" + +SRC_URI = "cvs://readonly:readonly@cvs.kaffe.org/cvs/kaffe;module=kaffe \ + file://disable-automake-checks.patch;patch=1" +S = "${WORKDIR}/kaffe" + +inherit autotools gettext + +EXTRA_OECONF = "--with-engine=jit \ + --with-threads=unix-pthreads \ + --disable-alsatest \ + --disable-esdtest \ + --disable-sound \ + --with-jikes" + +# kaffe installs to non-standard locations. apply a similar workaround to +# the one used in debian. i.e. override prefix +oe_runconf () { + if [ -x ${S}/configure ] ; then + cfgcmd="${S}/configure \ + --build=${BUILD_SYS} \ + --host=${HOST_SYS} \ + --target=${TARGET_SYS} \ + --prefix=${libdir}/${PN} \ + --datadir=${datadir} \ + --sysconfdir=${sysconfdir} \ + --sharedstatedir=${sharedstatedir}/${PN} \ + --includedir=${includedir} \ + --oldincludedir=${oldincludedir} \ + --infodir=${infodir} \ + --mandir=${mandir} \ + ${EXTRA_OECONF} \ + $@" + oenote "Running $cfgcmd..." + $cfgcmd || oefatal "oe_runconf failed" + else + oefatal "no configure script found" + fi +} +FILES_${PN} += "${libdir}/${PN}" + +do_install () { + autotools_do_install + + # move partially duplicate stuff to a single location + mv -f ${D}${libdir}/${PN}/bin/* ${D}${libdir}/${PN}/jre/bin + rmdir ${D}${libdir}/${PN}/bin +} + +# use update-alternatives for the various wrapper scripts +alternative_names = "appletviewer \ +install-jar \ +jar \ +java \ +javac \ +javadoc \ +javah \ +javap \ +kaffe \ +kaffeh \ +native2ascii \ +rmic \ +rmiregistry \ +serialver" + +pkg_postinst() { + for name in ${alternative_names}; do + update-alternatives --install ${bindir}/$name $name ${libdir}/${PN}/jre/bin/$name 300 + done +} + +pkg_postrm() { + for name in ${alternative_names}; do + update-alternatives --remove $name ${libdir}/${PN}/jre/bin/$name + done +} |