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
This commit is contained in:
James Le Cuirot
2016-01-01 17:15:56 +00:00
parent 47b7e02907
commit d08ce156e9
7 changed files with 299 additions and 0 deletions

View File

@@ -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

View File

@@ -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.

View File

@@ -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 ' \

View File

@@ -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) \

View File

@@ -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

View File

@@ -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) \

View File

@@ -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
}