aboutsummaryrefslogtreecommitdiffstats
path: root/main/openjdk6
diff options
context:
space:
mode:
Diffstat (limited to 'main/openjdk6')
-rw-r--r--main/openjdk6/APKBUILD178
-rw-r--r--main/openjdk6/icedtea-hotspot-uclibc-fixes.patch90
-rw-r--r--main/openjdk6/icedtea-jdk-execinfo.patch40
-rw-r--r--main/openjdk6/icedtea-jdk-iconv-uclibc.patch39
-rw-r--r--main/openjdk6/icedtea-jdk-no-lib-nsl.patch84
5 files changed, 431 insertions, 0 deletions
diff --git a/main/openjdk6/APKBUILD b/main/openjdk6/APKBUILD
new file mode 100644
index 000000000..6c2a48dd8
--- /dev/null
+++ b/main/openjdk6/APKBUILD
@@ -0,0 +1,178 @@
+# Contributor: Timo Teras <timo.teras@iki.fi>
+# Maintainer: Timo Teras <timo.teras@iki.fi>
+pkgname=openjdk6
+pkgver=1.6.0_p22
+icedteaver=1.10
+pkgrel=0
+pkgdesc="Sun OpenJDK 6 via IcedTea"
+url="http://icedtea.classpath.org/"
+arch="all"
+license="GPL-2 with Classpath"
+depends="$pkgname-jre"
+makedepends="java-gcj-compat findutils tar zip gawk pkgconfig util-linux-ng
+ nss-dev cups-dev jpeg-dev giflib-dev libpng-dev libxt-dev
+ libxp-dev libxtst-dev libxinerama-dev libiconv-dev
+ libxrender-dev alsa-lib-dev freetype-dev xulrunner-dev
+ gtk+2.0-dev"
+install=""
+subpackages="$pkgname-jre-lib:jrelib $pkgname-jre $pkgname-jre-base:jrebase
+ $pkgname-doc:doc"
+BOOTSTRAP_JAVA_HOME=/usr/lib/jvm/java-1.5-gcj/
+OPENJDK_VERSION=b22
+OPENJDK_DATE=28_feb_2011
+XALAN2_VER=2_7_1
+XERCES_VER=2.9.0
+RHINO_VER=1_7R2
+ANT_VER=1.8.2
+JAXWS_DROP_ZIP=jdk6-jaxws-b20.zip
+JAXP_DROP_ZIP=jaxp144_01.zip
+JAF_DROP_ZIP=jdk6-jaf-b20.zip
+source="http://download.java.net/openjdk/jdk6/promoted/$OPENJDK_VERSION/openjdk-6-src-$OPENJDK_VERSION-$OPENJDK_DATE.tar.gz
+ http://icedtea.classpath.org/download/source/icedtea6-$icedteaver.tar.gz
+ http://archive.apache.org/dist/ant/binaries/apache-ant-$ANT_VER-bin.tar.gz
+ http://archive.apache.org/dist/xml/xalan-j/xalan-j_$XALAN2_VER-bin-2jars.tar.gz
+ http://archive.apache.org/dist/xml/xerces-j/Xerces-J-bin.$XERCES_VER.tar.gz
+ ftp://ftp.mozilla.org/pub/mozilla.org/js/rhino$RHINO_VER.zip
+ http://icedtea.classpath.org/download/drops/$JAXWS_DROP_ZIP
+ http://icedtea.classpath.org/download/drops/$JAXP_DROP_ZIP
+ http://icedtea.classpath.org/download/drops/$JAF_DROP_ZIP
+ icedtea-hotspot-uclibc-fixes.patch
+ icedtea-jdk-iconv-uclibc.patch
+ icedtea-jdk-execinfo.patch
+ icedtea-jdk-no-lib-nsl.patch
+ "
+
+_builddir="$srcdir/icedtea6-$icedteaver"
+INSTALL_BASE=/usr/lib/jvm/java-1.6-openjdk
+CPU=`uname -m | sed -e 's/i.86/i386/g' -e 's/x86_64/amd64/g'`
+
+unpack() {
+ if [ -z "$force" ]; then
+ md5check || return 1
+ initdcheck || return 1
+ fi
+ mkdir -p "$srcdir"
+ msg "Unpacking sources..."
+ tar -C "$srcdir" -zxf icedtea6-$icedteaver.tar.gz || return 1
+ tar -C "$srcdir" -zxf apache-ant-$ANT_VER-bin.tar.gz || return 1
+ tar -C "$srcdir" -zxf xalan-j_$XALAN2_VER-bin-2jars.tar.gz || return 1
+ tar -C "$srcdir" -zxf Xerces-J-bin.$XERCES_VER.tar.gz || return 1
+ unzip -o -q "rhino$RHINO_VER.zip" -d "$srcdir" || return 1
+}
+
+prepare() {
+ cd "$_builddir"
+
+ # Busybox sha256 does not support longopts
+ sed -e "s/--check/-c/g" -i Makefile.in
+
+ cp ../icedtea-*.patch patches
+}
+
+build() {
+ export JAVA_HOME=$BOOTSTRAP_JAVA_HOME
+ export PATH=$JAVA_HOME/bin:$srcdir/apache-ant-$ANT_VER/bin:$PATH
+ export DISTRIBUTION_PATCHES=`echo $source | awk -v RS=' ' '/icedtea-[^ ]*\.patch/ { printf "patches/%s ",$1 }'`
+
+ JOBS=`echo $MAKEFLAGS | sed -n -e 's/.*-j\([0-9]\+\).*/\1/p'`
+ if [ "$JOBS" ]; then
+ confjobs="--with-parallel-jobs=$JOBS"
+ else
+ confjobs=""
+ fi
+
+ cd "$_builddir"
+ ./configure --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --infodir=/usr/share/info \
+ --localstatedir=/var \
+ --disable-dependency-tracking \
+ --with-gcj $confjobs \
+ --with-openjdk-src-zip=$srcdir/openjdk-6-src-$OPENJDK_VERSION-$OPENJDK_DATE.tar.gz \
+ --with-jaxp-drop-zip=$srcdir/$JAXP_DROP_ZIP \
+ --with-jaf-drop-zip=$srcdir/$JAF_DROP_ZIP \
+ --with-jaxws-drop-zip=$srcdir/$JAXWS_DROP_ZIP \
+ --with-jdk-home=$BOOTSTRAP_JAVA_HOME \
+ --with-ant-home=$srcdir/apache-ant-$ANT_VER \
+ --with-xalan2-jar=$srcdir/xalan-j_$XALAN2_VER/xalan.jar \
+ --with-xalan2-serializer-jar=$srcdir/xalan-j_$XALAN2_VER/serializer.jar \
+ --with-xerces2-jar=$srcdir/xerces-${XERCES_VER//./_}/xercesImpl.jar \
+ --with-rhino=$srcdir/rhino$RHINO_VER/js.jar \
+ --with-pkgversion=Alpine \
+ || return 1
+
+ make || return 1
+}
+
+package() {
+ mkdir -p "$pkgdir"/$INSTALL_BASE
+ cp -a "$_builddir"/openjdk.build/j2sdk-image/* "$pkgdir"/$INSTALL_BASE
+ rm "$pkgdir"/$INSTALL_BASE/src.zip
+}
+
+jrelib() {
+ pkgdesc="OpenJDK 6 Java Runtime (class libraries)"
+ arch="noarch"
+ depends=""
+
+ for A in jre/lib/zi jre/lib/images jre/lib/*.jar jre/lib/security \
+ jre/lib/ext/*.jar jre/lib/cmm jre/ASSEMBLY_EXCEPTION \
+ jre/THIRD_PARTY_README jre/LICENSE ; do
+ dirname=${A%/*}
+ mkdir -p "$subpkgdir"/$INSTALL_BASE/$dirname
+ mv "$pkgdir"/$INSTALL_BASE/$A "$subpkgdir"/$INSTALL_BASE/$dirname
+ done
+}
+
+jrebase() {
+ pkgdesc="OpenJDK 6 Java Runtime (no GUI support)"
+ depends="$pkgname-jre-lib java-common"
+
+ mkdir -p "$subpkgdir"/$INSTALL_BASE/bin
+
+ for A in java orbd rmid servertool unpack200 keytool \
+ pack200 rmiregistry tnameserv ; do
+ mv "$pkgdir"/$INSTALL_BASE/bin/$A "$subpkgdir"/$INSTALL_BASE/bin
+ done
+
+ # rest of the jre subdir (which were not taken by -jre subpkg)
+ mv "$pkgdir"/$INSTALL_BASE/jre "$subpkgdir"/$INSTALL_BASE
+}
+
+jre() {
+ pkgdesc="OpenJDK 6 Java Runtime"
+ depends=""
+
+ mkdir -p "$subpkgdir"
+ for A in jre/bin/policytool \
+ bin/appletviewer \
+ bin/policytool \
+ jre/lib/$CPU/xawt \
+ jre/lib/$CPU/libsplashscreen.so ; do
+ dirname=${A%/*}
+ mkdir -p "$subpkgdir"/$INSTALL_BASE/$dirname
+ mv "$pkgdir"/$INSTALL_BASE/$A "$subpkgdir"/$INSTALL_BASE/$dirname
+ done
+}
+
+doc() {
+ default_doc
+
+ mkdir -p "$subpkgdir"/$INSTALL_BASE/
+ mv "$pkgdir"/$INSTALL_BASE/man "$subpkgdir"/$INSTALL_BASE/
+}
+
+md5sums="2d2bbbb0f9b81f1fec41ec730da8a933 openjdk-6-src-b22-28_feb_2011.tar.gz
+fd3f35e8a8a2ef9a64c035ed66cea06d icedtea6-1.10.tar.gz
+afb0c7950a663f94e65da9f3be676d8f apache-ant-1.8.2-bin.tar.gz
+3ccda39bcd08b780436dfd2f22fb23d5 xalan-j_2_7_1-bin-2jars.tar.gz
+138f2d1cddd823281d5dfb700f2bd7d4 Xerces-J-bin.2.9.0.tar.gz
+40d0a9abec8169e42920214b37fa8e0e rhino1_7R2.zip
+91adfd41e6f001add4f92ae31216b1e3 jdk6-jaxws-b20.zip
+ef7a8b3624ea904bf584bc46d79b5e75 jaxp144_01.zip
+bc95c133620bd68c161cac9891592901 jdk6-jaf-b20.zip
+dc6a1e28a97d897d7a1057c11696727d icedtea-hotspot-uclibc-fixes.patch
+7c0814181e5adc0763c5c0a24b01d4cb icedtea-jdk-iconv-uclibc.patch
+dae2ba8b87e2106b53974ace07e4ca72 icedtea-jdk-execinfo.patch
+c4bb40d5b1ff690b27900c5cd06bc1e5 icedtea-jdk-no-lib-nsl.patch"
diff --git a/main/openjdk6/icedtea-hotspot-uclibc-fixes.patch b/main/openjdk6/icedtea-hotspot-uclibc-fixes.patch
new file mode 100644
index 000000000..fb75ffc34
--- /dev/null
+++ b/main/openjdk6/icedtea-hotspot-uclibc-fixes.patch
@@ -0,0 +1,90 @@
+--- openjdk.orig/hotspot/src/os/linux/vm/os_linux.cpp
++++ openjdk/hotspot/src/os/linux/vm/os_linux.cpp
+@@ -53,7 +53,6 @@
+ # include <string.h>
+ # include <syscall.h>
+ # include <sys/sysinfo.h>
+-# include <gnu/libc-version.h>
+ # include <sys/ipc.h>
+ # include <sys/shm.h>
+ # include <link.h>
+@@ -553,9 +552,7 @@
+ os::Linux::set_glibc_version(str);
+ } else {
+ // _CS_GNU_LIBC_VERSION is not supported, try gnu_get_libc_version()
+- static char _gnu_libc_version[32];
+- jio_snprintf(_gnu_libc_version, sizeof(_gnu_libc_version),
+- "glibc %s %s", gnu_get_libc_version(), gnu_get_libc_release());
++ static char _gnu_libc_version[32] = "2.9";
+ os::Linux::set_glibc_version(_gnu_libc_version);
+ }
+
+@@ -2434,11 +2431,7 @@
+ // If we are running with earlier version, which did not have symbol versions,
+ // we should use the base version.
+ void* os::Linux::libnuma_dlsym(void* handle, const char *name) {
+- void *f = dlvsym(handle, name, "libnuma_1.1");
+- if (f == NULL) {
+- f = dlsym(handle, name);
+- }
+- return f;
++ return dlsym(handle, name);
+ }
+
+ bool os::Linux::libnuma_init() {
+@@ -4446,7 +4439,22 @@
+ // Linux doesn't yet have a (official) notion of processor sets,
+ // so just return the system wide load average.
+ int os::loadavg(double loadavg[], int nelem) {
+- return ::getloadavg(loadavg, nelem);
++
++ FILE *LOADAVG;
++ double avg[3] = { 0.0, 0.0, 0.0 };
++ int i, res = -1;;
++
++ if ((LOADAVG = fopen("/proc/loadavg", "r"))) {
++ fscanf(LOADAVG, "%lf %lf %lf", &avg[0], &avg[1], &avg[2]);
++ res = 0;
++ fclose(LOADAVG);
++ }
++
++ for (i = 0; (i < nelem) && (i < 3); i++) {
++ loadavg[i] = avg[i];
++ }
++
++ return res;
+ }
+
+ void os::pause() {
+Only in openjdk: hotspot/src/os/linux/vm/os_linux.cpp.orig
+--- openjdk.orig/hotspot/src/share/vm/utilities/globalDefinitions_gcc.hpp
++++ openjdk/hotspot/src/share/vm/utilities/globalDefinitions_gcc.hpp
+@@ -231,14 +231,14 @@
+ // checking for nanness
+ #ifdef SOLARIS
+ #ifdef SPARC
+-inline int g_isnan(float f) { return isnanf(f); }
++inline int g_isnan(float f) { return __isnanf(f); }
+ #else
+ // isnanf() broken on Intel Solaris use isnand()
+ inline int g_isnan(float f) { return isnand(f); }
+ #endif
+ inline int g_isnan(double f) { return isnand(f); }
+ #elif LINUX
+-inline int g_isnan(float f) { return isnanf(f); }
++inline int g_isnan(float f) { return __isnanf(f); }
+ inline int g_isnan(double f) { return isnan(f); }
+ #else
+ #error "missing platform-specific definition here"
+@@ -252,8 +252,8 @@
+
+ // Checking for finiteness
+
+-inline int g_isfinite(jfloat f) { return finite(f); }
+-inline int g_isfinite(jdouble f) { return finite(f); }
++inline int g_isfinite(jfloat f) { return isfinite(f); }
++inline int g_isfinite(jdouble f) { return isfinite(f); }
+
+
+ // Wide characters
+Only in openjdk: hotspot/src/share/vm/utilities/globalDefinitions_gcc.hpp.orig
diff --git a/main/openjdk6/icedtea-jdk-execinfo.patch b/main/openjdk6/icedtea-jdk-execinfo.patch
new file mode 100644
index 000000000..fb17ab692
--- /dev/null
+++ b/main/openjdk6/icedtea-jdk-execinfo.patch
@@ -0,0 +1,40 @@
+--- openjdk.orig/jdk/src/solaris/native/sun/awt/awt_xembed_server.c
++++ openjdk/jdk/src/solaris/native/sun/awt/awt_xembed_server.c
+@@ -35,7 +35,7 @@
+ #include <X11/Xlib.h>
+ #include <X11/Xatom.h>
+ #include <Xm/MwmUtil.h>
+-#ifdef __linux__
++#if defined(__linux__) && ! defined(__UCLIBC__)
+ #include <execinfo.h>
+ #endif
+ #include <stdio.h>
+@@ -835,7 +835,7 @@
+ AWT_UNLOCK();
+ }
+
+-#ifdef __linux__
++#if defined(__linux__) && ! defined(__UCLIBC__)
+ void
+ print_stack (void)
+ {
+--- openjdk.orig/jdk/src/solaris/native/sun/xawt/XToolkit.c
++++ openjdk/jdk/src/solaris/native/sun/xawt/XToolkit.c
+@@ -27,7 +27,7 @@
+ #include <X11/Xutil.h>
+ #include <X11/Xos.h>
+ #include <X11/Xatom.h>
+-#ifdef __linux__
++#if defined(__linux__) && ! defined(__UCLIBC__)
+ #include <execinfo.h>
+ #endif
+
+@@ -689,7 +689,7 @@
+ return ret;
+ }
+
+-#ifdef __linux__
++#if defined(__linux__) && ! defined(__UCLIBC__)
+ void print_stack(void)
+ {
+ void *array[10];
diff --git a/main/openjdk6/icedtea-jdk-iconv-uclibc.patch b/main/openjdk6/icedtea-jdk-iconv-uclibc.patch
new file mode 100644
index 000000000..68f858167
--- /dev/null
+++ b/main/openjdk6/icedtea-jdk-iconv-uclibc.patch
@@ -0,0 +1,39 @@
+Index: openjdk/jdk/make/java/npt/Makefile
+===================================================================
+--- openjdk/jdk/make/java/npt/Makefile 2010-06-13 15:11:02.598512448 +0200
++++ openjdk/jdk/make/java/npt/Makefile 2010-06-13 15:11:28.504759286 +0200
+@@ -65,6 +65,8 @@
+ # We don't want to link against -ljava
+ JAVALIB=
+
++LDLIBS += -liconv
++
+ # Add -export options to explicitly spell exported symbols
+ ifeq ($(PLATFORM), windows)
+ OTHER_LCF += -export:nptInitialize -export:nptTerminate
+Index: icedtea6-1.8/openjdk-ecj/jdk/make/java/instrument/Makefile
+===================================================================
+--- openjdk/jdk/make/java/instrument/Makefile 2010-06-13 15:12:14.688505195 +0200
++++ openjdk/jdk/make/java/instrument/Makefile 2010-06-13 15:12:32.641425670 +0200
+@@ -123,6 +123,8 @@
+ # We don't want to link against -ljava
+ JAVALIB=
+
++LDLIBS += -liconv
++
+ #
+ # Add to ambient vpath so we pick up the library files
+ #
+Index: openjdk/jdk/make/sun/splashscreen/Makefile
+===================================================================
+--- openjdk/jdk/make/sun/splashscreen/Makefile 2010-06-13 15:12:48.951840824 +0200
++++ openjdk/jdk/make/sun/splashscreen/Makefile 2010-06-13 15:13:01.191422891 +0200
+@@ -55,6 +55,8 @@
+
+ JAVALIB=
+
++LDLIBS += -liconv
++
+ #
+ # C Flags
+ #
diff --git a/main/openjdk6/icedtea-jdk-no-lib-nsl.patch b/main/openjdk6/icedtea-jdk-no-lib-nsl.patch
new file mode 100644
index 000000000..26f89bb54
--- /dev/null
+++ b/main/openjdk6/icedtea-jdk-no-lib-nsl.patch
@@ -0,0 +1,84 @@
+--- openjdk.orig/hotspot/agent/src/os/solaris/dbx/Makefile
++++ openjdk/hotspot/agent/src/os/solaris/dbx/Makefile
+@@ -50,7 +50,7 @@
+ CFLAGS_32bit := -xarch=v8
+ CFLAGS_64bit := -xarch=v9
+ CFLAGS := -PIC -xO3 $(INCLUDES)
+-LIBS := -lsocket -lnsl -lrtld_db
++LIBS := -lsocket -lrtld_db
+ LDFLAGS := -G
+
+ ifneq "$(ARCH)" "i486"
+--- openjdk.orig/jdk/make/java/hpi/hpi_common.gmk
++++ openjdk/jdk/make/java/hpi/hpi_common.gmk
+@@ -86,5 +86,5 @@
+ # Things that must be linked in.
+ #
+ ifneq ($(PLATFORM), windows)
+-OTHER_LDLIBS += $(LIBSOCKET) -lnsl $(LIBM) -ldl
++OTHER_LDLIBS += $(LIBSOCKET) $(LIBM) -ldl
+ endif
+--- openjdk.orig/jdk/make/java/java/Makefile
++++ openjdk/jdk/make/java/java/Makefile
+@@ -205,7 +205,7 @@
+ OTHER_LDLIBS += $(JVMLIB) -libpath:$(OBJDIR)/../../../fdlibm/$(OBJDIRNAME) fdlibm.lib \
+ -libpath:$(OBJDIR)/../../../verify/$(OBJDIRNAME) verify.lib
+ else
+-OTHER_LDLIBS += $(JVMLIB) -lverify $(LIBSOCKET) -lnsl -ldl \
++OTHER_LDLIBS += $(JVMLIB) -lverify $(LIBSOCKET) -ldl \
+ -L$(OBJDIR)/../../../fdlibm/$(OBJDIRNAME) -lfdlibm.$(ARCH)
+ endif
+
+--- openjdk.orig/jdk/make/java/java_hprof_demo/Makefile
++++ openjdk/jdk/make/java/java_hprof_demo/Makefile
+@@ -83,7 +83,7 @@
+ ifeq ($(PLATFORM), windows)
+ OTHER_LDLIBS += wsock32.lib winmm.lib
+ else
+- OTHER_LDLIBS += $(LIBSOCKET) -lnsl -ldl
++ OTHER_LDLIBS += $(LIBSOCKET) -ldl
+ endif
+
+ #
+--- openjdk.orig/jdk/make/java/net/Makefile
++++ openjdk/jdk/make/java/net/Makefile
+@@ -97,7 +97,7 @@
+ # Will not compile at warning level 3 if warnings are fatal
+ COMPILER_WARNINGS_FATAL=false
+ else
+- OTHER_LDLIBS = $(LIBSOCKET) -lnsl -ldl $(JVMLIB)
++ OTHER_LDLIBS = $(LIBSOCKET) -ldl $(JVMLIB)
+ endif
+ ifeq ($(PLATFORM), linux)
+ OTHER_LDLIBS += -lpthread
+--- openjdk.orig/jdk/make/jpda/transport/socket/Makefile
++++ openjdk/jdk/make/jpda/transport/socket/Makefile
+@@ -42,11 +42,11 @@
+ endif
+
+ ifeq ($(PLATFORM), linux)
+- OTHER_LDLIBS += -lnsl $(LIBSOCKET) -lpthread
++ OTHER_LDLIBS += $(LIBSOCKET) -lpthread
+ endif
+
+ ifeq ($(PLATFORM), solaris)
+- OTHER_LDLIBS += -lnsl $(LIBSOCKET)
++ OTHER_LDLIBS += $(LIBSOCKET)
+ endif
+
+ ifeq ($(PLATFORM), windows)
+--- openjdk.orig/jdk/make/mkdemo/jvmti/hprof/Makefile
++++ openjdk/jdk/make/mkdemo/jvmti/hprof/Makefile
+@@ -39,10 +39,10 @@
+ EXTRA_LIBS += wsock32.lib winmm.lib
+ endif
+ ifeq ($(PLATFORM), solaris)
+- OTHER_LDLIBS += $(LIBSOCKET) -lnsl -ldl
++ OTHER_LDLIBS += $(LIBSOCKET) -ldl
+ endif
+ ifeq ($(PLATFORM), linux)
+- OTHER_LDLIBS += $(LIBSOCKET) -lnsl -ldl -lpthread
++ OTHER_LDLIBS += $(LIBSOCKET) -ldl -lpthread
+ endif
+
+ #