summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--dev-java/icedtea-web/Manifest1
-rw-r--r--dev-java/icedtea-web/files/README.gentoo-r156
-rw-r--r--dev-java/icedtea-web/files/icedtea-web-1.6-javadoc.patch11
-rw-r--r--dev-java/icedtea-web/files/icedtea-web-1.6-launchers.patch79
-rw-r--r--dev-java/icedtea-web/files/icedtea-web-1.6-no-hg.patch49
-rw-r--r--dev-java/icedtea-web/files/icedtea-web-1.6-respect-ldflags.patch20
-rw-r--r--dev-java/icedtea-web/icedtea-web-1.6.1.ebuild83
7 files changed, 299 insertions, 0 deletions
diff --git a/dev-java/icedtea-web/Manifest b/dev-java/icedtea-web/Manifest
index 6b08126660db..cb9393d061d0 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 000000000000..219e14e7f7c3
--- /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 000000000000..f69db9b6f582
--- /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 000000000000..57f793a2ff30
--- /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 000000000000..a76780e500cb
--- /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 000000000000..1d03b7c4fd16
--- /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 000000000000..94dc000bfb33
--- /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
+}