From: Nicolas Thill Date: Tue, 24 May 2005 05:59:17 +0000 (+0000) Subject: Add SableVM packages X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=c696a28cb841125442a93f30426940d83f2a79b5;p=openwrt%2Fstaging%2Fzorun.git Add SableVM packages SVN-Revision: 1048 --- diff --git a/openwrt/package/Config.in b/openwrt/package/Config.in index 49c540e1a8..7e81af5a70 100644 --- a/openwrt/package/Config.in +++ b/openwrt/package/Config.in @@ -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" diff --git a/openwrt/package/Makefile b/openwrt/package/Makefile index 2a2aca6268..5dd8432b6c 100644 --- a/openwrt/package/Makefile +++ b/openwrt/package/Makefile @@ -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 index 0000000000..afdf2a2575 --- /dev/null +++ b/openwrt/package/libffi-sable/Config.in @@ -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 index 0000000000..a8b8ac7033 --- /dev/null +++ b/openwrt/package/libffi-sable/Makefile @@ -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 index 0000000000..c4b20db2a1 --- /dev/null +++ b/openwrt/package/libffi-sable/ipkg/libffi-sable.control @@ -0,0 +1,8 @@ +Package: libffi-sable +Priority: optional +Section: libs +Version: [TBDL] +Architecture: [TBDL] +Maintainer: Nico +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 index 0000000000..57adcae251 --- /dev/null +++ b/openwrt/package/sablevm-classpath/Config.in @@ -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 index 0000000000..1730ea9fd3 --- /dev/null +++ b/openwrt/package/sablevm-classpath/Makefile @@ -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 index 0000000000..1186d6f6f6 --- /dev/null +++ b/openwrt/package/sablevm-classpath/files/mini.classlist @@ -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 index 0000000000..562be5398e --- /dev/null +++ b/openwrt/package/sablevm-classpath/ipkg/libsablevm-classpath.control @@ -0,0 +1,9 @@ +Package: libsablevm-classpath +Priority: optional +Section: libs +Version: [TBDL] +Architecture: [TBDL] +Maintainer: Nico +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 index 0000000000..cc25948517 --- /dev/null +++ b/openwrt/package/sablevm-classpath/ipkg/sablevm-classpath-full.control @@ -0,0 +1,9 @@ +Package: sablevm-classpath-full +Priority: optional +Section: libs +Version: [TBDL] +Architecture: [TBDL] +Maintainer: Nico +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 index 0000000000..992d84d840 --- /dev/null +++ b/openwrt/package/sablevm-classpath/ipkg/sablevm-classpath-mini.control @@ -0,0 +1,9 @@ +Package: sablevm-classpath-mini +Priority: optional +Section: libs +Version: [TBDL] +Architecture: [TBDL] +Maintainer: Nico +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 index 0000000000..70cde6063a --- /dev/null +++ b/openwrt/package/sablevm/Config.in @@ -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 index 0000000000..66cb819c5a --- /dev/null +++ b/openwrt/package/sablevm/Makefile @@ -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 index 0000000000..92f12c2710 --- /dev/null +++ b/openwrt/package/sablevm/ipkg/sablevm.control @@ -0,0 +1,9 @@ +Package: sablevm +Priority: optional +Section: misc +Version: [TBDL] +Architecture: [TBDL] +Maintainer: Nico +Source: http://nthill.free.fr/openwrt/sources/sablevm/ +Description: A Java Virtual Machine (JVM) implementation +Depends: libffi-sable, libltdl, libpopt, zlib