commit:     e93177f868da4b4b692d7d85ee9fde67003f5731
Author:     James Le Cuirot <chewi <AT> gentoo <DOT> org>
AuthorDate: Sun Apr 10 22:09:41 2016 +0000
Commit:     James Le Cuirot <chewi <AT> gentoo <DOT> org>
CommitDate: Sun Apr 10 22:09:41 2016 +0000
URL:        https://gitweb.gentoo.org/proj/java.git/commit/?id=e93177f8

dev-java/icedtea: ccache - fix version check, strip PATH, no automagic

Package-Manager: portage-2.2.28

 dev-java/icedtea/files/8-ccache.patch | 11 +++++++++++
 dev-java/icedtea/icedtea-3.0.0.ebuild | 16 +++++++++++++++-
 2 files changed, 26 insertions(+), 1 deletion(-)

diff --git a/dev-java/icedtea/files/8-ccache.patch 
b/dev-java/icedtea/files/8-ccache.patch
new file mode 100644
index 0000000..c846dba
--- /dev/null
+++ b/dev-java/icedtea/files/8-ccache.patch
@@ -0,0 +1,11 @@
+--- openjdk/common/autoconf/generated-configure.sh.orig        2016-04-01 
04:32:19.000000000 +0100
++++ openjdk/common/autoconf/generated-configure.sh     2016-04-10 
20:04:53.472885447 +0100
+@@ -35764,7 +35764,7 @@
+     # precompiled headers.
+     { $as_echo "$as_me:${as_lineno-$LINENO}: checking if ccache supports 
precompiled headers" >&5
+ $as_echo_n "checking if ccache supports precompiled headers... " >&6; }
+-    HAS_GOOD_CCACHE=`($CCACHE --version | head -n 1 | grep -E 3.1.[456789]) 
2> /dev/null`
++    HAS_GOOD_CCACHE=`($CCACHE --version | head -n 1 | grep -E 
"3\.(1\.[456789]|[2-9])") 2> /dev/null`
+     if test "x$HAS_GOOD_CCACHE" = x; then
+       { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, disabling ccache" 
>&5
+ $as_echo "no, disabling ccache" >&6; }

diff --git a/dev-java/icedtea/icedtea-3.0.0.ebuild 
b/dev-java/icedtea/icedtea-3.0.0.ebuild
index f36fe40..a17c4ab 100644
--- a/dev-java/icedtea/icedtea-3.0.0.ebuild
+++ b/dev-java/icedtea/icedtea-3.0.0.ebuild
@@ -270,6 +270,18 @@ src_configure() {
                zero_config="--enable-zero"
        fi
 
+       # https://bugs.openjdk.java.net/browse/JDK-8067132
+       export DISTRIBUTION_PATCHES="${SLOT}-ccache.patch"
+       ln -snf "${FILESDIR}"/${SLOT}-ccache.patch . || die
+
+       # IcedTea itself doesn't handle ccache yet.
+       if has ccache ${FEATURES}; then
+               ewarn 'ccache has been known to break IcedTea. Disable it 
before filing bugs.'
+               export enable_ccache=yes
+       else
+               export enable_ccache=no
+       fi
+
        config+=" --with-parallel-jobs=$(makeopts_jobs)"
 
        unset JAVA_HOME JDK_HOME CLASSPATH JAVAC JAVACFLAGS
@@ -304,7 +316,9 @@ src_configure() {
 }
 
 src_compile() {
-       emake
+       # OpenJDK is quite picky about ccache and dies if you attempt to use
+       # it via wrapper symlinks like Gentoo normally does.
+       PATH=$(sed 's#[^:]*/ccache/bin:##g' <<< "${PATH}") emake
 }
 
 src_test() {

Reply via email to