Add SableVM packages
authorNicolas Thill <nico@openwrt.org>
Tue, 24 May 2005 05:59:17 +0000 (05:59 +0000)
committerNicolas Thill <nico@openwrt.org>
Tue, 24 May 2005 05:59:17 +0000 (05:59 +0000)
SVN-Revision: 1048

14 files changed:
openwrt/package/Config.in
openwrt/package/Makefile
openwrt/package/libffi-sable/Config.in [new file with mode: 0644]
openwrt/package/libffi-sable/Makefile [new file with mode: 0644]
openwrt/package/libffi-sable/ipkg/libffi-sable.control [new file with mode: 0644]
openwrt/package/sablevm-classpath/Config.in [new file with mode: 0644]
openwrt/package/sablevm-classpath/Makefile [new file with mode: 0644]
openwrt/package/sablevm-classpath/files/mini.classlist [new file with mode: 0644]
openwrt/package/sablevm-classpath/ipkg/libsablevm-classpath.control [new file with mode: 0644]
openwrt/package/sablevm-classpath/ipkg/sablevm-classpath-full.control [new file with mode: 0644]
openwrt/package/sablevm-classpath/ipkg/sablevm-classpath-mini.control [new file with mode: 0644]
openwrt/package/sablevm/Config.in [new file with mode: 0644]
openwrt/package/sablevm/Makefile [new file with mode: 0644]
openwrt/package/sablevm/ipkg/sablevm.control [new file with mode: 0644]

index 49c540e1a804e70c10c8ec2cf0f07222a404553f..7e81af5a70fdbd0072db1ab879b1e90615ff97c9 100644 (file)
@@ -15,6 +15,11 @@ source "package/lcd4linux/Config.in"
 source "package/microperl/Config.in"
 source "package/monit/Config.in"
 source "package/osiris/Config.in"
+menu "sablevm - a Java Virtual Machine (JVM) implementation"
+source "package/sablevm/Config.in"
+source "package/sablevm-classpath/Config.in"
+source "package/libffi-sable/Config.in"
+endmenu
 source "package/screen/Config.in"
 
 comment "Networking"
index 2a2aca6268c294f7f5d4625e60742f49b575f7ff..5dd8432b6c0cacf61b981daba4ce98cd2ef14c7c 100644 (file)
@@ -37,6 +37,7 @@ package-$(BR2_PACKAGE_L2TPD) += l2tpd
 package-$(BR2_PACKAGE_LCD4LINUX) += lcd4linux
 package-$(BR2_PACKAGE_LIBELF) += libelf
 package-$(BR2_PACKAGE_LIBEVENT) += libevent
+package-$(BR2_PACKAGE_LIBFFI_SABLE) += libffi-sable
 package-$(BR2_PACKAGE_LIBGD) += libgd
 package-$(BR2_PACKAGE_LIBNET) += libnet
 package-$(BR2_PACKAGE_LIBOSIP2) += libosip2
@@ -77,6 +78,8 @@ package-$(BR2_PACKAGE_PPTPD) += pptpd
 package-$(BR2_PACKAGE_QUAGGA) += quagga
 package-$(BR2_PACKAGE_RADVD) += radvd
 package-$(BR2_PACKAGE_ROBOCFG) += robocfg
+package-$(BR2_PACKAGE_SABLEVM) += sablevm
+package-$(BR2_PACKAGE_SABLEVM_CLASSPATH) += sablevm-classpath
 package-$(BR2_PACKAGE_SCREEN) += screen
 package-$(BR2_PACKAGE_SDK) += sdk
 package-$(BR2_PACKAGE_SER) += ser
