midpath: inital support for midpath
authorHenning Heinold <heinold@inf.fu-berlin.de>
Wed, 8 Aug 2007 21:15:31 +0000 (21:15 +0000)
committerHenning Heinold <heinold@inf.fu-berlin.de>
Wed, 8 Aug 2007 21:15:31 +0000 (21:15 +0000)
* puts java-cldc1.1 support in oe
* split in servals packages, because more than one native UI is
support
* its support for now qte, qt3x11, x11 and awt
* there is more work to do for integrate more modules
  like bluetooth, sdl or pluseaudio
* upstream will start to switch to autotools

packages/midpath/.mtn2git_empty [new file with mode: 0644]
packages/midpath/midpath-alsa_svn.bb [new file with mode: 0644]
packages/midpath/midpath-cldc-x11_svn.bb [new file with mode: 0644]
packages/midpath/midpath-gtk_svn.bb [new file with mode: 0644]
packages/midpath/midpath-native_svn.bb [new file with mode: 0644]
packages/midpath/midpath-qt3x11_svn.bb [new file with mode: 0644]
packages/midpath/midpath-qte_svn.bb [new file with mode: 0644]
packages/midpath/midpath_svn.bb [new file with mode: 0644]

diff --git a/packages/midpath/.mtn2git_empty b/packages/midpath/.mtn2git_empty
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/packages/midpath/midpath-alsa_svn.bb b/packages/midpath/midpath-alsa_svn.bb
new file mode 100644 (file)
index 0000000..7d230f3
--- /dev/null
@@ -0,0 +1,42 @@
+
+require midpath_${PV}.bb
+
+DEPENDS += "alsa-lib"
+RDEPENDS = "alsa-lib"
+
+do_configure() {
+       cd ${S}/native/alsa
+       sed -i -e "s|\-I/usr/include/classpath|\-I${STAGING_INCDIR}/classpath-minimal|" Makefile
+       cd ${S}/resources-embedded/com/sun/midp/configuration
+       sed -i -e "s|sound.backend:NULL|sound.backend:ALSA|" configuration.cfg
+}
+
+do_compile() {
+
+mkdir -p ${S}/dist
+
+# Build native code
+
+# Build the ALSA native part
+cd ${S}/native/alsa
+make || exit 1
+cp *.so ${S}/dist
+
+}
+
+do_install() {
+       install -d ${D}${libdir}
+       install -m 0644 dist/libmidpathalsa.so ${D}${libdir}
+       install -d ${D}${libdir}/java/resources-embedded/com/sun/midp/configuration
+       install -m 0644 resources-embedded/com/sun/midp/configuration/configuration.cfg ${D}${libdir}/java/resources-embedded/com/sun/midp/configuration/
+}
+
+do_stage() {
+       :
+}
+       
+PACKAGES = "${PN}"
+
+FILES_${PN}  = "${libdir}/libmidpathalsa.so \
+                ${libdir}/java/resources-embedded/com/sun/midp/configuration/configuration.cfg \
+              "
diff --git a/packages/midpath/midpath-cldc-x11_svn.bb b/packages/midpath/midpath-cldc-x11_svn.bb
new file mode 100644 (file)
index 0000000..1aac202
--- /dev/null
@@ -0,0 +1,43 @@
+
+require midpath_${PV}.bb
+
+DEPENDS += "virtual/libx11 virtual/cldc-api-1.1"
+RDEPENDS = "libx11"
+
+CLDC_PATH = ${STAGING_LIBDIR}/java/cldc1.1.jar
+
+do_configure() {
+       
+       cd ${S}/resources-embedded/com/sun/midp/configuration
+       sed -i -e "s|ui.backend:AWT|ui.backend:X11|" configuration.cfg
+
+}
+
+do_compile() {
+
+mkdir -p ${S}/dist
+
+# Build Escher X11 library
+cd ${S}/external/escher-cldc/core
+make JAVAC=${JAVAC_CMD} JAVAC_FLAGS="-bootclasspath ${CLDC_PATH} -sourcepath ${S}/external/escher-cldc/core -source 1.3 -target 1.1" || exit 1
+make jar JAVAC=${JAVAC_CMD} JAVAC_FLAGS="-bootclasspath ${CLDC_PATH} -source 1.3 -target 1.1" JAR_FILE="escher-x11-cldc.jar" JAR_FLAGS="cvf" || exit 1
+cp ${S}/external/escher-cldc/core/escher-x11-cldc.jar ${S}/dist
+
+}
+
+do_install() {
+       install -d ${D}${libdir}
+       install -m 0644 dist/escher-x11-cldc.jar ${D}${libdir}
+       install -d ${D}${libdir}/java/resources-embedded/com/sun/midp/configuration
+       install -m 0644 resources-embedded/com/sun/midp/configuration/configuration.cfg ${D}${libdir}/java/resources-embedded/com/sun/midp/configuration/
+}
+
+do_stage() {
+       :
+}
+       
+PACKAGES = "${PN}"
+
+FILES_${PN}  = "${libdir}/java/escher-x11-cldc.jar \
+               ${libdir}/java/resources-embedded/com/sun/midp/configuration/configuration.cfg \
+              "
diff --git a/packages/midpath/midpath-gtk_svn.bb b/packages/midpath/midpath-gtk_svn.bb
new file mode 100644 (file)
index 0000000..3ee0d40
--- /dev/null
@@ -0,0 +1,43 @@
+
+require midpath_${PV}.bb
+
+DEPENDS += "gtk+"
+RDEPENDS = "gtk+"
+
+do_configure() {
+       
+       cd ${S}/resources-embedded/com/sun/midp/configuration
+       sed -i -e "s|ui.backend:AWT|ui.backend:GTK|" configuration.cfg
+
+       cd ${S}/native/gtk
+        sed -i -e "s|\-I/usr/include/classpath|\-I${STAGING_INCDIR}/classpath-minimal|" Makefile
+
+}
+
+do_compile() {
+
+mkdir -p ${S}/dist
+
+# Build the GTK native part
+cd ${S}/native/gtk
+make || exit 1
+cp *.so ${S}/dist
+
+}
+
+do_install() {
+       install -d ${D}${libdir}
+       install -m 0644 dist/libmidpathgtk.so ${D}${libdir}
+       install -d ${D}${libdir}/java/resources-embedded/com/sun/midp/configuration
+       install -m 0644 resources-embedded/com/sun/midp/configuration/configuration.cfg ${D}${libdir}/java/resources-embedded/com/sun/midp/configuration/
+}
+
+do_stage() {
+       :
+}
+       
+PACKAGES = "${PN}"
+
+FILES_${PN}  = "${libdir}/libmidpathgtk.so \
+               ${libdir}/java/resources-embedded/com/sun/midp/configuration/configuration.cfg \
+              "
diff --git a/packages/midpath/midpath-native_svn.bb b/packages/midpath/midpath-native_svn.bb
new file mode 100644 (file)
index 0000000..199facd
--- /dev/null
@@ -0,0 +1,34 @@
+
+inherit native
+
+require midpath_${PV}.bb
+
+DEPENDS = "ecj-native fastjar-native classpath-minimal-native"
+PROVIDES = "virtual/cldc-api-1.1"
+
+PACKAGES = " "
+
+
+do_configure() {
+       :
+}
+
+do_compile() {
+mkdir -p ${S}/dist
+
+# Build CLDC1.1
+# Build base classes
+cd ${S}/external/cldc1.1/src
+make JAVAC=${JAVAC_CMD} JAVAC_FLAGS="-bootclasspath . -source 1.3 -target 1.1" || exit 1
+make install JAVAC=${JAVAC_CMD} JAVAC_FLAGS="-bootclasspath . -source 1.3 -target 1.1" CLASS_DIR=${S}/external/cldc1.1/classes || exit 1
+# Build CLDC extra classes for MIDP2
+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 cvf  ${S}/dist/cldc1.1.jar -C ${S}/external/cldc1.1/classes .
+}
+
+do_install() {
+       :
+}
diff --git a/packages/midpath/midpath-qt3x11_svn.bb b/packages/midpath/midpath-qt3x11_svn.bb
new file mode 100644 (file)
index 0000000..30e855a
--- /dev/null
@@ -0,0 +1,48 @@
+
+require midpath_${PV}.bb
+
+DEPENDS += "qt-mt"
+RDEPENDS = "qt-mt"
+RCONFILCTS = "midpath-qte"
+
+inherit qt3x11
+
+do_configure() {
+       
+       cd ${S}/resources-embedded/com/sun/midp/configuration
+       sed -i -e "s|ui.backend:AWT|ui.backend:QT|" configuration.cfg
+
+       cd ${S}/native/qt
+        sed -i -e "s|\-I/usr/include/classpath|\-I${STAGING_INCDIR}/classpath-minimal|" \
+               -e "s|\`pkg\-config \-\-cflags qt\-mt\`|\-I${QTDIR}/include/ -DQT_THREAD_SUPPORT|" \
+               -e "s|\`pkg\-config \-\-libs qt\-mt\`|\-L${QTDIR}/lib \-lqt-mt -lsupc++|" \
+               Makefile
+}
+
+do_compile() {
+
+mkdir -p ${S}/dist
+
+# Build the QT native part
+cd ${S}/native/qt
+make || exit 1
+cp *.so ${S}/dist
+
+}
+
+do_install() {
+       install -d ${D}${libdir}
+       install -m 0644 dist/libmidpathqt.so ${D}${libdir}
+       install -d ${D}${libdir}/java/resources-embedded/com/sun/midp/configuration
+       install -m 0644 resources-embedded/com/sun/midp/configuration/configuration.cfg ${D}${libdir}/java/resources-embedded/com/sun/midp/configuration/
+}
+
+do_stage() {
+       :
+}
+       
+PACKAGES = "${PN}"
+
+FILES_${PN}  = "${libdir}/libmidpathqt.so \
+               ${libdir}/java/resources-embedded/com/sun/midp/configuration/configuration.cfg \
+              "
diff --git a/packages/midpath/midpath-qte_svn.bb b/packages/midpath/midpath-qte_svn.bb
new file mode 100644 (file)
index 0000000..478883e
--- /dev/null
@@ -0,0 +1,46 @@
+
+require midpath_${PV}.bb
+
+DEPENDS += "qte-mt"
+RDEPENDS = "qte-mt"
+RCONFLICTS = "midpath-qt3x11"
+
+do_configure() {
+       
+       cd ${S}/resources-embedded/com/sun/midp/configuration
+       sed -i -e "s|ui.backend:AWT|ui.backend:QT|" configuration.cfg
+
+       cd ${S}/native/qt
+        sed -i -e "s|\-I/usr/include/classpath|\-I${STAGING_INCDIR}/classpath-minimal -DQWS|" \
+               -e "s|\`pkg\-config \-\-cflags qt\-mt\`|\-I${QTDIR}/include/ -DQWS -DQT_THREAD_SUPPORT|" \
+               -e "s|\`pkg\-config \-\-libs qt\-mt\`|\-L${QTDIR}/lib \-lqte-mt -lsupc++|" \
+               Makefile
+}
+
+do_compile() {
+
+mkdir -p ${S}/dist
+
+# Build the QT native part
+cd ${S}/native/qt
+make || exit 1
+cp *.so ${S}/dist
+
+}
+
+do_install() {
+       install -d ${D}${libdir}
+       install -m 0644 dist/libmidpathqt.so ${D}${libdir}
+       install -d ${D}${libdir}/java/resources-embedded/com/sun/midp/configuration
+       install -m 0644 resources-embedded/com/sun/midp/configuration/configuration.cfg ${D}${libdir}/java/resources-embedded/com/sun/midp/configuration/
+}
+
+do_stage() {
+       :
+}
+       
+PACKAGES = "${PN}"
+
+FILES_${PN}  = "${libdir}/libmidpathqt.so \
+               ${libdir}/java/resources-embedded/com/sun/midp/configuration/configuration.cfg \
+              "
diff --git a/packages/midpath/midpath_svn.bb b/packages/midpath/midpath_svn.bb
new file mode 100644 (file)
index 0000000..0de15a3
--- /dev/null
@@ -0,0 +1,110 @@
+DESCRIPTION = "MIDPath is a Java library which provides a MIDP2 implementation"
+HOMEPAGE = "http://midpath.thenesis.org/"
+LICENSE  = "GPL"
+PRIORITY = "optional"
+SECTION  = "interpreters"
+
+SRC_URI = "svn://midpath.svn.sourceforge.net/svnroot/midpath;module=trunk;proto=https"
+
+S = "${WORKDIR}/trunk"
+
+DEPENDS = "ecj-native fastjar-native classpath-minimal"
+RPROVIDES_midpath-cldc = "virtual/cldc-api-1.1"
+
+JAVAC_CMD=${STAGING_BINDIR_NATIVE}/ecj
+
+GNU_CLASSPATH_PATH=${STAGING_LIBDIR}/java/classpath-minimal/glibj.zip
+
+do_compile() {
+
+mkdir -p ${S}/dist
+
+# Build CLDC1.1
+# Build base classes
+cd ${S}/external/cldc1.1/src
+make JAVAC=${JAVAC_CMD} JAVAC_FLAGS="-bootclasspath . -source 1.3 -target 1.1" || exit 1
+make install JAVAC=${JAVAC_CMD} JAVAC_FLAGS="-bootclasspath . -source 1.3 -target 1.1" CLASS_DIR=${S}/external/cldc1.1/classes || exit 1
+# Build CLDC extra classes for MIDP2
+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 cvf  ${S}/dist/cldc1.1.jar -C ${S}/external/cldc1.1/classes .
+
+CLDC_PATH=${S}/dist/cldc1.1.jar
+
+# Build SDLJava for CLDC
+cd ${S}/external/sdljava-cldc
+make JAVAC=${JAVAC_CMD} JAVAC_FLAGS="-bootclasspath $CLDC_PATH:${GNU_CLASSPATH_PATH} -sourcepath ${S}/external/sdljava-cldc -source 1.3 -target 1.1" || exit 1
+make jar JAVAC=${JAVAC_CMD} JAVAC_FLAGS="-bootclasspath $CLDC_PATH:${GNU_CLASSPATH_PATH} -source 1.3 -target 1.1" JAR_FILE="sdljava-cldc.jar" JAR_FLAGS="cvf" || exit 1
+cp ${S}/external/sdljava-cldc/sdljava-cldc.jar ${S}/dist
+
+# Build Escher X11 library
+cd ${S}/external/escher-cldc/core
+make JAVAC=${JAVAC_CMD} JAVAC_FLAGS="-bootclasspath $CLDC_PATH -sourcepath ${S}/external/escher-cldc/core -source 1.3 -target 1.1" || exit 1
+make jar JAVAC=${JAVAC_CMD} JAVAC_FLAGS="-bootclasspath $CLDC_PATH -source 1.3 -target 1.1" JAR_FILE="escher-x11-cldc.jar" JAR_FLAGS="cvf" || exit 1
+cp ${S}/external/escher-cldc/core/escher-x11-cldc.jar ${S}/dist
+
+# Build MP3 library
+cd ${S}/external/jlayerme-cldc/src
+make JAVAC=${JAVAC_CMD} JAVAC_FLAGS="-bootclasspath $CLDC_PATH -sourcepath ${S}/external/jlayerme-cldc/src -source 1.3 -target 1.1" || exit 1
+make jar JAVAC=${JAVAC_CMD} JAVAC_FLAGS="-bootclasspath $CLDC_PATH -source 1.3 -target 1.1" JAR_FILE="jlayerme-cldc.jar" JAR_FLAGS="cvf" || exit 1
+cp ${S}/external/jlayerme-cldc/src/jlayerme-cldc.jar ${S}/dist
+
+# Build OGG library
+cd ${S}/external/jorbis-cldc/src
+make JAVAC=${JAVAC_CMD} JAVAC_FLAGS="-bootclasspath $CLDC_PATH -sourcepath ${S}/external/jorbis-cldc/src -source 1.3 -target 1.1" || exit 1
+make jar JAVAC=${JAVAC_CMD} JAVAC_FLAGS="-bootclasspath $CLDC_PATH -source 1.3 -target 1.1" JAR_FILE="jorbis-cldc.jar" JAR_FLAGS="cvf" || exit 1
+cp ${S}/external/jorbis-cldc/src/jorbis-cldc.jar ${S}/dist
+
+# Build Bluetooth library
+cd ${S}/external/javabluetooth/src
+make JAVAC=${JAVAC_CMD} JAVAC_FLAGS="-bootclasspath ${GNU_CLASSPATH_PATH}:$CLDC_PATH:${S}/lib/RXTXcomm.jar -sourcepath ${S}/external/javabluetooth/src -source 1.3 -target 1.1" || exit 1
+make jar JAVAC=${JAVAC_CMD} JAVAC_FLAGS="-bootclasspath ${GNU_CLASSPATH_PATH}:$CLDC_PATH:${S}/lib/RXTXcomm.jar -source 1.3 -target 1.1" JAR_FILE="jsr82-bluetooth.jar" JAR_FLAGS="cvf" || exit 1
+cp ${S}/external/javabluetooth/src/jsr82-bluetooth.jar ${S}/dist
+
+# Build MIDPath
+cd ${S}/src/core
+make JAVAC=${JAVAC_CMD} JAVAC_FLAGS="-bootclasspath $CLDC_PATH:${GNU_CLASSPATH_PATH}:${S}/dist/sdljava-cldc.jar:${S}/dist/escher-x11-cldc.jar:${S}/dist/jlayerme-cldc.jar:${S}/dist/jorbis-cldc.jar:${S}/dist/jsr82-bluetooth.jar:${S}/lib/kxml2-2.3.0.jar:${S}/lib/swt.jar -sourcepath ${S}/src/core -source 1.3 -target 1.1" || exit 1
+make install JAVAC=${JAVAC_CMD} JAVAC_FLAGS="-bootclasspath $CLDC_PATH:${GNU_CLASSPATH_PATH}:${S}/dist/sdljava-cldc.jar:${S}/dist/escher-x11-cldc.jar:${S}/dist/jlayerme-cldc.jar:${S}/dist/jorbis-cldc.jar:${S}/dist/jsr82-bluetooth.jar:${S}/lib/kxml2-2.3.0.jar:${S}/lib/swt.jar -source 1.3 -target 1.1" CLASS_DIR=${S}/src/core/classes || exit 1
+# Compile JVM.java separately as it can't be compiled against cldc.jar
+ecj -bootclasspath ${GNU_CLASSPATH_PATH} -source 1.3 -target 1.1 -d ${S}/src/core/classes com/sun/cldchi/jvm/JVM.java
+jar cvf ${S}/dist/midpath.jar -C ${S}/src/core/classes .
+
+cd ${S}/tests
+make JAVAC=${JAVAC_CMD} JAVAC_FLAGS="-bootclasspath ${S}/dist/midpath.jar:$CLDC_PATH -sourcepath ${S}/tests -source 1.3 -target 1.1" || exit 1
+make jar JAVAC=${JAVAC_CMD} JAVAC_FLAGS="-bootclasspath ${S}/dist/midpath.jar:$CLDC_PATH -source 1.3 -target 1.1" JAR_FILE="midpath-tests.jar" JAR_FLAGS="cvf" || exit 1
+cp ${S}/tests/midpath-tests.jar ${S}/dist
+
+# Add other required libraries to the dist directory
+cp ${S}/lib/kxml2-2.3.0.jar ${S}/dist
+}
+
+do_install() {
+       install -d ${D}${libdir}/java
+       install -m 0644 dist/*.jar ${D}${libdir}/java
+       install -d ${D}${libdir}/java/resources-embedded
+       cp -rf resources-embedded/* ${D}${libdir}/java/resources-embedded/
+       rm -rf  ${D}${libdir}/java/resources-embedded/.svn
+}
+
+do_stage() {
+       install -d ${STAGING_LIBDIR}/java
+       install -m 0644 dist/cldc1.1.jar ${STAGING_LIBDIR}/java
+}
+
+PACKAGES = "${PN} ${PN}-cldc"
+
+FILES_${PN} = "${libdir}/java/midpath.jar \
+              ${libdir}/java/midpath-tests.jar \
+              ${libdir}/java/kxml2-2.3.0.jar \
+              ${libdir}/java/resources-embedded/com/sun/midp/configuration/ \
+              ${libdir}/java/resources-embedded/com/sun/midp/configuration/chameleon/ \
+              ${libdir}/java/resources-embedded/com/sun/midp/configuration/l10n/ \
+              ${libdir}/java/resources-embedded/com/sun/midp/chameleon/skins/resources/images/ \
+
+              ${libdir}/java/resources-embedded/org/thenesis/midpath/font/bdf/ \
+             " 
+FILES_${PN}-cldc =  "${libdir}/java/cldc1.1.jar"
+
+CONFFILES_${PN} = "${libdir}/java/resources-embedded/com/sun/midp/configuration/configuration.cfg"