[wishlist] Packaging GWT

OpenSubmitted by Ricardo Wurmus.
Details
2 participants
  • Björn Höfling
  • Ricardo Wurmus
Owner
unassigned
Severity
wishlist
R
R
Ricardo Wurmus wrote on 30 Dec 2020 17:06
(address . bug-guix@gnu.org)
87h7o3jn27.fsf@elephly.net
GWT (http://www.gwtproject.org/)is a toolkit for generating JavaScript
applications from Java. RStudio is implemented with GWT, so we should
package it if we ever want to offer an RStudio package for Guix.

The GWT repository is here: https://github.com/gwtproject/gwt

This looks easy to build with ant-build-system, but only because all the
bundled dependencies are in a separate repository:


The “lib” directory contains a large number of Jars that are expected to
be available when building GWT. It is not clear if all of these
libraries are needed to compile GWT. Let’s not think about this now and
just package as many of them as possible, leaving the difficult ones for
later.

The bad news is that there are 352 jars. The good news is that we
already have a few of these packages and that there are a few duplicates
providing different versions of the same tools.

One of the dependencies is the Google Closure Compiler (for
com.google.javascript.jscomp); progress on packaging it is tracked in
issue #45554.

--
Ricardo
R
R
Ricardo Wurmus wrote on 30 Dec 2020 17:22
(address . 45555@debbugs.gnu.org)
87blebjmaq.fsf@elephly.net
Ricardo Wurmus <rekado@elephly.net> writes:

Toggle quote (14 lines)
> The “lib” directory contains a large number of Jars that are expected to
> be available when building GWT. It is not clear if all of these
> libraries are needed to compile GWT. Let’s not think about this now and
> just package as many of them as possible, leaving the difficult ones for
> later.
>
> The bad news is that there are 352 jars. The good news is that we
> already have a few of these packages and that there are a few duplicates
> providing different versions of the same tools.
>
> One of the dependencies is the Google Closure Compiler (for
> com.google.javascript.jscomp); progress on packaging it is tracked in
> issue #45554.

I tried to whittle down the list of jars by removing all but one version
of each dependency; I also removed source jars, which we won’t have to
build. I also removed all the Google Closure Compiler jars, because we
work on those separately.

Here’s the list:

Toggle snippet (144 lines)
tools/lib/apache/ant-1.7.1.jar
tools/lib/apache/ant-zipscanner/ant-zipscanner-1.6.5-1-rebased.jar
tools/lib/apache/commons/commons-codec-1.10.jar
tools/lib/apache/commons/commons-collections-3.2.2.jar
tools/lib/apache/commons/commons-httpclient-3.1.jar
tools/lib/apache/commons/commons-io-2.4.jar
tools/lib/apache/commons/commons-lang-2.6.jar
tools/lib/apache/commons/commons-lang3-3.4.jar
tools/lib/apache/commons/commons-logging-1.2.jar
tools/lib/apache/http/httpclient-4.5.1.jar
tools/lib/apache/http/httpcore-4.4.4.jar
tools/lib/apache/http/httpmime-4.5.1.jar
tools/lib/apache/james/apache-mime4j-0.6.jar
tools/lib/apache/log4j/log4j-1.2.17.jar
tools/lib/apache/tapestry-util-text-4.0.2.jar
tools/lib/cglib/cglib-3.1.jar
tools/lib/cldr/34/cldr.jar
tools/lib/cldr/34/icu4j.jar
tools/lib/cldr/34/utilities.jar
tools/lib/colt/colt-1.2.jar
tools/lib/cssparser/cssparser-0.9.18.jar
tools/lib/cup/java-cup-11a.jar
tools/lib/cup/java-cup-11a-src.jar
tools/lib/easymock/easymock-3.0.jar
tools/lib/easymock/easymockclassextension-3.0.jar
tools/lib/eclipse/jdt-3.10.0.jar
tools/lib/eclipse/jdtCompilerAdapter_3.18.0.v20190522-0428.jar
tools/lib/eclipse/org.eclipse.jdt.core_3.18.0.v20190522-0428.jar
tools/lib/eclipse/org.eclipse.swt.carbon-macosx-3.2.1.jar
tools/lib/eclipse/org.eclipse.swt.gtk-linux-3.2.1.jar
tools/lib/eclipse/org.eclipse.swt.win32-win32-3.2.1.jar
tools/lib/errorprone/error_prone_ant-2.1.2.jar
tools/lib/gson/gson-2.6.2.jar
tools/lib/gss/2015-11-04/closure-stylesheets-library-20151104.jar
tools/lib/gss/2015-11-04/closure-stylesheets-library-20151104-rebased.jar
tools/lib/guava/guava-19.0/guava-19.0.jar
tools/lib/guava/guava-19.0/guava-19.0-rebased.jar
tools/lib/hibernate/validator/hibernate-validator-4.3.2.Final.jar
tools/lib/hibernate/validator/tck/jsr303-tck-1.0.3.GA.jar
tools/lib/htmlunit/htmlunit-2.19/htmlunit-2.19.jar
tools/lib/htmlunit/htmlunit-2.19/htmlunit-core-js-2.15.jar
tools/lib/htmlunit/htmlunit-2.19/htmlunit-core-js-2.17.jar
tools/lib/icu4j/63.1/icu4j-charset.jar
tools/lib/icu4j/63.1/icu4j.jar
tools/lib/icu4j/63.1/icu4j-localespi.jar
tools/lib/icu4j/63.1/utilities.jar
tools/lib/icu4j/icu4j-4_4_1.jar
tools/lib/javaswf/javaswf-20050404.jar
tools/lib/javax/activation/activation-1.1.jar
tools/lib/javax/validation/validation-api-1.0.0.GA.jar
tools/lib/javax/xml/bind/jaxb-api-2.1.jar
tools/lib/javax/xml/stream/stax-api-1.0-2.jar
tools/lib/jboss/test-audit/jboss-test-audit-api-1.0.0.jar
tools/lib/jboss/test-harness/jboss-test-harness-1.0.0.jar
tools/lib/jboss/test-harness/jboss-test-harness-api-1.0.0.jar
tools/lib/jetty/jetty-9.2.14.v20151106/jetty-all-9.2.14.v20151106.jar
tools/lib/jetty/jetty-9.2.14.v20151106/jetty-apache-jsp-9.2.14.v20151106.jar
tools/lib/jetty/jetty-9.2.14.v20151106/mortbay-apache-el-8.0.9.M3.jar
tools/lib/jetty/jetty-9.2.14.v20151106/mortbay-apache-jsp-8.0.9.M3.jar
tools/lib/jfreechart/itext-1.4.6.jar
tools/lib/jfreechart/jcommon-1.0.6.jar
tools/lib/jfreechart/jfreechart-1.0.3.jar
tools/lib/jsinterop/jsinterop-annotations-2.0.0.jar
tools/lib/json/android-sdk-19.1/json-android.jar
tools/lib/json/android-sdk-19.1/json-android-rebased.jar
tools/lib/jsr305/jsr305.jar
tools/lib/junit/junit-4.8.2.jar
tools/lib/mockito/1.9.5/mockito-all-1.9.5.jar
tools/lib/nekohtml/nekohtml-1.9.22.jar
tools/lib/oauth/oauth-20100601.jar
tools/lib/oauth/oauth-consumer-20100601.jar
tools/lib/oauth/oauth-httpclient4-20100601.jar
tools/lib/oauth/oauth-provider-20100601.jar
tools/lib/objectweb/asm-7.1/asm-7.1.jar
tools/lib/objectweb/asm-7.1/asm-commons-7.1.jar
tools/lib/objectweb/asm-7.1/asm-util-7.1.jar
tools/lib/objectweb/asm-analysis-3.1.jar
tools/lib/objectweb/asm-commons-3.1.jar
tools/lib/objectweb/asm-tree-3.1.jar
tools/lib/objectweb/asm-util-3.1.jar
tools/lib/objectweb/asm-xml-3.1.jar
tools/lib/objenesis/objenesis-1.2.jar
tools/lib/protobuf/protobuf-2.5.0/protobuf-java-2.5.0.jar
tools/lib/protobuf/protobuf-2.5.0/protobuf-java-rebased-2.5.0.jar
tools/lib/requestfactory/requestfactory-apt-2011-08-18.jar
tools/lib/requestfactory/requestfactory-apt-2.5.1.jar
tools/lib/requestfactory/requestfactory-apt.jar
tools/lib/selenium/1.0.1/selenium-java-client-driver.jar
tools/lib/selenium/1.0.1/selenium-server.jar
tools/lib/selenium/selenium-java-client-driver.jar
tools/lib/selenium/selenium-server.jar
tools/lib/slf4j/slf4j-api/slf4j-api-1.7.12.jar
tools/lib/slf4j/slf4j-log4j12/slf4j-log4j12-1.7.12.jar
tools/lib/streamhtmlparser/streamhtmlparser-jsilver-r10/streamhtmlparser-jsilver-r10-1.5.jar
tools/lib/streamhtmlparser/streamhtmlparser-jsilver-r10/streamhtmlparser-jsilver-r10-1.5-rebased.jar
tools/lib/streamhtmlparser/streamhtmlparser-jsilver-r10/streamhtmlparser-jsilver-r10.jar
tools/lib/streamhtmlparser/streamhtmlparser-jsilver-r10/streamhtmlparser-jsilver-r10-rebased.jar
tools/lib/sun/jaxb/jaxb-impl-2.1.3.jar
tools/lib/sun/swingworker/swing-worker-1.1.jar
tools/lib/testng/testng-5.14.1.jar
tools/lib/tomcat/ant-launcher-1.7.1.jar
tools/lib/tomcat/catalina-1.0.jar
tools/lib/tomcat/catalina-optional-1.0.jar
tools/lib/tomcat/commons-beanutils-1.6.jar
tools/lib/tomcat/commons-collections-3.1.jar
tools/lib/tomcat/commons-digester-1.5.jar
tools/lib/tomcat/commons-el-1.0.jar
tools/lib/tomcat/commons-logging-1.0.jar
tools/lib/tomcat/commons-modeler-1.1.jar
tools/lib/tomcat/jakarta-regexp-1.3.jar
tools/lib/tomcat/jasper-compiler-1.0.jar
tools/lib/tomcat/jasper-runtime-1.0.jar
tools/lib/tomcat/jsp-api-2.0.jar
tools/lib/tomcat/jsp-api-2.1.jar
tools/lib/tomcat/mx4j-jmx-1.1.jar
tools/lib/tomcat/naming-common-1.0.jar
tools/lib/tomcat/naming-factory-1.0.jar
tools/lib/tomcat/naming-java-1.0.jar
tools/lib/tomcat/naming-resources-1.0.jar
tools/lib/tomcat/servlet-api-2.4.jar
tools/lib/tomcat/servlet-api-2.5.jar
tools/lib/tomcat/servlets-common-1.0.jar
tools/lib/tomcat/servlets-default-1.0.jar
tools/lib/tomcat/servlets-invoker-1.0.jar
tools/lib/tomcat/tomcat-annotations-api-8.0.28.jar
tools/lib/tomcat/tomcat-coyote-1.0.jar
tools/lib/tomcat/tomcat-http11-1.0.jar
tools/lib/tomcat/tomcat-jk2-2.1.jar
tools/lib/tomcat/tomcat-servlet-api-8.0.28.jar
tools/lib/tomcat/tomcat-util-5.1.jar
tools/lib/tomcat/tomcat-websocket-api-8.0.28.jar
tools/lib/tonicsystems/jarjar-1.0rc8.jar
tools/lib/w3c/flute/flute-1.3-gg1.jar
tools/lib/w3c/flute/flute-1.3-gg2.jar
tools/lib/w3c/flute/flute-1.3.jar
tools/lib/w3c/sac/sac-1.3.jar
tools/lib/xalan/xalan-2.7.1.jar
tools/lib/xerces/xerces-2_11_0/serializer-2.7.1.jar
tools/lib/xerces/xerces-2_11_0/xercesImpl-2.11.0.jar
tools/lib/xerces/xerces-2_11_0/xml-apis-1.4.01.jar
tools/lib/xerces/xml-apis-2.0.2.jar


--
Ricardo
B
B
Björn Höfling wrote on 5 Jan 2021 20:34
Re: bug#45555: [wishlist] Packaging GWT
(name . Ricardo Wurmus)(address . rekado@elephly.net)(address . 45555@debbugs.gnu.org)
20210105203436.1418c7ee@alma-ubu.fritz.box
On Wed, 30 Dec 2020 17:22:53 +0100
Ricardo Wurmus <rekado@elephly.net> wrote:

Toggle quote (2 lines)
> Here’s the list:

[..]

Toggle quote (15 lines)
> tools/lib/tomcat/ant-launcher-1.7.1.jar
> tools/lib/tomcat/catalina-1.0.jar
> tools/lib/tomcat/catalina-optional-1.0.jar
> tools/lib/tomcat/commons-beanutils-1.6.jar
> tools/lib/tomcat/commons-collections-3.1.jar
> tools/lib/tomcat/commons-digester-1.5.jar
> tools/lib/tomcat/commons-el-1.0.jar
> tools/lib/tomcat/commons-logging-1.0.jar
> tools/lib/tomcat/commons-modeler-1.1.jar

> tools/lib/tomcat/servlet-api-2.4.jar
> tools/lib/tomcat/servlet-api-2.5.jar

> tools/lib/tomcat/tomcat-servlet-api-8.0.28.jar

It's of cause useful to look into the java-tomcat package, we have some
of these in the lib/ directory. Others are dependencies of Tomcat or
are directly built as its own packages from Apache Commons.

Maybe it's more work, but some dependencies could also be built with
the newly maven-build-system?

Björn
-----BEGIN PGP SIGNATURE-----

iF0EAREKAB0WIQQiGUP0np8nb5SZM4K/KGy2WT5f/QUCX/S/TQAKCRC/KGy2WT5f
/QmMAJ9sd13i35oEZiqdUA3OXdyHhwue+gCfXZN4Qk/vKLBFPzOIaUVvT8L+9wg=
=Ll7o
-----END PGP SIGNATURE-----


?