diff options
author | James Le Cuirot <chewi@gentoo.org> | 2016-01-01 17:15:56 +0000 |
---|---|---|
committer | James Le Cuirot <chewi@gentoo.org> | 2016-01-01 22:49:14 +0000 |
commit | d08ce156e9c3f25c13d73e23c041114c901aaf36 (patch) | |
tree | 2aef1bf233c4c68ce8d4adf060299c6df5051c9e /dev-java | |
parent | app-eselect/eselect-java: Version bump (diff) | |
download | gentoo-d08ce156e9c3f25c13d73e23c041114c901aaf36.tar.gz gentoo-d08ce156e9c3f25c13d73e23c041114c901aaf36.tar.bz2 gentoo-d08ce156e9c3f25c13d73e23c041114c901aaf36.zip |
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
Diffstat (limited to 'dev-java')
-rw-r--r-- | dev-java/icedtea-web/Manifest | 1 | ||||
-rw-r--r-- | dev-java/icedtea-web/files/README.gentoo-r1 | 56 | ||||
-rw-r--r-- | dev-java/icedtea-web/files/icedtea-web-1.6-javadoc.patch | 11 | ||||
-rw-r--r-- | dev-java/icedtea-web/files/icedtea-web-1.6-launchers.patch | 79 | ||||
-rw-r--r-- | dev-java/icedtea-web/files/icedtea-web-1.6-no-hg.patch | 49 | ||||
-rw-r--r-- | dev-java/icedtea-web/files/icedtea-web-1.6-respect-ldflags.patch | 20 | ||||
-rw-r--r-- | dev-java/icedtea-web/icedtea-web-1.6.1.ebuild | 83 |
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="\ \ " +- 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 +} |