diff --git a/openwrt/package/libffi-sable/Config.in b/openwrt/package/libffi-sable/Config.in
new file mode 100644 (file)
index 0000000..afdf2a2
--- /dev/null
@@ -0,0 +1,12 @@
+config BR2_PACKAGE_LIBFFI_SABLE
+       tristate "libffi-sable - Foreign Function Interface library (for sablevm)"
+#      default m if CONFIG_DEVEL
+       default n
+       help
+         The libffi library provides a portable, high level programming
+         interface to various calling conventions. This allows a programmer to
+         call any function specified by a call interface description at run
+         time.  
+         
+         http://sources.redhat.com/libffi/
+         
diff --git a/openwrt/package/libffi-sable/Makefile b/openwrt/package/libffi-sable/Makefile
new file mode 100644 (file)
index 0000000..a8b8ac7
--- /dev/null
@@ -0,0 +1,84 @@
+# $Id$
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=libffi-sable
+PKG_VERSION:=3325
+PKG_RELEASE:=3
+PKG_MD5SUM:=0c32eaaea0269c5fbe156fcd0be3e5bd
+
+PKG_SOURCE_URL:=http://sablevm.org/download/snapshot/2005-01-21/
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
+PKG_CAT:=zcat
+
+PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
+PKG_INSTALL_DIR:=$(PKG_BUILD_DIR)/ipkg-install
+
+include $(TOPDIR)/package/rules.mk
+
+BR2_PACKAGE_LIBFFI_SABLE=m
+
+$(eval $(call PKG_template,LIBFFI_SABLE,libffi-sable,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
+
+$(PKG_BUILD_DIR)/.configured:
+       (cd $(PKG_BUILD_DIR); rm -rf config.{cache,status} ; \
+               $(TARGET_CONFIGURE_OPTS) \
+               CFLAGS="$(strip $(TARGET_CFLAGS))" \
+               CPPFLAGS="-I$(STAGING_DIR)/usr/include" \
+               LDFLAGS="-L$(STAGING_DIR)/usr/lib" \
+               ./configure \
+                 --target=$(GNU_TARGET_NAME) \
+                 --host=$(GNU_TARGET_NAME) \
+                 --build=$(GNU_HOST_NAME) \
+                 --program-prefix="" \
+                 --program-suffix="" \
+                 --prefix=/usr \
+                 --exec-prefix=/usr \
+                 --bindir=/usr/bin \
+                 --datadir=/usr/share \
+                 --includedir=/usr/include \
+                 --infodir=/usr/share/info \
+                 --libdir=/usr/lib \
+                 --libexecdir=/usr/lib \
+                 --localstatedir=/var \
+                 --mandir=/usr/share/man \
+                 --sbindir=/usr/sbin \
+                 --sysconfdir=/etc \
+                 $(DISABLE_LARGEFILE) \
+                 $(DISABLE_NLS) \
+                 --enable-shared \
+                 --enable-static \
+                 --disable-debug \
+       );
+       touch $@
+
+$(PKG_BUILD_DIR)/.built:
+       rm -rf $(PKG_INSTALL_DIR)
+       mkdir -p $(PKG_INSTALL_DIR)
+       $(MAKE) -C $(PKG_BUILD_DIR) \
+               DESTDIR="$(PKG_INSTALL_DIR)" \
+               all install
+       touch $@
+
+$(IPKG_LIBFFI_SABLE):
+       install -m0755 -d $(IDIR_LIBFFI_SABLE)/usr/lib
+       cp -fp $(PKG_INSTALL_DIR)/usr/lib/libffi.so.* $(IDIR_LIBFFI_SABLE)/usr/lib/
+       $(RSTRIP) $(IDIR_LIBFFI_SABLE)
+       $(IPKG_BUILD) $(IDIR_LIBFFI_SABLE) $(PACKAGE_DIR)
+
+$(STAGING_DIR)/usr/lib/libffi.so: $(PKG_BUILD_DIR)/.built
+       mkdir -p $(STAGING_DIR)/usr/include
+       cp -fp $(PKG_INSTALL_DIR)/usr/include/ffi{,target}.h $(STAGING_DIR)/usr/include/
+       mkdir -p $(STAGING_DIR)/usr/lib
+       cp -fp $(PKG_INSTALL_DIR)/usr/lib/libffi.{a,so*} $(STAGING_DIR)/usr/lib/
+       touch $@
+
+install-dev: $(STAGING_DIR)/usr/lib/libffi.so
+
+uninstall-dev:
+       rm -rf \
+               $(STAGING_DIR)/usr/include/ffi{,target}.h \
+               $(STAGING_DIR)/usr/lib/libffi.{a,so*} \
+
+compile: install-dev
+clean: uninstall-dev
diff --git a/openwrt/package/libffi-sable/ipkg/libffi-sable.control b/openwrt/package/libffi-sable/ipkg/libffi-sable.control
new file mode 100644 (file)
index 0000000..c4b20db
--- /dev/null
@@ -0,0 +1,8 @@
+Package: libffi-sable
+Priority: optional
+Section: libs
+Version: [TBDL]
+Architecture: [TBDL]
+Maintainer: Nico <nthill@free.fr>
+Source: http://openwrt.org/cgi-bin/viewcvs.cgi/openwrt/package/libffi-sable/
+Description: Foreign Function Interface library
diff --git a/openwrt/package/sablevm-classpath/Config.in b/openwrt/package/sablevm-classpath/Config.in
new file mode 100644 (file)
index 0000000..57adcae
--- /dev/null
@@ -0,0 +1,62 @@
+config BR2_PACKAGE_SABLEVM_CLASSPATH
+       depends BR2_PACKAGE_LIBSABLEVM_CLASSPATH
+       bool
+       default n
+
+config BR2_PACKAGE_LIBSABLEVM_CLASSPATH
+       depends BR2_PACKAGE_SABLEVM
+       prompt "libsablevm-classpath - Essential native libraries for Java"
+       tristate
+#      default m if CONFIG_DEVEL
+       default n
+       select BR2_PACKAGE_SABLEVM_CLASSPATH
+       help
+         GNU Classpath, Essential Libraries for Java, is a GNU project to create 
+         free core class libraries for use with virtual machines and compilers for 
+         the java programming language.
+         
+         This is a modified version for use with SableVM.
+         
+         http://www.gnu.org/software/classpath/
+         
+         This package contains the native shared libraries, needed by other packages.
+         
+
+choice
+       depends BR2_PACKAGE_LIBSABLEVM_CLASSPATH
+       prompt "sablevm-classpath - Essential classes for Java"
+       tristate
+       optional
+
+config BR2_PACKAGE_SABLEVM_CLASSPATH_FULL
+       prompt "...-full: Full set"
+       tristate
+       help
+         GNU Classpath, Essential Libraries for Java, is a GNU project to create 
+         free core class libraries for use with virtual machines and compilers for 
+         the java programming language.
+         
+         This is a modified version for use with SableVM.
+         
+         http://www.gnu.org/software/classpath/
+         
+         This package contains the full set of Java compiled classes.
+         It will unlikely fit on your router as-is.
+         
+config BR2_PACKAGE_SABLEVM_CLASSPATH_MINI
+       prompt "...-mini: Minimal set"
+       tristate
+       help
+         
+         GNU Classpath, Essential Libraries for Java, is a GNU project to create 
+         free core class libraries for use with virtual machines and compilers for 
+         the java programming language.
+         
+         This is a modified version for use with SableVM.
+         
+         http://www.gnu.org/software/classpath/
+         
+         This package contains only a minimal set of Java compiled classes, just 
+         enough to run the famous "Hello World !" test program.
+         
+endchoice
diff --git a/openwrt/package/sablevm-classpath/Makefile b/openwrt/package/sablevm-classpath/Makefile
new file mode 100644 (file)
index 0000000..1730ea9
--- /dev/null
@@ -0,0 +1,89 @@
+# $Id$
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=sablevm-classpath
+PKG_VERSION:=1.11.3
+PKG_RELEASE:=1
+PKG_MD5SUM:=aea6e808c5f2e3646a60971485220bff
+
+PKG_SOURCE_URL:=http://sablevm.org/download/release/$(PKG_VERSION)/
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
+PKG_CAT:=zcat
+
+PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
+PKG_INSTALL_DIR:=$(PKG_BUILD_DIR)/ipkg-install
+
+include $(TOPDIR)/package/rules.mk
+
+BR2_PACKAGE_LIBSABLEVM_CLASSPATH=m
+BR2_PACKAGE_SABLEVM_CLASSPATH_FULL=m
+BR2_PACKAGE_SABLEVM_CLASSPATH_MINI=m
+
+$(eval $(call PKG_template,LIBSABLEVM_CLASSPATH,libsablevm-classpath,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
+$(eval $(call PKG_template,SABLEVM_CLASSPATH_FULL,sablevm-classpath-full,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
+$(eval $(call PKG_template,SABLEVM_CLASSPATH_MINI,sablevm-classpath-mini,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
+
+$(PKG_BUILD_DIR)/.configured:
+       (cd $(PKG_BUILD_DIR); rm -rf config.{cache,status} ; \
+               $(TARGET_CONFIGURE_OPTS) \
+               CFLAGS="$(strip $(TARGET_CFLAGS))" \
+               CPPFLAGS="-I$(STAGING_DIR)/usr/include" \
+               LDFLAGS="-L$(STAGING_DIR)/usr/lib" \
+               ./configure \
+                 --target=$(GNU_TARGET_NAME) \
+                 --host=$(GNU_TARGET_NAME) \
+                 --build=$(GNU_HOST_NAME) \
+                 --program-prefix="" \
+                 --program-suffix="" \
+                 --prefix=/usr \
+                 --exec-prefix=/usr \
+                 --bindir=/usr/bin \
+                 --datadir=/usr/share \
+                 --includedir=/usr/include \
+                 --infodir=/usr/share/info \
+                 --libdir=/usr/lib \
+                 --libexecdir=/usr/lib \
+                 --localstatedir=/var \
+                 --mandir=/usr/share/man \
+                 --sbindir=/usr/sbin \
+                 --sysconfdir=/etc \
+                 $(DISABLE_LARGEFILE) \
+                 $(DISABLE_NLS) \
+                 --enable-shared \
+                 --disable-static \
+                 --disable-gtk-peer \
+                 --disable-gtk-cairo \
+                 --without-x \
+       );
+       touch $@
+
+$(PKG_BUILD_DIR)/.built:
+       rm -rf $(PKG_INSTALL_DIR)
+       mkdir -p $(PKG_INSTALL_DIR)
+       $(MAKE) -C $(PKG_BUILD_DIR) \
+               DESTDIR="$(PKG_INSTALL_DIR)" \
+               all install
+       cp ./files/mini.classlist $(PKG_BUILD_DIR)/lib/
+       cd $(PKG_BUILD_DIR)/lib ; fastjar -Mcf mini.jar -@ < mini.classlist
+       touch $@
+
+$(IPKG_LIBSABLEVM_CLASSPATH):
+       install -d -m0755 $(IDIR_LIBSABLEVM_CLASSPATH)/usr/lib/sablevm-classpath
+       cp -fp $(PKG_INSTALL_DIR)/usr/lib/sablevm-classpath/libjava*.so $(IDIR_LIBSABLEVM_CLASSPATH)/usr/lib/sablevm-classpath/
+       install -d -m0755 $(IDIR_LIBSABLEVM_CLASSPATH)/usr/lib/security
+       cp -fp $(PKG_INSTALL_DIR)/usr/lib/security/classpath.security $(IDIR_LIBSABLEVM_CLASSPATH)/usr/lib/security/
+       $(RSTRIP) $(IDIR_LIBSABLEVM_CLASSPATH)
+       $(IPKG_BUILD) $(IDIR_LIBSABLEVM_CLASSPATH) $(PACKAGE_DIR)
+
+$(IPKG_SABLEVM_CLASSPATH_FULL):
+       install -d -m0755 $(IDIR_SABLEVM_CLASSPATH_FULL)/usr/share/sablevm-classpath
+       cp -fp $(PKG_INSTALL_DIR)/usr/share/sablevm-classpath/{libclasspath,resources}.jar \
+               $(IDIR_SABLEVM_CLASSPATH_FULL)/usr/share/sablevm-classpath/
+       $(IPKG_BUILD) $(IDIR_SABLEVM_CLASSPATH_FULL) $(PACKAGE_DIR)
+       
+$(IPKG_SABLEVM_CLASSPATH_MINI):
+       install -d -m0755 $(IDIR_SABLEVM_CLASSPATH_MINI)/usr/share/sablevm-classpath
+       install -m0755 $(PKG_BUILD_DIR)/lib/mini.jar \
+               $(IDIR_SABLEVM_CLASSPATH_MINI)/usr/share/sablevm-classpath/libclasspath.jar
+       $(IPKG_BUILD) $(IDIR_SABLEVM_CLASSPATH_MINI) $(PACKAGE_DIR)
diff --git a/openwrt/package/sablevm-classpath/files/mini.classlist b/openwrt/package/sablevm-classpath/files/mini.classlist
new file mode 100644 (file)
index 0000000..1186d6f
--- /dev/null
@@ -0,0 +1,180 @@
+./gnu/classpath/SystemProperties.class
+./gnu/classpath/VMStackWalker.class
+./gnu/classpath/VMSystemProperties.class
+./gnu/java/io/decode/Decoder.class
+./gnu/java/io/decode/Decoder8859_1.class
+./gnu/java/io/decode/DecoderEightBitLookup.class
+./gnu/java/io/encode/Encoder.class
+./gnu/java/io/encode/Encoder8859_1.class
+./gnu/java/io/encode/EncoderEightBitLookup.class
+./gnu/java/io/EncodingManager.class
+./gnu/java/net/protocol/file/Handler.class
+./gnu/java/nio/channels/FileChannelImpl.class
+./gnu/java/security/provider/DefaultPolicy.class
+./java/io/BufferedInputStream.class
+./java/io/BufferedOutputStream.class
+./java/io/File.class
+./java/io/FileDescriptor.class
+./java/io/FileInputStream.class
+./java/io/FileOutputStream.class
+./java/io/FilePermission.class
+./java/io/FilterInputStream.class
+./java/io/FilterOutputStream.class
+./java/io/InputStream.class
+./java/io/OutputStream.class
+./java/io/OutputStreamWriter.class
+./java/io/PrintStream.class
+./java/io/PrintStream$ForwardStream.class
+./java/io/PrintWriter.class
+./java/io/Reader.class
+./java/io/Serializable.class
+./java/io/VMFile.class
+./java/io/Writer.class
+./java/lang/AbstractMethodError.class
+./java/lang/ArithmeticException.class
+./java/lang/ArrayIndexOutOfBoundsException.class
+./java/lang/ArrayStoreException.class
+./java/lang/Character.class
+./java/lang/CharSequence.class
+./java/lang/Class.class
+./java/lang/ClassCastException.class
+./java/lang/ClassCircularityError.class
+./java/lang/ClassFormatError.class
+./java/lang/ClassLoader.class
+./java/lang/ClassLoader$1.class
+./java/lang/ClassLoader$StaticData.class
+./java/lang/ClassNotFoundException.class
+./java/lang/Cloneable.class
+./java/lang/Comparable.class
+./java/lang/Error.class
+./java/lang/Exception.class
+./java/lang/ExceptionInInitializerError.class
+./java/lang/IllegalMonitorStateException.class
+./java/lang/IncompatibleClassChangeError.class
+./java/lang/IndexOutOfBoundsException.class
+./java/lang/Integer.class
+./java/lang/InternalError.class
+./java/lang/InterruptedException.class
+./java/lang/LinkageError.class
+./java/lang/Math.class
+./java/lang/NegativeArraySizeException.class
+./java/lang/NoClassDefFoundError.class
+./java/lang/NoSuchFieldError.class
+./java/lang/NoSuchFieldException.class
+./java/lang/NoSuchMethodError.class
+./java/lang/NoSuchMethodException.class
+./java/lang/NullPointerException.class
+./java/lang/Number.class
+./java/lang/Object.class
+./java/lang/OutOfMemoryError.class
+./java/lang/ref/Reference.class
+./java/lang/ref/ReferenceQueue.class
+./java/lang/ref/WeakReference.class
+./java/lang/reflect/AccessibleObject.class
+./java/lang/reflect/Constructor.class
+./java/lang/reflect/Field.class
+./java/lang/reflect/InvocationTargetException.class
+./java/lang/reflect/Member.class
+./java/lang/reflect/Method.class
+./java/lang/reflect/Modifier.class
+./java/lang/reflect/ReflectUtil.class
+./java/lang/Runnable.class
+./java/lang/Runtime.class
+./java/lang/RuntimeException.class
+./java/lang/SecurityManager.class
+./java/lang/StackTraceElement.class
+./java/lang/String.class
+./java/lang/String$CaseInsensitiveComparator.class
+./java/lang/StringBuffer.class
+./java/lang/StringCreator.class
+./java/lang/System.class
+./java/lang/Thread.class
+./java/lang/ThreadGroup.class
+./java/lang/ThreadLocal.class
+./java/lang/ThreadLocal$Key.class
+./java/lang/Throwable.class
+./java/lang/UnsatisfiedLinkError.class
+./java/lang/UnsupportedClassVersionError.class
+./java/lang/VerifyError.class
+./java/lang/VirtualMachine.class
+./java/lang/VirtualMachineError.class
+./java/lang/VMClass.class
+./java/lang/VMClassLoader.class
+./java/lang/VMObject.class
+./java/lang/VMRuntime.class
+./java/lang/VMString.class
+./java/lang/VMSystem.class
+./java/lang/VMThread.class
+./java/net/URL.class
+./java/net/URL$1.class
+./java/net/URLClassLoader.class
+./java/net/URLClassLoader$FileResource.class
+./java/net/URLClassLoader$FileURLLoader.class
+./java/net/URLClassLoader$Resource.class
+./java/net/URLClassLoader$URLLoader.class
+./java/net/URLStreamHandler.class
+./java/nio/ByteBuffer$vm.class
+./java/nio/channels/ByteChannel.class
+./java/nio/channels/Channel.class
+./java/nio/channels/FileChannel.class
+./java/nio/channels/GatheringByteChannel.class
+./java/nio/channels/InterruptibleChannel.class
+./java/nio/channels/ReadableByteChannel.class
+./java/nio/channels/ScatteringByteChannel.class
+./java/nio/channels/spi/AbstractInterruptibleChannel.class
+./java/nio/channels/WritableByteChannel.class
+./java/security/AccessControlContext.class
+./java/security/AccessController.class
+./java/security/AllPermission.class
+./java/security/AllPermission$AllPermissionCollection.class
+./java/security/CodeSource.class
+./java/security/Guard.class
+./java/security/Permission.class
+./java/security/PermissionCollection.class
+./java/security/Permissions.class
+./java/security/Permissions$PermissionsHash.class
+./java/security/Policy.class
+./java/security/Principal.class
+./java/security/PrivilegedAction.class
+./java/security/ProtectionDomain.class
+./java/security/SecureClassLoader.class
+./java/security/VMAccessController.class
+./java/util/AbstractCollection.class
+./java/util/AbstractList.class
+./java/util/AbstractMap.class
+./java/util/AbstractMap$BasicMapEntry.class
+./java/util/AbstractSequentialList.class
+./java/util/AbstractSet.class
+./java/util/ArrayList.class
+./java/util/Collection.class
+./java/util/Collections$SynchronizedCollection.class
+./java/util/Collections$SynchronizedIterator.class
+./java/util/Collections$SynchronizedSet.class
+./java/util/Comparator.class
+./java/util/Dictionary.class
+./java/util/Enumeration.class
+./java/util/HashMap.class
+./java/util/HashMap$HashEntry.class
+./java/util/HashMap$HashIterator.class
+./java/util/HashSet.class
+./java/util/Hashtable.class
+./java/util/Hashtable$3.class
+./java/util/Hashtable$HashEntry.class
+./java/util/Hashtable$HashIterator.class
+./java/util/Iterator.class
+./java/util/LinkedList.class
+./java/util/LinkedList$Entry.class
+./java/util/List.class
+./java/util/Locale.class
+./java/util/Map.class
+./java/util/Map$Entry.class
+./java/util/Properties.class
+./java/util/RandomAccess.class
+./java/util/Set.class
+./java/util/StringTokenizer.class
+./java/util/Vector.class
+./java/util/WeakHashMap.class
+./java/util/WeakHashMap$1.class
+./java/util/WeakHashMap$WeakBucket.class
+./java/util/WeakHashMap$WeakBucket$WeakEntry.class
+./java/util/WeakHashMap$WeakEntrySet.class
diff --git a/openwrt/package/sablevm-classpath/ipkg/libsablevm-classpath.control b/openwrt/package/sablevm-classpath/ipkg/libsablevm-classpath.control
new file mode 100644 (file)
index 0000000..562be53
--- /dev/null
@@ -0,0 +1,9 @@
+Package: libsablevm-classpath
+Priority: optional
+Section: libs
+Version: [TBDL]
+Architecture: [TBDL]
+Maintainer: Nico <nthill@free.fr>
+Source: http://openwrt.org/cgi-bin/viewcvs.cgi/openwrt/package/sablevm-classpath/
+Description: Essential native libraries for Java
+Depends: sablevm
diff --git a/openwrt/package/sablevm-classpath/ipkg/sablevm-classpath-full.control b/openwrt/package/sablevm-classpath/ipkg/sablevm-classpath-full.control
new file mode 100644 (file)
index 0000000..cc25948
--- /dev/null
@@ -0,0 +1,9 @@
+Package: sablevm-classpath-full
+Priority: optional
+Section: libs
+Version: [TBDL]
+Architecture: [TBDL]
+Maintainer: Nico <nthill@free.fr>
+Source: http://openwrt.org/cgi-bin/viewcvs.cgi/openwrt/package/sablevm-classpath/
+Description: Essential classes for Java (full set)
+Depends: sablevm, libsablevm-classpath
diff --git a/openwrt/package/sablevm-classpath/ipkg/sablevm-classpath-mini.control b/openwrt/package/sablevm-classpath/ipkg/sablevm-classpath-mini.control
new file mode 100644 (file)
index 0000000..992d84d
--- /dev/null
@@ -0,0 +1,9 @@
+Package: sablevm-classpath-mini
+Priority: optional
+Section: libs
+Version: [TBDL]
+Architecture: [TBDL]
+Maintainer: Nico <nthill@free.fr>
+Source: http://openwrt.org/cgi-bin/viewcvs.cgi/openwrt/package/sablevm-classpath/
+Description: Essential classes for Java (minimal set)
+Depends: sablevm, libsablevm-classpath
diff --git a/openwrt/package/sablevm/Config.in b/openwrt/package/sablevm/Config.in
new file mode 100644 (file)
index 0000000..70cde60
--- /dev/null
@@ -0,0 +1,17 @@
+config BR2_PACKAGE_SABLEVM
+       tristate "sablevm - A Java Virtual Machine (JVM) implementation"
+#      default m if CONFIG_DEVEL
+       default n
+       select BR2_PACKAGE_LIBFFI_SABLE
+       select BR2_PACKAGE_LIBLTDL
+       select BR2_PACKAGE_LIBPOPT
+       select BR2_PACKAGE_ZLIB
+       help
+         SableVM is a robust, extremely portable, efficient, and specifications-
+         -compliant Java virtual machine that aims to be easy to maintain and to 
+         extend. It features a state-of-the-art and efficient interpreter engine. 
+         Its source code is very accessible and easy to understand. It also has 
+         many robustness features that have been the object of careful design.  
+         
+         http://sablevm.org/
+         
diff --git a/openwrt/package/sablevm/Makefile b/openwrt/package/sablevm/Makefile
new file mode 100644 (file)
index 0000000..66cb819
--- /dev/null
@@ -0,0 +1,68 @@
+# $Id$
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=sablevm
+PKG_VERSION:=1.11.3
+PKG_RELEASE:=1
+PKG_MD5SUM:=aea6e808c5f2e3646a60971485220bff
+
+PKG_SOURCE_URL:=http://sablevm.org/download/release/$(PKG_VERSION)/
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
+PKG_CAT:=zcat
+
+PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
+PKG_INSTALL_DIR:=$(PKG_BUILD_DIR)/ipkg-install
+
+include $(TOPDIR)/package/rules.mk
+
+BR2_PACKAGE_SABLEVM=m
+
+$(eval $(call PKG_template,SABLEVM,sablevm,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
+
+$(PKG_BUILD_DIR)/.configured:
+       (cd $(PKG_BUILD_DIR); rm -rf config.{cache,status} ; \
+               $(TARGET_CONFIGURE_OPTS) \
+               CFLAGS="$(strip $(TARGET_CFLAGS))" \
+               CPPFLAGS="-I$(STAGING_DIR)/usr/include" \
+               LDFLAGS="-L$(STAGING_DIR)/usr/lib -lffi -lltdl -lpopt -lz" \
+               ./configure \
+                 --target=$(GNU_TARGET_NAME) \
+                 --host=$(GNU_TARGET_NAME) \
+                 --build=$(GNU_HOST_NAME) \
+                 --program-prefix="" \
+                 --program-suffix="" \
+                 --prefix=/usr \
+                 --exec-prefix=/usr \
+                 --bindir=/usr/bin \
+                 --datadir=/usr/share \
+                 --includedir=/usr/include \
+                 --infodir=/usr/share/info \
+                 --libdir=/usr/lib \
+                 --libexecdir=/usr/lib \
+                 --localstatedir=/var \
+                 --mandir=/usr/share/man \
+                 --sbindir=/usr/sbin \
+                 --sysconfdir=/etc \
+                 $(DISABLE_LARGEFILE) \
+                 $(DISABLE_NLS) \
+                 --enable-shared \
+                 --disable-static \
+       );
+       touch $@
+
+$(PKG_BUILD_DIR)/.built:
+       rm -rf $(PKG_INSTALL_DIR)
+       mkdir -p $(PKG_INSTALL_DIR)
+       $(MAKE) -C $(PKG_BUILD_DIR) \
+               DESTDIR="$(PKG_INSTALL_DIR)" \
+               all install
+       touch $@
+
+$(IPKG_SABLEVM):
+       install -m0755 -d $(IDIR_SABLEVM)/usr/bin
+       cp -fp $(PKG_INSTALL_DIR)/usr/bin/{java-,}sablevm $(IDIR_SABLEVM)/usr/bin/
+       install -m0755 -d $(IDIR_SABLEVM)/usr/lib
+       cp -fp $(PKG_INSTALL_DIR)/usr/lib/libsablevm-*.so $(IDIR_SABLEVM)/usr/lib/
+       $(RSTRIP) $(IDIR_SABLEVM)
+       $(IPKG_BUILD) $(IDIR_SABLEVM) $(PACKAGE_DIR)
diff --git a/openwrt/package/sablevm/ipkg/sablevm.control b/openwrt/package/sablevm/ipkg/sablevm.control
new file mode 100644 (file)
index 0000000..92f12c2
--- /dev/null
@@ -0,0 +1,9 @@
+Package: sablevm
+Priority: optional
+Section: misc
+Version: [TBDL]
+Architecture: [TBDL]
+Maintainer: Nico <nthill@free.fr>
+Source: http://nthill.free.fr/openwrt/sources/sablevm/
+Description: A Java Virtual Machine (JVM) implementation
+Depends: libffi-sable, libltdl, libpopt, zlib