~alpine/aports

community/openjdk7: move from main v1 PROPOSED

Sören Tempel: 1
 community/openjdk7: move from main

 20 files changed, 839 insertions(+), 839 deletions(-)
Export patchset (mbox)
How do I use this?

Copy & paste the following snippet into your terminal to import this patchset into git:

curl -s https://lists.alpinelinux.org/~alpine/aports/patches/1442/mbox | git am -3
Learn more about email & git

[alpine-aports] [PATCH] community/openjdk7: move from main Export this patch

OpenJDK8 is already in community/ so OpenJDK7 should stay in community/
as well.
---
 community/openjdk7/APKBUILD                        | 287 +++++++++++++++++++++
 community/openjdk7/icedtea-hotspot-musl.patch      |  55 ++++
 .../openjdk7/icedtea-hotspot-noagent-musl.patch    |  54 ++++
 .../openjdk7/icedtea-hotspot-uclibc-fixes.patch    |  93 +++++++
 community/openjdk7/icedtea-jdk-execinfo.patch      |  40 +++
 community/openjdk7/icedtea-jdk-fix-build.patch     |  56 ++++
 community/openjdk7/icedtea-jdk-fix-ipv6-init.patch |  42 +++
 community/openjdk7/icedtea-jdk-musl.patch          | 116 +++++++++
 .../openjdk7/icedtea-jdk-no-lib-nsl-uclibc.patch   |  84 ++++++
 community/openjdk7/icedtea-jdk-no-soname.patch     |  12 +
 main/openjdk7/APKBUILD                             | 287 ---------------------
 main/openjdk7/icedtea-hotspot-musl.patch           |  55 ----
 main/openjdk7/icedtea-hotspot-noagent-musl.patch   |  54 ----
 main/openjdk7/icedtea-hotspot-uclibc-fixes.patch   |  93 -------
 main/openjdk7/icedtea-jdk-execinfo.patch           |  40 ---
 main/openjdk7/icedtea-jdk-fix-build.patch          |  56 ----
 main/openjdk7/icedtea-jdk-fix-ipv6-init.patch      |  42 ---
 main/openjdk7/icedtea-jdk-musl.patch               | 116 ---------
 main/openjdk7/icedtea-jdk-no-lib-nsl-uclibc.patch  |  84 ------
 main/openjdk7/icedtea-jdk-no-soname.patch          |  12 -
 20 files changed, 839 insertions(+), 839 deletions(-)
 create mode 100644 community/openjdk7/APKBUILD
 create mode 100644 community/openjdk7/icedtea-hotspot-musl.patch
 create mode 100644 community/openjdk7/icedtea-hotspot-noagent-musl.patch
 create mode 100644 community/openjdk7/icedtea-hotspot-uclibc-fixes.patch
 create mode 100644 community/openjdk7/icedtea-jdk-execinfo.patch
 create mode 100644 community/openjdk7/icedtea-jdk-fix-build.patch
 create mode 100644 community/openjdk7/icedtea-jdk-fix-ipv6-init.patch
 create mode 100644 community/openjdk7/icedtea-jdk-musl.patch
 create mode 100644 community/openjdk7/icedtea-jdk-no-lib-nsl-uclibc.patch
 create mode 100644 community/openjdk7/icedtea-jdk-no-soname.patch
 delete mode 100644 main/openjdk7/APKBUILD
 delete mode 100644 main/openjdk7/icedtea-hotspot-musl.patch
 delete mode 100644 main/openjdk7/icedtea-hotspot-noagent-musl.patch
 delete mode 100644 main/openjdk7/icedtea-hotspot-uclibc-fixes.patch
 delete mode 100644 main/openjdk7/icedtea-jdk-execinfo.patch
 delete mode 100644 main/openjdk7/icedtea-jdk-fix-build.patch
 delete mode 100644 main/openjdk7/icedtea-jdk-fix-ipv6-init.patch
 delete mode 100644 main/openjdk7/icedtea-jdk-musl.patch
 delete mode 100644 main/openjdk7/icedtea-jdk-no-lib-nsl-uclibc.patch
 delete mode 100644 main/openjdk7/icedtea-jdk-no-soname.patch

diff --git a/community/openjdk7/APKBUILD b/community/openjdk7/APKBUILD
new file mode 100644
index 0000000..31e8442
--- /dev/null
+++ b/community/openjdk7/APKBUILD
@@ -0,0 +1,287 @@
# Contributor: Timo Teras <timo.teras@iki.fi>
# Maintainer: Timo Teras <timo.teras@iki.fi>
pkgname=openjdk7
_icedteaver=2.6.1
# pkgver is <JDK version>.<JDK update>
# check icedtea JDK when updating
pkgver=7.85.$_icedteaver
pkgrel=0
pkgdesc="Sun OpenJDK 7 via IcedTea"
url="http://icedtea.classpath.org/"
arch="all"
license="GPL2 with Classpath"
depends="$pkgname-jre"
options="sover-namecheck"
makedepends="bash findutils tar zip file paxmark gawk util-linux libxslt
	     autoconf automake linux-headers
	     ca-certificates
	     nss-dev cups-dev jpeg-dev giflib-dev libpng-dev libxt-dev
	     lcms2-dev libxp-dev libxtst-dev libxinerama-dev zlib-dev
	     libxrender-dev alsa-lib-dev freetype-dev fontconfig-dev
	     gtk+2.0-dev krb5-dev attr-dev pcsc-lite-dev lksctp-tools-dev"
install=""

# upstream binary versions
RHINO_VER=1_7R3
ANT_VER=1.9.2

case $CARCH in
x86)	_jarch=i386;;
x86_64)	_jarch=amd64;;
arm*)	_jarch=arm
	# openjdk has quite a bit of arm assembly producing textrels
	# and it's non trivial to fix. allow it that for now.
	options="$options textrels";;
esac

INSTALL_BASE=/usr/lib/jvm/java-1.7-openjdk
_jrelib="$INSTALL_BASE/jre/lib/$_jarch"

# exclude xawt from ldpath to avoid duplicate provides for libmawt.so
# (also in headless). in future this should be a virtual provides.
ldpath="$_jrelib:$_jrelib/native_threads:$_jrelib/headless:$_jrelib/server:$_jrelib/jli"
somask="libjvm.so"

subpackages="$pkgname-jre-lib:jrelib $pkgname-jre $pkgname-jre-base:jrebase
	     $pkgname-doc:doc"

if [ "$BOOTSTRAP" != "no" ]; then
	makedepends="$makedepends java-gcj-compat"
	BOOTSTRAP_JAVA_HOME=/usr/lib/jvm/java-1.5-gcj/
else
	makedepends="$makedepends $pkgname"
	BOOTSTRAP_JAVA_HOME="$INSTALL_BASE"
fi

_dropsver=$_icedteaver
_dropsurl=http://icedtea.classpath.org/download/drops/icedtea7/$_dropsver

source="http://icedtea.classpath.org/download/source/icedtea-$_icedteaver.tar.gz
	saveas-$_dropsurl/openjdk.tar.bz2/openjdk-$_dropsver.tar.bz2
	saveas-$_dropsurl/corba.tar.bz2/corba-$_dropsver.tar.bz2
	saveas-$_dropsurl/jaxp.tar.bz2/jaxp-$_dropsver.tar.bz2
	saveas-$_dropsurl/jaxws.tar.bz2/jaxws-$_dropsver.tar.bz2
	saveas-$_dropsurl/jdk.tar.bz2/jdk-$_dropsver.tar.bz2
	saveas-$_dropsurl/langtools.tar.bz2/langtools-$_dropsver.tar.bz2
	saveas-$_dropsurl/hotspot.tar.bz2/hotspot-$_dropsver.tar.bz2
	http://archive.apache.org/dist/ant/binaries/apache-ant-$ANT_VER-bin.tar.gz
	ftp://ftp.mozilla.org/pub/mozilla.org/js/rhino$RHINO_VER.zip

	icedtea-hotspot-musl.patch
	icedtea-hotspot-noagent-musl.patch
	icedtea-hotspot-uclibc-fixes.patch
	icedtea-jdk-fix-build.patch
	icedtea-jdk-execinfo.patch
	icedtea-jdk-fix-ipv6-init.patch
	icedtea-jdk-musl.patch
	icedtea-jdk-no-soname.patch
	"

# icedtea6-1.9.7-generate_cacerts-1.patch

_builddir="$srcdir/icedtea-$_icedteaver"

unpack() {
	if [ -z "$force" ]; then
		verify || return 1
		initdcheck || return 1
	fi
	mkdir -p "$srcdir"
	msg "Unpacking sources..."
	tar -C "$srcdir" -zxf icedtea-$_icedteaver.tar.gz || return 1
	tar -C "$srcdir" -zxf apache-ant-$ANT_VER-bin.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.am

        for patch in $source; do
                case $patch in
		icedtea-*.patch)
			cp ../$patch patches
			;;
                *.patch)
                        msg "Applying patch $patch"
                        patch -p1 -i "$srcdir"/$patch || return 1
                        ;;
                esac
        done

	./autogen.sh
}

build() {
	[ -z "$JOBS" ] && export JOBS=`echo $MAKEFLAGS | sed -n -e 's/.*-j\([0-9]\+\).*/\1/p'`
	export ALT_PARALLEL_COMPILE_JOBS="${JOBS:-2}"
	export HOTSPOT_BUILD_JOBS="${JOBS:-2}"

	export JAVA_HOME=$BOOTSTRAP_JAVA_HOME
	export PATH=$JAVA_HOME/bin:$srcdir/apache-ant-$ANT_VER/bin:$PATH
	export DISTRIBUTION_PATCHES=""

	local patch
	for patch in $source; do
		case $patch in
		icedtea-*.patch)
			export DISTRIBUTION_PATCHES="$DISTRIBUTION_PATCHES patches/$patch"
			;;
		esac
	done
	echo "icedtea patches: $DISTRIBUTION_PATCHES"

	cd "$_builddir"
	./configure \
		--build=$CBUILD \
		--host=$CHOST \
		--prefix=$INSTALL_BASE \
		--sysconfdir=/etc \
		--mandir=/usr/share/man \
		--infodir=/usr/share/info \
		--localstatedir=/var \
		--with-parallel-jobs=${JOBS:-2} \
		--disable-dependency-tracking \
		--disable-downloading \
		--with-rhino=$srcdir/rhino$RHINO_VER/js.jar \
		--with-openjdk-src-zip=$srcdir/openjdk-$_dropsver.tar.bz2 \
		--with-hotspot-src-zip=$srcdir/hotspot-$_dropsver.tar.bz2 \
		--with-corba-src-zip=$srcdir/corba-$_dropsver.tar.bz2 \
		--with-jaxp-src-zip=$srcdir/jaxp-$_dropsver.tar.bz2 \
		--with-jaxws-src-zip=$srcdir/jaxws-$_dropsver.tar.bz2 \
		--with-jdk-src-zip=$srcdir/jdk-$_dropsver.tar.bz2 \
		--with-langtools-src-zip=$srcdir/langtools-$_dropsver.tar.bz2 \
		--with-pax=paxmark \
		--with-jdk-home=$BOOTSTRAP_JAVA_HOME \
		--with-pkgversion="Alpine ${pkgver}-r${pkgrel}" \
		|| 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

	# pax mark again (due to fakeroot xattr handling bug)
	$_builddir/pax-mark-vm "$pkgdir"/$INSTALL_BASE
}

