diff mbox series

[bug#35545,07/17] gnu: Add java-openjfx-build.

Message ID 20190503130134.24788-7-julien@lepiller.eu
State Accepted
Headers show
Series [bug#35545,01/17] gnu: Add java-signpost-core. | expand

Checks

Context Check Description
cbaines/applying patch success Successfully applied
cbaines/applying patch success Successfully applied
cbaines/applying patch success Successfully applied
cbaines/applying patch success Successfully applied
cbaines/applying patch success Successfully applied

Commit Message

Julien Lepiller May 3, 2019, 1:01 p.m. UTC
* gnu/packages/java.scm (java-openjfx-build): New variable.
---
 gnu/packages/java.scm | 41 +++++++++++++++++++++++++++++++++++++++++
 1 file changed, 41 insertions(+)

Comments

Nicolas Goaziou May 3, 2019, 3:14 p.m. UTC | #1
Hello,

Julien Lepiller <julien@lepiller.eu> writes:

Thank you!

> +(define-public java-openjfx-build
> +  (package
> +    (name "java-openjfx-build")
> +    ;; This is a java-8 version
> +    (version "8.202")
> +    (source (origin
> +              (method url-fetch)
> +              (uri (string-append "http://hg.openjdk.java.net/openjfx/8u-dev/rt"
> +                                  "/archive/85d09981ae0d.tar.gz"))
> +              (file-name (string-append name "-" version ".tar.gz"))
> +              (sha256
> +               (base32
> +                "038yg2c9swmckw5ch8cvzxf5hw0fdvxa3wljnw5yhbhqgvawpz3a"))))
> +    (build-system ant-build-system)
> +    (arguments
> +     `(#:jar-name "java-openjfx.jar"
> +       #:source-dir "buildSrc/src/main/java"
> +       #:test-dir "buildSrc/src/test"
> +       #:phases
> +       (modify-phases %standard-phases
> +         (add-before 'configure 'generate-jsl-parser
> +           (lambda _
> +             (invoke "antlr3" "-o"
> +                     "buildSrc/src/main/java/com/sun/scenario/effect/compiler"
> +                     "buildSrc/src/main/antlr/JSL.g"))))))
> +    (inputs
> +     `(("antlr3" ,antlr3)
> +       ("java-stringtemplate" ,java-stringtemplate)))
> +    (native-inputs
> +     `(("java-junit" ,java-junit)
> +       ("java-hamcrest-core" ,java-hamcrest-core)))
> +    (home-page "https://openjfx.io")
> +    (synopsis "Graphical application toolkit in Java")
> +    (description "OpenJFX is a free, next generation client application

"free" can be removed in Guix.  Also, "next generation" can be skipped:

  "OpenJFX is a client application platform..."

Ditto for other inherited packages.


Regards,
Ricardo Wurmus May 4, 2019, 11:48 a.m. UTC | #2
Julien Lepiller <julien@lepiller.eu> writes:

> * gnu/packages/java.scm (java-openjfx-build): New variable.
[…]
> +    ;; This is a java-8 version
> +    (version "8.202")

What does this imply?  Are there more recent versions?

> +    (source (origin
> +              (method url-fetch)
> +              (uri (string-append "http://hg.openjdk.java.net/openjfx/8u-dev/rt"
> +                                  "/archive/85d09981ae0d.tar.gz"))
> +              (file-name (string-append name "-" version ".tar.gz"))

I think it may be better to use hg-fetch here as this doesn’t look like
a stable tarball.

> +    (description "OpenJFX is a free, next generation client application
> +platform for desktop, mobile and embedded systems built on Java.  Its goal
> +is to produce a modern, efficient, and fully featured toolkit for developing
> +rich client applications.  This package contains base classes for the
> +OpenJFX distribution and helper classes for building other parts of the
> +distribution.")

I agree with what Nicolas wrote.

> +    (license license:gpl2)));with classpath exception

GPL2 only?  Please add a space before “;”.
Julien Lepiller May 4, 2019, 12:22 p.m. UTC | #3
Le Sat, 04 May 2019 13:48:57 +0200,
Ricardo Wurmus <rekado@elephly.net> a écrit :

> Julien Lepiller <julien@lepiller.eu> writes:
> 
> > * gnu/packages/java.scm (java-openjfx-build): New variable.  
> […]
> > +    ;; This is a java-8 version
> > +    (version "8.202")  
> 
> What does this imply?  Are there more recent versions?

This is the most recent version for the java 8 version, but there are
newer versions for newer compilers that are not compatible with java 8.

> 
> > +    (source (origin
> > +              (method url-fetch)
> > +              (uri (string-append
> > "http://hg.openjdk.java.net/openjfx/8u-dev/rt"
> > +                                  "/archive/85d09981ae0d.tar.gz"))
> > +              (file-name (string-append name "-" version
> > ".tar.gz"))  
> 
> I think it may be better to use hg-fetch here as this doesn’t look
> like a stable tarball.
> 
> > +    (description "OpenJFX is a free, next generation client
> > application +platform for desktop, mobile and embedded systems
> > built on Java.  Its goal +is to produce a modern, efficient, and
> > fully featured toolkit for developing +rich client applications.
> > This package contains base classes for the +OpenJFX distribution
> > and helper classes for building other parts of the
> > +distribution.")  
> 
> I agree with what Nicolas wrote.
> 
> > +    (license license:gpl2)));with classpath exception  
> 
> GPL2 only?  Please add a space before “;”.
>
Björn Höfling May 5, 2019, 10:05 p.m. UTC | #4
On Fri,  3 May 2019 15:01:24 +0200
Julien Lepiller <julien@lepiller.eu> wrote:


> +    (source (origin
> +              (method url-fetch)
> +              (uri (string-append
> "http://hg.openjdk.java.net/openjfx/8u-dev/rt"
> +                                  "/archive/85d09981ae0d.tar.gz"))

[.. ]
> +    (home-page "https://openjfx.io")

This is nit-picking:

As you are using an old version of OpenJFX, would it make more sense to
have the old homepage here:

https://wiki.openjdk.java.net/display/OpenJFX/Main

> +    (license license:gpl2)));with classpath exception

There are some files with BSD-2 and BSD-3 licenses, for example:

./apps/experiments/PtyConsole/src/ptyconsole/App.java: BSD 3-clause "New" or "Revised" License
./modules/web/src/main/native/Tools/DumpRenderTree/AccessibilityController.cpp: BSD 2-clause "Simplified" License


There is a gradle.jar in the sources:

./gradle/wrapper/gradle-wrapper.jar

Would you use a snipped to remove it?

Otherwise, LGTM.

Björn
diff mbox series

Patch

diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index b203856e2f..65d2baef21 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -2216,6 +2216,47 @@  new Date();"))
      `(("java-junit" ,java-junit)
        ,@(package-inputs ant/java8)))))
 
+(define-public java-openjfx-build
+  (package
+    (name "java-openjfx-build")
+    ;; This is a java-8 version
+    (version "8.202")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "http://hg.openjdk.java.net/openjfx/8u-dev/rt"
+                                  "/archive/85d09981ae0d.tar.gz"))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "038yg2c9swmckw5ch8cvzxf5hw0fdvxa3wljnw5yhbhqgvawpz3a"))))
+    (build-system ant-build-system)
+    (arguments
+     `(#:jar-name "java-openjfx.jar"
+       #:source-dir "buildSrc/src/main/java"
+       #:test-dir "buildSrc/src/test"
+       #:phases
+       (modify-phases %standard-phases
+         (add-before 'configure 'generate-jsl-parser
+           (lambda _
+             (invoke "antlr3" "-o"
+                     "buildSrc/src/main/java/com/sun/scenario/effect/compiler"
+                     "buildSrc/src/main/antlr/JSL.g"))))))
+    (inputs
+     `(("antlr3" ,antlr3)
+       ("java-stringtemplate" ,java-stringtemplate)))
+    (native-inputs
+     `(("java-junit" ,java-junit)
+       ("java-hamcrest-core" ,java-hamcrest-core)))
+    (home-page "https://openjfx.io")
+    (synopsis "Graphical application toolkit in Java")
+    (description "OpenJFX is a free, next generation client application
+platform for desktop, mobile and embedded systems built on Java.  Its goal
+is to produce a modern, efficient, and fully featured toolkit for developing
+rich client applications.  This package contains base classes for the
+OpenJFX distribution and helper classes for building other parts of the
+distribution.")
+    (license license:gpl2)));with classpath exception
+
 (define-public javacc-4
   (package
     (name "javacc")