Commit 8cc085fb authored by Timo Teräs's avatar Timo Teräs
Browse files

testing/openjdk6: new aport

Sun OpenJDK 6 (Java 1.6) using IcedTea scripts
parent 01781c2e
# 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
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'`
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_Linux \
|| 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"
--- 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
--- 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];
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
#
--- 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
#
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment