summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-java/gwt')
-rw-r--r--dev-java/gwt/Manifest2
-rw-r--r--dev-java/gwt/files/gwt-2.9.0-jsinterop-classpath.patch20
-rw-r--r--dev-java/gwt/files/gwt-2.9.0-remove-git-usage.patch26
-rw-r--r--dev-java/gwt/gwt-2.9.0.ebuild96
4 files changed, 144 insertions, 0 deletions
diff --git a/dev-java/gwt/Manifest b/dev-java/gwt/Manifest
index 45f07b6b71dd..6a0f247896b3 100644
--- a/dev-java/gwt/Manifest
+++ b/dev-java/gwt/Manifest
@@ -1,2 +1,4 @@
DIST gwt-2.8.2.zip 22017212 BLAKE2B b112df08885e607c975f9585d6b83e2a12894e974850ada052918e4b946b11bfc8d9cf9d71f4e684121d9d16714885be549eed44d77a119e695c2b50cd6bc6c3 SHA512 ac16311c3b00b36d421eef914e73ad8dea01f022c87fc7ed722fdfee8eed391f1987cc1c34522978afc542cdb90eee791efcdcc725d9a395ab468e458b708074
+DIST gwt-2.9.0.tar.gz 13081965 BLAKE2B 8b18e4cad6df9b1a2336bdf537a26def021ccd950299a6064e9a7328d0161c093f56284cce7b8a0e0a0c72b0dc9604e5e5527332d1878afd19a3c95eed5129a7 SHA512 424484a42f28387734a89a3a12b48716031e194e3a712a5e7cbdb66f77ab68e72ff8751f70a4048f4b9f35d92948c285490fd8e23c34d5c5e5558fee33952bf5
+DIST gwt-tools-194772ed94078802d8030136796de344eb1fdbe1.tar.gz 575902138 BLAKE2B 518ed1752cc82a527521525e181db712a641d36db203f511bdcc5206de314aa1eb693415b690fc42f38c9beabaffc484ad6ec3444e3cd8b4f2a3fa2ab9505f11 SHA512 0365d664b4b14ec833c922c8fab5df269e69ac8f1526315810f4922132439b880ee15e7e8b80e8b505469a374ba4a47998c7ed07b5f53227d50100247fade82b
DIST gwt-tools-f42d2729a3a8e6ba9b9aec069957bce5dc0f6f6d.zip 577453206 BLAKE2B 83a3824d6418727876b4708ed44ab1f58513a5b39d4e48f9bf21290ca358f76ec2ccd98ce2aee76afe7f621fb1f703bf459b8c3d6a3d4f32d4be807bc723513e SHA512 f4f033c972d955da40258020a9fb84ae90f30b7afeb1ae8044cf00f4f5f45200129bf84e2f69660a4eb80bb60f3a5a1d3c5af69fe9e07e0b985de0e708ca933f
diff --git a/dev-java/gwt/files/gwt-2.9.0-jsinterop-classpath.patch b/dev-java/gwt/files/gwt-2.9.0-jsinterop-classpath.patch
new file mode 100644
index 000000000000..5e69341210cf
--- /dev/null
+++ b/dev-java/gwt/files/gwt-2.9.0-jsinterop-classpath.patch
@@ -0,0 +1,20 @@
+# It's unclear how upstream gets their "dev.compile.test" target to compile
+# without this - it could be that their testing is done with the local tools/
+# dir, and that some assumptions are made somewhere in the bulid system that
+# don't apply when the tools dir is elsewhere. Either way, this fixes it.
+#
+# a Pull Request (of sorts) has been issued with upstream to incorporate this
+# change. I would list the PR link here, but they use gerrit, and i don't
+# understand what happened to my submission after I issued
+# `git push upstream HEAD:refs/for/master`
+
+--- a/dev/build.xml
++++ b/dev/build.xml
+@@ -60,6 +60,7 @@
+ <pathelement
+ location="${gwt.tools.lib}/streamhtmlparser/streamhtmlparser-jsilver-r10/streamhtmlparser-jsilver-r10-1.5-rebased.jar"/>
+ <pathelement location="${gwt.build.lib}/gwt-dev-${build.host.platform}.jar"/>
++ <pathelement location="${gwt.tools.lib}/jsinterop/jsinterop-annotations-2.0.0.jar"/>
+ <pathelement location="${alldeps.jar}"/>
+ </classpath>
+ </gwt.javac>
diff --git a/dev-java/gwt/files/gwt-2.9.0-remove-git-usage.patch b/dev-java/gwt/files/gwt-2.9.0-remove-git-usage.patch
new file mode 100644
index 000000000000..9ebbafb99099
--- /dev/null
+++ b/dev-java/gwt/files/gwt-2.9.0-remove-git-usage.patch
@@ -0,0 +1,26 @@
+# This git stuff in the ant configs is useful during development, since it does
+# something or other withe git revision and sets some sort of sentinel file.
+# Since this package is for a release, we don't need it.
+--- a/common.ant.xml
++++ b/common.ant.xml
+@@ -277,16 +277,16 @@
+
+ <macrodef name="gwt.getgitinfo" description="Identifies the GIT info of a workspace">
+ <sequential>
+- <exec executable="git" searchpath="true" outputproperty="gwt.gitrev">
+- <arg line="rev-parse --short HEAD"/>
+- </exec>
++ <!-- <exec executable="git" searchpath="true" outputproperty="gwt.gitrev"> -->
++ <!-- <arg line="rev-parse - -short HEAD"/> -->
++ <!-- </exec> -->
+ <!-- Generally, filtering requires a sentinel file so that changes to git rev will
+ be noticed as invalidating the previously-generated filter output. This property
+ names where such a sentinel lives; it is tested with <available/> and created
+ with <touch/> -->
+ <mkdir dir="${project.build}/sentinels"/>
+ <property name="filter.sentinel"
+- location="${project.build}/sentinels/gwt-${gwt.version}-git-${gwt.gitrev}"/>
++ location="${project.build}/sentinels/gwt-${gwt.version}"/>
+ </sequential>
+ </macrodef>
+
diff --git a/dev-java/gwt/gwt-2.9.0.ebuild b/dev-java/gwt/gwt-2.9.0.ebuild
new file mode 100644
index 000000000000..b3a3173ebca2
--- /dev/null
+++ b/dev-java/gwt/gwt-2.9.0.ebuild
@@ -0,0 +1,96 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+JAVA_PKG_IUSE="source"
+
+inherit java-pkg-2 java-ant-2 java-utils-2
+
+GWT_TOOLS_COMMIT="194772ed94078802d8030136796de344eb1fdbe1"
+GWT_TOOLS_PN="tools"
+
+DESCRIPTION="Google Web Toolkit library"
+HOMEPAGE="http://www.gwtproject.org/"
+SRC_URI="https://github.com/gwtproject/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz
+ https://github.com/gwtproject/${GWT_TOOLS_PN}/archive/${GWT_TOOLS_COMMIT}.tar.gz -> ${PN}-${GWT_TOOLS_PN}-${GWT_TOOLS_COMMIT}.tar.gz"
+# While the test suite does compile and does execute with an exit status of 0,
+# there are many tests that end with FAILED status. It is unclear if this is
+# expected from upstream or not, but in order to keep things honest, the test
+# suite is being restricted
+RESTRICT="mirror test"
+SLOT="2.8"
+LICENSE="Apache-2.0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+
+CDEPEND="
+ dev-java/json:0
+ dev-java/guava:20
+ dev-java/rhino:1.6
+ dev-java/asm:9
+ dev-java/eclipse-ecj:4.5
+ dev-java/validation-api:1.0
+"
+
+RDEPEND="
+ ${CDEPEND}
+ >=virtual/jre-1.8:*"
+DEPEND="
+ ${CDEPEND}
+ virtual/jdk:1.8
+"
+
+JAVA_ANT_REWRITE_CLASSPATH="yes"
+EANT_BUILD_TARGET="build"
+EANT_GENTOO_CLASSPATH="
+ json
+ asm-9
+ guava-20
+ rhino-1.6
+ eclipse-ecj-4.5
+ validation-api-1.0
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-2.9.0-jsinterop-classpath.patch"
+ "${FILESDIR}/${PN}-2.9.0-remove-git-usage.patch"
+)
+
+src_prepare() {
+ default
+
+ java-pkg-2_src_prepare
+}
+
+src_compile() {
+ # the default setup assumes that you've placed these in ${S}/tools. We put
+ # it in ${WORKDIR} though
+ export GWT_TOOLS="${WORKDIR}/${GWT_TOOLS_PN}-${GWT_TOOLS_COMMIT}"
+ export GWT_VERSION="${PV}"
+
+ java-pkg-2_src_compile
+}
+
+src_test() {
+ local -x ANT_OPTS=-Dfile.encoding=UTF-8
+ local -x TZ=America/Los_Angeles
+
+ java-pkg-2_src_test
+}
+
+src_install() {
+ local i18nCreater_launcher_args=(
+ i18nCreater
+ --main com.google.gwt.i18n.tools.I18NCreater
+ --jar gwt-dev.jar
+ )
+ local webAppCreator_launcher_args=(
+ webAppCreator
+ --main com.google.gwt.user.tools.WebAppCreator
+ --jar gwt-dev.jar
+ )
+
+ java-pkg_dojar build/lib/*.jar
+ java-pkg_dolauncher ${i18nCreater_launcher_args[@]}
+ java-pkg_dolauncher ${webAppCreator_launcher_args[@]}
+}