public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "James Le Cuirot" <chewi@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-java/icedtea-web/files/, dev-java/icedtea-web/
Date: Fri,  1 Jan 2016 22:50:06 +0000 (UTC)	[thread overview]
Message-ID: <1451688554.d08ce156e9c3f25c13d73e23c041114c901aaf36.chewi@gentoo> (raw)

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	other threads:[~2016-01-01 22:50 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-01-01 22:50 James Le Cuirot [this message]
  -- strict thread matches above, loose matches on Subject: below --
2016-02-18  9:59 [gentoo-commits] repo/gentoo:master commit in: dev-java/icedtea-web/files/, dev-java/icedtea-web/ James Le Cuirot
2022-05-11 19:57 Florian Schmaus

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1451688554.d08ce156e9c3f25c13d73e23c041114c901aaf36.chewi@gentoo \
    --to=chewi@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox