summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAvatar Wulf C. Krueger <philantrop@exherbo.org> 2016-07-30 13:03:14 +0200
committerAvatar Wulf C. Krueger <philantrop@exherbo.org> 2016-07-30 13:03:14 +0200
commitd025d2400a8dcd0ac2a8726b10476cb113f91794 (patch)
treea76b99ee4aef26b9a097506effdea5be7821c60a
parent2d6a183ed3e308d7fb3c85ce98ee9e007ad4ceb3 (diff)
downloadjava-d025d2400a8dcd0ac2a8726b10476cb113f91794.tar.gz
java-d025d2400a8dcd0ac2a8726b10476cb113f91794.tar.xz
Version bump to icedtea7-2.6.7
-rw-r--r--exlibs/icedtea.exlib188
-rw-r--r--packages/dev-lang/icedtea7/icedtea7-2.6.7.exheres-0 (renamed from packages/dev-lang/icedtea7/icedtea7-2.6.6.exheres-0)12
-rw-r--r--packages/dev-lang/icedtea7/icedtea7.exlib149
3 files changed, 173 insertions, 176 deletions
diff --git a/exlibs/icedtea.exlib b/exlibs/icedtea.exlib
index 75bd8d2..d1d1941 100644
--- a/exlibs/icedtea.exlib
+++ b/exlibs/icedtea.exlib
@@ -1,10 +1,13 @@
-# Copyright 2011-2016 Wulf C. Krueger <philantrop@exherbo.org>
+# Copyright 2009-2016 Wulf C. Krueger <philantrop@exherbo.org>
+# Copyright 2009 Sterling X. Winter <replica@exherbo.org>
# Distributed under the terms of the GNU General Public License v2
require autotools [ supported_autoconf=[ 2.5 ] supported_automake=[ 1.15 1.13 1.12 1.11 1.10 ] ] \
- java [ virtual_jdk_and_jre_deps=false ] java-jdk flag-o-matic
+ java [ virtual_jdk_and_jre_deps=false ] \
+ java-jdk \
+ flag-o-matic
-export_exlib_phases pkg_pretend src_unpack src_test_expensive src_install pkg_preinst
+export_exlib_phases pkg_pretend src_unpack src_configure src_compile src_test_expensive src_install pkg_preinst
SUMMARY="IcedTea allows for building OpenJDK without any non-free components"
DESCRIPTION="
@@ -27,8 +30,6 @@ DEPENDENCIES="
app-arch/zip
!bootstrap? (
dev-java/apache-ant[>=1.6.5]
- dev-java/xalan-java
- dev-java/Xerces-J
dev-lang/${PN}
)
build+run:
@@ -61,13 +62,27 @@ DEPENDENCIES="
suggestion:
dev-lang/icedtea-web [[ description = [ Java browser plugin & Java Web Start ] ]]
"
-# shark? ( dev-lang/llvm )
+
+# !bootstrap? (
+# dev-java/apache-ant[>=1.6.5]
+# dev-java/xalan-java
+# dev-java/Xerces-J
+# dev-lang/${PN}
+# )
+
if ! ever at_least 3.0 ; then
DEPENDENCIES+="
build+run:
javascript? ( dev-java/rhino )
"
+else
+ DEPENDENCIES+="
+ build+run:
+ media-libs/lcms2[>=2.5]
+ suggestion:
+ dev-lang/icedtea-sound[>=1.0.1]
+ "
fi
MYOPTIONS="
@@ -90,17 +105,53 @@ else
"
fi
+if [[ -n ${REVISION} ]]; then
+ BASE_URI="http://icedtea.classpath.org/hg/${PN}-forest"
+else
+ BASE_URI="http://icedtea.wildebeest.org/download/drops/${PN}/$(ever range 1-3)"
+fi
+
+if [[ ${PN} == icedtea7 ]]; then
+ ARC_EXT=bz2
+else
+ ARC_EXT=xz
+fi
+
+DOWNLOADS="
+ ${BASE_URI}/openjdk.tar.${ARC_EXT} -> openjdk-${SLOT}-${PV}.tar.${ARC_EXT}
+ ${BASE_URI}/corba.tar.${ARC_EXT} -> corba-${PV}.tar.${ARC_EXT}
+ ${BASE_URI}/jaxp.tar.${ARC_EXT} -> jaxp-${PV}.tar.${ARC_EXT}
+ ${BASE_URI}/jaxws.tar.${ARC_EXT} -> jaxws-${PV}.tar.${ARC_EXT}
+ ${BASE_URI}/jdk.tar.${ARC_EXT} -> jdk-${PV}.tar.${ARC_EXT}
+ ${BASE_URI}/langtools.tar.${ARC_EXT} -> langtools-${PV}.tar.${ARC_EXT}
+ ${BASE_URI}/hotspot.tar.${ARC_EXT} -> hotspot-${PV}.tar.${ARC_EXT}
-# cacao [[ description = [ Build CACAO, a HotSpot VM replacement which works on more CPU
-# architectures ] ]]
-# zero [[ description = [ Enable Zero, a no-assembler, purely interpreted build of the
-# HotSpot VM ] ]]
+ bootstrap? (
+ platform:amd64? (
+ http://dev.exherbo.org/~philantrop/distfiles/icedtea7-bin-${BOOTSTRAP_VERSION}-amd64.tar.xz -> ${PN}-bin-${BOOTSTRAP_VERSION}-amd64.tar.xz
+ http://dev.exherbo.org/~philantrop/distfiles/apache-ant-bin-${BOOTSTRAP_ANT_VERSION}-amd64.tar.bz2
+ )
+ platform:x86? (
+ http://dev.exherbo.org/~philantrop/distfiles/icedtea7-bin-${BOOTSTRAP_VERSION}-x86.tar.xz -> ${PN}-bin-${BOOTSTRAP_VERSION}-x86.tar.xz
+ http://dev.exherbo.org/~philantrop/distfiles/apache-ant-bin-${BOOTSTRAP_ANT_VERSION}-x86.tar.bz2
+ )
+ )
+"
+
+if ever at_least 3.0 ; then
+ DOWNLOADS+="
+ ${BASE_URI}/nashorn.tar.${ARC_EXT} -> nashorn-${PV}.tar.${ARC_EXT}
+ "
+fi
-# Maybe interesting for embedded stuff: "JamVM is an open source Java Virtual Machine (JVM) developed to be
-# extremely small compared with other virtual machines (VMs) while conforming to the Java virtual machine
-# specification version 2 (blue book)." [http://en.wikipedia.org/wiki/JamVM]
-# Should build out of the box starting with icedtea7-1.10 using --enable-jamvm, –-with-additional-vms=jamvm
-# and --with-jamvm-src-zip.
+if [[ -n ${REVISION} ]]; then
+ DOWNLOADS+="http://dev.exherbo.org/~philantrop/distfiles/${PNV}-${REVISION}.tar.xz"
+ WORK=${WORKBASE}/${PNV}-${REVISION}
+else
+ DOWNLOADS+="${HOMEPAGE}/download/source/icedtea-${PV/_pre1/pre}.tar.xz -> ${PNV}.tar.xz"
+fi
+
+WORK=${WORKBASE}/icedtea-${PV/_pre1/pre}
_icedtea_option() {
local myoption=${1} mapping=${2}
@@ -120,7 +171,7 @@ _icedtea_option() {
}
icedtea_pkg_pretend() {
- if ! option bootstrap && ! has_version dev-lang/icedtea6 && ! has_version dev-lang/icedtea7 ; then
+ if ! option bootstrap && ! has_version dev-lang/icedtea7 && ! has_version dev-lang/icedtea8 ; then
ewarn "You need ${PN} installed to compile ${PN} from source."
ewarn "Try installing ${PN}[bootstrap]"
die "Could not find ${PN} to bootstrap with"
@@ -128,8 +179,6 @@ icedtea_pkg_pretend() {
}
icedtea_src_unpack() {
-# if ever at_least 2.4.2 ; then
-# unpack ${PNV}.tar.xz
if [[ -n ${REVISION} ]]; then
unpack ${PNV}-${REVISION}.tar.xz
else
@@ -145,6 +194,109 @@ icedtea_src_unpack() {
fi
}
+icedtea_src_configure() {
+ local myconf=(
+ --enable-nss
+ --enable-optimizations
+ --enable-system-lcms
+# Having a bootstrap option but hard-disabling bootstrapping may look strange but
+# we're using a pre-compiled icedtea for bootstrapping whereas *this* bootstrap
+# switch is meant for using gcc[java]/gcj-jdk, iow: classpath, for bootstrapping
+# which we don't support anymore as it was a nightmare.
+ --disable-bootstrap
+ --disable-hg
+ --with-hotspot-src-zip="${FETCHEDDIR}"/hotspot-${PV}.tar.${ARC_EXT}
+ --with-corba-src-zip="${FETCHEDDIR}"/corba-${PV}.tar.${ARC_EXT}
+ --with-jaxp-src-zip="${FETCHEDDIR}"/jaxp-${PV}.tar.${ARC_EXT}
+ --with-jaxws-src-zip="${FETCHEDDIR}"/jaxws-${PV}.tar.${ARC_EXT}
+ --with-jdk-src-zip="${FETCHEDDIR}"/jdk-${PV}.tar.${ARC_EXT}
+ --with-langtools-src-zip="${FETCHEDDIR}"/langtools-${PV}.tar.${ARC_EXT}
+ --with-openjdk-src-zip="${FETCHEDDIR}"/openjdk-${SLOT}-${PV}.tar.${ARC_EXT}
+ --with-parallel-jobs=${EXJOBS:-1}
+ --with-pkgversion="Exherbo"
+ )
+
+ if ! ever at_least 3.0 ; then
+ myconf+=(
+ --enable-system-kerberos
+ --disable-system-pcsc
+ --disable-system-sctp
+ --without-gcj
+ )
+ else
+ myconf+=(
+ --with-nashorn-src-zip="${FETCHEDDIR}"/nashorn-${PV}.tar.${ARC_EXT}
+ )
+ fi
+
+ # We used to unset the Java variables here. This can cause build failures, though.
+ # Instead, we're only doing it now during bootstrapping during which no existing
+ # JDK should be used.
+ # We do NOT export the Java variables here in case the user knows what he's
+ # doing and has modified them.
+ export ANT_RESPECT_JAVA_HOME=TRUE
+
+ if option bootstrap ; then
+ # Unset the Java variables in order to make sure no existing JDK gets picked
+ # up. We DO have to set JAVAC explicitly, though, or ecj.jar (which we don't
+ # usually provide) will be required.
+ unset JAVA_HOME CLASSPATH JAVAC JAVACMD
+ export ANT_HOME=${WORKBASE}/apache-ant-bin-${BOOTSTRAP_ANT_VERSION}/usr/share/ant
+ export ANT=${WORKBASE}/apache-ant-bin-${BOOTSTRAP_ANT_VERSION}/usr/share/ant/bin/ant
+ export JAVAC=${WORKBASE}/${PN}-${BOOTSTRAP_VERSION}/bin/javac
+ export PATH=${WORKBASE}/${PN}-bin-${BOOTSTRAP_VERSION}/bin:${PATH}
+ myconf+=(
+ --with-jdk-home=${WORKBASE}/icedtea7-${BOOTSTRAP_VERSION}
+ --with-javac=${WORKBASE}/icedtea7-${BOOTSTRAP_VERSION}/bin/javac
+ --with-javah=${WORKBASE}/icedtea7-${BOOTSTRAP_VERSION}/bin/javah
+ --with-jar=${WORKBASE}/icedtea7-${BOOTSTRAP_VERSION}/bin/jar
+ --with-rmic=${WORKBASE}/icedtea7-${BOOTSTRAP_VERSION}/bin/rmic
+ )
+ else
+ if has_version dev-lang/icedtea7 ; then
+ myconf+=( --with-jdk-home=/usr/$(exhost --target)/lib/icedtea7 )
+ elif has_version dev-lang/icedtea8 ; then
+ myconf+=( --with-jdk-home=/usr/$(exhost --target)/lib/icedtea8 )
+ fi
+ fi
+
+ if ! ever at_least 3.0 ; then
+ if option javascript ; then
+ myconf+=( --with-rhino=/usr/share/rhino/js.jar )
+ else
+ myconf+=( --without-rhino )
+ fi
+ fi
+
+ myconf+=( $(_icedtea_option doc docs) )
+
+ # For some reason, icedtea really hates -march=native on x86.
+ option platform:x86 && filter-flags -march=native
+
+ econf ${myconf[@]}
+}
+
+icedtea_src_compile() {
+ unset JAVA_HOME CLASSPATH JAVAC JAVACMD
+
+ # unset _JAVA_OPTIONS to avoid failures due to Java spouting crap:
+ #
+ # configure: Found potential Boot JDK using configure arguments
+ # configure: Potential Boot JDK found at /var/tmp/paludis/build/dev-lang-icedtea8-3.0.1/work/icedtea-3.0.1/bootstrap/jdk1.7.0 is incorrect JDK version (Picked up _JAVA_OPTIONS: -Dawt.useSystemAAFontSettings=lcd -Dswing.aatext=true); ignoring
+ # configure: (Your Boot JDK must be version 7 or 8)
+ # configure: error: The path given by --with-boot-jdk does not contain a valid Boot JDK
+ unset _JAVA_OPTIONS
+
+ # The build system needs this dir but doesn't create it.
+ edo mkdir -p "${WORK}"/bootstrap/boot/jre/lib
+
+ # The icedtea build system uses the OPTIONS variable for setting defines.
+ env -u OPTIONS emake DISTRIBUTION_PATCHES="${DISTRIBUTION_PATCHES[@]}" \
+ ALT_OBJCOPY="/usr/$(exhost --target)/bin/$(exhost --tool-prefix)objcopy" \
+ CXX=${CXX} NM=${NM} AR=${AR} READELF=$(exhost --tool-prefix)readelf \
+ DISABLE_HOTSPOT_OS_VERSION_CHECK=ok
+}
+
icedtea_src_test_expensive() {
# If someone wants to work on this: There are literally thousands of tests
# which makes this very, very expensive in terms of time.
diff --git a/packages/dev-lang/icedtea7/icedtea7-2.6.6.exheres-0 b/packages/dev-lang/icedtea7/icedtea7-2.6.7.exheres-0
index b6d4540..19bb084 100644
--- a/packages/dev-lang/icedtea7/icedtea7-2.6.6.exheres-0
+++ b/packages/dev-lang/icedtea7/icedtea7-2.6.7.exheres-0
@@ -2,18 +2,12 @@
# Distributed under the terms of the GNU General Public License v2
REVISION=""
-OPENJDK_BUILD="b00"
-OPENJDK_CHANGESET="882cfee70fe8"
-CORBA_CHANGESET="ca3e3c4c5a61"
-JAXP_CHANGESET="683427778edf"
-JAXWS_CHANGESET="63f7bf7ed2d4"
-JDK_CHANGESET="55c38c1ace75"
-LANGTOOLS_CHANGESET="e42dd50480d3"
-HOTSPOT_CHANGESET="3022a3d80efd"
BOOTSTRAP_VERSION="2.5.4"
BOOTSTRAP_ANT_VERSION="1.8.2"
-require icedtea7
+SLOT="1.7"
+
+require icedtea
PLATFORMS="~amd64 ~x86"
diff --git a/packages/dev-lang/icedtea7/icedtea7.exlib b/packages/dev-lang/icedtea7/icedtea7.exlib
deleted file mode 100644
index b57e941..0000000
--- a/packages/dev-lang/icedtea7/icedtea7.exlib
+++ /dev/null
@@ -1,149 +0,0 @@
-# Copyright 2009 Sterling X. Winter <replica@exherbo.org>
-# Copyright 2009-2016 Wulf C. Krueger <philantrop@exherbo.org>
-# Distributed under the terms of the GNU General Public License v2
-
-SLOT="1.7"
-
-require icedtea
-export_exlib_phases src_configure src_compile
-
-WORK=${WORKBASE}/${PN/7}-${PV/_pre1/pre}
-
-if [[ -n ${REVISION} ]]; then
- BASE_URI="http://icedtea.classpath.org/hg/${PN}-forest"
-else
- #BASE_URI="http://icedtea.classpath.org/hg/release/${PN}-forest-$(ever range 1-2)"
- BASE_URI="http://icedtea.classpath.org/download/drops/${PN}/$(ever range 1-3)"
-fi
-
-DOWNLOADS="
- ${BASE_URI}/openjdk.tar.bz2 -> openjdk-7-${OPENJDK_CHANGESET}.tar.bz2
- ${BASE_URI}/corba.tar.bz2 -> corba-${CORBA_CHANGESET}.tar.bz2
- ${BASE_URI}/jaxp.tar.bz2 -> jaxp-${JAXP_CHANGESET}.tar.bz2
- ${BASE_URI}/jaxws.tar.bz2 -> jaxws-${JAXWS_CHANGESET}.tar.bz2
- ${BASE_URI}/jdk.tar.bz2 -> jdk-${JDK_CHANGESET}.tar.bz2
- ${BASE_URI}/langtools.tar.bz2 -> langtools-${LANGTOOLS_CHANGESET}.tar.bz2
- ${BASE_URI}/hotspot.tar.bz2 -> hotspot-${HOTSPOT_CHANGESET}.tar.bz2
-
- bootstrap? (
- platform:amd64? (
- http://dev.exherbo.org/~philantrop/distfiles/${PN}-bin-${BOOTSTRAP_VERSION}-amd64.tar.xz -> ${PN}-bin-${BOOTSTRAP_VERSION}-amd64.tar.xz
- http://dev.exherbo.org/~philantrop/distfiles/apache-ant-bin-${BOOTSTRAP_ANT_VERSION}-amd64.tar.bz2
- )
- platform:x86? (
- http://dev.exherbo.org/~philantrop/distfiles/${PN}-bin-${BOOTSTRAP_VERSION}-x86.tar.xz -> ${PN}-bin-${BOOTSTRAP_VERSION}-x86.tar.xz
- http://dev.exherbo.org/~philantrop/distfiles/apache-ant-bin-${BOOTSTRAP_ANT_VERSION}-x86.tar.bz2
- )
- )
-"
-# ${HOMEPAGE}/download/drops/hotspot/${HOTSPOT_TARBALL} -> openjdk-hotspot-${HOTSPOT_TARBALL}
-# cacao? ( http://www.complang.tuwien.ac.at/cacaojvm/download/cacao-0.99.4/${CACAO_TARBALL} )
-
-if [[ -n ${REVISION} ]]; then
- DOWNLOADS+="http://dev.exherbo.org/~philantrop/distfiles/${PNV}-${REVISION}.tar.xz"
- WORK=${WORKBASE}/${PNV}-${REVISION}
-#elif ever at_least 2.4.2 ; then
-# DOWNLOADS+="http://icedtea.wildebeest.org/download/source/${PN/7}-${PV/_pre1/pre}.tar.xz -> ${PNV}.tar.xz"
-else
- DOWNLOADS+="${HOMEPAGE}/download/source/${PN/7}-${PV/_pre1/pre}.tar.xz -> ${PNV}.tar.xz"
-fi
-
-DEPENDENCIES+="
- build+run:
- media-libs/lcms2[>=2.5]
- suggestion:
- dev-lang/icedtea-sound[>=1.0.1]
-"
-
-icedtea7_src_configure() {
- local myconf=(
- --enable-nss
- --enable-optimizations
- --enable-system-kerberos
- --enable-system-lcms
-# Having a bootstrap option but hard-disabling bootstrapping may look strange but
-# we're using a pre-compiled icedtea for bootstrapping whereas *this* bootstrap
-# switch is meant for using gcc[java]/gcj-jdk, iow: classpath, for bootstrapping
-# which we don't support anymore as it was a nightmare.
- --disable-bootstrap
- --disable-hg
- --disable-system-pcsc
- --disable-system-sctp
- --with-hotspot-src-zip="${FETCHEDDIR}"/hotspot-${HOTSPOT_CHANGESET}.tar.bz2
- --with-corba-src-zip="${FETCHEDDIR}"/corba-${CORBA_CHANGESET}.tar.bz2
- --with-jaxp-src-zip="${FETCHEDDIR}"/jaxp-${JAXP_CHANGESET}.tar.bz2
- --with-jaxws-src-zip="${FETCHEDDIR}"/jaxws-${JAXWS_CHANGESET}.tar.bz2
- --with-jdk-src-zip="${FETCHEDDIR}"/jdk-${JDK_CHANGESET}.tar.bz2
- --with-langtools-src-zip="${FETCHEDDIR}"/langtools-${LANGTOOLS_CHANGESET}.tar.bz2
- --with-openjdk-src-zip="${FETCHEDDIR}"/openjdk-7-${OPENJDK_CHANGESET}.tar.bz2
- --with-parallel-jobs=${EXJOBS:-1}
- --with-pkgversion="Exherbo"
- --without-gcj
- )
-
- # We used to unset the Java variables here. This can cause build failures, though.
- # Instead, we're only doing it now during bootstrapping during which no existing
- # JDK should be used.
- # We do NOT export the Java variables here in case the user knows what he's
- # doing and has modified them.
- export ANT_RESPECT_JAVA_HOME=TRUE
-
- if option bootstrap ; then
- # Unset the Java variables in order to make sure no existing JDK gets picked
- # up. We DO have to set JAVAC explicitly, though, or ecj.jar (which we don't
- # usually provide) will be required.
- unset JAVA_HOME CLASSPATH JAVAC JAVACMD
- export ANT_HOME=${WORKBASE}/apache-ant-bin-${BOOTSTRAP_ANT_VERSION}/usr/share/ant
- export ANT=${WORKBASE}/apache-ant-bin-${BOOTSTRAP_ANT_VERSION}/usr/share/ant/bin/ant
- export JAVAC=${WORKBASE}/${PN}-${BOOTSTRAP_VERSION}/bin/javac
- export PATH=${WORKBASE}/${PN}-bin-${BOOTSTRAP_VERSION}/bin:${PATH}
- myconf+=(
- --with-jdk-home=${WORKBASE}/${PN}-${BOOTSTRAP_VERSION}
- --with-javac=${WORKBASE}/${PN}-${BOOTSTRAP_VERSION}/bin/javac
- --with-javah=${WORKBASE}/${PN}-${BOOTSTRAP_VERSION}/bin/javah
- --with-jar=${WORKBASE}/${PN}-${BOOTSTRAP_VERSION}/bin/jar
- --with-rmic=${WORKBASE}/${PN}-${BOOTSTRAP_VERSION}/bin/rmic
- )
- else
- if has_version dev-lang/icedtea6 ; then
- myconf+=( --with-jdk-home=/usr/$(exhost --target)/lib/icedtea6 )
- elif has_version dev-lang/icedtea7 ; then
- myconf+=( --with-jdk-home=/usr/$(exhost --target)/lib/icedtea7 )
- fi
- fi
-
- if option javascript ; then
- myconf+=( " --with-rhino=/usr/share/rhino/js.jar" )
- else
- myconf+=( " --without-rhino" )
- fi
-# if option cacao ; then
-# myconf+=" --with-cacao-home=/usr"
-# else
-# myconf+=" --without-cacao-home"
-# fi
-
- myconf+=( $(_icedtea_option doc docs) )
-# cacao
-# shark
-# zero
-
- # For some reason, icedtea7 really hates -march=native on x86.
- option platform:x86 && filter-flags -march=native
-
- econf ${myconf[@]}
-}
-
-icedtea7_src_compile() {
- unset JAVA_HOME CLASSPATH JAVAC JAVACMD
-
- # The build system needs this dir but doesn't create it.
- edo mkdir -p "${WORK}"/bootstrap/boot/jre/lib
-
- # The icedtea7 build system uses the OPTIONS variable for setting defines.
- env -u OPTIONS emake DISTRIBUTION_PATCHES="${DISTRIBUTION_PATCHES[@]}" \
- ALT_OBJCOPY="/usr/$(exhost --target)/bin/$(exhost --tool-prefix)objcopy" \
- CXX=${CXX} NM=${NM} AR=${AR} READELF=$(exhost --tool-prefix)readelf \
- DISABLE_HOTSPOT_OS_VERSION_CHECK=ok
-}
-