From 44c939369e9f5d2aae6463e2cde329f76ffbf427 Mon Sep 17 00:00:00 2001 From: William Pitcock Date: Mon, 28 Mar 2011 19:52:39 -0500 Subject: testing/openjdk6: promote to main --- main/openjdk6/APKBUILD | 178 +++++++++++++++++++++++ main/openjdk6/icedtea-hotspot-uclibc-fixes.patch | 90 ++++++++++++ main/openjdk6/icedtea-jdk-execinfo.patch | 40 +++++ main/openjdk6/icedtea-jdk-iconv-uclibc.patch | 39 +++++ main/openjdk6/icedtea-jdk-no-lib-nsl.patch | 84 +++++++++++ 5 files changed, 431 insertions(+) create mode 100644 main/openjdk6/APKBUILD create mode 100644 main/openjdk6/icedtea-hotspot-uclibc-fixes.patch create mode 100644 main/openjdk6/icedtea-jdk-execinfo.patch create mode 100644 main/openjdk6/icedtea-jdk-iconv-uclibc.patch create mode 100644 main/openjdk6/icedtea-jdk-no-lib-nsl.patch (limited to 'main/openjdk6') diff --git a/main/openjdk6/APKBUILD b/main/openjdk6/APKBUILD new file mode 100644 index 0000000000..6c2a48dd8d --- /dev/null +++ b/main/openjdk6/APKBUILD @@ -0,0 +1,178 @@ +# Contributor: Timo Teras +# Maintainer: Timo Teras +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 0000000000..fb75ffc340 --- /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 + # include + # include +-# include + # include + # include + # include +@@ -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 0000000000..fb17ab6927 --- /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 + #include + #include +-#ifdef __linux__ ++#if defined(__linux__) && ! defined(__UCLIBC__) + #include + #endif + #include +@@ -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 + #include + #include +-#ifdef __linux__ ++#if defined(__linux__) && ! defined(__UCLIBC__) + #include + #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 0000000000..68f858167f --- /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 0000000000..26f89bb546 --- /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 + + # -- cgit v1.2.3