jrelib() {
	pkgdesc="OpenJDK 7 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 7 Java Runtime (no GUI support)"
	depends="$pkgname-jre-lib java-common"
	# manually provide this to avoid clash with libgcj's libjvm.so
	provides="so:openjdk7:libjvm.so=0"

	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

	# pax mark again (due to fakeroot xattr handling bug)
	$_builddir/pax-mark-vm "$subpkgdir"/$INSTALL_BASE
}

jre() {
	pkgdesc="OpenJDK 7 Java Runtime"
	# manually depend to avoid clash with libgcj's libjvm.so
	depends="so:openjdk7:libjvm.so=0"

	mkdir -p "$subpkgdir"
	for A in jre/bin/policytool \
		 bin/appletviewer \
		 bin/policytool \
		 jre/lib/$_jarch/xawt \
		 jre/lib/$_jarch/libsplashscreen.so ; do
		dirname=${A%/*}
		mkdir -p "$subpkgdir"/$INSTALL_BASE/$dirname
		mv "$pkgdir"/$INSTALL_BASE/$A "$subpkgdir"/$INSTALL_BASE/$dirname
	done

	# pax mark again (due to fakeroot xattr handling bug)
	$_builddir/pax-mark-vm "$subpkgdir"/$INSTALL_BASE
}

doc() {
	default_doc

	mkdir -p "$subpkgdir"/$INSTALL_BASE/
	mv "$pkgdir"/$INSTALL_BASE/man "$subpkgdir"/$INSTALL_BASE/
}

md5sums="efac44117a94b9d3278988959e336e05  icedtea-2.6.1.tar.gz
d330560d5e9f443aa0e26130ca111a3f  openjdk-2.6.1.tar.bz2
0de3ec4198c437e3cbc58420c65146e1  corba-2.6.1.tar.bz2
8fa2bf64a4c27fea33f5fa60df6bcce6  jaxp-2.6.1.tar.bz2
ebb952f8d77498fd8e5f0a1f27e2a6a2  jaxws-2.6.1.tar.bz2
e242c40b5d7f4cfa52a0071c2836ba34  jdk-2.6.1.tar.bz2
1bf69ee4265e49516283aa9126ceb80d  langtools-2.6.1.tar.bz2
1a2fae086d50fc1ad69b72b4cf5baa3a  hotspot-2.6.1.tar.bz2
9a2826a1819aa128629778217af36c55  apache-ant-1.9.2-bin.tar.gz
99d94103662a8d0b571e247a77432ac5  rhino1_7R3.zip
f87dd2c4c3c97fc3ac33080a65ca9e14  icedtea-hotspot-musl.patch
bf8b50e157d80a8b884c1aa4f8124812  icedtea-hotspot-noagent-musl.patch
43023861c5f6efc3139a834aa3ec0476  icedtea-hotspot-uclibc-fixes.patch
07c7ab583808e8c8ceb46aff9c265aa4  icedtea-jdk-fix-build.patch
bd623081d5d2e63694c3649975b12412  icedtea-jdk-execinfo.patch
250b0807b59762670954b132e8f8dfba  icedtea-jdk-fix-ipv6-init.patch
66f6e66eb135f0d88847910f6581d323  icedtea-jdk-musl.patch
d014431e70cdabb82a75e4b9ae4c28a9  icedtea-jdk-no-soname.patch"
sha256sums="491866e57199b0bc99d716be3eabaab97d9f6a698d1a652d748baeddeedfe963  icedtea-2.6.1.tar.gz
0168a0174ee47407139ee32458c4d2a298ba4f44260343b209250156e4da463f  openjdk-2.6.1.tar.bz2
cd03d97c171a2d45ca94c1642265e09c09a459b1d4ac1191f82af88ca171f6f8  corba-2.6.1.tar.bz2
c00c4c2889f77c4615fd655415067e14840764f52e503f220ed324720117faeb  jaxp-2.6.1.tar.bz2
2d5ff95dc62ab7986973e15e9cf91d5596d2cf486ee52beab9eab62f70f2ae9f  jaxws-2.6.1.tar.bz2
a8083e75e14ddb4575bf2cd733e80a0074201b45d8debbe04f84564b32875363  jdk-2.6.1.tar.bz2
6db9bd16658fa8460e0afa4b05f28bd47148528d7581a403bea1e70f56cedd43  langtools-2.6.1.tar.bz2
00043b0c09aa06ce1766c2973d18b0283bd2128a44c94cde97b626a4856b68b3  hotspot-2.6.1.tar.bz2
cab1b8754e5f1f2aa869e2ba603903ae5e81a585de4eafd00f173531a11b5a45  apache-ant-1.9.2-bin.tar.gz
885b46e24fe5af23ad3712c5e08e8d97d6d92a4b89e1be860e8fe88e4a3dacd1  rhino1_7R3.zip
a7922430cb767c8a4baae232c8b2e5f377aeb7cfde0c9901cd7774f078e7f92e  icedtea-hotspot-musl.patch
1d937de95323094294c33dd490fc460f78502259eee3bf4b352ac7c7c6cf626f  icedtea-hotspot-noagent-musl.patch
0ef7592b8f2c954eda0a6cf4dc4a4010942f35ea426f44e34412be6c9a949745  icedtea-hotspot-uclibc-fixes.patch
33b18e827a13cc46be11a4491deefac171c8c2c4fbdd3e0cb4a5fdafa560f958  icedtea-jdk-fix-build.patch
6cebef19d8eec5a4623a96c37ae71b79d124a10478c1db33ad5fc71bc04b30e9  icedtea-jdk-execinfo.patch
632683ec88a6fb250ef043aae9cace605d0c669b7058f8c47b62b09b03ecc6c5  icedtea-jdk-fix-ipv6-init.patch
b3f82269f69483d3fe137e369f9325003ce7872d886cdf67705b434ce949b5bc  icedtea-jdk-musl.patch
6c0bbe710395c4ced1359ab279be6a7c36da5bfb9fd60dc47d920f06a0456d82  icedtea-jdk-no-soname.patch"
sha512sums="6e3df56f605fa026cf028cd3e2ff22215b78b86fea6231e9e5229d43b04f82d91103506c4ca572d953ab0d52fab8b8846077244f3be32b9be5bd9ccdf848fc40  icedtea-2.6.1.tar.gz
b17315b58d6662953f7a6d73eb222a5a81165f55bed2f48f3d3915a169e8c8e503b5f22c59fce5cd3202ed2392f946f8701d9cff92d235ae44696d370f2efd28  openjdk-2.6.1.tar.bz2
16a0bd71db484cd948ef3e941566af5b63d657f4d946caed0cef2fb104680beb21bd8633a6f48501c987cedb7949d7228ca7957e5fae3f4adc9ec48050193a12  corba-2.6.1.tar.bz2
1d8e68f0118f0e8465e333a8edd8aa9fdc16591c62bf4cc5c7791fb7f9acb97b9c6290fa4879a13138a68cb8b4fa93534cef3ebaee7bb8f3c0565595a3228493  jaxp-2.6.1.tar.bz2
0d5fc0001571381d151033b4e8ca98658bed3943c34faafc73ffea2d537d44b433ad49e246fc00335828418fc6e1c40d75fd1ee2280ebf0bf4014b4551f80bb0  jaxws-2.6.1.tar.bz2
d5921683a63cca12fb73224ddd248ae37a986af1f9df131a130fb6f2f808631730298770382a90468b136c2bedb699985d129acb7e0fa2de662ab7543bcfba4c  jdk-2.6.1.tar.bz2
38136bba4d52b8de60e9a38f6ad47253d7513e46d82830ebb8f2f8659f66f99b7e3d7c4ad31c604cc5c516f1de331f2cdaf0ab0b37cff1dfd327c25ccc0f246f  langtools-2.6.1.tar.bz2
ce9d1ee654e9c25bb2cb8953aab838b206e96fe27804acaa0ed652d8b1bc6dffb138c90ea7e188b189c3ec743dc594c6c49d7217d14cd88ecb6bb9314c74f44c  hotspot-2.6.1.tar.bz2
618c0c3d80f7c44c2bb8cdfdc2b5278ccd926ab1aa0c8f7099bd0ad5cb4c090f023c0b86c8267052a0a6b1ac57076296fcc16042b9e7a72a1482af63c99e0e49  apache-ant-1.9.2-bin.tar.gz
77964485481e22d20459ea094c773e1930c5ef22d69bc449375a1ead31f340b3a652e2dd85c645e210be1abc8e623aeb560a5dc81629f388322af270ce868d36  rhino1_7R3.zip
994e8a79a0a23f26d633bf2ce9dad62198c699892f6e7729cc6e509481330399bb2ba736514b516fd2b3dd125fd6c74a127ae7f16d643c3f6a69776737cdb933  icedtea-hotspot-musl.patch
e7a2c1771bb582d427041f8d22e48c0daf8f20d7c0926cbce3549d49c4e949359ee25a35682b486e82f3e390535c950c5beee3bd8d06fb5a717b50f2d9b2a6bc  icedtea-hotspot-noagent-musl.patch
822eee0dc4d3ba677a289dfeb3668b536d2d626708390a9d9702fb4144a481fd443a215a0d2041c6026113837aafa4ba0b5e9ead8589d2da6717a238bbc95a5a  icedtea-hotspot-uclibc-fixes.patch
213a537de5f011cb39d608515c3413513ac75fb93593f9a9ef4205f71d72bdd8b097c80db185f7b26021d5bb85045b866f34f3478482dc4189972d8614a13458  icedtea-jdk-fix-build.patch
0391970e6a32946aa3cccf38fdef9c0fe2af26cd0df824b98aa2fcfa1bf661d4a68e339bffcfd16f386c565fc68bb28a29208a67d4bad8a0e847ad02bd8becbb  icedtea-jdk-execinfo.patch
48533f87fc2cf29d26b259be0df51087d2fe5b252e72d00c6ea2f4add7b0fb113141718c116279c5905e03f64a1118082e719393786811367cf4d472b5d36774  icedtea-jdk-fix-ipv6-init.patch
44a35941c80f408d0607e32763b3b6ccee21e1d39886309327d3d74d2900117e4346ef59e77c663fd022fec10ee8f365eeb46c1260014d5765d226ce175ce3c5  icedtea-jdk-musl.patch
bf4b184e170f7b0ff64ab30d2162784fe2bd5460d1fa31973259f7065fd4c511c46f97724fe2bd72bb94e9006cb568d0e0c87d1a9c90819e65880f8f44830bb1  icedtea-jdk-no-soname.patch"
diff --git a/community/openjdk7/icedtea-hotspot-musl.patch b/community/openjdk7/icedtea-hotspot-musl.patch
new file mode 100644
index 0000000..41072de
--- /dev/null
+++ b/community/openjdk7/icedtea-hotspot-musl.patch
@@ -0,0 +1,55 @@
--- openjdk.orig/hotspot/src/os/linux/vm/jvm_linux.cpp
+++ openjdk/hotspot/src/os/linux/vm/jvm_linux.cpp
@@ -154,7 +154,9 @@
 #ifdef SIGSTKFLT
   "STKFLT",     SIGSTKFLT,      /* Stack fault.  */
 #endif
+#ifdef SIGCLD
   "CLD",        SIGCLD,         /* Same as SIGCHLD (System V).  */
+#endif
   "CHLD",       SIGCHLD,        /* Child status has changed (POSIX).  */
   "CONT",       SIGCONT,        /* Continue (POSIX).  */
   "STOP",       SIGSTOP,        /* Stop, unblockable (POSIX).  */
--- openjdk.orig/hotspot/src/os/linux/vm/os_linux.inline.hpp
+++ openjdk/hotspot/src/os/linux/vm/os_linux.inline.hpp
@@ -52,7 +52,7 @@
 
 #include <unistd.h>
 #include <sys/socket.h>
-#include <sys/poll.h>
+#include <poll.h>
 #include <netdb.h>
 
 inline void* os::thread_local_storage_at(int index) {
--- openjdk.orig/hotspot/src/os_cpu/linux_x86/vm/os_linux_x86.cpp
+++ openjdk/hotspot/src/os_cpu/linux_x86/vm/os_linux_x86.cpp
@@ -73,7 +73,6 @@
 # include <pwd.h>
 # include <poll.h>
 # include <ucontext.h>
-# include <fpu_control.h>
 
 #ifdef AMD64
 #define REG_SP REG_RSP
@@ -532,6 +531,9 @@
 
   ShouldNotReachHere();
 }
+
+#define _FPU_GETCW(cw) __asm__ __volatile__ ("fnstcw %0" : "=m" (*&cw))
+#define _FPU_SETCW(cw) __asm__ __volatile__ ("fldcw %0" : : "m" (*&cw))
 
 void os::Linux::init_thread_fpu_state(void) {
 #ifndef AMD64
--- openjdk.orig/hotspot/src/os_cpu/linux_x86/vm/threadLS_linux_x86.hpp
+++ openjdk/hotspot/src/os_cpu/linux_x86/vm/threadLS_linux_x86.hpp
@@ -32,7 +32,9 @@
   // map stack pointer to thread pointer - see notes in threadLS_linux_x86.cpp
   #define SP_BITLENGTH  32
   #define PAGE_SHIFT    12
+  #ifndef PAGE_SIZE
   #define PAGE_SIZE     (1UL << PAGE_SHIFT)
+  #endif
   static Thread* _sp_map[1UL << (SP_BITLENGTH - PAGE_SHIFT)];
 
 public:
diff --git a/community/openjdk7/icedtea-hotspot-noagent-musl.patch b/community/openjdk7/icedtea-hotspot-noagent-musl.patch
new file mode 100644
index 0000000..37604ac
--- /dev/null
+++ b/community/openjdk7/icedtea-hotspot-noagent-musl.patch
@@ -0,0 +1,54 @@
--- openjdk.orig/hotspot/make/linux/makefiles/defs.make
+++ openjdk/hotspot/make/linux/makefiles/defs.make
@@ -327,6 +327,9 @@
 
 # Serviceability Binaries
 # No SA Support for PPC, IA64, ARM or zero
+# or if thread_db.h missing (musl)
+
+ifneq ($(wildcard /usr/include/thread_db.h),)
 ADD_SA_BINARIES/x86   = $(EXPORT_JRE_LIB_ARCH_DIR)/libsaproc.$(LIBRARY_SUFFIX) \
                         $(EXPORT_LIB_DIR)/sa-jdi.jar 
 ADD_SA_BINARIES/sparc = $(EXPORT_JRE_LIB_ARCH_DIR)/libsaproc.$(LIBRARY_SUFFIX) \
@@ -343,6 +346,10 @@
       endif
     endif
   endif
+endif
+else
+ADD_SA_BINARIES/x86   =
+ADD_SA_BINARIES/sparc =
 endif
 ADD_SA_BINARIES/ppc   = 
 ADD_SA_BINARIES/ppc64 = 
--- openjdk.orig/hotspot/make/linux/makefiles/sa.make
+++ openjdk/hotspot/make/linux/makefiles/sa.make
@@ -59,9 +59,11 @@
 
 # if $(AGENT_DIR) does not exist, we don't build SA
 # also, we don't build SA on Itanium or zero.
+# check for thread_db.h too (musl does not have it).
 
 all: 
-	if [ -d $(AGENT_DIR) -a "$(SRCARCH)" != "ia64" \
+	if [ -d $(AGENT_DIR) -a -f /usr/include/thread_db.h \
+             -a "$(SRCARCH)" != "ia64" \
              -a "$(SRCARCH)" != "zero"  \
              -a "$(SRCARCH)" != "aarch64" ] ; then \
 	   $(MAKE) -f sa.make $(GENERATED)/sa-jdi.jar; \
--- openjdk.orig/hotspot/make/linux/makefiles/saproc.make
+++ openjdk/hotspot/make/linux/makefiles/saproc.make
@@ -65,10 +65,13 @@
 
 # if $(AGENT_DIR) does not exist, we don't build SA
 # also, we don't build SA on Itanium or zero.
+# check for thread_db.h too (musl does not have it).
 
+ifneq ($(wildcard /usr/include/thread_db.h),)
 ifneq ($(wildcard $(AGENT_DIR)),)
 ifneq ($(filter-out ia64 zero aarch64,$(SRCARCH)),)
   BUILDLIBSAPROC = $(LIBSAPROC)
+endif
 endif
 endif
 
diff --git a/community/openjdk7/icedtea-hotspot-uclibc-fixes.patch b/community/openjdk7/icedtea-hotspot-uclibc-fixes.patch
new file mode 100644
index 0000000..1c1d822
--- /dev/null
+++ b/community/openjdk7/icedtea-hotspot-uclibc-fixes.patch
@@ -0,0 +1,93 @@
--- openjdk.orig/hotspot/src/os/linux/vm/os_linux.cpp
+++ openjdk/hotspot/src/os/linux/vm/os_linux.cpp
@@ -112,7 +112,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>
@@ -632,6 +631,13 @@
 // detecting pthread library
 
 void os::Linux::libpthread_init() {
+#if 1
+  // Hard code Alpine Linux supported uclibc/musl compatible settings
+  os::Linux::set_glibc_version("glibc 2.9");
+  os::Linux::set_libpthread_version("NPTL");
+  os::Linux::set_is_NPTL();
+  os::Linux::set_is_floating_stack();
+#else
   // Save glibc and pthread version strings. Note that _CS_GNU_LIBC_VERSION
   // and _CS_GNU_LIBPTHREAD_VERSION are supported in glibc >= 2.3.2. Use a
   // generic name for earlier versions.
@@ -690,6 +696,7 @@
   if (os::Linux::is_NPTL() || os::Linux::supports_variable_stack_size()) {
      os::Linux::set_is_floating_stack();
   }
+#endif
 }
 
 /////////////////////////////////////////////////////////////////////////////
@@ -2951,11 +2958,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() {
@@ -5312,7 +5315,25 @@
 // 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) {
+#ifdef __UCLIBC__
+	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;
+#else
   return ::getloadavg(loadavg, nelem);
+#endif
 }
 
 void os::pause() {
--- openjdk.orig/hotspot/src/share/vm/utilities/globalDefinitions_gcc.hpp
+++ openjdk/hotspot/src/share/vm/utilities/globalDefinitions_gcc.hpp
@@ -253,7 +253,7 @@
 #elif defined(__APPLE__)
 inline int g_isnan(double f) { return isnan(f); }
 #elif defined(LINUX) || defined(_ALLBSD_SOURCE)
-inline int g_isnan(float  f) { return isnanf(f); }
+inline int g_isnan(float  f) { return isnan(f); }
 inline int g_isnan(double f) { return isnan(f); }
 #else
 #error "missing platform-specific definition here"
@@ -267,8 +267,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
diff --git a/community/openjdk7/icedtea-jdk-execinfo.patch b/community/openjdk7/icedtea-jdk-execinfo.patch
new file mode 100644
index 0000000..a6499dc
--- /dev/null
+++ b/community/openjdk7/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(__GLIBC__) && ! defined(__UCLIBC__)
 #include <execinfo.h>
 #endif
 #include <stdio.h>
@@ -835,7 +835,7 @@
     AWT_UNLOCK();
 }
 
-#ifdef __linux__
+#if defined(__linux__) && defined(__GLIBC__) && ! 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(__GLIBC__) && ! defined(__UCLIBC__)
 #include <execinfo.h>
 #endif
 
@@ -689,7 +689,7 @@
     return ret;
 }
 
-#ifdef __linux__
+#if defined(__linux__) && defined(__GLIBC__) && ! defined(__UCLIBC__)
 void print_stack(void)
 {
   void *array[10];
diff --git a/community/openjdk7/icedtea-jdk-fix-build.patch b/community/openjdk7/icedtea-jdk-fix-build.patch
new file mode 100644
index 0000000..9fae895
--- /dev/null
+++ b/community/openjdk7/icedtea-jdk-fix-build.patch
@@ -0,0 +1,56 @@
Fixes three issues:
 - so's should not be linked to -ljvm as dlopen(/abs/name) is
   used by the launcher to load libjvm.so; it is thus not available
   (musl/uclibc) ld.so to satisfy NEEDED dependency inserted by
   -ljvm. Fix to not link against -ljvm, and disable -z defs so
   undefined symbols are allowed in sos
 - the previous makes ldd generate errors on unresolved symbols (musl)
   remove it altogether as it's used for informative purposes only
   (display things - not check anything useful)
 - Don't delete the generated directory $(GENCSEXT), this can
   confuse make in highly parallel builds with:
   make[6]: *** INTERNAL: readdir: No such file or directory.  Stop.               
   make[6]: Leaving directory '.../openjdk-boot/jdk/make/sun/nio/cs'     

--- openjdk.orig/jdk/make/common/Defs-linux.gmk
+++ openjdk/jdk/make/common/Defs-linux.gmk
@@ -350,7 +350,7 @@
 
 EXTRA_LIBS += -lc
 
-LDFLAGS_DEFS_OPTION  = -Xlinker -z -Xlinker defs
+LDFLAGS_DEFS_OPTION  =
 LDFLAGS_COMMON  += $(LDFLAGS_DEFS_OPTION)
 
 #
@@ -407,7 +407,7 @@
 # the library itself should not.
 #
 VM_NAME         = server
-JVMLIB          = -L$(LIBDIR)/$(LIBARCH)/$(VM_NAME) -ljvm
+JVMLIB          =
 JAVALIB         = -ljava $(JVMLIB)
 
 #
--- openjdk.orig/jdk/make/sun/nio/cs/Makefile
+++ openjdk/jdk/make/sun/nio/cs/Makefile
@@ -107,7 +107,7 @@
 		$(GENCSDATASRC)/DoubleByte-X.java.template \
 		$(GENCSDATASRC)/extsbcs $(GENCSDATASRC)/dbcs
 	@$(prep-target)
-	$(RM) -r $(GENCSEXT)
+	$(RM) -f "$(GENCSEXT)"/*
 	$(MKDIR) -p $(GENCSEXT)
 	$(BOOT_JAVA_CMD) -jar $(CHARSETMAPPING_JARFILE)	$(GENCSDATASRC) $(GENCSEXT) extsbcs
 	$(BOOT_JAVA_CMD) -jar $(CHARSETMAPPING_JARFILE) $(GENCSDATASRC) $(GENCSEXT) euctw \
--- openjdk.orig/jdk/make/common/shared/Defs-linux.gmk
+++ openjdk/jdk/make/common/shared/Defs-linux.gmk
@@ -207,8 +207,6 @@
   if [ "`$(NM) -D -g --defined-only $1 | $(EGREP) 'SUNWprivate'`" = "" ] ; then \
     $(ECHO) "$(MAPFILE_WARNING): File was not built with a mapfile: $1"; \
   fi && \
-  $(ECHO) "Library loads for: $1" && \
-  $(LDD) $1 && \
   $(ECHO) "RUNPATH for: $1" && \
   ( $(READELF) -d $1 | $(EGREP) 'NEEDED|RUNPATH|RPATH' ) \
 )
diff --git a/community/openjdk7/icedtea-jdk-fix-ipv6-init.patch b/community/openjdk7/icedtea-jdk-fix-ipv6-init.patch
new file mode 100644
index 0000000..11f3bf6
--- /dev/null
+++ b/community/openjdk7/icedtea-jdk-fix-ipv6-init.patch
@@ -0,0 +1,42 @@
--- openjdk/jdk/src/solaris/native/java/net/net_util_md.c.orig
+++ openjdk/jdk/src/solaris/native/java/net/net_util_md.c
@@ -561,7 +561,7 @@
 
 static struct localinterface *localifs = 0;
 static int localifsSize = 0;    /* size of array */
-static int nifs = 0;            /* number of entries used in array */
+static int nifs = -1;            /* number of entries used in array */
 
 /* not thread safe: make sure called once from one thread */
 
@@ -573,6 +573,10 @@
     int index, x1, x2, x3;
     unsigned int u0,u1,u2,u3,u4,u5,u6,u7,u8,u9,ua,ub,uc,ud,ue,uf;
 
+    if (nifs >= 0)
+	return ;
+    nifs = 0;
+
     if ((f = fopen("/proc/net/if_inet6", "r")) == NULL) {
         return ;
     }
@@ -601,7 +605,7 @@
             localifs = (struct localinterface *) realloc (
                         localifs, sizeof (struct localinterface)* (localifsSize+5));
             if (localifs == 0) {
-                nifs = 0;
+                nifs = -1;
                 fclose (f);
                 return;
             }
@@ -624,9 +628,7 @@
 static int getLocalScopeID (char *addr) {
     struct localinterface *lif;
     int i;
-    if (localifs == 0) {
-        initLocalIfs();
-    }
+    initLocalIfs();
     for (i=0, lif=localifs; i<nifs; i++, lif++) {
         if (memcmp (addr, lif->localaddr, 16) == 0) {
             return lif->index;
diff --git a/community/openjdk7/icedtea-jdk-musl.patch b/community/openjdk7/icedtea-jdk-musl.patch
new file mode 100644
index 0000000..49c16d7
--- /dev/null
+++ b/community/openjdk7/icedtea-jdk-musl.patch
@@ -0,0 +1,116 @@
diff -ru openjdk.orig/jdk/src/share/native/com/sun/java/util/jar/pack/zip.cpp openjdk/jdk/src/share/native/com/sun/java/util/jar/pack/zip.cpp
--- openjdk.orig/jdk/src/share/native/com/sun/java/util/jar/pack/zip.cpp	2014-06-12 20:14:44.000000000 +0000
+++ openjdk/jdk/src/share/native/com/sun/java/util/jar/pack/zip.cpp	2014-07-15 07:19:52.186682096 +0000
@@ -46,6 +46,8 @@
 
 #include "zip.h"
 
+#define uchar unsigned char
+
 #ifdef NO_ZLIB
 
 inline bool jar::deflate_bytes(bytes& head, bytes& tail) {
diff -ru openjdk.orig/jdk/src/share/native/com/sun/java/util/jar/pack/zip.h openjdk/jdk/src/share/native/com/sun/java/util/jar/pack/zip.h
--- openjdk.orig/jdk/src/share/native/com/sun/java/util/jar/pack/zip.h	2014-06-12 20:14:44.000000000 +0000
+++ openjdk/jdk/src/share/native/com/sun/java/util/jar/pack/zip.h	2014-07-15 07:19:52.186682096 +0000
@@ -23,9 +23,7 @@
  * questions.
  */
 
-#define ushort unsigned short
-#define uint   unsigned int
-#define uchar  unsigned char
+#include <sys/types.h>
 
 struct unpacker;
 
diff -ru openjdk.orig/jdk/src/share/native/sun/awt/medialib/mlib_types.h openjdk/jdk/src/share/native/sun/awt/medialib/mlib_types.h
--- openjdk.orig/jdk/src/share/native/sun/awt/medialib/mlib_types.h	2014-06-12 20:14:44.000000000 +0000
+++ openjdk/jdk/src/share/native/sun/awt/medialib/mlib_types.h	2014-07-15 07:19:52.186682096 +0000
@@ -27,6 +27,7 @@
 #ifndef MLIB_TYPES_H
 #define MLIB_TYPES_H
 
+#include <stddef.h>			/* for NULL */
 #include <limits.h>
 #if defined(_MSC_VER)
 #include <float.h>                      /* for FLT_MAX and DBL_MAX */
diff -ru openjdk.orig/jdk/src/solaris/native/java/net/Inet4AddressImpl.c openjdk/jdk/src/solaris/native/java/net/Inet4AddressImpl.c
--- openjdk.orig/jdk/src/solaris/native/java/net/Inet4AddressImpl.c	2014-06-12 20:14:44.000000000 +0000
+++ openjdk/jdk/src/solaris/native/java/net/Inet4AddressImpl.c	2014-07-15 07:19:52.186682096 +0000
@@ -47,7 +47,7 @@
 
 #include "java_net_Inet4AddressImpl.h"
 
-#if defined(__GLIBC__) || (defined(__FreeBSD__) && (__FreeBSD_version >= 601104))
+#if defined(__linux__) || (defined(__FreeBSD__) && (__FreeBSD_version >= 601104))
 #define HAS_GLIBC_GETHOSTBY_R   1
 #endif
 
diff -ru openjdk.orig/jdk/src/solaris/native/java/net/NetworkInterface.c openjdk/jdk/src/solaris/native/java/net/NetworkInterface.c
--- openjdk.orig/jdk/src/solaris/native/java/net/NetworkInterface.c	2014-06-12 20:14:44.000000000 +0000
+++ openjdk/jdk/src/solaris/native/java/net/NetworkInterface.c	2014-07-15 07:19:52.186682096 +0000
@@ -47,7 +47,6 @@
 
 #ifdef __linux__
 #include <sys/ioctl.h>
-#include <bits/ioctls.h>
 #include <sys/utsname.h>
 #include <stdio.h>
 #endif
diff -ru openjdk.orig/jdk/src/solaris/native/java/net/PlainDatagramSocketImpl.c openjdk/jdk/src/solaris/native/java/net/PlainDatagramSocketImpl.c
--- openjdk.orig/jdk/src/solaris/native/java/net/PlainDatagramSocketImpl.c	2014-06-12 20:14:44.000000000 +0000
+++ openjdk/jdk/src/solaris/native/java/net/PlainDatagramSocketImpl.c	2014-07-15 07:19:52.190015524 +0000
@@ -35,7 +35,6 @@
 #endif
 #ifdef __linux__
 #include <unistd.h>
-#include <sys/sysctl.h>
 #include <sys/utsname.h>
 #include <netinet/ip.h>
 
diff -ru openjdk.orig/jdk/src/solaris/native/java/net/PlainSocketImpl.c openjdk/jdk/src/solaris/native/java/net/PlainSocketImpl.c
--- openjdk.orig/jdk/src/solaris/native/java/net/PlainSocketImpl.c	2014-06-12 20:14:44.000000000 +0000
+++ openjdk/jdk/src/solaris/native/java/net/PlainSocketImpl.c	2014-07-15 07:19:52.190015524 +0000
@@ -43,7 +43,6 @@
 #endif
 #ifdef __linux__
 #include <unistd.h>
-#include <sys/sysctl.h>
 #endif
 
 #include "jvm.h"
diff -ru openjdk.orig/jdk/src/solaris/native/java/net/linux_close.c openjdk/jdk/src/solaris/native/java/net/linux_close.c
--- openjdk.orig/jdk/src/solaris/native/java/net/linux_close.c	2014-06-12 20:14:44.000000000 +0000
+++ openjdk/jdk/src/solaris/native/java/net/linux_close.c	2014-07-15 07:22:17.609355950 +0000
@@ -75,7 +75,7 @@
 #ifdef _AIX
 static int sigWakeup = (SIGRTMAX - 1);
 #else
-static int sigWakeup = (__SIGRTMAX - 2);
+static int sigWakeup;
 #endif
 
 /*
@@ -148,6 +148,9 @@
     /*
      * Setup the signal handler
      */
+#ifndef __AIX
+    sigWakeup = SIGRTMAX - 2;
+#endif
     sa.sa_handler = sig_wakeup;
     sa.sa_flags   = 0;
     sigemptyset(&sa.sa_mask);
diff -ru openjdk.orig/jdk/src/solaris/native/sun/nio/ch/NativeThread.c openjdk/jdk/src/solaris/native/sun/nio/ch/NativeThread.c
--- openjdk.orig/jdk/src/solaris/native/sun/nio/ch/NativeThread.c	2014-06-12 20:14:44.000000000 +0000
+++ openjdk/jdk/src/solaris/native/sun/nio/ch/NativeThread.c	2014-07-15 07:19:52.190015524 +0000
@@ -38,7 +38,7 @@
 #include <sys/signal.h>
 
 /* Also defined in src/solaris/native/java/net/linux_close.c */
-#define INTERRUPT_SIGNAL (__SIGRTMAX - 2)
+#define INTERRUPT_SIGNAL (SIGRTMAX - 2)
 
 static void
 nullHandler(int sig)
diff --git a/community/openjdk7/icedtea-jdk-no-lib-nsl-uclibc.patch b/community/openjdk7/icedtea-jdk-no-lib-nsl-uclibc.patch
new file mode 100644
index 0000000..26f89bb
--- /dev/null
+++ b/community/openjdk7/icedtea-jdk-no-lib-nsl-uclibc.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
 
 #
diff --git a/community/openjdk7/icedtea-jdk-no-soname.patch b/community/openjdk7/icedtea-jdk-no-soname.patch
new file mode 100644
index 0000000..fe6bbb7
--- /dev/null
+++ b/community/openjdk7/icedtea-jdk-no-soname.patch
@@ -0,0 +1,12 @@
--- ./openjdk/jdk/make/common/Defs-linux.gmk.orig
+++ ./openjdk/jdk/make/common/Defs-linux.gmk
@@ -248,7 +248,9 @@
 #
 LDFLAGS_OPT     = -Xlinker -O1
 LDFLAGS_COMMON += -L$(LIBDIR)/$(LIBARCH)
+ifdef LIBRARY
 LDFLAGS_COMMON += -Wl,-soname=$(LIB_PREFIX)$(LIBRARY).$(LIBRARY_SUFFIX)
+endif
 
 #
 # -static-libgcc is a gcc-3 flag to statically link libgcc, gcc-2.9x always
diff --git a/main/openjdk7/APKBUILD b/main/openjdk7/APKBUILD
deleted file mode 100644
index 31e8442..0000000
--- a/main/openjdk7/APKBUILD
@@ -1,287 +0,0 @@
# Contributor: Timo Teras <timo.teras@iki.fi>
# Maintainer: Timo Teras <timo.teras@iki.fi>
pkgname=openjdk7
_icedteaver=2.6.1
# pkgver is <JDK version>.<JDK update>
# check icedtea JDK when updating
pkgver=7.85.$_icedteaver
pkgrel=0
pkgdesc="Sun OpenJDK 7 via IcedTea"
url="http://icedtea.classpath.org/"
arch="all"
license="GPL2 with Classpath"
depends="$pkgname-jre"
options="sover-namecheck"
makedepends="bash findutils tar zip file paxmark gawk util-linux libxslt
	     autoconf automake linux-headers
	     ca-certificates
	     nss-dev cups-dev jpeg-dev giflib-dev libpng-dev libxt-dev
	     lcms2-dev libxp-dev libxtst-dev libxinerama-dev zlib-dev
	     libxrender-dev alsa-lib-dev freetype-dev fontconfig-dev
	     gtk+2.0-dev krb5-dev attr-dev pcsc-lite-dev lksctp-tools-dev"
install=""

# upstream binary versions
RHINO_VER=1_7R3
ANT_VER=1.9.2

case $CARCH in
x86)	_jarch=i386;;
x86_64)	_jarch=amd64;;
arm*)	_jarch=arm
	# openjdk has quite a bit of arm assembly producing textrels
	# and it's non trivial to fix. allow it that for now.
	options="$options textrels";;
esac

INSTALL_BASE=/usr/lib/jvm/java-1.7-openjdk
_jrelib="$INSTALL_BASE/jre/lib/$_jarch"

# exclude xawt from ldpath to avoid duplicate provides for libmawt.so
# (also in headless). in future this should be a virtual provides.
ldpath="$_jrelib:$_jrelib/native_threads:$_jrelib/headless:$_jrelib/server:$_jrelib/jli"
somask="libjvm.so"

subpackages="$pkgname-jre-lib:jrelib $pkgname-jre $pkgname-jre-base:jrebase
	     $pkgname-doc:doc"

if [ "$BOOTSTRAP" != "no" ]; then
	makedepends="$makedepends java-gcj-compat"
	BOOTSTRAP_JAVA_HOME=/usr/lib/jvm/java-1.5-gcj/
else
	makedepends="$makedepends $pkgname"
	BOOTSTRAP_JAVA_HOME="$INSTALL_BASE"
fi

_dropsver=$_icedteaver
_dropsurl=http://icedtea.classpath.org/download/drops/icedtea7/$_dropsver

source="http://icedtea.classpath.org/download/source/icedtea-$_icedteaver.tar.gz
	saveas-$_dropsurl/openjdk.tar.bz2/openjdk-$_dropsver.tar.bz2
	saveas-$_dropsurl/corba.tar.bz2/corba-$_dropsver.tar.bz2
	saveas-$_dropsurl/jaxp.tar.bz2/jaxp-$_dropsver.tar.bz2
	saveas-$_dropsurl/jaxws.tar.bz2/jaxws-$_dropsver.tar.bz2
	saveas-$_dropsurl/jdk.tar.bz2/jdk-$_dropsver.tar.bz2
	saveas-$_dropsurl/langtools.tar.bz2/langtools-$_dropsver.tar.bz2
	saveas-$_dropsurl/hotspot.tar.bz2/hotspot-$_dropsver.tar.bz2
	http://archive.apache.org/dist/ant/binaries/apache-ant-$ANT_VER-bin.tar.gz
	ftp://ftp.mozilla.org/pub/mozilla.org/js/rhino$RHINO_VER.zip

	icedtea-hotspot-musl.patch
	icedtea-hotspot-noagent-musl.patch
	icedtea-hotspot-uclibc-fixes.patch
	icedtea-jdk-fix-build.patch
	icedtea-jdk-execinfo.patch
	icedtea-jdk-fix-ipv6-init.patch
	icedtea-jdk-musl.patch
	icedtea-jdk-no-soname.patch
	"

# icedtea6-1.9.7-generate_cacerts-1.patch

_builddir="$srcdir/icedtea-$_icedteaver"

unpack() {
	if [ -z "$force" ]; then
		verify || return 1
		initdcheck || return 1
	fi
	mkdir -p "$srcdir"
	msg "Unpacking sources..."
	tar -C "$srcdir" -zxf icedtea-$_icedteaver.tar.gz || return 1
	tar -C "$srcdir" -zxf apache-ant-$ANT_VER-bin.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.am

        for patch in $source; do
                case $patch in
		icedtea-*.patch)
			cp ../$patch patches
			;;
                *.patch)
                        msg "Applying patch $patch"
                        patch -p1 -i "$srcdir"/$patch || return 1
                        ;;
                esac
        done

	./autogen.sh
}

build() {
	[ -z "$JOBS" ] && export JOBS=`echo $MAKEFLAGS | sed -n -e 's/.*-j\([0-9]\+\).*/\1/p'`
	export ALT_PARALLEL_COMPILE_JOBS="${JOBS:-2}"
	export HOTSPOT_BUILD_JOBS="${JOBS:-2}"

	export JAVA_HOME=$BOOTSTRAP_JAVA_HOME
	export PATH=$JAVA_HOME/bin:$srcdir/apache-ant-$ANT_VER/bin:$PATH
	export DISTRIBUTION_PATCHES=""

	local patch
	for patch in $source; do
		case $patch in
		icedtea-*.patch)
			export DISTRIBUTION_PATCHES="$DISTRIBUTION_PATCHES patches/$patch"
			;;
		esac
	done
	echo "icedtea patches: $DISTRIBUTION_PATCHES"

	cd "$_builddir"
	./configure \
		--build=$CBUILD \
		--host=$CHOST \
		--prefix=$INSTALL_BASE \
		--sysconfdir=/etc \
		--mandir=/usr/share/man \
		--infodir=/usr/share/info \
		--localstatedir=/var \
		--with-parallel-jobs=${JOBS:-2} \
		--disable-dependency-tracking \
		--disable-downloading \
		--with-rhino=$srcdir/rhino$RHINO_VER/js.jar \
		--with-openjdk-src-zip=$srcdir/openjdk-$_dropsver.tar.bz2 \
		--with-hotspot-src-zip=$srcdir/hotspot-$_dropsver.tar.bz2 \
		--with-corba-src-zip=$srcdir/corba-$_dropsver.tar.bz2 \
		--with-jaxp-src-zip=$srcdir/jaxp-$_dropsver.tar.bz2 \
		--with-jaxws-src-zip=$srcdir/jaxws-$_dropsver.tar.bz2 \
		--with-jdk-src-zip=$srcdir/jdk-$_dropsver.tar.bz2 \
		--with-langtools-src-zip=$srcdir/langtools-$_dropsver.tar.bz2 \
		--with-pax=paxmark \
		--with-jdk-home=$BOOTSTRAP_JAVA_HOME \
		--with-pkgversion="Alpine ${pkgver}-r${pkgrel}" \
		|| 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

	# pax mark again (due to fakeroot xattr handling bug)
	$_builddir/pax-mark-vm "$pkgdir"/$INSTALL_BASE
}

jrelib() {
	pkgdesc="OpenJDK 7 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 7 Java Runtime (no GUI support)"
	depends="$pkgname-jre-lib java-common"
	# manually provide this to avoid clash with libgcj's libjvm.so
	provides="so:openjdk7:libjvm.so=0"

	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

	# pax mark again (due to fakeroot xattr handling bug)
	$_builddir/pax-mark-vm "$subpkgdir"/$INSTALL_BASE
}

jre() {
	pkgdesc="OpenJDK 7 Java Runtime"
	# manually depend to avoid clash with libgcj's libjvm.so
	depends="so:openjdk7:libjvm.so=0"

	mkdir -p "$subpkgdir"
	for A in jre/bin/policytool \
		 bin/appletviewer \
		 bin/policytool \
		 jre/lib/$_jarch/xawt \
		 jre/lib/$_jarch/libsplashscreen.so ; do
		dirname=${A%/*}
		mkdir -p "$subpkgdir"/$INSTALL_BASE/$dirname
		mv "$pkgdir"/$INSTALL_BASE/$A "$subpkgdir"/$INSTALL_BASE/$dirname
	done

	# pax mark again (due to fakeroot xattr handling bug)
	$_builddir/pax-mark-vm "$subpkgdir"/$INSTALL_BASE
}

doc() {
	default_doc

	mkdir -p "$subpkgdir"/$INSTALL_BASE/
	mv "$pkgdir"/$INSTALL_BASE/man "$subpkgdir"/$INSTALL_BASE/
}

md5sums="efac44117a94b9d3278988959e336e05  icedtea-2.6.1.tar.gz
d330560d5e9f443aa0e26130ca111a3f  openjdk-2.6.1.tar.bz2
0de3ec4198c437e3cbc58420c65146e1  corba-2.6.1.tar.bz2
8fa2bf64a4c27fea33f5fa60df6bcce6  jaxp-2.6.1.tar.bz2
ebb952f8d77498fd8e5f0a1f27e2a6a2  jaxws-2.6.1.tar.bz2
e242c40b5d7f4cfa52a0071c2836ba34  jdk-2.6.1.tar.bz2
1bf69ee4265e49516283aa9126ceb80d  langtools-2.6.1.tar.bz2
1a2fae086d50fc1ad69b72b4cf5baa3a  hotspot-2.6.1.tar.bz2
9a2826a1819aa128629778217af36c55  apache-ant-1.9.2-bin.tar.gz
99d94103662a8d0b571e247a77432ac5  rhino1_7R3.zip
f87dd2c4c3c97fc3ac33080a65ca9e14  icedtea-hotspot-musl.patch
bf8b50e157d80a8b884c1aa4f8124812  icedtea-hotspot-noagent-musl.patch
43023861c5f6efc3139a834aa3ec0476  icedtea-hotspot-uclibc-fixes.patch
07c7ab583808e8c8ceb46aff9c265aa4  icedtea-jdk-fix-build.patch
bd623081d5d2e63694c3649975b12412  icedtea-jdk-execinfo.patch
250b0807b59762670954b132e8f8dfba  icedtea-jdk-fix-ipv6-init.patch
66f6e66eb135f0d88847910f6581d323  icedtea-jdk-musl.patch
d014431e70cdabb82a75e4b9ae4c28a9  icedtea-jdk-no-soname.patch"
sha256sums="491866e57199b0bc99d716be3eabaab97d9f6a698d1a652d748baeddeedfe963  icedtea-2.6.1.tar.gz
0168a0174ee47407139ee32458c4d2a298ba4f44260343b209250156e4da463f  openjdk-2.6.1.tar.bz2
cd03d97c171a2d45ca94c1642265e09c09a459b1d4ac1191f82af88ca171f6f8  corba-2.6.1.tar.bz2
c00c4c2889f77c4615fd655415067e14840764f52e503f220ed324720117faeb  jaxp-2.6.1.tar.bz2
2d5ff95dc62ab7986973e15e9cf91d5596d2cf486ee52beab9eab62f70f2ae9f  jaxws-2.6.1.tar.bz2
a8083e75e14ddb4575bf2cd733e80a0074201b45d8debbe04f84564b32875363  jdk-2.6.1.tar.bz2
6db9bd16658fa8460e0afa4b05f28bd47148528d7581a403bea1e70f56cedd43  langtools-2.6.1.tar.bz2
00043b0c09aa06ce1766c2973d18b0283bd2128a44c94cde97b626a4856b68b3  hotspot-2.6.1.tar.bz2
cab1b8754e5f1f2aa869e2ba603903ae5e81a585de4eafd00f173531a11b5a45  apache-ant-1.9.2-bin.tar.gz
885b46e24fe5af23ad3712c5e08e8d97d6d92a4b89e1be860e8fe88e4a3dacd1  rhino1_7R3.zip
a7922430cb767c8a4baae232c8b2e5f377aeb7cfde0c9901cd7774f078e7f92e  icedtea-hotspot-musl.patch
1d937de95323094294c33dd490fc460f78502259eee3bf4b352ac7c7c6cf626f  icedtea-hotspot-noagent-musl.patch
0ef7592b8f2c954eda0a6cf4dc4a4010942f35ea426f44e34412be6c9a949745  icedtea-hotspot-uclibc-fixes.patch
33b18e827a13cc46be11a4491deefac171c8c2c4fbdd3e0cb4a5fdafa560f958  icedtea-jdk-fix-build.patch
6cebef19d8eec5a4623a96c37ae71b79d124a10478c1db33ad5fc71bc04b30e9  icedtea-jdk-execinfo.patch
632683ec88a6fb250ef043aae9cace605d0c669b7058f8c47b62b09b03ecc6c5  icedtea-jdk-fix-ipv6-init.patch
b3f82269f69483d3fe137e369f9325003ce7872d886cdf67705b434ce949b5bc  icedtea-jdk-musl.patch
6c0bbe710395c4ced1359ab279be6a7c36da5bfb9fd60dc47d920f06a0456d82  icedtea-jdk-no-soname.patch"
sha512sums="6e3df56f605fa026cf028cd3e2ff22215b78b86fea6231e9e5229d43b04f82d91103506c4ca572d953ab0d52fab8b8846077244f3be32b9be5bd9ccdf848fc40  icedtea-2.6.1.tar.gz
b17315b58d6662953f7a6d73eb222a5a81165f55bed2f48f3d3915a169e8c8e503b5f22c59fce5cd3202ed2392f946f8701d9cff92d235ae44696d370f2efd28  openjdk-2.6.1.tar.bz2
16a0bd71db484cd948ef3e941566af5b63d657f4d946caed0cef2fb104680beb21bd8633a6f48501c987cedb7949d7228ca7957e5fae3f4adc9ec48050193a12  corba-2.6.1.tar.bz2
1d8e68f0118f0e8465e333a8edd8aa9fdc16591c62bf4cc5c7791fb7f9acb97b9c6290fa4879a13138a68cb8b4fa93534cef3ebaee7bb8f3c0565595a3228493  jaxp-2.6.1.tar.bz2
0d5fc0001571381d151033b4e8ca98658bed3943c34faafc73ffea2d537d44b433ad49e246fc00335828418fc6e1c40d75fd1ee2280ebf0bf4014b4551f80bb0  jaxws-2.6.1.tar.bz2
d5921683a63cca12fb73224ddd248ae37a986af1f9df131a130fb6f2f808631730298770382a90468b136c2bedb699985d129acb7e0fa2de662ab7543bcfba4c  jdk-2.6.1.tar.bz2
38136bba4d52b8de60e9a38f6ad47253d7513e46d82830ebb8f2f8659f66f99b7e3d7c4ad31c604cc5c516f1de331f2cdaf0ab0b37cff1dfd327c25ccc0f246f  langtools-2.6.1.tar.bz2
ce9d1ee654e9c25bb2cb8953aab838b206e96fe27804acaa0ed652d8b1bc6dffb138c90ea7e188b189c3ec743dc594c6c49d7217d14cd88ecb6bb9314c74f44c  hotspot-2.6.1.tar.bz2
618c0c3d80f7c44c2bb8cdfdc2b5278ccd926ab1aa0c8f7099bd0ad5cb4c090f023c0b86c8267052a0a6b1ac57076296fcc16042b9e7a72a1482af63c99e0e49  apache-ant-1.9.2-bin.tar.gz
77964485481e22d20459ea094c773e1930c5ef22d69bc449375a1ead31f340b3a652e2dd85c645e210be1abc8e623aeb560a5dc81629f388322af270ce868d36  rhino1_7R3.zip
994e8a79a0a23f26d633bf2ce9dad62198c699892f6e7729cc6e509481330399bb2ba736514b516fd2b3dd125fd6c74a127ae7f16d643c3f6a69776737cdb933  icedtea-hotspot-musl.patch
e7a2c1771bb582d427041f8d22e48c0daf8f20d7c0926cbce3549d49c4e949359ee25a35682b486e82f3e390535c950c5beee3bd8d06fb5a717b50f2d9b2a6bc  icedtea-hotspot-noagent-musl.patch
822eee0dc4d3ba677a289dfeb3668b536d2d626708390a9d9702fb4144a481fd443a215a0d2041c6026113837aafa4ba0b5e9ead8589d2da6717a238bbc95a5a  icedtea-hotspot-uclibc-fixes.patch
213a537de5f011cb39d608515c3413513ac75fb93593f9a9ef4205f71d72bdd8b097c80db185f7b26021d5bb85045b866f34f3478482dc4189972d8614a13458  icedtea-jdk-fix-build.patch
0391970e6a32946aa3cccf38fdef9c0fe2af26cd0df824b98aa2fcfa1bf661d4a68e339bffcfd16f386c565fc68bb28a29208a67d4bad8a0e847ad02bd8becbb  icedtea-jdk-execinfo.patch
48533f87fc2cf29d26b259be0df51087d2fe5b252e72d00c6ea2f4add7b0fb113141718c116279c5905e03f64a1118082e719393786811367cf4d472b5d36774  icedtea-jdk-fix-ipv6-init.patch
44a35941c80f408d0607e32763b3b6ccee21e1d39886309327d3d74d2900117e4346ef59e77c663fd022fec10ee8f365eeb46c1260014d5765d226ce175ce3c5  icedtea-jdk-musl.patch
bf4b184e170f7b0ff64ab30d2162784fe2bd5460d1fa31973259f7065fd4c511c46f97724fe2bd72bb94e9006cb568d0e0c87d1a9c90819e65880f8f44830bb1  icedtea-jdk-no-soname.patch"
diff --git a/main/openjdk7/icedtea-hotspot-musl.patch b/main/openjdk7/icedtea-hotspot-musl.patch
deleted file mode 100644
index 41072de..0000000
--- a/main/openjdk7/icedtea-hotspot-musl.patch
@@ -1,55 +0,0 @@
--- openjdk.orig/hotspot/src/os/linux/vm/jvm_linux.cpp
+++ openjdk/hotspot/src/os/linux/vm/jvm_linux.cpp
@@ -154,7 +154,9 @@
 #ifdef SIGSTKFLT
   "STKFLT",     SIGSTKFLT,      /* Stack fault.  */
 #endif
+#ifdef SIGCLD
   "CLD",        SIGCLD,         /* Same as SIGCHLD (System V).  */
+#endif
   "CHLD",       SIGCHLD,        /* Child status has changed (POSIX).  */
   "CONT",       SIGCONT,        /* Continue (POSIX).  */
   "STOP",       SIGSTOP,        /* Stop, unblockable (POSIX).  */
--- openjdk.orig/hotspot/src/os/linux/vm/os_linux.inline.hpp
+++ openjdk/hotspot/src/os/linux/vm/os_linux.inline.hpp
@@ -52,7 +52,7 @@
 
 #include <unistd.h>
 #include <sys/socket.h>
-#include <sys/poll.h>
+#include <poll.h>
 #include <netdb.h>
 
 inline void* os::thread_local_storage_at(int index) {
--- openjdk.orig/hotspot/src/os_cpu/linux_x86/vm/os_linux_x86.cpp
+++ openjdk/hotspot/src/os_cpu/linux_x86/vm/os_linux_x86.cpp
@@ -73,7 +73,6 @@
 # include <pwd.h>
 # include <poll.h>
 # include <ucontext.h>
-# include <fpu_control.h>
 
 #ifdef AMD64
 #define REG_SP REG_RSP
@@ -532,6 +531,9 @@
 
   ShouldNotReachHere();
 }
+
+#define _FPU_GETCW(cw) __asm__ __volatile__ ("fnstcw %0" : "=m" (*&cw))
+#define _FPU_SETCW(cw) __asm__ __volatile__ ("fldcw %0" : : "m" (*&cw))
 
 void os::Linux::init_thread_fpu_state(void) {
 #ifndef AMD64
--- openjdk.orig/hotspot/src/os_cpu/linux_x86/vm/threadLS_linux_x86.hpp
+++ openjdk/hotspot/src/os_cpu/linux_x86/vm/threadLS_linux_x86.hpp
@@ -32,7 +32,9 @@
   // map stack pointer to thread pointer - see notes in threadLS_linux_x86.cpp
   #define SP_BITLENGTH  32
   #define PAGE_SHIFT    12
+  #ifndef PAGE_SIZE
   #define PAGE_SIZE     (1UL << PAGE_SHIFT)
+  #endif
   static Thread* _sp_map[1UL << (SP_BITLENGTH - PAGE_SHIFT)];
 
 public:
diff --git a/main/openjdk7/icedtea-hotspot-noagent-musl.patch b/main/openjdk7/icedtea-hotspot-noagent-musl.patch
deleted file mode 100644
index 37604ac..0000000
--- a/main/openjdk7/icedtea-hotspot-noagent-musl.patch
@@ -1,54 +0,0 @@
--- openjdk.orig/hotspot/make/linux/makefiles/defs.make
+++ openjdk/hotspot/make/linux/makefiles/defs.make
@@ -327,6 +327,9 @@
 
 # Serviceability Binaries
 # No SA Support for PPC, IA64, ARM or zero
+# or if thread_db.h missing (musl)
+
+ifneq ($(wildcard /usr/include/thread_db.h),)
 ADD_SA_BINARIES/x86   = $(EXPORT_JRE_LIB_ARCH_DIR)/libsaproc.$(LIBRARY_SUFFIX) \
                         $(EXPORT_LIB_DIR)/sa-jdi.jar 
 ADD_SA_BINARIES/sparc = $(EXPORT_JRE_LIB_ARCH_DIR)/libsaproc.$(LIBRARY_SUFFIX) \
@@ -343,6 +346,10 @@
       endif
     endif
   endif
+endif
+else
+ADD_SA_BINARIES/x86   =
+ADD_SA_BINARIES/sparc =
 endif
 ADD_SA_BINARIES/ppc   = 
 ADD_SA_BINARIES/ppc64 = 
--- openjdk.orig/hotspot/make/linux/makefiles/sa.make
+++ openjdk/hotspot/make/linux/makefiles/sa.make
@@ -59,9 +59,11 @@
 
 # if $(AGENT_DIR) does not exist, we don't build SA
 # also, we don't build SA on Itanium or zero.
+# check for thread_db.h too (musl does not have it).
 
 all: 
-	if [ -d $(AGENT_DIR) -a "$(SRCARCH)" != "ia64" \
+	if [ -d $(AGENT_DIR) -a -f /usr/include/thread_db.h \
+             -a "$(SRCARCH)" != "ia64" \
              -a "$(SRCARCH)" != "zero"  \
              -a "$(SRCARCH)" != "aarch64" ] ; then \
 	   $(MAKE) -f sa.make $(GENERATED)/sa-jdi.jar; \
--- openjdk.orig/hotspot/make/linux/makefiles/saproc.make
+++ openjdk/hotspot/make/linux/makefiles/saproc.make
@@ -65,10 +65,13 @@
 
 # if $(AGENT_DIR) does not exist, we don't build SA
 # also, we don't build SA on Itanium or zero.
+# check for thread_db.h too (musl does not have it).
 
+ifneq ($(wildcard /usr/include/thread_db.h),)
 ifneq ($(wildcard $(AGENT_DIR)),)
 ifneq ($(filter-out ia64 zero aarch64,$(SRCARCH)),)
   BUILDLIBSAPROC = $(LIBSAPROC)
+endif
 endif
 endif
 
diff --git a/main/openjdk7/icedtea-hotspot-uclibc-fixes.patch b/main/openjdk7/icedtea-hotspot-uclibc-fixes.patch
deleted file mode 100644
index 1c1d822..0000000
--- a/main/openjdk7/icedtea-hotspot-uclibc-fixes.patch
@@ -1,93 +0,0 @@
--- openjdk.orig/hotspot/src/os/linux/vm/os_linux.cpp
+++ openjdk/hotspot/src/os/linux/vm/os_linux.cpp
@@ -112,7 +112,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>
@@ -632,6 +631,13 @@
 // detecting pthread library
 
 void os::Linux::libpthread_init() {
+#if 1
+  // Hard code Alpine Linux supported uclibc/musl compatible settings
+  os::Linux::set_glibc_version("glibc 2.9");
+  os::Linux::set_libpthread_version("NPTL");
+  os::Linux::set_is_NPTL();
+  os::Linux::set_is_floating_stack();
+#else
   // Save glibc and pthread version strings. Note that _CS_GNU_LIBC_VERSION
   // and _CS_GNU_LIBPTHREAD_VERSION are supported in glibc >= 2.3.2. Use a
   // generic name for earlier versions.
@@ -690,6 +696,7 @@
   if (os::Linux::is_NPTL() || os::Linux::supports_variable_stack_size()) {
      os::Linux::set_is_floating_stack();
   }
+#endif
 }
 
 /////////////////////////////////////////////////////////////////////////////
@@ -2951,11 +2958,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() {
@@ -5312,7 +5315,25 @@
 // 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) {
+#ifdef __UCLIBC__
+	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;
+#else
   return ::getloadavg(loadavg, nelem);
+#endif
 }
 
 void os::pause() {
--- openjdk.orig/hotspot/src/share/vm/utilities/globalDefinitions_gcc.hpp
+++ openjdk/hotspot/src/share/vm/utilities/globalDefinitions_gcc.hpp
@@ -253,7 +253,7 @@
 #elif defined(__APPLE__)
 inline int g_isnan(double f) { return isnan(f); }
 #elif defined(LINUX) || defined(_ALLBSD_SOURCE)
-inline int g_isnan(float  f) { return isnanf(f); }
+inline int g_isnan(float  f) { return isnan(f); }
 inline int g_isnan(double f) { return isnan(f); }
 #else
 #error "missing platform-specific definition here"
@@ -267,8 +267,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
diff --git a/main/openjdk7/icedtea-jdk-execinfo.patch b/main/openjdk7/icedtea-jdk-execinfo.patch
deleted file mode 100644
index a6499dc..0000000
--- a/main/openjdk7/icedtea-jdk-execinfo.patch
@@ -1,40 +0,0 @@
--- 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(__GLIBC__) && ! defined(__UCLIBC__)
 #include <execinfo.h>
 #endif
 #include <stdio.h>
@@ -835,7 +835,7 @@
     AWT_UNLOCK();
 }
 
-#ifdef __linux__
+#if defined(__linux__) && defined(__GLIBC__) && ! 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(__GLIBC__) && ! defined(__UCLIBC__)
 #include <execinfo.h>
 #endif
 
@@ -689,7 +689,7 @@
     return ret;
 }
 
-#ifdef __linux__
+#if defined(__linux__) && defined(__GLIBC__) && ! defined(__UCLIBC__)
 void print_stack(void)
 {
   void *array[10];
diff --git a/main/openjdk7/icedtea-jdk-fix-build.patch b/main/openjdk7/icedtea-jdk-fix-build.patch
deleted file mode 100644
index 9fae895..0000000
--- a/main/openjdk7/icedtea-jdk-fix-build.patch
@@ -1,56 +0,0 @@
Fixes three issues:
 - so's should not be linked to -ljvm as dlopen(/abs/name) is
   used by the launcher to load libjvm.so; it is thus not available
   (musl/uclibc) ld.so to satisfy NEEDED dependency inserted by
   -ljvm. Fix to not link against -ljvm, and disable -z defs so
   undefined symbols are allowed in sos
 - the previous makes ldd generate errors on unresolved symbols (musl)
   remove it altogether as it's used for informative purposes only
   (display things - not check anything useful)
 - Don't delete the generated directory $(GENCSEXT), this can
   confuse make in highly parallel builds with:
   make[6]: *** INTERNAL: readdir: No such file or directory.  Stop.               
   make[6]: Leaving directory '.../openjdk-boot/jdk/make/sun/nio/cs'     

--- openjdk.orig/jdk/make/common/Defs-linux.gmk
+++ openjdk/jdk/make/common/Defs-linux.gmk
@@ -350,7 +350,7 @@
 
 EXTRA_LIBS += -lc
 
-LDFLAGS_DEFS_OPTION  = -Xlinker -z -Xlinker defs
+LDFLAGS_DEFS_OPTION  =
 LDFLAGS_COMMON  += $(LDFLAGS_DEFS_OPTION)
 
 #
@@ -407,7 +407,7 @@
 # the library itself should not.
 #
 VM_NAME         = server
-JVMLIB          = -L$(LIBDIR)/$(LIBARCH)/$(VM_NAME) -ljvm
+JVMLIB          =
 JAVALIB         = -ljava $(JVMLIB)
 
 #
--- openjdk.orig/jdk/make/sun/nio/cs/Makefile
+++ openjdk/jdk/make/sun/nio/cs/Makefile
@@ -107,7 +107,7 @@
 		$(GENCSDATASRC)/DoubleByte-X.java.template \
 		$(GENCSDATASRC)/extsbcs $(GENCSDATASRC)/dbcs
 	@$(prep-target)
-	$(RM) -r $(GENCSEXT)
+	$(RM) -f "$(GENCSEXT)"/*
 	$(MKDIR) -p $(GENCSEXT)
 	$(BOOT_JAVA_CMD) -jar $(CHARSETMAPPING_JARFILE)	$(GENCSDATASRC) $(GENCSEXT) extsbcs
 	$(BOOT_JAVA_CMD) -jar $(CHARSETMAPPING_JARFILE) $(GENCSDATASRC) $(GENCSEXT) euctw \
--- openjdk.orig/jdk/make/common/shared/Defs-linux.gmk
+++ openjdk/jdk/make/common/shared/Defs-linux.gmk
@@ -207,8 +207,6 @@
   if [ "`$(NM) -D -g --defined-only $1 | $(EGREP) 'SUNWprivate'`" = "" ] ; then \
     $(ECHO) "$(MAPFILE_WARNING): File was not built with a mapfile: $1"; \
   fi && \
-  $(ECHO) "Library loads for: $1" && \
-  $(LDD) $1 && \
   $(ECHO) "RUNPATH for: $1" && \
   ( $(READELF) -d $1 | $(EGREP) 'NEEDED|RUNPATH|RPATH' ) \
 )
diff --git a/main/openjdk7/icedtea-jdk-fix-ipv6-init.patch b/main/openjdk7/icedtea-jdk-fix-ipv6-init.patch
deleted file mode 100644
index 11f3bf6..0000000
--- a/main/openjdk7/icedtea-jdk-fix-ipv6-init.patch
@@ -1,42 +0,0 @@
--- openjdk/jdk/src/solaris/native/java/net/net_util_md.c.orig
+++ openjdk/jdk/src/solaris/native/java/net/net_util_md.c
@@ -561,7 +561,7 @@
 
 static struct localinterface *localifs = 0;
 static int localifsSize = 0;    /* size of array */
-static int nifs = 0;            /* number of entries used in array */
+static int nifs = -1;            /* number of entries used in array */
 
 /* not thread safe: make sure called once from one thread */
 
@@ -573,6 +573,10 @@
     int index, x1, x2, x3;
     unsigned int u0,u1,u2,u3,u4,u5,u6,u7,u8,u9,ua,ub,uc,ud,ue,uf;
 
+    if (nifs >= 0)
+	return ;
+    nifs = 0;
+
     if ((f = fopen("/proc/net/if_inet6", "r")) == NULL) {
         return ;
     }
@@ -601,7 +605,7 @@
             localifs = (struct localinterface *) realloc (
                         localifs, sizeof (struct localinterface)* (localifsSize+5));
             if (localifs == 0) {
-                nifs = 0;
+                nifs = -1;
                 fclose (f);
                 return;
             }
@@ -624,9 +628,7 @@
 static int getLocalScopeID (char *addr) {
     struct localinterface *lif;
     int i;
-    if (localifs == 0) {
-        initLocalIfs();
-    }
+    initLocalIfs();
     for (i=0, lif=localifs; i<nifs; i++, lif++) {
         if (memcmp (addr, lif->localaddr, 16) == 0) {
             return lif->index;
diff --git a/main/openjdk7/icedtea-jdk-musl.patch b/main/openjdk7/icedtea-jdk-musl.patch
deleted file mode 100644
index 49c16d7..0000000
--- a/main/openjdk7/icedtea-jdk-musl.patch
@@ -1,116 +0,0 @@
diff -ru openjdk.orig/jdk/src/share/native/com/sun/java/util/jar/pack/zip.cpp openjdk/jdk/src/share/native/com/sun/java/util/jar/pack/zip.cpp
--- openjdk.orig/jdk/src/share/native/com/sun/java/util/jar/pack/zip.cpp	2014-06-12 20:14:44.000000000 +0000
+++ openjdk/jdk/src/share/native/com/sun/java/util/jar/pack/zip.cpp	2014-07-15 07:19:52.186682096 +0000
@@ -46,6 +46,8 @@
 
 #include "zip.h"
 
+#define uchar unsigned char
+
 #ifdef NO_ZLIB
 
 inline bool jar::deflate_bytes(bytes& head, bytes& tail) {
diff -ru openjdk.orig/jdk/src/share/native/com/sun/java/util/jar/pack/zip.h openjdk/jdk/src/share/native/com/sun/java/util/jar/pack/zip.h
--- openjdk.orig/jdk/src/share/native/com/sun/java/util/jar/pack/zip.h	2014-06-12 20:14:44.000000000 +0000
+++ openjdk/jdk/src/share/native/com/sun/java/util/jar/pack/zip.h	2014-07-15 07:19:52.186682096 +0000
@@ -23,9 +23,7 @@
  * questions.
  */
 
-#define ushort unsigned short
-#define uint   unsigned int
-#define uchar  unsigned char
+#include <sys/types.h>
 
 struct unpacker;
 
diff -ru openjdk.orig/jdk/src/share/native/sun/awt/medialib/mlib_types.h openjdk/jdk/src/share/native/sun/awt/medialib/mlib_types.h
--- openjdk.orig/jdk/src/share/native/sun/awt/medialib/mlib_types.h	2014-06-12 20:14:44.000000000 +0000
+++ openjdk/jdk/src/share/native/sun/awt/medialib/mlib_types.h	2014-07-15 07:19:52.186682096 +0000
@@ -27,6 +27,7 @@
 #ifndef MLIB_TYPES_H
 #define MLIB_TYPES_H
 
+#include <stddef.h>			/* for NULL */
 #include <limits.h>
 #if defined(_MSC_VER)
 #include <float.h>                      /* for FLT_MAX and DBL_MAX */
diff -ru openjdk.orig/jdk/src/solaris/native/java/net/Inet4AddressImpl.c openjdk/jdk/src/solaris/native/java/net/Inet4AddressImpl.c
--- openjdk.orig/jdk/src/solaris/native/java/net/Inet4AddressImpl.c	2014-06-12 20:14:44.000000000 +0000
+++ openjdk/jdk/src/solaris/native/java/net/Inet4AddressImpl.c	2014-07-15 07:19:52.186682096 +0000
@@ -47,7 +47,7 @@
 
 #include "java_net_Inet4AddressImpl.h"
 
-#if defined(__GLIBC__) || (defined(__FreeBSD__) && (__FreeBSD_version >= 601104))
+#if defined(__linux__) || (defined(__FreeBSD__) && (__FreeBSD_version >= 601104))
 #define HAS_GLIBC_GETHOSTBY_R   1
 #endif
 
diff -ru openjdk.orig/jdk/src/solaris/native/java/net/NetworkInterface.c openjdk/jdk/src/solaris/native/java/net/NetworkInterface.c
--- openjdk.orig/jdk/src/solaris/native/java/net/NetworkInterface.c	2014-06-12 20:14:44.000000000 +0000
+++ openjdk/jdk/src/solaris/native/java/net/NetworkInterface.c	2014-07-15 07:19:52.186682096 +0000
@@ -47,7 +47,6 @@
 
 #ifdef __linux__
 #include <sys/ioctl.h>
-#include <bits/ioctls.h>
 #include <sys/utsname.h>
 #include <stdio.h>
 #endif
diff -ru openjdk.orig/jdk/src/solaris/native/java/net/PlainDatagramSocketImpl.c openjdk/jdk/src/solaris/native/java/net/PlainDatagramSocketImpl.c
--- openjdk.orig/jdk/src/solaris/native/java/net/PlainDatagramSocketImpl.c	2014-06-12 20:14:44.000000000 +0000
+++ openjdk/jdk/src/solaris/native/java/net/PlainDatagramSocketImpl.c	2014-07-15 07:19:52.190015524 +0000
@@ -35,7 +35,6 @@
 #endif
 #ifdef __linux__
 #include <unistd.h>
-#include <sys/sysctl.h>
 #include <sys/utsname.h>
 #include <netinet/ip.h>
 
diff -ru openjdk.orig/jdk/src/solaris/native/java/net/PlainSocketImpl.c openjdk/jdk/src/solaris/native/java/net/PlainSocketImpl.c
--- openjdk.orig/jdk/src/solaris/native/java/net/PlainSocketImpl.c	2014-06-12 20:14:44.000000000 +0000
+++ openjdk/jdk/src/solaris/native/java/net/PlainSocketImpl.c	2014-07-15 07:19:52.190015524 +0000
@@ -43,7 +43,6 @@
 #endif
 #ifdef __linux__
 #include <unistd.h>
-#include <sys/sysctl.h>
 #endif
 
 #include "jvm.h"
diff -ru openjdk.orig/jdk/src/solaris/native/java/net/linux_close.c openjdk/jdk/src/solaris/native/java/net/linux_close.c
--- openjdk.orig/jdk/src/solaris/native/java/net/linux_close.c	2014-06-12 20:14:44.000000000 +0000
+++ openjdk/jdk/src/solaris/native/java/net/linux_close.c	2014-07-15 07:22:17.609355950 +0000
@@ -75,7 +75,7 @@
 #ifdef _AIX
 static int sigWakeup = (SIGRTMAX - 1);
 #else
-static int sigWakeup = (__SIGRTMAX - 2);
+static int sigWakeup;
 #endif
 
 /*
@@ -148,6 +148,9 @@
     /*
      * Setup the signal handler
      */
+#ifndef __AIX
+    sigWakeup = SIGRTMAX - 2;
+#endif
     sa.sa_handler = sig_wakeup;
     sa.sa_flags   = 0;
     sigemptyset(&sa.sa_mask);
diff -ru openjdk.orig/jdk/src/solaris/native/sun/nio/ch/NativeThread.c openjdk/jdk/src/solaris/native/sun/nio/ch/NativeThread.c
--- openjdk.orig/jdk/src/solaris/native/sun/nio/ch/NativeThread.c	2014-06-12 20:14:44.000000000 +0000
+++ openjdk/jdk/src/solaris/native/sun/nio/ch/NativeThread.c	2014-07-15 07:19:52.190015524 +0000
@@ -38,7 +38,7 @@
 #include <sys/signal.h>
 
 /* Also defined in src/solaris/native/java/net/linux_close.c */
-#define INTERRUPT_SIGNAL (__SIGRTMAX - 2)
+#define INTERRUPT_SIGNAL (SIGRTMAX - 2)
 
 static void
 nullHandler(int sig)
diff --git a/main/openjdk7/icedtea-jdk-no-lib-nsl-uclibc.patch b/main/openjdk7/icedtea-jdk-no-lib-nsl-uclibc.patch
deleted file mode 100644
index 26f89bb..0000000
--- a/main/openjdk7/icedtea-jdk-no-lib-nsl-uclibc.patch
@@ -1,84 +0,0 @@
--- 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
 
 #
diff --git a/main/openjdk7/icedtea-jdk-no-soname.patch b/main/openjdk7/icedtea-jdk-no-soname.patch
deleted file mode 100644
index fe6bbb7..0000000
--- a/main/openjdk7/icedtea-jdk-no-soname.patch
@@ -1,12 +0,0 @@
--- ./openjdk/jdk/make/common/Defs-linux.gmk.orig
+++ ./openjdk/jdk/make/common/Defs-linux.gmk
@@ -248,7 +248,9 @@
 #
 LDFLAGS_OPT     = -Xlinker -O1
 LDFLAGS_COMMON += -L$(LIBDIR)/$(LIBARCH)
+ifdef LIBRARY
 LDFLAGS_COMMON += -Wl,-soname=$(LIB_PREFIX)$(LIBRARY).$(LIBRARY_SUFFIX)
+endif
 
 #
 # -static-libgcc is a gcc-3 flag to statically link libgcc, gcc-2.9x always
-- 
2.6.1



---
Unsubscribe:  alpine-aports+unsubscribe@lists.alpinelinux.org
Help:         alpine-aports+help@lists.alpinelinux.org
---