commit:     d08ce156e9c3f25c13d73e23c041114c901aaf36
Author:     James Le Cuirot <chewi <AT> gentoo <DOT> org>
AuthorDate: Fri Jan  1 17:15:56 2016 +0000
Commit:     James Le Cuirot <chewi <AT> gentoo <DOT> org>
CommitDate: Fri Jan  1 22:49:14 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d08ce156

dev-java/icedtea-web: Version bump, addressing many issues

 * Bump to version 1.6.1 (#530860)
 * Respect java-config's VM selection (#538144, #552640)
 * Use new eselect-java that looks for itweb-javaws (#504678)
 * Fix USE=doc under stricter Java 8 (#558718)
 * Don't call hg because .hg directory is missing (#528268)

This version no longer relies on eselect java-nsplugin as it installs
the plugin directly under /usr/lib/nsbrowser/plugins. It blocks the
Oracle plugins because Firefox cannot disable them individually.

Package-Manager: portage-2.2.26

 dev-java/icedtea-web/Manifest                      |  1 +
 dev-java/icedtea-web/files/README.gentoo-r1        | 56 +++++++++++++++
 .../files/icedtea-web-1.6-javadoc.patch            | 11 +++
 .../files/icedtea-web-1.6-launchers.patch          | 79 ++++++++++++++++++++
 .../icedtea-web/files/icedtea-web-1.6-no-hg.patch  | 49 +++++++++++++
 .../files/icedtea-web-1.6-respect-ldflags.patch    | 20 ++++++
 dev-java/icedtea-web/icedtea-web-1.6.1.ebuild      | 83 ++++++++++++++++++++++
 7 files changed, 299 insertions(+)

diff --git a/dev-java/icedtea-web/Manifest b/dev-java/icedtea-web/Manifest
index 6b08126..cb9393d 100644
--- a/dev-java/icedtea-web/Manifest
+++ b/dev-java/icedtea-web/Manifest
@@ -1 +1,2 @@
 DIST icedtea-web-1.5.1.tar.gz 1616344 SHA256 
03f16356fa84564f1ae32286e0a090a464c87ec123b40602dcea925757900195 SHA512 
ef47eecbbb52fcb44ec9585db4c4428025201b04968dfcfc26061160d80b29ee649752f21ffe891cfa5c6bf775d0bc1dbb7dbd9a79794e052bb8b865fa94d039
 WHIRLPOOL 
955b5cc565fa62d2f5eb85a3253751cd284a4cb926619afe60920123878281a77f348a7c26cdafea2c6d4cd760fe4d399041b665b86ff1bbaf441e25f9f18379
+DIST icedtea-web-1.6.1.tar.gz 1776222 SHA256 
a9b46ab6c9dc303c89651143596bc5abea29242b9bdcabdd2dab7c606592c920 SHA512 
dae39818f74a098289acd0736d27c2e68b10b603a3fb0a180cf4b6444345cbe71ab1ba77dfb198f053f9567bb18aa96de09049c3b595b3d292d142a7ae7d3ef9
 WHIRLPOOL 
96826d17daee16dfa99f6439678cc509c94556955839b7e8bc43c1993ee04740f35b0547d56649bb9f7a625b5b2515be9d173b642ccb15cb1dead83a03586a6e

diff --git a/dev-java/icedtea-web/files/README.gentoo-r1 
b/dev-java/icedtea-web/files/README.gentoo-r1
new file mode 100644
index 0000000..219e14e
--- /dev/null
+++ b/dev-java/icedtea-web/files/README.gentoo-r1
@@ -0,0 +1,56 @@
+Browser plugin
+--------------
+
+The IcedTea browser plugin (NPPlugin) is now made immediately
+available to supporting browsers without the need for eselect. Note
+that Chromium-based browsers no longer support NPAPI-based plugins
+since the code was removed in September 2015. The list of supporting
+browsers is shrinking but still includes Firefox as of version 46.
+
+JVM selection
+-------------
+
+By default, IcedTea's browser plugin and Web Start uses the JVM
+selected via eselect or the GENTOO_VM environment variable. Note that
+this doesn't have to be an IcedTea JVM. An Oracle JVM will also
+work. The choice can be overridden using the itweb-settings
+program. Simply blank out the field to restore the default behaviour.
+
+Coexistence with Oracle's plugin
+--------------------------------
+
+The IcedTea browser plugin can no longer be installed alongside
+Oracle's plugin. This used to be possible thanks to eselect
+java-nsplugin but this was removed in an effort to simplify things. No
+one is likely to need both, especially with plugins being all but
+outlawed these days. To avoid any blockers, simply enable the nsplugin
+USE flag on icedtea-web or the Oracle packages, but not both.
+
+If you're wondering why we don't just leave plugin selection to the
+browser, it's because Firefox (and probably others) only allows you to
+disable all the Java plugins together, not individually.
+
+Coexistence with Oracle's Web Start
+-----------------------------------
+
+/usr/bin/javaws, the executable used to launch JNLP files from a
+browser, will always use IcedTea's implementation over Oracle's when
+icedtea-web is installed, regardless of which JVM has been
+selected. This is primarily for consistency with the browser
+plugin. If you want to use Oracle's implementation then simply
+uninstall icedtea-web.
+
+32-bit plugin on 64-bit systems
+-------------------------------
+
+This is no longer supported as the 64-bit plugin can launch a 32-bit
+JVM. Other reasons for running a 32-bit browser on a 64-bit system
+have long passed.
+
+32-bit JVM on 64-bit systems
+----------------------------
+
+The emul-linux-x86-java package was removed in 2015 with the migration
+to full multilib. icedtea-bin now provides this feature via the
+multilib USE flag. Once installed, using the 32-bit variant is simply
+a case of selecting that VM as described above.

diff --git a/dev-java/icedtea-web/files/icedtea-web-1.6-javadoc.patch 
b/dev-java/icedtea-web/files/icedtea-web-1.6-javadoc.patch
new file mode 100644
index 0000000..f69db9b
--- /dev/null
+++ b/dev-java/icedtea-web/files/icedtea-web-1.6-javadoc.patch
@@ -0,0 +1,11 @@
+--- Makefile.am.orig   2015-09-11 14:02:04.245280051 +0100
++++ Makefile.am        2016-01-01 14:00:49.857225492 +0000
+@@ -652,7 +652,7 @@
+ 
+ stamps/netx-docs.stamp:
+ if ENABLE_DOCS
+-      $(SYSTEM_JDK_DIR)/bin/javadoc $(JAVADOC_MEM_OPTS) $(    _OPTS) \
++      $(SYSTEM_JDK_DIR)/bin/javadoc $(JAVADOC_MEM_OPTS) $(JAVADOC_OPTS) \
+        -d ${abs_top_builddir}/docs/netx -sourcepath $(NETX_SRCDIR) \
+        -doctitle 'IcedTea-Web: NetX API Specification' \
+        -windowtitle 'IcedTea-Web: NetX ' \

diff --git a/dev-java/icedtea-web/files/icedtea-web-1.6-launchers.patch 
b/dev-java/icedtea-web/files/icedtea-web-1.6-launchers.patch
new file mode 100644
index 0000000..57f793a
--- /dev/null
+++ b/dev-java/icedtea-web/files/icedtea-web-1.6-launchers.patch
@@ -0,0 +1,79 @@
+--- launcher/launchers.in.orig 2015-09-11 14:02:04.252280131 +0100
++++ launcher/launchers.in      2015-12-18 23:06:35.721135526 +0000
+@@ -7,7 +7,7 @@
+ BINARY_LOCATION=@BIN_LOCATION@
+ SPLASH_LOCATION=@JAVAWS_SPLASH_LOCATION@
+ PROGRAM_NAME=@PROGRAM_NAME@
+-CP=@JRE@/lib/rt.jar:@JRE@/lib/jfxrt.jar
++CP=$(java-config -r)
+ 
+ CONFIG_HOME=$XDG_CONFIG_HOME
+ if [ "x$CONFIG_HOME" = "x" ] ; then
+--- plugin/icedteanp/IcedTeaNPPlugin.cc.orig   2015-09-11 14:02:04.219279754 
+0100
++++ plugin/icedteanp/IcedTeaNPPlugin.cc        2015-12-19 22:35:23.479775591 
+0000
+@@ -137,8 +137,7 @@
+ static DIR *data_directory_descriptor;
+ 
+ // Fully-qualified appletviewer default  executable and rt.jar
+-static const char* appletviewer_default_executable = ICEDTEA_WEB_JRE 
"/bin/java";
+-static const char* appletviewer_default_rtjar = ICEDTEA_WEB_JRE "/lib/rt.jar";
++static const char* appletviewer_default_executable = ICEDTEA_WEB_JAVA;
+ //javaws name and binary
+ static const char* javaws_bin_property = "-Dicedtea-web.bin.location=" 
JAVAWS_BIN;
+ static const char* javaws_name_property = "-Dicedtea-web.bin.name=" 
JAVAWS_NAME;
+@@ -298,7 +297,15 @@
+                   PLUGIN_ERROR("Your custom jre (/lib/rt.jar check) %s is not 
valid. Please fix %s in your %s. In attempt to run using default one. \n", 
custom_jre.c_str(), custom_jre_key.c_str(), 
default_file_ITW_deploy_props_name.c_str());
+             }
+       }
+-      return appletviewer_default_rtjar;      
++      gchar *stdout;
++      if (g_spawn_command_line_sync("java-config -r", &stdout, NULL, NULL, 
NULL)) {
++          std::string result = g_strchomp(stdout);
++          g_free(stdout);
++          return result;
++      } else {
++          PLUGIN_ERROR("Failed to query jre bootclasspath with 
java-config.\n");
++          return "";
++      }
+ }
+ 
+ static void cleanUpDir(){
+--- plugin/icedteanp/IcedTeaParseProperties.cc.orig    2015-09-11 
14:02:04.220279765 +0100
++++ plugin/icedteanp/IcedTeaParseProperties.cc 2015-12-19 23:06:05.095409132 
+0000
+@@ -151,7 +151,15 @@
+ }
+ 
+ string default_java_properties_file(){
+-      return  ICEDTEA_WEB_JRE "/lib/"+default_file_ITW_deploy_props_name;
++      gchar *stdout;
++      if (g_spawn_command_line_sync("java-config -o", &stdout, NULL, NULL, 
NULL)) {
++              string result = g_strchomp(stdout);
++              g_free(stdout);
++              return result+"/lib/"+default_file_ITW_deploy_props_name;
++      } else {
++              PLUGIN_ERROR("Failed to query jre location with 
java-config.\n");
++              return "";
++      }
+ }
+ 
+ 
+@@ -224,7 +232,7 @@
+                               dest = custom_jre_file;
+                               return true;
+                       } 
+-              } else {
++              } else if (!default_java_file.empty()) {
+                       
if(IcedTeaPluginUtilities::file_exists(default_java_file)) {
+                       dest = default_java_file;
+                       return true;
+--- Makefile.am.orig   2015-09-11 14:02:04.245280051 +0100
++++ Makefile.am        2015-12-19 22:37:35.460518630 +0000
+@@ -353,7 +353,7 @@
+         -DPLUGIN_VERSION="\"$(PLUGIN_VERSION)\"" \
+         -DPACKAGE_URL="\"$(PACKAGE_URL)\"" \
+         -DMOZILLA_VERSION_COLLAPSED="$(MOZILLA_VERSION_COLLAPSED)" \
+-        -DICEDTEA_WEB_JRE="\"$(SYSTEM_JRE_DIR)\"" \
++        -DICEDTEA_WEB_JAVA="\"$(JAVA)\"" \
+         -DPLUGIN_BOOTCLASSPATH=$(PLUGIN_BOOTCLASSPATH) \
+         $(GLIB_CFLAGS) \
+         $(MOZILLA_CFLAGS) \

diff --git a/dev-java/icedtea-web/files/icedtea-web-1.6-no-hg.patch 
b/dev-java/icedtea-web/files/icedtea-web-1.6-no-hg.patch
new file mode 100644
index 0000000..a76780e
--- /dev/null
+++ b/dev-java/icedtea-web/files/icedtea-web-1.6-no-hg.patch
@@ -0,0 +1,49 @@
+--- html-gen.sh.orig   2015-09-11 14:02:04.250280108 +0100
++++ html-gen.sh        2016-01-01 14:13:46.693307166 +0000
+@@ -67,13 +67,18 @@
+ if [ -z "$CHANGESETS" ] || [ "$CHANGESETS" -lt 0 ]; then CHANGESETS=10; fi
+ 
+ NEWS_ITEMS=2
+-REPO_URL="$(hg paths default | sed -r 's/.*icedtea.classpath.org\/(.*)/\1/')"
++
++if [ -d .hg ]; then
++    REPO_URL="$(hg paths default | sed -r 
's/.*icedtea.classpath.org\/(.*)/\1/')"
++else
++    unset REPO_URL
++fi
+ 
+ start_time="$(date +%s.%N)"
+ 
+ cd html-gen
+ 
+-print_debug "Generating HTML content for javaws -about for $REPO_URL. 
$CHANGESETS changesets, $NEWS_ITEMS news items"
++print_debug "Generating HTML content for javaws -about${REPO_URL:+ for 
}$REPO_URL. $CHANGESETS changesets, $NEWS_ITEMS news items"
+ print_debug "Starting sed substitutions"
+ for FILE in NEWS AUTHORS COPYING ChangeLog
+ do
+@@ -99,7 +104,9 @@
+ sed -i '5i <br><img src="jamIcon.jpg" alt="Jam Icon" width="87" 
height="84"><br><br>' AUTHORS.html
+ echo "</center>" >> AUTHORS.html
+ 
+-REVS=(`hg log -l"$CHANGESETS" | grep 'changeset:' | cut -d: -f3 | tr '\n' ' 
'`)
++if [ -n "${REPO_URL}" ]; then
++    REVS=(`hg log -l"$CHANGESETS" | grep 'changeset:' | cut -d: -f3 | tr '\n' 
' '`)
++fi
+ 
+ print_debug "Done. Starting formatting (bolding, mailto and hyperlink 
creation)"
+ 
+@@ -132,9 +139,11 @@
+             if [[ "$LINE" =~ $date_regex* ]] # Matches line starting with eg 
2013-07-01
+             then
+                 html_space="\&ensp;\&ensp;"
+-                REV="${REVS["$COUNTER"]}"
+-                # Turn the date into a hyperlink for the revision this 
changelog entry describes
+-                LINE=$(echo "$LINE" | sed -r 
"s|($date_regex)($html_space.*$html_space.*)|<a 
href=http://icedtea.classpath.org/$REPO_URL/rev/$REV>\1</a>\2|")
++                if [ -n "${REPO_URL}" ]; then
++                    REV="${REVS["$COUNTER"]}"
++                    # Turn the date into a hyperlink for the revision this 
changelog entry describes
++                    LINE=$(echo "$LINE" | sed -r 
"s|($date_regex)($html_space.*$html_space.*)|<a 
href=http://icedtea.classpath.org/$REPO_URL/rev/$REV>\1</a>\2|")
++                fi
+                 COUNTER="$(( COUNTER + 1 ))"
+             fi
+             if [ "$COUNTER" -gt "$CHANGESETS" ] # Cut to ten changesets

diff --git a/dev-java/icedtea-web/files/icedtea-web-1.6-respect-ldflags.patch 
b/dev-java/icedtea-web/files/icedtea-web-1.6-respect-ldflags.patch
new file mode 100644
index 0000000..1d03b7c
--- /dev/null
+++ b/dev-java/icedtea-web/files/icedtea-web-1.6-respect-ldflags.patch
@@ -0,0 +1,20 @@
+--- Makefile.am.orig   2015-09-11 14:02:04.245280051 +0100
++++ Makefile.am        2015-12-18 21:37:43.328862431 +0000
+@@ -344,7 +344,7 @@
+ $(PLUGIN_DIR)/%.o: $(PLUGIN_SRCDIR)/%.cc
+       mkdir -p $(PLUGIN_DIR) && \
+       cd $(PLUGIN_DIR) && \
+-      $(CXX) $(CXXFLAGS) \
++      $(CXX) $(CXXFLAGS) $(LDFLAGS) \
+          $(DEFS) $(VERSION_DEFS) \
+         -DJDK_UPDATE_VERSION="\"$(JDK_UPDATE_VERSION)\"" \
+         -DPLUGIN_NAME="\"IcedTea-Web Plugin\"" \
+@@ -362,7 +362,7 @@
+ 
+ $(PLUGIN_DIR)/$(BUILT_PLUGIN_LIBRARY): $(addprefix 
$(PLUGIN_DIR)/,$(PLUGIN_OBJECTS))
+       cd $(PLUGIN_DIR) && \
+-      $(CXX) $(CXXFLAGS) \
++      $(CXX) $(CXXFLAGS) $(LDFLAGS) \
+         $(PLUGIN_OBJECTS) \
+         $(GLIB_LIBS) \
+         $(MOZILLA_LIBS) \

diff --git a/dev-java/icedtea-web/icedtea-web-1.6.1.ebuild 
b/dev-java/icedtea-web/icedtea-web-1.6.1.ebuild
new file mode 100644
index 0000000..94dc000
--- /dev/null
+++ b/dev-java/icedtea-web/icedtea-web-1.6.1.ebuild
@@ -0,0 +1,83 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+README_GENTOO_SUFFIX="-r1"
+
+inherit autotools eutils multilib readme.gentoo-r1 java-pkg-2
+
+DESCRIPTION="FOSS Java browser plugin and Web Start implementation"
+HOMEPAGE="http://icedtea.classpath.org";
+SRC_URI="http://icedtea.classpath.org/download/source/${P}.tar.gz";
+LICENSE="GPL-2 GPL-2-with-linking-exception LGPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86"
+IUSE="doc javascript +nsplugin tagsoup test"
+RESTRICT="test"
+
+CDEPEND="javascript? ( dev-java/rhino:1.6 )
+       nsplugin? ( >=dev-libs/glib-2.16 )
+       tagsoup? ( dev-java/tagsoup:0 )"
+
+DEPEND="${CDEPEND}
+       app-arch/zip
+       >=virtual/jdk-1.7
+       virtual/pkgconfig
+       nsplugin? ( net-misc/npapi-sdk )
+       test? ( >=dev-java/junit-4.8:4 )"
+
+RDEPEND="${CDEPEND}
+       >=app-eselect/eselect-java-0.2.0
+       >=virtual/jre-1.7
+       nsplugin? (
+               !dev-java/oracle-jdk-bin[nsplugin]
+               !dev-java/oracle-jre-bin[nsplugin]
+       )"
+
+src_prepare() {
+       # http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=2779
+       # http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=2780
+       epatch 
"${FILESDIR}"/${PN}-1.6-{javadoc,no-hg,launchers,respect-ldflags}.patch
+
+       if java-pkg_is-vm-version-ge "1.8" ; then
+               sed -i 's/JAVADOC_OPTS=/\0-Xdoclint:none /g' Makefile.am || die
+       fi
+
+       eautoreconf
+}
+
+src_configure() {
+       local tagsoup
+       use tagsoup && tagsoup="$(java-pkg_getjars tagsoup)"
+
+       local config=(
+               # Rename javaws to itweb-javaws as eselect java-vm manages
+               # javaws to prevent a clash with Oracle's implementation.
+               --program-transform-name='s/^javaws$/itweb-javaws/'
+               --libdir="${EPREFIX}"/usr/$(get_libdir)/nsbrowser/plugins
+               --with-java="${EPREFIX}"/usr/bin/java
+               --with-jdk-home="${JAVA_HOME}"
+               $(use_enable doc docs)
+               $(use_enable nsplugin plugin)
+               $(use_with javascript rhino)
+               $(use_with tagsoup tagsoup "${tagsoup}")
+       )
+
+       unset JAVA_HOME JDK_HOME CLASSPATH JAVAC JAVACFLAGS
+       econf "${config[@]}"
+}
+
+src_compile() {
+       default
+}
+
+src_install() {
+       default
+       readme.gentoo_create_doc
+}
+
+pkg_postinst() {
+       readme.gentoo_print_elog
+}

Reply via email to