unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
* [bug#35545] [PATCH] Add josm.
@ 2019-05-03 12:58 Julien Lepiller
  2019-05-03 13:01 ` [bug#35545] [PATCH 01/17] gnu: Add java-signpost-core Julien Lepiller
                   ` (2 more replies)
  0 siblings, 3 replies; 45+ messages in thread
From: Julien Lepiller @ 2019-05-03 12:58 UTC (permalink / raw)
  To: 35545

Hi guix!

this patch series adds josm, the Java OpenStreetMap editor, and its
dependencies.

^ permalink raw reply	[flat|nested] 45+ messages in thread

* [bug#35545] [PATCH 01/17] gnu: Add java-signpost-core.
  2019-05-03 12:58 [bug#35545] [PATCH] Add josm Julien Lepiller
@ 2019-05-03 13:01 ` Julien Lepiller
  2019-05-03 13:01   ` [bug#35545] [PATCH 02/17] gnu: Add java-jsonp-api Julien Lepiller
                     ` (16 more replies)
  2019-05-05 11:18 ` [bug#35545] [PATCH] Add josm Björn Höfling
  2019-11-13 21:52 ` bug#35545: " Julien Lepiller
  2 siblings, 17 replies; 45+ messages in thread
From: Julien Lepiller @ 2019-05-03 13:01 UTC (permalink / raw)
  To: 35545

* gnu/packages/web.scm (java-signpost-core): New variable.
---
 gnu/packages/web.scm | 30 ++++++++++++++++++++++++++++++
 1 file changed, 30 insertions(+)

diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm
index 7242ede3be..53763687b4 100644
--- a/gnu/packages/web.scm
+++ b/gnu/packages/web.scm
@@ -6207,6 +6207,36 @@ provides a very convenient API for extracting and manipulating data, using the
 best of DOM, CSS, and jQuery-like methods.")
     (license license:expat)))
 
+(define-public java-signpost-core
+  (package
+    (name "java-signpost-core")
+    (version "1.2.1.2")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                     (url "https://github.com/mttkay/signpost")
+                     (commit version)))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1l04yj2znch3hpyw90c4g4jan453w7d88l84bgl0c72i2kbb8z7h"))))
+    (build-system ant-build-system)
+    (arguments
+     `(#:jar-name "signpost-core.jar"
+       #:source-dir "signpost-core/src/main/java"
+       #:test-dir "signpost-core/src/test"
+       ;; Tests all fail with InstantiationException from mockito
+       #:tests? #f))
+    (propagated-inputs
+     `(("java-commons-codec" ,java-commons-codec)))
+    (home-page "https://github.com/mttkay/signpost")
+    (synopsis "Lightweight client-side OAuth library for Java")
+    (description "Signpost is the easy and intuitive solution for signing
+HTTP messages on the Java platform in conformance with the OAuth Core 1.0a
+standard.  Signpost follows a modular and flexible design, allowing you to
+combine it with different HTTP messaging layers.")
+    (license license:asl2.0)))
+
 (define-public tidyp
   (package
     (name "tidyp")
-- 
2.21.0

^ permalink raw reply related	[flat|nested] 45+ messages in thread

* [bug#35545] [PATCH 02/17] gnu: Add java-jsonp-api.
  2019-05-03 13:01 ` [bug#35545] [PATCH 01/17] gnu: Add java-signpost-core Julien Lepiller
@ 2019-05-03 13:01   ` Julien Lepiller
  2019-05-05 10:37     ` Björn Höfling
  2019-05-03 13:01   ` [bug#35545] [PATCH 03/17] gnu: Add java-jsonp-impl Julien Lepiller
                     ` (15 subsequent siblings)
  16 siblings, 1 reply; 45+ messages in thread
From: Julien Lepiller @ 2019-05-03 13:01 UTC (permalink / raw)
  To: 35545

* gnu/packages/java.scm (java-jsonp-api): New variable.
---
 gnu/packages/java.scm | 29 +++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)

diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index 9664d749fb..7fb619cc40 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -11054,3 +11054,32 @@ network protocols, and core version control algorithms.")
      `(("java-javaewah" ,java-javaewah)
        ("java-jsch" ,java-jsch)
        ("java-slf4j-api" ,java-slf4j-api)))))
+
+(define-public java-jsonp-api
+  (package
+    (name "java-jsonp-api")
+    (version "1.1.5")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                     (url "https://github.com/eclipse-ee4j/jsonp")
+                     (commit (string-append version "-RELEASE"))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0nxq16lrx7i87hgyj5rzcwilvr67h0i299gygfn8f5vs4n7n59vy"))))
+    (build-system ant-build-system)
+    (arguments
+     `(#:jar-name "jsonp-api.jar"
+       #:tests? #f
+       #:source-dir "api/src/main/java"
+       #:test-dir "api/src/test"))
+    (home-page "https://javaee.github.io/jsonp/")
+    (synopsis "JSON Processing in Java")
+    (description "JSON Processing (JSON-P) is a Java API to process (e.g.
+parse, generate, transform and query) JSON messages.  It produces and
+consumes JSON text in a streaming fashion (similar to StAX API for XML)
+and allows to build a Java object model for JSON text using API classes
+(similar to DOM API for XML).")
+    (license (list license:gpl2
+                   license:epl2.0))))
-- 
2.21.0

^ permalink raw reply related	[flat|nested] 45+ messages in thread

* [bug#35545] [PATCH 03/17] gnu: Add java-jsonp-impl.
  2019-05-03 13:01 ` [bug#35545] [PATCH 01/17] gnu: Add java-signpost-core Julien Lepiller
  2019-05-03 13:01   ` [bug#35545] [PATCH 02/17] gnu: Add java-jsonp-api Julien Lepiller
@ 2019-05-03 13:01   ` Julien Lepiller
  2019-05-03 13:01   ` [bug#35545] [PATCH 04/17] gnu: Add java-xmp Julien Lepiller
                     ` (14 subsequent siblings)
  16 siblings, 0 replies; 45+ messages in thread
From: Julien Lepiller @ 2019-05-03 13:01 UTC (permalink / raw)
  To: 35545

* gnu/packages/java.scm (java-jsonp-impl): New variable.
---
 gnu/packages/java.scm | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index 7fb619cc40..d0bbc4b682 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -11083,3 +11083,18 @@ and allows to build a Java object model for JSON text using API classes
 (similar to DOM API for XML).")
     (license (list license:gpl2
                    license:epl2.0))))
+
+(define-public java-jsonp-impl
+  (package
+    (inherit java-jsonp-api)
+    (name "java-jsonp-impl")
+    (arguments
+     `(#:jar-name "jsonp-impl.jar"
+       #:tests? #f
+       #:source-dir "impl/src/main/java"
+       #:test-dir "impl/src/test"))
+    (propagated-inputs
+     `(("java-jsonp-api" ,java-jsonp-api)))
+    (description "JSON Processing (JSON-P) is a Java API to process (e.g.
+parse, generate, transform and query) JSON messages.  This package contains
+a reference implementation of that API.")))
-- 
2.21.0

^ permalink raw reply related	[flat|nested] 45+ messages in thread

* [bug#35545] [PATCH 04/17] gnu: Add java-xmp.
  2019-05-03 13:01 ` [bug#35545] [PATCH 01/17] gnu: Add java-signpost-core Julien Lepiller
  2019-05-03 13:01   ` [bug#35545] [PATCH 02/17] gnu: Add java-jsonp-api Julien Lepiller
  2019-05-03 13:01   ` [bug#35545] [PATCH 03/17] gnu: Add java-jsonp-impl Julien Lepiller
@ 2019-05-03 13:01   ` Julien Lepiller
  2019-05-05 10:52     ` Björn Höfling
  2019-05-03 13:01   ` [bug#35545] [PATCH 05/17] gnu: Add java-metadata-extractor Julien Lepiller
                     ` (13 subsequent siblings)
  16 siblings, 1 reply; 45+ messages in thread
From: Julien Lepiller @ 2019-05-03 13:01 UTC (permalink / raw)
  To: 35545

* gnu/packages/java.scm (java-xmp): New variable.
---
 gnu/packages/java.scm | 39 +++++++++++++++++++++++++++++++++++++++
 1 file changed, 39 insertions(+)

diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index d0bbc4b682..ee54e936bc 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -11098,3 +11098,42 @@ and allows to build a Java object model for JSON text using API classes
     (description "JSON Processing (JSON-P) is a Java API to process (e.g.
 parse, generate, transform and query) JSON messages.  This package contains
 a reference implementation of that API.")))
+
+(define-public java-xmp
+  (package
+    (name "java-xmp")
+    (version "5.1.3")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "http://download.macromedia.com/pub/developer"
+                                  "/xmp/sdk/XMPCoreJava-" version ".zip"))
+              (sha256
+               (base32
+                "14nai2mmsg7l5ya2y5mx4w4lr1az3sk2fjz6hiy4zdrsavgvl1g7"))))
+    (build-system ant-build-system)
+    (arguments
+     `(#:build-target "build"
+       #:tests? #f; no tests
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'chdir
+           (lambda _
+             (chdir "XMPCore")
+             #t))
+         (replace 'install
+           (install-jars "."))
+         (add-after 'install 'install-doc
+           (lambda* (#:key outputs #:allow-other-keys)
+             (copy-recursively
+               "docs"
+               (string-append (assoc-ref outputs "out") "/share/doc/java-xmp"))
+             #t)))))
+    (native-inputs
+     `(("unzip" ,unzip)))
+    (home-page "https://www.adobe.com/devnet/xmp.html")
+    (synopsis "Extensible Metadat Platform (XMP) support in Java")
+    (description "Adobe's Extensible Metadata Platform (XMP) is a labeling
+technology that allows you to embed data about a file, known as metadata,
+into the file itself.  The XMP Toolkit for Java is based on the C++ XMPCore
+library and the API is similar.")
+    (license license:bsd-3)))
-- 
2.21.0

^ permalink raw reply related	[flat|nested] 45+ messages in thread

* [bug#35545] [PATCH 05/17] gnu: Add java-metadata-extractor.
  2019-05-03 13:01 ` [bug#35545] [PATCH 01/17] gnu: Add java-signpost-core Julien Lepiller
                     ` (2 preceding siblings ...)
  2019-05-03 13:01   ` [bug#35545] [PATCH 04/17] gnu: Add java-xmp Julien Lepiller
@ 2019-05-03 13:01   ` Julien Lepiller
  2019-05-05 11:07     ` Björn Höfling
  2019-05-03 13:01   ` [bug#35545] [PATCH 06/17] gnu: javacc: Install binaries Julien Lepiller
                     ` (12 subsequent siblings)
  16 siblings, 1 reply; 45+ messages in thread
From: Julien Lepiller @ 2019-05-03 13:01 UTC (permalink / raw)
  To: 35545

* gnu/packages/java.scm (java-metadata-extractor): New variable.
---
 gnu/packages/java.scm | 37 +++++++++++++++++++++++++++++++++++++
 1 file changed, 37 insertions(+)

diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index ee54e936bc..c17b8572ec 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -11137,3 +11137,40 @@ technology that allows you to embed data about a file, known as metadata,
 into the file itself.  The XMP Toolkit for Java is based on the C++ XMPCore
 library and the API is similar.")
     (license license:bsd-3)))
+
+(define-public java-metadata-extractor
+  (package
+    (name "java-metadata-extractor")
+    (version "2.11.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                     (url "https://github.com/drewnoakes/metadata-extractor")
+                     (commit version)))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "06yrq0swrl1r40yjbk5kqzjxr04jlkq9lfi711jvfgjf5kp2qinj"))))
+    (build-system ant-build-system)
+    (arguments
+     `(#:jar-name "metadata-extractor.jar"
+       #:source-dir "Source"
+       #:test-dir "Tests"
+       #:phases
+       (modify-phases %standard-phases
+         (add-before 'check 'fix-test-dir
+           (lambda _
+             (substitute* "build.xml"
+               (("/java\">") "\">"))
+             #t)))))
+    (propagated-inputs
+     `(("java-xmp" ,java-xmp)))
+    (native-inputs
+     `(("java-hamcrest-core" ,java-hamcrest-core)
+       ("java-junit" ,java-junit)))
+    (home-page "https://github.com/drewnoakes/metadata-extractor")
+    (synopsis "Extract metadata from image and video files")
+    (description "Metadata-extractor is a straightforward Java library for
+reading metadata from image files.  It is able to read metadata in Exif,
+IPTC, XMP, ICC and more formats.")
+    (license license:asl2.0)))
-- 
2.21.0

^ permalink raw reply related	[flat|nested] 45+ messages in thread

* [bug#35545] [PATCH 06/17] gnu: javacc: Install binaries.
  2019-05-03 13:01 ` [bug#35545] [PATCH 01/17] gnu: Add java-signpost-core Julien Lepiller
                     ` (3 preceding siblings ...)
  2019-05-03 13:01   ` [bug#35545] [PATCH 05/17] gnu: Add java-metadata-extractor Julien Lepiller
@ 2019-05-03 13:01   ` Julien Lepiller
  2019-05-04 11:52     ` Ricardo Wurmus
  2019-05-03 13:01   ` [bug#35545] [PATCH 07/17] gnu: Add java-openjfx-build Julien Lepiller
                     ` (11 subsequent siblings)
  16 siblings, 1 reply; 45+ messages in thread
From: Julien Lepiller @ 2019-05-03 13:01 UTC (permalink / raw)
  To: 35545

* gnu/packages/java.scm (javacc)[arguments]: Add install-bin phase.
---
 gnu/packages/java.scm | 20 +++++++++++++++++++-
 1 file changed, 19 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index c17b8572ec..b203856e2f 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -2290,7 +2290,25 @@ debugging, etc.")
        #:test-target "test"
        #:phases
        (modify-phases %standard-phases
-         (replace 'install (install-jars "target")))))
+         (replace 'install (install-jars "target"))
+         (add-after 'install 'install-bin
+           (lambda* (#:key outputs inputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out"))
+                    (dir (string-append out "/share/java"))
+                    (bin (string-append out "/bin")))
+               (mkdir-p bin)
+               (with-output-to-file (string-append bin "/javacc")
+                 (lambda _
+                   (display
+                     (string-append "#!/bin/sh\n"
+                                    (assoc-ref inputs "jdk") "/bin/java"
+                                    " -cp " dir "/javacc.jar" " `basename $0`" " $*"))))
+               (chmod (string-append bin "/javacc") #o755)
+               (symlink (string-append bin "/javacc")
+                        (string-append bin "/jjdoc"))
+               (symlink (string-append bin "/javacc")
+                        (string-append bin "/jjtree"))))))))
+
     (native-inputs
      `(("javacc" ,javacc-4)))))
 
-- 
2.21.0

^ permalink raw reply related	[flat|nested] 45+ messages in thread

* [bug#35545] [PATCH 07/17] gnu: Add java-openjfx-build.
  2019-05-03 13:01 ` [bug#35545] [PATCH 01/17] gnu: Add java-signpost-core Julien Lepiller
                     ` (4 preceding siblings ...)
  2019-05-03 13:01   ` [bug#35545] [PATCH 06/17] gnu: javacc: Install binaries Julien Lepiller
@ 2019-05-03 13:01   ` Julien Lepiller
  2019-05-03 15:14     ` Nicolas Goaziou
                       ` (2 more replies)
  2019-05-03 13:01   ` [bug#35545] [PATCH 08/17] gnu: Add java-openjfx-base Julien Lepiller
                     ` (10 subsequent siblings)
  16 siblings, 3 replies; 45+ messages in thread
From: Julien Lepiller @ 2019-05-03 13:01 UTC (permalink / raw)
  To: 35545

* gnu/packages/java.scm (java-openjfx-build): New variable.
---
 gnu/packages/java.scm | 41 +++++++++++++++++++++++++++++++++++++++++
 1 file changed, 41 insertions(+)

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")
-- 
2.21.0

^ permalink raw reply related	[flat|nested] 45+ messages in thread

* [bug#35545] [PATCH 08/17] gnu: Add java-openjfx-base.
  2019-05-03 13:01 ` [bug#35545] [PATCH 01/17] gnu: Add java-signpost-core Julien Lepiller
                     ` (5 preceding siblings ...)
  2019-05-03 13:01   ` [bug#35545] [PATCH 07/17] gnu: Add java-openjfx-build Julien Lepiller
@ 2019-05-03 13:01   ` Julien Lepiller
  2019-05-03 15:15     ` Nicolas Goaziou
  2019-05-04 11:46     ` Ricardo Wurmus
  2019-05-03 13:01   ` [bug#35545] [PATCH 09/17] gnu: Add java-openjfx-graphics Julien Lepiller
                     ` (9 subsequent siblings)
  16 siblings, 2 replies; 45+ messages in thread
From: Julien Lepiller @ 2019-05-03 13:01 UTC (permalink / raw)
  To: 35545

* gnu/packages/java.scm (java-openjfx-base): New variable.
---
 gnu/packages/java.scm | 31 +++++++++++++++++++++++++++++++
 1 file changed, 31 insertions(+)

diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index 65d2baef21..9d2019ddc5 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -2257,6 +2257,37 @@ OpenJFX distribution and helper classes for building other parts of the
 distribution.")
     (license license:gpl2)));with classpath exception
 
+(define-public java-openjfx-base
+  (package (inherit java-openjfx-build)
+    (name "java-openjfx-base")
+    (arguments
+     `(#:jar-name "java-openjfx-base.jar"
+       #:source-dir "modules/base/src/main/java:modules/base/src/main/java8:modules/base/src/main/version-info"
+       #:test-dir "modules/base/src/test"
+       #:phases
+       (modify-phases %standard-phases
+         (add-before 'check 'remove-empty-file
+           (lambda _
+             (with-directory-excursion "modules/base/src/test/java"
+               ;; These files are completely commented, but junit expects them to
+               ;; contain a class, so tests fail.
+               (delete-file
+                 "com/sun/javafx/property/adapter/PropertyDescriptorTest.java")
+               (delete-file
+                 "com/sun/javafx/property/adapter/ReadOnlyPropertyDescriptorTest.java")
+               (delete-file "javafx/beans/property/PropertiesTest.java")
+               (delete-file
+                 "javafx/beans/property/adapter/ReadOnlyJavaBeanPropertyBuilder_General_Test.java")
+               ;; This one fails
+               (delete-file "com/sun/javafx/runtime/VersionInfoTest.java")))))))
+    (propagated-inputs
+     `(("java-openjfx-build" ,java-openjfx-build)))
+    (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.")))
+
 (define-public javacc-4
   (package
     (name "javacc")
-- 
2.21.0

^ permalink raw reply related	[flat|nested] 45+ messages in thread

* [bug#35545] [PATCH 09/17] gnu: Add java-openjfx-graphics.
  2019-05-03 13:01 ` [bug#35545] [PATCH 01/17] gnu: Add java-signpost-core Julien Lepiller
                     ` (6 preceding siblings ...)
  2019-05-03 13:01   ` [bug#35545] [PATCH 08/17] gnu: Add java-openjfx-base Julien Lepiller
@ 2019-05-03 13:01   ` Julien Lepiller
  2019-05-03 13:01   ` [bug#35545] [PATCH 10/17] gnu: Add java-openjfx-media Julien Lepiller
                     ` (8 subsequent siblings)
  16 siblings, 0 replies; 45+ messages in thread
From: Julien Lepiller @ 2019-05-03 13:01 UTC (permalink / raw)
  To: 35545

* gnu/packages/java.scm (java-openjfx-graphics): New variable.
---
 gnu/packages/java.scm | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index 9d2019ddc5..2f9b0374f8 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -2288,6 +2288,23 @@ is to produce a modern, efficient, and fully featured toolkit for developing
 rich client applications.  This package contains base classes for the
 OpenJFX distribution.")))
 
+(define-public java-openjfx-graphics
+  (package (inherit java-openjfx-build)
+    (name "java-openjfx-graphics")
+    (arguments
+     `(#:jar-name "java-openjfx-graphics.jar"
+       #:source-dir "modules/graphics/src/main/java"
+       #:tests? #f; require X
+       #:test-dir "modules/graphics/src/test"))
+    (propagated-inputs
+     `(("java-openjfx-base" ,java-openjfx-base)
+       ("java-swt" ,java-swt)))
+    (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 graphics-related classes for
+the OpenJFX distribution.")))
+
 (define-public javacc-4
   (package
     (name "javacc")
-- 
2.21.0

^ permalink raw reply related	[flat|nested] 45+ messages in thread

* [bug#35545] [PATCH 10/17] gnu: Add java-openjfx-media.
  2019-05-03 13:01 ` [bug#35545] [PATCH 01/17] gnu: Add java-signpost-core Julien Lepiller
                     ` (7 preceding siblings ...)
  2019-05-03 13:01   ` [bug#35545] [PATCH 09/17] gnu: Add java-openjfx-graphics Julien Lepiller
@ 2019-05-03 13:01   ` Julien Lepiller
  2019-05-03 13:01   ` [bug#35545] [PATCH 11/17] gnu: Add java-jmapviewer Julien Lepiller
                     ` (7 subsequent siblings)
  16 siblings, 0 replies; 45+ messages in thread
From: Julien Lepiller @ 2019-05-03 13:01 UTC (permalink / raw)
  To: 35545

* gnu/packages/java.scm (java-openjfx-media): New variable.
---
 gnu/packages/java.scm | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index 2f9b0374f8..b9ac4459b0 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -2305,6 +2305,21 @@ is to produce a modern, efficient, and fully featured toolkit for developing
 rich client applications.  This package contains graphics-related classes for
 the OpenJFX distribution.")))
 
+(define-public java-openjfx-media
+  (package (inherit java-openjfx-build)
+    (name "java-openjfx-media")
+    (propagated-inputs
+     `(("java-openjxf-graphics" ,java-openjfx-graphics)))
+    (arguments
+     `(#:jar-name "java-openjfx-media.jar"
+       #:source-dir "modules/media/src/main/java"
+       #:tests? #f)); no tests
+    (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 media-related classes for
+the OpenJFX distribution.")))
+
 (define-public javacc-4
   (package
     (name "javacc")
-- 
2.21.0

^ permalink raw reply related	[flat|nested] 45+ messages in thread

* [bug#35545] [PATCH 11/17] gnu: Add java-jmapviewer.
  2019-05-03 13:01 ` [bug#35545] [PATCH 01/17] gnu: Add java-signpost-core Julien Lepiller
                     ` (8 preceding siblings ...)
  2019-05-03 13:01   ` [bug#35545] [PATCH 10/17] gnu: Add java-openjfx-media Julien Lepiller
@ 2019-05-03 13:01   ` Julien Lepiller
  2019-05-05 22:06     ` Björn Höfling
  2019-05-03 13:01   ` [bug#35545] [PATCH 12/17] gnu: Add java-svg-salamander Julien Lepiller
                     ` (6 subsequent siblings)
  16 siblings, 1 reply; 45+ messages in thread
From: Julien Lepiller @ 2019-05-03 13:01 UTC (permalink / raw)
  To: 35545

* gnu/packages/geo.scm (java-jmapviewer): New variable.
---
 gnu/packages/geo.scm | 36 ++++++++++++++++++++++++++++++++++++
 1 file changed, 36 insertions(+)

diff --git a/gnu/packages/geo.scm b/gnu/packages/geo.scm
index 0b95fbe613..de9e228a25 100644
--- a/gnu/packages/geo.scm
+++ b/gnu/packages/geo.scm
@@ -24,6 +24,7 @@
 ;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
 
 (define-module (gnu packages geo)
+  #:use-module (guix build-system ant)
   #:use-module (guix build-system cmake)
   #:use-module (guix build-system glib-or-gtk)
   #:use-module (guix build-system gnu)
@@ -851,3 +852,38 @@ map, geocoding with Nominatim, or general analysis.")
 the texture and density of features is visible at every zoom level, instead of
 dropping features at lower levels.")
     (license license:bsd-2)))
+
+(define-public java-jmapviewer
+  (package
+    (name "java-jmapviewer")
+    (version "2.9")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://svn.openstreetmap.org/applications/"
+                                  "viewer/jmapviewer/releases/" version
+                                  "/JMapViewer-" version "-Source.zip"))
+              (sha256
+               (base32
+                "06jilhvsx662raix58g8ccl56d1pmirwlys9px0mdg7j46wixk6l"))))
+    (build-system ant-build-system)
+    (native-inputs
+     `(("unzip" ,unzip)))
+    (arguments
+     `(#:build-target "pack"
+       #:tests? #f; No tests
+       #:phases
+       (modify-phases %standard-phases
+         (add-before 'build 'clean
+           (lambda* _
+             (invoke "ant" "clean")))
+         (replace 'install
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let ((dir (string-append (assoc-ref outputs "out") "/share/java/")))
+               (mkdir-p dir)
+               (copy-file "JMapViewer.jar" (string-append dir "JMapViewer.jar"))))))))
+    (home-page "https://wiki.openstreetmap.org/wiki/JMapViewer")
+    (synopsis "OSM map integration in Java")
+    (description "JMapViewer is a Java component which allows to easily
+integrate an OSM map view into your Java application.  It is maintained as
+an independent project by the JOSM team.")
+    (license license:gpl2)))
-- 
2.21.0

^ permalink raw reply related	[flat|nested] 45+ messages in thread

* [bug#35545] [PATCH 12/17] gnu: Add java-svg-salamander.
  2019-05-03 13:01 ` [bug#35545] [PATCH 01/17] gnu: Add java-signpost-core Julien Lepiller
                     ` (9 preceding siblings ...)
  2019-05-03 13:01   ` [bug#35545] [PATCH 11/17] gnu: Add java-jmapviewer Julien Lepiller
@ 2019-05-03 13:01   ` Julien Lepiller
  2019-05-05 22:07     ` Björn Höfling
  2019-05-03 13:01   ` [bug#35545] [PATCH 13/17] gnu: Add java-jboss-transaction-api-spec Julien Lepiller
                     ` (5 subsequent siblings)
  16 siblings, 1 reply; 45+ messages in thread
From: Julien Lepiller @ 2019-05-03 13:01 UTC (permalink / raw)
  To: 35545

* gnu/packages/java.scm (java-svg-salamander): New variable.
* gnu/packages/patches/java-svg-salamander-Fix-non-det.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
---
 gnu/local.mk                                  |  1 +
 gnu/packages/java.scm                         | 47 ++++++++++
 .../java-svg-salamander-Fix-non-det.patch     | 86 +++++++++++++++++++
 3 files changed, 134 insertions(+)
 create mode 100644 gnu/packages/patches/java-svg-salamander-Fix-non-det.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index a0f40d13ae..556f4a03f0 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -932,6 +932,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/java-jeromq-fix-tests.patch		\
   %D%/packages/patches/java-powermock-fix-java-files.patch		\
   %D%/packages/patches/java-simple-xml-fix-tests.patch		\
+  %D%/packages/patches/java-svg-salamander-Fix-non-det.patch	\
   %D%/packages/patches/java-xerces-bootclasspath.patch	\
   %D%/packages/patches/java-xerces-build_dont_unzip.patch	\
   %D%/packages/patches/java-xerces-xjavac_taskdef.patch	\
diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index b9ac4459b0..ede24d130c 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -11296,3 +11296,50 @@ library and the API is similar.")
 reading metadata from image files.  It is able to read metadata in Exif,
 IPTC, XMP, ICC and more formats.")
     (license license:asl2.0)))
+
+(define-public java-svg-salamander
+  (package
+    (name "java-svg-salamander")
+    (version "1.1.2")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                     (url "https://github.com/blackears/svgSalamander")
+                     (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1zv3kjdkf6iqf02x6ln76254y634j2ji448y706a65lsbfjmmicf"))
+              (modules '((guix build utils)))
+              (snippet
+                `(for-each delete-file (find-files "." ".*.jar")))
+              (patches
+                (search-patches "java-svg-salamander-Fix-non-det.patch"))))
+    (build-system ant-build-system)
+    (arguments
+     `(#:tests? #f; no tests
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'chdir
+           (lambda _
+             (chdir "svg-core")
+             #t))
+         (add-before 'build 'copy-jars
+           (lambda* (#:key inputs #:allow-other-keys)
+             (copy-file (car (find-files (assoc-ref inputs "javacc") "\\.jar$"))
+                        "../libraries/javacc.jar")
+             (copy-file (car (find-files (assoc-ref inputs "ant") "ant\\.jar$"))
+                        "../libraries/ant.jar")
+             #t))
+         (replace 'install
+           (install-jars "dist")))))
+    (native-inputs
+     `(("javacc" ,javacc)))
+    (home-page "https://github.com/blackears/svgSalamander")
+    (synopsis "SVG engine for Java")
+    (description "SVG Salamander is an SVG engine for Java that's designed
+to be small, fast, and allow programmers to use it with a minimum of fuss.
+It's in particular targeted for making it easy to integrate SVG into Java
+games and making it much easier for artists to design 2D game content - from
+rich interactive menus to charts and graphcs to complex animations.")
+    (license license:bsd-2)))
diff --git a/gnu/packages/patches/java-svg-salamander-Fix-non-det.patch b/gnu/packages/patches/java-svg-salamander-Fix-non-det.patch
new file mode 100644
index 0000000000..418fa0867f
--- /dev/null
+++ b/gnu/packages/patches/java-svg-salamander-Fix-non-det.patch
@@ -0,0 +1,86 @@
+From c812efa9fcbfb49a571cc73af83c8da5cb951bcf Mon Sep 17 00:00:00 2001
+From: Julien Lepiller <julien@lepiller.eu>
+Date: Thu, 2 May 2019 19:05:33 +0200
+Subject: [PATCH] Fix non determinism and installation
+
+---
+ svg-core/build.xml                | 22 ----------------------
+ svg-core/nbproject/build-impl.xml |  1 -
+ 2 files changed, 23 deletions(-)
+
+diff --git a/svg-core/build.xml b/svg-core/build.xml
+index cc72eb7..0f9c3e6 100755
+--- a/svg-core/build.xml
++++ b/svg-core/build.xml
+@@ -102,7 +102,6 @@
+         <jar destfile="${maven-javadoc-jar}" update="false">
+             <manifest>
+                 <attribute name="Version" value="${version}"/>
+-                <attribute name="Date" value="${TODAY}"/>
+             </manifest>
+ 
+             <fileset dir="dist/javadoc">
+@@ -112,7 +111,6 @@
+         <jar destfile="${maven-sources-jar}" update="false">
+             <manifest>
+                 <attribute name="Version" value="${version}"/>
+-                <attribute name="Date" value="${TODAY}"/>
+             </manifest>
+ 
+             <fileset dir="src/main/java">
+@@ -126,7 +124,6 @@
+             <manifest>
+                 <attribute name="Main-Class" value="com.kitfox.svg.app.SVGPlayer"/>
+                 <attribute name="Version" value="${version}"/>
+-                <attribute name="Date" value="${TODAY}"/>
+             </manifest>
+ 
+             <fileset dir="build/classes">
+@@ -203,7 +200,6 @@
+             <manifest>
+                 <attribute name="Main-Class" value="com.kitfox.svg.app.SVGPlayer"/>
+                 <attribute name="Version" value="${version}"/>
+-                <attribute name="Date" value="${TODAY}"/>
+             </manifest>
+ 
+             <fileset dir="build/classes">
+@@ -213,24 +209,6 @@
+             </fileset>
+         </jar>
+ 
+-        <delete file="${key.location}"/>
+-        <genkey alias="${key.user}" storepass="${key.password}" keystore="${key.location}" validity="1000" verbose="true">
+-            <dname>
+-                <param name="CN" value="Mark McKay, mark@kitfox.com"/>
+-                <param name="OU" value="kitfox.com"/>
+-                <param name="O"  value="kitfox"/>
+-                <param name="L"  value="Toronto"/>
+-                <param name="S"  value="Ontario"/>
+-                <param name="C"  value="CA"/>
+-            </dname>
+-        </genkey>
+-
+-        <copy file="${dist.jar}" toFile="${project.www.jar}"/>
+-        <signjar jar="${project.www.jar}"
+-                 alias="${key.user}"
+-                 storepass="${key.password}"
+-                 keystore="${key.location}"/>
+-
+         <delete file="${project.tiny.jar}"/>
+         <jar destfile="${project.tiny.jar}" update="true">
+             <manifest>
+diff --git a/svg-core/nbproject/build-impl.xml b/svg-core/nbproject/build-impl.xml
+index b448d8a..37725ad 100755
+--- a/svg-core/nbproject/build-impl.xml
++++ b/svg-core/nbproject/build-impl.xml
+@@ -1045,7 +1045,6 @@ is divided into following sections:
+         </manifest>
+     </target>
+     <target depends="init,-init-macrodef-copylibs,compile,-pre-pre-jar,-pre-jar,-do-jar-create-manifest,-do-jar-copy-manifest,-do-jar-set-mainclass,-do-jar-set-profile,-do-jar-set-splashscreen" if="do.mkdist" name="-do-jar-copylibs">
+-        <j2seproject3:copylibs manifest="${tmp.manifest.file}"/>
+         <echo level="info">To run this application from the command line without Ant, try:</echo>
+         <property location="${dist.jar}" name="dist.jar.resolved"/>
+         <echo level="info">java -jar "${dist.jar.resolved}"</echo>
+-- 
+2.21.0
+
-- 
2.21.0

^ permalink raw reply related	[flat|nested] 45+ messages in thread

* [bug#35545] [PATCH 13/17] gnu: Add java-jboss-transaction-api-spec.
  2019-05-03 13:01 ` [bug#35545] [PATCH 01/17] gnu: Add java-signpost-core Julien Lepiller
                     ` (10 preceding siblings ...)
  2019-05-03 13:01   ` [bug#35545] [PATCH 12/17] gnu: Add java-svg-salamander Julien Lepiller
@ 2019-05-03 13:01   ` Julien Lepiller
  2019-05-05 22:07     ` Björn Höfling
  2019-05-03 13:01   ` [bug#35545] [PATCH 14/17] gnu: Add java-commons-pool2 Julien Lepiller
                     ` (4 subsequent siblings)
  16 siblings, 1 reply; 45+ messages in thread
From: Julien Lepiller @ 2019-05-03 13:01 UTC (permalink / raw)
  To: 35545

* gnu/packages/java.scm (java-jboss-transaction-api-spec): New variable.
---
 gnu/packages/java.scm | 29 +++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)

diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index ede24d130c..3528d3449e 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -11343,3 +11343,32 @@ It's in particular targeted for making it easy to integrate SVG into Java
 games and making it much easier for artists to design 2D game content - from
 rich interactive menus to charts and graphcs to complex animations.")
     (license license:bsd-2)))
+
+(define-public java-jboss-transaction-api-spec
+  (package
+    (name "java-jboss-transaction-api-spec")
+    (version "1.2")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                     (url "https://github.com/jboss/jboss-transaction-api_spec")
+                     (commit "c20742e0a8f1e0447d72d42be981050f3857b3f1")))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1xbfq5hvb86izflydxrqqv3k26c1ba2m0ap6m97shqrsdi9by4wy"))))
+    (build-system ant-build-system)
+    (arguments
+     `(#:jar-name "java-jboss-transaction-api_spec.jar"
+       #:source-dir "src/main/java"
+       #:tests? #f)); no tests
+    (inputs
+     `(("java-cdi-api" ,java-cdi-api)
+       ("java-jboss-interceptors-api-spec" ,java-jboss-interceptors-api-spec)))
+    (home-page "https://github.com/jboss/jboss-transaction-api_spec")
+    (synopsis "Generic transaction management API in Java")
+    (description "Java-jboss-transaction-api-spec implements the Transactions
+API.  A transaction is a unit of work containing one or more operations
+involving one or more shared resources having ACID (Atomicity, Consistency,
+Isolation and Durability) properties.")
+    (license (list license:gpl2 license:cddl1.0)))); either gpl2 only or cddl.
-- 
2.21.0

^ permalink raw reply related	[flat|nested] 45+ messages in thread

* [bug#35545] [PATCH 14/17] gnu: Add java-commons-pool2.
  2019-05-03 13:01 ` [bug#35545] [PATCH 01/17] gnu: Add java-signpost-core Julien Lepiller
                     ` (11 preceding siblings ...)
  2019-05-03 13:01   ` [bug#35545] [PATCH 13/17] gnu: Add java-jboss-transaction-api-spec Julien Lepiller
@ 2019-05-03 13:01   ` Julien Lepiller
  2019-05-05 22:07     ` Björn Höfling
  2019-05-03 13:01   ` [bug#35545] [PATCH 15/17] gnu: Add java-commons-dbcp2 Julien Lepiller
                     ` (3 subsequent siblings)
  16 siblings, 1 reply; 45+ messages in thread
From: Julien Lepiller @ 2019-05-03 13:01 UTC (permalink / raw)
  To: 35545

* gnu/packages/java.scm (java-commons-pool2): New variable.
---
 gnu/packages/java.scm | 32 ++++++++++++++++++++++++++++++++
 1 file changed, 32 insertions(+)

diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index 3528d3449e..23e547bed4 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -4999,6 +4999,38 @@ expressions to graphs of objects of all kinds: JavaBeans, Maps, Servlet
 contexts, DOM etc, including mixtures thereof.")
     (license license:asl2.0)))
 
+(define-public java-commons-pool2
+  (package
+    (name "java-commons-pool2")
+    (version "2.6.2")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "mirror://apache/commons/pool/source/"
+                                  "commons-pool2-" version "-src.tar.gz"))
+              (sha256
+               (base32
+                "1fi1hgqmq01bs6azbj3sfswxzadp2r8sjjfiq6ryilz1m50kvrv6"))))
+    (arguments
+     `(#:jar-name "common-pool.jar"
+       #:source-dir "src/main/java"
+       #:test-exclude
+       (list "**/PerformanceTest.java")))
+    (build-system ant-build-system)
+    (inputs
+     `(("java-cglib" ,java-cglib)))
+    (native-inputs
+     `(("java-junit" ,java-junit)
+       ("java-hamcrest-core" ,java-hamcrest-core)
+       ("java-asm" ,java-asm)
+       ("java-objenesis" ,java-objenesis)))
+    (home-page "https://commons.apache.org/proper/commons-pool/")
+    (synopsis "Object-pooling API in Java")
+    (description "The commons-pool package provides an object-pooling API
+and a number of object pool implementations.  This package defines a
+handful of pooling interfaces and some base classes that may be useful when
+creating new pool implementations.")
+    (license license:asl2.0)))
+
 (define-public java-jsr250
   (package
     (name "java-jsr250")
-- 
2.21.0

^ permalink raw reply related	[flat|nested] 45+ messages in thread

* [bug#35545] [PATCH 15/17] gnu: Add java-commons-dbcp2.
  2019-05-03 13:01 ` [bug#35545] [PATCH 01/17] gnu: Add java-signpost-core Julien Lepiller
                     ` (12 preceding siblings ...)
  2019-05-03 13:01   ` [bug#35545] [PATCH 14/17] gnu: Add java-commons-pool2 Julien Lepiller
@ 2019-05-03 13:01   ` Julien Lepiller
  2019-05-03 13:01   ` [bug#35545] [PATCH 16/17] gnu: Add java-commons-jcs Julien Lepiller
                     ` (2 subsequent siblings)
  16 siblings, 0 replies; 45+ messages in thread
From: Julien Lepiller @ 2019-05-03 13:01 UTC (permalink / raw)
  To: 35545

* gnu/packages/java.scm (java-commons-dbcp2): New variable.
---
 gnu/packages/java.scm | 31 +++++++++++++++++++++++++++++++
 1 file changed, 31 insertions(+)

diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index 23e547bed4..8f8809c467 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -5031,6 +5031,37 @@ handful of pooling interfaces and some base classes that may be useful when
 creating new pool implementations.")
     (license license:asl2.0)))
 
+(define-public java-commons-dbcp2
+  (package
+    (name "java-commons-dbcp2")
+    (version "2.6.0")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "mirror://apache/commons/dbcp/source/"
+                                  "commons-dbcp2-" version "-src.tar.gz"))
+              (sha256
+               (base32
+                "0axbvcbnf2l70fc3ybrlp3siw2w4ka9mia2pnx4py8gz54cpw3rc"))))
+    (arguments
+     `(#:source-dir "src/main/java"
+       #:jar-name "java-commons-dbcp.jar"
+       #:tests? #f)); requires apache-geronimo
+    (inputs
+     `(("java-commons-pool2" ,java-commons-pool2)
+       ("java-commons-logging" ,java-commons-logging-minimal)
+       ("java-jboss-transaction-api-spec" ,java-jboss-transaction-api-spec)))
+    (native-inputs
+     `(("java-junit" ,java-junit)))
+    (build-system ant-build-system)
+    (home-page "https://commons.apache.org/proper/commons-dbcp/")
+    (synopsis "Database Connection Pool for Java")
+    (description "Commons-dbcp allows you to share a pool of database
+connections between users.  Creating a new connection for each user can be
+time consuming and even unfeasible when the number of simultaneous users is
+very large.  This package provides a way to share a poole of connections to
+reduce that load.")
+    (license license:asl2.0)))
+
 (define-public java-jsr250
   (package
     (name "java-jsr250")
-- 
2.21.0

^ permalink raw reply related	[flat|nested] 45+ messages in thread

* [bug#35545] [PATCH 16/17] gnu: Add java-commons-jcs.
  2019-05-03 13:01 ` [bug#35545] [PATCH 01/17] gnu: Add java-signpost-core Julien Lepiller
                     ` (13 preceding siblings ...)
  2019-05-03 13:01   ` [bug#35545] [PATCH 15/17] gnu: Add java-commons-dbcp2 Julien Lepiller
@ 2019-05-03 13:01   ` Julien Lepiller
  2019-05-03 13:01   ` [bug#35545] [PATCH 17/17] gnu: Add josm Julien Lepiller
  2019-05-05 10:07   ` [bug#35545] [PATCH 01/17] gnu: Add java-signpost-core Björn Höfling
  16 siblings, 0 replies; 45+ messages in thread
From: Julien Lepiller @ 2019-05-03 13:01 UTC (permalink / raw)
  To: 35545

* gnu/packages/java.scm (java-commons-jcs): New variable.
---
 gnu/packages/java.scm | 46 +++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 46 insertions(+)

diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index 8f8809c467..1ddcd4a814 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -5062,6 +5062,52 @@ very large.  This package provides a way to share a poole of connections to
 reduce that load.")
     (license license:asl2.0)))
 
+(define-public java-commons-jcs
+  (package
+    (name "java-commons-jcs")
+    (version "2.2.1")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "mirror://apache/commons/jcs/source/"
+                                  "commons-jcs-dist-" version "-src.tar.gz"))
+              (sha256
+               (base32
+                "0syhq2npjbrl0azqfjm0gvash1qd5qjy4qmysxcrqjsk0nf9fa1q"))))
+    (build-system ant-build-system)
+    (arguments
+     `(#:jar-name "commons-jcs.jar"
+       #:source-dir "commons-jcs-core/src/main/java"
+       #:test-dir "commons-jcs-core/src/test"
+       #:tests? #f; requires hsqldb
+       #:phases
+       (modify-phases %standard-phases
+         (add-before 'build 'prepare
+           (lambda _
+             (with-directory-excursion
+               "commons-jcs-core/src/main/java/org/apache/commons/jcs"
+               (substitute*
+                 "auxiliary/disk/jdbc/dsfactory/SharedPoolDataSourceFactory.java"
+                 (("commons.dbcp") "commons.dbcp2")
+                 ((".*\\.setMaxActive.*") ""))
+               ;;; Remove dependency on velocity-tools
+               (delete-file "admin/servlet/JCSAdminServlet.java"))
+             #t)))))
+    (propagated-inputs
+     `(("java-classpathx-servletapi" ,java-classpathx-servletapi)
+       ("java-commons-logging-minimal" ,java-commons-logging-minimal)
+       ("java-commons-httpclient" ,java-commons-httpclient)
+       ("java-commons-dbcp" ,java-commons-dbcp2)))
+    (native-inputs
+     `(("java-junit" ,java-junit)))
+    (home-page "https://commons.apache.org/proper/commons-jcs/")
+    (synopsis "Distributed caching system in Java")
+    (description "JCS is a distributed caching system written in Java.  It
+is intended to speed up applications by providing a means to manage cached
+data of various dynamic natures.  Like any caching system, JCS is most useful
+for high read, low put applications.  Latency times drop sharply and
+bottlenecks move away from the database in an effectively cached system.")
+    (license license:asl2.0)))
+
 (define-public java-jsr250
   (package
     (name "java-jsr250")
-- 
2.21.0

^ permalink raw reply related	[flat|nested] 45+ messages in thread

* [bug#35545] [PATCH 17/17] gnu: Add josm.
  2019-05-03 13:01 ` [bug#35545] [PATCH 01/17] gnu: Add java-signpost-core Julien Lepiller
                     ` (14 preceding siblings ...)
  2019-05-03 13:01   ` [bug#35545] [PATCH 16/17] gnu: Add java-commons-jcs Julien Lepiller
@ 2019-05-03 13:01   ` Julien Lepiller
  2019-05-05 22:22     ` Björn Höfling
  2019-05-05 10:07   ` [bug#35545] [PATCH 01/17] gnu: Add java-signpost-core Björn Höfling
  16 siblings, 1 reply; 45+ messages in thread
From: Julien Lepiller @ 2019-05-03 13:01 UTC (permalink / raw)
  To: 35545

* gnu/packages/geo.scm (josm): New variable.
---
 gnu/packages/geo.scm | 134 +++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 134 insertions(+)

diff --git a/gnu/packages/geo.scm b/gnu/packages/geo.scm
index de9e228a25..06fd6c2822 100644
--- a/gnu/packages/geo.scm
+++ b/gnu/packages/geo.scm
@@ -49,6 +49,7 @@
   #:use-module (gnu packages gtk)
   #:use-module (gnu packages image)
   #:use-module (gnu packages icu4c)
+  #:use-module (gnu packages java)
   #:use-module (gnu packages lua)
   #:use-module (gnu packages pcre)
   #:use-module (gnu packages perl)
@@ -887,3 +888,136 @@ dropping features at lower levels.")
 integrate an OSM map view into your Java application.  It is maintained as
 an independent project by the JOSM team.")
     (license license:gpl2)))
+
+(define-public josm
+  (package
+    (name "josm")
+    (version "15031")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                     (url "https://github.com/openstreetmap/josm.git")
+                     (commit "04d4c64b1b5698c0f9af40938f32194bc25bf75f")))
+              (sha256
+               (base32
+                "0dgxa0yqh2sxl6nvpzw9507y5rdfxvmy54bhk2gfk1hxh3hvgmxh"))
+              (file-name (git-file-name name version))
+              (modules '((guix build utils)))
+              (snippet
+                `(begin
+                   (for-each delete-file (find-files "." ".*.jar"))
+                   (for-each delete-file-recursively
+                     '("src/org/apache"
+                       "src/org/glassfish"
+                       "src/org/tukaani"
+                       "src/javax"
+                       "src/oauth"
+                       "src/com"))
+                   #t))))
+    (build-system ant-build-system)
+    (native-inputs
+     `(("javacc" ,javacc)))
+    (inputs
+     `(("java-commons-jcs" ,java-commons-jcs)
+       ("java-commons-compress" ,java-commons-compress)
+       ("java-jmapviewer" ,java-jmapviewer)
+       ("java-jsonp-api" ,java-jsonp-api)
+       ("java-jsonp-impl" ,java-jsonp-impl); runtime dependency
+       ("java-metadata-extractor" ,java-metadata-extractor)
+       ("java-openjfx-media" ,java-openjfx-media)
+       ("java-signpost-core" ,java-signpost-core)
+       ("java-svg-salamander" ,java-svg-salamander)))
+    (arguments
+     `(#:tests? #f
+       #:jar-name "josm.jar"
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'rm-build.xml
+           (lambda* _
+             (delete-file "build.xml")
+             #t))
+         (add-before 'build 'fix-revision
+           (lambda* _
+             (with-output-to-file "REVISION.XML"
+               (lambda _
+                 (display
+                   (string-append "<info><entry><commit revision=\"" ,version "\">"
+                                  "<date>1970-01-01 00:00:00 +0000</date>"
+                                  "</commit></entry></info>"))))
+             #t))
+         (add-before 'build 'generate-parser
+           (lambda* _
+             (let* ((dir "src/org/openstreetmap/josm/gui/mappaint/mapcss")
+                    (out (string-append dir "/parsergen"))
+                    (file (string-append dir "/MapCSSParser.jj")))
+               (mkdir-p "src/org/openstreetmap/josm/gui/mappaint/mapcss/parsergen")
+               (invoke "javacc" "-DEBUG_PARSER=false"
+                       "-DEBUG_TOKEN_MANAGER=false" "-JDK_VERSION=1.8"
+                       "-GRAMMAR_ENCODING=UTF-8"
+                       (string-append "-OUTPUT_DIRECTORY=" out)
+                       file))
+             #t))
+         (add-after 'build 'generate-epsg
+           (lambda _
+             (system* "javac" "scripts/BuildProjectionDefinitions.java"
+                      "-cp" "build/classes")
+             (mkdir-p "data/projection")
+             (with-output-to-file "data/projection/custom-epsg"
+               (lambda _ (display "")))
+             (invoke "java" "-cp" "build/classes:scripts:."
+                     "BuildProjectionDefinitions" ".")
+             #t))
+         (add-after 'generate-epsg 'copy-data
+           (lambda _
+             (mkdir-p "build/classes")
+             (rename-file "data" "build/classes/data")
+             #t))
+         (add-before 'install 'regenerate-jar
+           (lambda _
+             ;; We need to regenerate the jar file to add data.
+             (delete-file "build/jar/josm.jar")
+             (invoke "jar" "-cf" "build/jar/josm.jar" "-C"
+                     "build/classes" ".")
+             #t))
+         (add-before 'build 'copy-styles
+           (lambda _
+             (mkdir-p "build/classes")
+             (rename-file "styles" "build/classes/styles")
+             #t))
+         (add-before 'build 'copy-images
+           (lambda _
+             (mkdir-p "build/classes")
+             (rename-file "images" "build/classes/images")
+             #t))
+         (add-before 'build 'copy-revision
+           (lambda _
+             (mkdir-p "build/classes")
+             (with-output-to-file "build/classes/REVISION"
+               (lambda _
+                 (display
+                   (string-append "Revision: " ,version "\n"
+                                  "Is-Local-Build: true\n"
+                                  "Build-Date: 1970-01-01 00:00:00 +0000\n"))))
+             #t))
+         (add-after 'install 'install-bin
+           (lambda* (#:key outputs inputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out"))
+                    (bin (string-append out "/bin")))
+               (mkdir-p bin)
+               (with-output-to-file (string-append bin "/josm")
+                 (lambda _
+                   (display
+                     (string-append "#!/bin/sh\n"
+                                    (assoc-ref inputs "jdk") "/bin/java"
+                                    " -cp " out "/share/java/josm.jar:"
+                                    (getenv "CLASSPATH")
+                                    " org.openstreetmap.josm.gui.MainApplication"))))
+               (chmod (string-append bin "/josm") #o755))
+             #t)))))
+    (home-page "https://josm.openstreetmap.de")
+    (synopsis "OSM editor")
+    (description "JOSM is an extensible editor for OpenStreetMap (OSM).  It
+supports loading GPX tracks, background imagery and OSM data from local
+sources as well as from online sources and allows to edit the OSM data (nodes,
+ways, and relations) and their metadata tags.")
+    (license license:gpl2+)))
-- 
2.21.0

^ permalink raw reply related	[flat|nested] 45+ messages in thread

* [bug#35545] [PATCH 07/17] gnu: Add java-openjfx-build.
  2019-05-03 13:01   ` [bug#35545] [PATCH 07/17] gnu: Add java-openjfx-build Julien Lepiller
@ 2019-05-03 15:14     ` Nicolas Goaziou
  2019-05-04 11:48     ` Ricardo Wurmus
  2019-05-05 22:05     ` Björn Höfling
  2 siblings, 0 replies; 45+ messages in thread
From: Nicolas Goaziou @ 2019-05-03 15:14 UTC (permalink / raw)
  To: Julien Lepiller; +Cc: 35545

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,

-- 
Nicolas Goaziou

^ permalink raw reply	[flat|nested] 45+ messages in thread

* [bug#35545] [PATCH 08/17] gnu: Add java-openjfx-base.
  2019-05-03 13:01   ` [bug#35545] [PATCH 08/17] gnu: Add java-openjfx-base Julien Lepiller
@ 2019-05-03 15:15     ` Nicolas Goaziou
  2019-05-04 11:38       ` Julien Lepiller
  2019-05-04 11:46     ` Ricardo Wurmus
  1 sibling, 1 reply; 45+ messages in thread
From: Nicolas Goaziou @ 2019-05-03 15:15 UTC (permalink / raw)
  To: Julien Lepiller; +Cc: 35545

Hello,

Julien Lepiller <julien@lepiller.eu> writes:

> +         (add-before 'check 'remove-empty-file
> +           (lambda _
> +             (with-directory-excursion "modules/base/src/test/java"
> +               ;; These files are completely commented, but junit expects them to
> +               ;; contain a class, so tests fail.
> +               (delete-file
> +                 "com/sun/javafx/property/adapter/PropertyDescriptorTest.java")
> +               (delete-file
> +                 "com/sun/javafx/property/adapter/ReadOnlyPropertyDescriptorTest.java")
> +               (delete-file "javafx/beans/property/PropertiesTest.java")
> +               (delete-file
> +                 "javafx/beans/property/adapter/ReadOnlyJavaBeanPropertyBuilder_General_Test.java")
> +               ;; This one fails
> +               (delete-file "com/sun/javafx/runtime/VersionInfoTest.java")))))))

This phase doesn't end with #t.

Regards,

-- 
Nicolas Goaziou

^ permalink raw reply	[flat|nested] 45+ messages in thread

* [bug#35545] [PATCH 08/17] gnu: Add java-openjfx-base.
  2019-05-03 15:15     ` Nicolas Goaziou
@ 2019-05-04 11:38       ` Julien Lepiller
  2019-05-04 21:03         ` Nicolas Goaziou
  0 siblings, 1 reply; 45+ messages in thread
From: Julien Lepiller @ 2019-05-04 11:38 UTC (permalink / raw)
  To: Nicolas Goaziou; +Cc: 35545

Le Fri, 03 May 2019 17:15:05 +0200,
Nicolas Goaziou <mail@nicolasgoaziou.fr> a écrit :

> Hello,
> 
> Julien Lepiller <julien@lepiller.eu> writes:
> 
> > +         (add-before 'check 'remove-empty-file
> > +           (lambda _
> > +             (with-directory-excursion "modules/base/src/test/java"
> > +               ;; These files are completely commented, but junit
> > expects them to
> > +               ;; contain a class, so tests fail.
> > +               (delete-file
> > +
> > "com/sun/javafx/property/adapter/PropertyDescriptorTest.java")
> > +               (delete-file
> > +
> > "com/sun/javafx/property/adapter/ReadOnlyPropertyDescriptorTest.java")
> > +               (delete-file
> > "javafx/beans/property/PropertiesTest.java")
> > +               (delete-file
> > +
> > "javafx/beans/property/adapter/ReadOnlyJavaBeanPropertyBuilder_General_Test.java")
> > +               ;; This one fails
> > +               (delete-file
> > "com/sun/javafx/runtime/VersionInfoTest.java")))))))  
> 
> This phase doesn't end with #t.
> 
> Regards,
> 

Thanks! I fixed that and your comment on patch 07. Is there anything
more? Do you need more time for a complete review or have you reviewed
everything already?

^ permalink raw reply	[flat|nested] 45+ messages in thread

* [bug#35545] [PATCH 08/17] gnu: Add java-openjfx-base.
  2019-05-03 13:01   ` [bug#35545] [PATCH 08/17] gnu: Add java-openjfx-base Julien Lepiller
  2019-05-03 15:15     ` Nicolas Goaziou
@ 2019-05-04 11:46     ` Ricardo Wurmus
  1 sibling, 0 replies; 45+ messages in thread
From: Ricardo Wurmus @ 2019-05-04 11:46 UTC (permalink / raw)
  To: Julien Lepiller; +Cc: 35545


Julien Lepiller <julien@lepiller.eu> writes:

> * gnu/packages/java.scm (java-openjfx-base): New variable.
[…]
> +       #:source-dir "modules/base/src/main/java:modules/base/src/main/java8:modules/base/src/main/version-info"

This line is very long.  Could you use (string-join …) on a list of
directories instead?

> +       #:test-dir "modules/base/src/test"
> +       #:phases
> +       (modify-phases %standard-phases
> +         (add-before 'check 'remove-empty-file

“files”, because it’s more than one?

> +    (description "OpenJFX is a free, next generation client application

Please remove “free” and “next generation”.

-- 
Ricardo

^ permalink raw reply	[flat|nested] 45+ messages in thread

* [bug#35545] [PATCH 07/17] gnu: Add java-openjfx-build.
  2019-05-03 13:01   ` [bug#35545] [PATCH 07/17] gnu: Add java-openjfx-build Julien Lepiller
  2019-05-03 15:14     ` Nicolas Goaziou
@ 2019-05-04 11:48     ` Ricardo Wurmus
  2019-05-04 12:22       ` Julien Lepiller
  2019-05-05 22:05     ` Björn Höfling
  2 siblings, 1 reply; 45+ messages in thread
From: Ricardo Wurmus @ 2019-05-04 11:48 UTC (permalink / raw)
  To: Julien Lepiller; +Cc: 35545


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 “;”.

-- 
Ricardo

^ permalink raw reply	[flat|nested] 45+ messages in thread

* [bug#35545] [PATCH 06/17] gnu: javacc: Install binaries.
  2019-05-03 13:01   ` [bug#35545] [PATCH 06/17] gnu: javacc: Install binaries Julien Lepiller
@ 2019-05-04 11:52     ` Ricardo Wurmus
  2019-05-04 12:14       ` Julien Lepiller
  0 siblings, 1 reply; 45+ messages in thread
From: Ricardo Wurmus @ 2019-05-04 11:52 UTC (permalink / raw)
  To: Julien Lepiller; +Cc: 35545


Julien Lepiller <julien@lepiller.eu> writes:

> * gnu/packages/java.scm (javacc)[arguments]: Add install-bin phase.
[…]
> +         (add-after 'install 'install-bin
> +           (lambda* (#:key outputs inputs #:allow-other-keys)
> +             (let* ((out (assoc-ref outputs "out"))
> +                    (dir (string-append out "/share/java"))
> +                    (bin (string-append out "/bin")))
> +               (mkdir-p bin)
> +               (with-output-to-file (string-append bin "/javacc")
> +                 (lambda _
> +                   (display
> +                     (string-append "#!/bin/sh\n"
> +                                    (assoc-ref inputs "jdk") "/bin/java"
> +                                    " -cp " dir "/javacc.jar" " `basename $0`" " $*"))))

I think it’s better not to use basename here.  We already know the store
location.

> +               (chmod (string-append bin "/javacc") #o755)
> +               (symlink (string-append bin "/javacc")
> +                        (string-append bin "/jjdoc"))
> +               (symlink (string-append bin "/javacc")
> +                        (string-append bin "/jjtree"))))))))

Why symlink javacc with different names?

Since you’re reusing the javacc file name so often it makes sense to
let-bind it.

Please end the build phase on #T.

--
Ricardo

^ permalink raw reply	[flat|nested] 45+ messages in thread

* [bug#35545] [PATCH 06/17] gnu: javacc: Install binaries.
  2019-05-04 11:52     ` Ricardo Wurmus
@ 2019-05-04 12:14       ` Julien Lepiller
  2019-05-04 17:08         ` Ricardo Wurmus
  0 siblings, 1 reply; 45+ messages in thread
From: Julien Lepiller @ 2019-05-04 12:14 UTC (permalink / raw)
  To: Ricardo Wurmus; +Cc: 35545

Le Sat, 04 May 2019 13:52:11 +0200,
Ricardo Wurmus <rekado@elephly.net> a écrit :

> Julien Lepiller <julien@lepiller.eu> writes:
> 
> > * gnu/packages/java.scm (javacc)[arguments]: Add install-bin
> > phase.  
> […]
> > +         (add-after 'install 'install-bin
> > +           (lambda* (#:key outputs inputs #:allow-other-keys)
> > +             (let* ((out (assoc-ref outputs "out"))
> > +                    (dir (string-append out "/share/java"))
> > +                    (bin (string-append out "/bin")))
> > +               (mkdir-p bin)
> > +               (with-output-to-file (string-append bin "/javacc")
> > +                 (lambda _
> > +                   (display
> > +                     (string-append "#!/bin/sh\n"
> > +                                    (assoc-ref inputs "jdk")
> > "/bin/java"
> > +                                    " -cp " dir "/javacc.jar" "
> > `basename $0`" " $*"))))  
> 
> I think it’s better not to use basename here.  We already know the
> store location.

basename gets the filename, not directory name of the command that was
invoked.

> 
> > +               (chmod (string-append bin "/javacc") #o755)
> > +               (symlink (string-append bin "/javacc")
> > +                        (string-append bin "/jjdoc"))
> > +               (symlink (string-append bin "/javacc")
> > +                        (string-append bin "/jjtree"))))))))  
> 
> Why symlink javacc with different names?

the name of the binary is passed as a first argument to javacc.jar, so
their behavior is different.

> 
> Since you’re reusing the javacc file name so often it makes sense to
> let-bind it.
> 
> Please end the build phase on #T.
> 
> --
> Ricardo
> 

^ permalink raw reply	[flat|nested] 45+ messages in thread

* [bug#35545] [PATCH 07/17] gnu: Add java-openjfx-build.
  2019-05-04 11:48     ` Ricardo Wurmus
@ 2019-05-04 12:22       ` Julien Lepiller
  0 siblings, 0 replies; 45+ messages in thread
From: Julien Lepiller @ 2019-05-04 12:22 UTC (permalink / raw)
  To: Ricardo Wurmus; +Cc: 35545

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 “;”.
> 

^ permalink raw reply	[flat|nested] 45+ messages in thread

* [bug#35545] [PATCH 06/17] gnu: javacc: Install binaries.
  2019-05-04 12:14       ` Julien Lepiller
@ 2019-05-04 17:08         ` Ricardo Wurmus
  0 siblings, 0 replies; 45+ messages in thread
From: Ricardo Wurmus @ 2019-05-04 17:08 UTC (permalink / raw)
  To: Julien Lepiller; +Cc: 35545


Julien Lepiller <julien@lepiller.eu> writes:

> Le Sat, 04 May 2019 13:52:11 +0200,
> Ricardo Wurmus <rekado@elephly.net> a écrit :
>
>> Julien Lepiller <julien@lepiller.eu> writes:
>>
>> > * gnu/packages/java.scm (javacc)[arguments]: Add install-bin
>> > phase.
>> […]
>> > +         (add-after 'install 'install-bin
>> > +           (lambda* (#:key outputs inputs #:allow-other-keys)
>> > +             (let* ((out (assoc-ref outputs "out"))
>> > +                    (dir (string-append out "/share/java"))
>> > +                    (bin (string-append out "/bin")))
>> > +               (mkdir-p bin)
>> > +               (with-output-to-file (string-append bin "/javacc")
>> > +                 (lambda _
>> > +                   (display
>> > +                     (string-append "#!/bin/sh\n"
>> > +                                    (assoc-ref inputs "jdk")
>> > "/bin/java"
>> > +                                    " -cp " dir "/javacc.jar" "
>> > `basename $0`" " $*"))))
>>
>> I think it’s better not to use basename here.  We already know the
>> store location.
>
> basename gets the filename, not directory name of the command that was
> invoked.

Ah, right.  So this is related to the symlinking further down, got it.

>> > +               (chmod (string-append bin "/javacc") #o755)
>> > +               (symlink (string-append bin "/javacc")
>> > +                        (string-append bin "/jjdoc"))
>> > +               (symlink (string-append bin "/javacc")
>> > +                        (string-append bin "/jjtree"))))))))
>>
>> Why symlink javacc with different names?
>
> the name of the binary is passed as a first argument to javacc.jar, so
> their behavior is different.

Could you please add this as a comment?

--
Ricardo

^ permalink raw reply	[flat|nested] 45+ messages in thread

* [bug#35545] [PATCH 08/17] gnu: Add java-openjfx-base.
  2019-05-04 11:38       ` Julien Lepiller
@ 2019-05-04 21:03         ` Nicolas Goaziou
  0 siblings, 0 replies; 45+ messages in thread
From: Nicolas Goaziou @ 2019-05-04 21:03 UTC (permalink / raw)
  To: Julien Lepiller; +Cc: 35545

Hello,

Julien Lepiller <julien@lepiller.eu> writes:

> Thanks! I fixed that and your comment on patch 07. Is there anything
> more? Do you need more time for a complete review or have you reviewed
> everything already?

I read your patches in order to learn a bit more about the Ant build
system, which I never used before. I didn't find any obvious typo in the
rest of the patches, but I cannot comment on the build part.

Regards,

-- 
Nicolas Goaziou

^ permalink raw reply	[flat|nested] 45+ messages in thread

* [bug#35545] [PATCH 01/17] gnu: Add java-signpost-core.
  2019-05-03 13:01 ` [bug#35545] [PATCH 01/17] gnu: Add java-signpost-core Julien Lepiller
                     ` (15 preceding siblings ...)
  2019-05-03 13:01   ` [bug#35545] [PATCH 17/17] gnu: Add josm Julien Lepiller
@ 2019-05-05 10:07   ` Björn Höfling
  16 siblings, 0 replies; 45+ messages in thread
From: Björn Höfling @ 2019-05-05 10:07 UTC (permalink / raw)
  To: Julien Lepiller; +Cc: 35545

[-- Attachment #1: Type: text/plain, Size: 339 bytes --]

On Fri,  3 May 2019 15:01:18 +0200
Julien Lepiller <julien@lepiller.eu> wrote:

> * gnu/packages/web.scm (java-signpost-core): New variable.
> ---
>  gnu/packages/web.scm | 30 ++++++++++++++++++++++++++++++
>  1 file changed, 30 insertions(+)
> 

Don't forget to add "2019" to the copyright header.

Otherwise, LGTM.

Björn

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 195 bytes --]

^ permalink raw reply	[flat|nested] 45+ messages in thread

* [bug#35545] [PATCH 02/17] gnu: Add java-jsonp-api.
  2019-05-03 13:01   ` [bug#35545] [PATCH 02/17] gnu: Add java-jsonp-api Julien Lepiller
@ 2019-05-05 10:37     ` Björn Höfling
  0 siblings, 0 replies; 45+ messages in thread
From: Björn Höfling @ 2019-05-05 10:37 UTC (permalink / raw)
  To: Julien Lepiller; +Cc: 35545

[-- Attachment #1: Type: text/plain, Size: 821 bytes --]

On Fri,  3 May 2019 15:01:19 +0200
Julien Lepiller <julien@lepiller.eu> wrote:

> * gnu/packages/java.scm (java-jsonp-api): New variable.

> +(define-public java-jsonp-api
> +  (package
> +    (name "java-jsonp-api")
> +    (version "1.1.5")


> +    (home-page "https://javaee.github.io/jsonp/")

New Homepage since Eclipse took over JEE es here:

https://eclipse-ee4j.github.io/jsonp/


> +    (license (list license:gpl2
> +                   license:epl2.0))))

Could you clarify that it is EPL _or_ GPL, and that it is GPL+classpath
exception? Would it make sense to have its own entry in the license
module for GPL+classpath-exception in general? Though when searching
through the GNU licenses pages I havn't found a special entry for that.

Otherwise, LGTM.

Thanks,

Björn





[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 195 bytes --]

^ permalink raw reply	[flat|nested] 45+ messages in thread

* [bug#35545] [PATCH 04/17] gnu: Add java-xmp.
  2019-05-03 13:01   ` [bug#35545] [PATCH 04/17] gnu: Add java-xmp Julien Lepiller
@ 2019-05-05 10:52     ` Björn Höfling
  0 siblings, 0 replies; 45+ messages in thread
From: Björn Höfling @ 2019-05-05 10:52 UTC (permalink / raw)
  To: Julien Lepiller; +Cc: 35545

[-- Attachment #1: Type: text/plain, Size: 4380 bytes --]

On Fri,  3 May 2019 15:01:21 +0200
Julien Lepiller <julien@lepiller.eu> wrote:

> * gnu/packages/java.scm (java-xmp): New variable.
> ---
>  gnu/packages/java.scm | 39 +++++++++++++++++++++++++++++++++++++++
>  1 file changed, 39 insertions(+)
> 
> diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
> index d0bbc4b682..ee54e936bc 100644
> --- a/gnu/packages/java.scm
> +++ b/gnu/packages/java.scm
> @@ -11098,3 +11098,42 @@ and allows to build a Java object model for
> JSON text using API classes (description "JSON Processing (JSON-P) is
> a Java API to process (e.g. parse, generate, transform and query)
> JSON messages.  This package contains a reference implementation of
> that API."))) +
> +(define-public java-xmp
> +  (package
> +    (name "java-xmp")
> +    (version "5.1.3")
> +    (source (origin
> +              (method url-fetch)
> +              (uri (string-append
> "http://download.macromedia.com/pub/developer"
> +                                  "/xmp/sdk/XMPCoreJava-" version
> ".zip"))
> +              (sha256
> +               (base32
> +
> "14nai2mmsg7l5ya2y5mx4w4lr1az3sk2fjz6hiy4zdrsavgvl1g7"))))
> +    (build-system ant-build-system)
> +    (arguments
> +     `(#:build-target "build"
> +       #:tests? #f; no tests
> +       #:phases
> +       (modify-phases %standard-phases
> +         (add-after 'unpack 'chdir
> +           (lambda _
> +             (chdir "XMPCore")
> +             #t))
> +         (replace 'install
> +           (install-jars "."))
> +         (add-after 'install 'install-doc
> +           (lambda* (#:key outputs #:allow-other-keys)
> +             (copy-recursively
> +               "docs"
> +               (string-append (assoc-ref outputs "out")
> "/share/doc/java-xmp"))
> +             #t)))))
> +    (native-inputs
> +     `(("unzip" ,unzip)))
> +    (home-page "https://www.adobe.com/devnet/xmp.html")
> +    (synopsis "Extensible Metadat Platform (XMP) support in Java")
> +    (description "Adobe's Extensible Metadata Platform (XMP) is a
> labeling +technology that allows you to embed data about a file,
> known as metadata, +into the file itself.  The XMP Toolkit for Java
> is based on the C++ XMPCore +library and the API is similar.")
> +    (license license:bsd-3)))




This is NOT reproducible:

│ ├── java
│ │ ├── xmpcore.jar
│ │ │ ├── zipinfo -v {}
│ │ │ │ @@ -82,15 +82,15 @@
│ │ │ │    version of encoding software:                   3.0
│ │ │ │    minimum file system compatibility required:     MS-DOS, OS/2 or NT FAT
│ │ │ │    minimum software version required to extract:   1.0
│ │ │ │    compression method:                             none (stored)
│ │ │ │    file security status:                           not encrypted
│ │ │ │    extended local header:                          no
│ │ │ │    file last modified on (DOS date/time):          1980 Jan 1 00:00:00
│ │ │ │ -  32-bit CRC value (hex):                         e6bc1834
│ │ │ │ +  32-bit CRC value (hex):                         1e47a4b8
│ │ │ │    compressed size:                                436 bytes
│ │ │ │    uncompressed size:                              436 bytes
│ │ │ │    length of filename:                             20 characters
│ │ │ │    length of extra field:                          0 bytes
│ │ │ │    length of file comment:                         0 characters
│ │ │ │    disk number on which file begins:               disk 1
│ │ │ │    apparent file type:                             binary
│ │ │ ├── META-INF/MANIFEST.MF
│ │ │ │ @@ -5,10 +5,10 @@
│ │ │ │  Implementation-Vendor: Copyright 2006-2009 Adobe Systems Incorporated.
│ │ │ │    All rights reserved
│ │ │ │  Implementation-Major: 5
│ │ │ │  Implementation-Minor: 1
│ │ │ │  Implementation-Micro: 3
│ │ │ │  Implementation-Debug: false
│ │ │ │  Implementation-EngBuild: 003
│ │ │ │ -BuildDate: 2019 May 05 10:43:42-GMT
│ │ │ │ +BuildDate: 2019 May 05 10:43:37-GMT
│ │ │ │  AdobeIP: <AdobeIP#0000856>


Could you have a look at it?

Otherwise, LGTM.

Björn


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 195 bytes --]

^ permalink raw reply	[flat|nested] 45+ messages in thread

* [bug#35545] [PATCH 05/17] gnu: Add java-metadata-extractor.
  2019-05-03 13:01   ` [bug#35545] [PATCH 05/17] gnu: Add java-metadata-extractor Julien Lepiller
@ 2019-05-05 11:07     ` Björn Höfling
  0 siblings, 0 replies; 45+ messages in thread
From: Björn Höfling @ 2019-05-05 11:07 UTC (permalink / raw)
  To: Julien Lepiller; +Cc: 35545

[-- Attachment #1: Type: text/plain, Size: 170 bytes --]

On Fri,  3 May 2019 15:01:22 +0200
Julien Lepiller <julien@lepiller.eu> wrote:

> * gnu/packages/java.scm (java-metadata-extractor): New variable.

LGTM.

Björn

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 195 bytes --]

^ permalink raw reply	[flat|nested] 45+ messages in thread

* [bug#35545] [PATCH] Add josm.
  2019-05-03 12:58 [bug#35545] [PATCH] Add josm Julien Lepiller
  2019-05-03 13:01 ` [bug#35545] [PATCH 01/17] gnu: Add java-signpost-core Julien Lepiller
@ 2019-05-05 11:18 ` Björn Höfling
  2019-05-05 11:37   ` Julien Lepiller
  2019-11-13 21:52 ` bug#35545: " Julien Lepiller
  2 siblings, 1 reply; 45+ messages in thread
From: Björn Höfling @ 2019-05-05 11:18 UTC (permalink / raw)
  To: Julien Lepiller; +Cc: 35545

[-- Attachment #1: Type: text/plain, Size: 631 bytes --]

On Fri, 3 May 2019 14:58:36 +0200
Julien Lepiller <julien@lepiller.eu> wrote:

> Hi guix!
> 
> this patch series adds josm, the Java OpenStreetMap editor, and its
> dependencies.

Hi Julien!

This is great news to have a package for josm available! Thanks.

I reviewed 1-5 until now and would need about a week to review the
rest, if noone else gives an OK earlier.

I know JOSM has plugins. Do you know anything about the licenses of
these plugins? Should we/do we need to compile all of them from
sources? Can we stick with the default Plugin-Repository? I'm thinking
about FSDG-compatibility.

Björn




[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 195 bytes --]

^ permalink raw reply	[flat|nested] 45+ messages in thread

* [bug#35545] [PATCH] Add josm.
  2019-05-05 11:18 ` [bug#35545] [PATCH] Add josm Björn Höfling
@ 2019-05-05 11:37   ` Julien Lepiller
  2019-05-05 22:53     ` Björn Höfling
  0 siblings, 1 reply; 45+ messages in thread
From: Julien Lepiller @ 2019-05-05 11:37 UTC (permalink / raw)
  To: Björn Höfling; +Cc: 35545

Le Sun, 5 May 2019 13:18:38 +0200,
Björn Höfling <bjoern.hoefling@bjoernhoefling.de> a écrit :

> On Fri, 3 May 2019 14:58:36 +0200
> Julien Lepiller <julien@lepiller.eu> wrote:
> 
> > Hi guix!
> > 
> > this patch series adds josm, the Java OpenStreetMap editor, and its
> > dependencies.  
> 
> Hi Julien!
> 
> This is great news to have a package for josm available! Thanks.
> 
> I reviewed 1-5 until now and would need about a week to review the
> rest, if noone else gives an OK earlier.
> 
> I know JOSM has plugins. Do you know anything about the licenses of
> these plugins? Should we/do we need to compile all of them from
> sources? Can we stick with the default Plugin-Repository? I'm thinking
> about FSDG-compatibility.
> 
> Björn
> 
> 
> 

That's a very good question! It doesn't look like they commit to only
free software. In fact here is what I found on the website:

Note for plugin developers: If you wrote a plugin and want JOSM to find
it, it should be enough to add the plugin to the ​OpenStreetMap
Subversion Repository (SVN) and it will automatically appear on this
page. If you cannot put your plugin into SVN then edit this page and
insert a link to your plugin jar file into the page; after a few
minutes your plugin will be downloaded and the MANIFEST file will be
used to extract information for the table below. 

I don't know if that implies being listed at that page only or also in
the plugin manager. I don't use plugins, so I didn't notice, but
attempting to use one failed anyway:

2019-05-05 11:30:47.967 GRAVE:
org.openstreetmap.josm.plugins.PluginException: Une erreur est survenue
dans le greffon buildings_tools. Cause :
java.lang.ClassNotFoundException:
org.openstreetmap.josm.plugins.buildings_tools.BuildingsToolsPlugin
org.openstreetmap.josm.plugins.PluginException: Une erreur est survenue
dans le greffon buildings_tools

I don't know how to load plugins outside of the plugin manager. Ideas?

^ permalink raw reply	[flat|nested] 45+ messages in thread

* [bug#35545] [PATCH 07/17] gnu: Add java-openjfx-build.
  2019-05-03 13:01   ` [bug#35545] [PATCH 07/17] gnu: Add java-openjfx-build Julien Lepiller
  2019-05-03 15:14     ` Nicolas Goaziou
  2019-05-04 11:48     ` Ricardo Wurmus
@ 2019-05-05 22:05     ` Björn Höfling
  2 siblings, 0 replies; 45+ messages in thread
From: Björn Höfling @ 2019-05-05 22:05 UTC (permalink / raw)
  To: Julien Lepiller; +Cc: 35545

[-- Attachment #1: Type: text/plain, Size: 1031 bytes --]

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

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 195 bytes --]

^ permalink raw reply	[flat|nested] 45+ messages in thread

* [bug#35545] [PATCH 11/17] gnu: Add java-jmapviewer.
  2019-05-03 13:01   ` [bug#35545] [PATCH 11/17] gnu: Add java-jmapviewer Julien Lepiller
@ 2019-05-05 22:06     ` Björn Höfling
  0 siblings, 0 replies; 45+ messages in thread
From: Björn Höfling @ 2019-05-05 22:06 UTC (permalink / raw)
  To: Julien Lepiller; +Cc: 35545

[-- Attachment #1: Type: text/plain, Size: 216 bytes --]

On Fri,  3 May 2019 15:01:28 +0200
Julien Lepiller <julien@lepiller.eu> wrote:

> * gnu/packages/geo.scm (java-jmapviewer): New variable.

Add a "2019" to your copyright header.

Otherwise, LGTM.

Björn


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 195 bytes --]

^ permalink raw reply	[flat|nested] 45+ messages in thread

* [bug#35545] [PATCH 12/17] gnu: Add java-svg-salamander.
  2019-05-03 13:01   ` [bug#35545] [PATCH 12/17] gnu: Add java-svg-salamander Julien Lepiller
@ 2019-05-05 22:07     ` Björn Höfling
  0 siblings, 0 replies; 45+ messages in thread
From: Björn Höfling @ 2019-05-05 22:07 UTC (permalink / raw)
  To: Julien Lepiller; +Cc: 35545

[-- Attachment #1: Type: text/plain, Size: 2656 bytes --]

On Fri,  3 May 2019 15:01:29 +0200
Julien Lepiller <julien@lepiller.eu> wrote:

> * gnu/packages/java.scm (java-svg-salamander): New variable.
> * gnu/packages/patches/java-svg-salamander-Fix-non-det.patch: New
> file.
> * gnu/local.mk (dist_patch_DATA): Add it.
> ---

> +(define-public java-svg-salamander

> +              (modules '((guix build utils)))
> +              (snippet
> +                `(for-each delete-file (find-files "." ".*.jar")))

--> Snippet should return #t.

> +              (patches
> +                (search-patches
> "java-svg-salamander-Fix-non-det.patch"))))

The patch does not apply:

./pre-inst-env guix build -S java-svg-salamander

`File svg-core/build.xml is read-only; trying to patch anyway
patching file svg-core/build.xml
Hunk #1 FAILED at 102 (different line endings).
Hunk #2 FAILED at 112 (different line endings).
Hunk #3 FAILED at 126 (different line endings).
Hunk #4 FAILED at 203 (different line endings).
Hunk #5 FAILED at 213 (different line endings).
5 out of 5 hunks FAILED -- saving rejects to file svg-core/build.xml.rej
File svg-core/nbproject/build-impl.xml is read-only; trying to patch anyway
patching file svg-core/nbproject/build-impl.xml
Hunk #1 FAILED at 1045 (different line endings).
1 out of 1 hunk FAILED -- saving rejects to file svg-core/nbproject/build-impl.xml.rej
source is under 'java-svg-salamander-1.1.2-checkout'
applying '/gnu/store/k2ab07wis5rs3qhm2yj2n4n9pqddvdvy-java-svg-salamander-Fix-non-det.patch'...
Backtrace:
           3 (primitive-load "/gnu/store/l2wzcavh9338x55rzxwlg5qbbl0?")
In ice-9/eval.scm:
    619:8  2 (_ #(#<directory (guile-user) 5ce140> "java-svg-salam?"))
In srfi/srfi-1.scm:
    640:9  1 (for-each #<procedure apply-patch (a)> ("/gnu/store/k2?"))
In guix/build/utils.scm:
    616:6  0 (invoke _ . _)

guix/build/utils.scm:616:6: In procedure invoke:
Throw to key `srfi-34' with args `(#<condition &invoke-error [program: "/gnu/store/a4rxl40jr7gmq8bp3dryq4yq67cwkwiw-patch-2.7.6/bin/patch" arguments>

Problem is that the build.xml is in CRLF, your patch is in LF
line-endings.

To apply, I converted the patch with unix2dos and then added these
flags to the origin:

              (patch-flags '("-p1"  "--binary"))

Not sure why it didn't break for you?

> +    (license license:bsd-2)))

License is either bsd-2 or LGPL (see README.md). Hm, though on the
Github homepage there is no mentioning of LGPL. The link from the
README is this one:

https://svgsalamander.java.net/license/license-lgpl.txt

But it only redirects to the Github page. What does that mean now?


Björn

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 195 bytes --]

^ permalink raw reply	[flat|nested] 45+ messages in thread

* [bug#35545] [PATCH 13/17] gnu: Add java-jboss-transaction-api-spec.
  2019-05-03 13:01   ` [bug#35545] [PATCH 13/17] gnu: Add java-jboss-transaction-api-spec Julien Lepiller
@ 2019-05-05 22:07     ` Björn Höfling
  0 siblings, 0 replies; 45+ messages in thread
From: Björn Höfling @ 2019-05-05 22:07 UTC (permalink / raw)
  To: Julien Lepiller; +Cc: 35545

[-- Attachment #1: Type: text/plain, Size: 1161 bytes --]

On Fri,  3 May 2019 15:01:30 +0200
Julien Lepiller <julien@lepiller.eu> wrote:

> * gnu/packages/java.scm (java-jboss-transaction-api-spec): New
> variable. ---

> +(define-public java-jboss-transaction-api-spec
> +  (package
> +    (name "java-jboss-transaction-api-spec")
> +    (version "1.2")
> +    (source (origin
> +              (method git-fetch)
> +              (uri (git-reference
> +                     (url
> "https://github.com/jboss/jboss-transaction-api_spec")
> +                     (commit
> "c20742e0a8f1e0447d72d42be981050f3857b3f1")))
> +              (file-name (git-file-name name version))

I think it would be better to reference this commit via the tag:

jboss-transaction-api_1.2_spec-1.1.1.Final

Concerning the version, the pom.xml has:

   <groupId>org.jboss.spec.javax.transaction</groupId>
   <artifactId>jboss-transaction-api_1.2_spec</artifactId>
   <version>1.1.1.Final</version>

Wouldn't it be better to use the full version (API-version+package-version) as in the pom? 


> +    (license (list license:gpl2 license:cddl1.0)))); either gpl2
> only or cddl.

gpl2+classpath

Björn


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 195 bytes --]

^ permalink raw reply	[flat|nested] 45+ messages in thread

* [bug#35545] [PATCH 14/17] gnu: Add java-commons-pool2.
  2019-05-03 13:01   ` [bug#35545] [PATCH 14/17] gnu: Add java-commons-pool2 Julien Lepiller
@ 2019-05-05 22:07     ` Björn Höfling
  0 siblings, 0 replies; 45+ messages in thread
From: Björn Höfling @ 2019-05-05 22:07 UTC (permalink / raw)
  To: Julien Lepiller; +Cc: 35545

[-- Attachment #1: Type: text/plain, Size: 501 bytes --]

On Fri,  3 May 2019 15:01:31 +0200
Julien Lepiller <julien@lepiller.eu> wrote:

> * gnu/packages/java.scm (java-commons-pool2): New variable.

> +(define-public java-commons-pool2
> +  (package
> +    (name "java-commons-pool2")

There is only version 2 in Guix and the Package Name on the homepage
is "Apache Commons Pool". Thus, I would suggest to remove the "2"
from package-name and variable-name.

The same comment can be said about java-commons-dbcp.

Otherwise, LGTM.

Björn

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 195 bytes --]

^ permalink raw reply	[flat|nested] 45+ messages in thread

* [bug#35545] [PATCH 17/17] gnu: Add josm.
  2019-05-03 13:01   ` [bug#35545] [PATCH 17/17] gnu: Add josm Julien Lepiller
@ 2019-05-05 22:22     ` Björn Höfling
  0 siblings, 0 replies; 45+ messages in thread
From: Björn Höfling @ 2019-05-05 22:22 UTC (permalink / raw)
  To: Julien Lepiller; +Cc: 35545

[-- Attachment #1: Type: text/plain, Size: 7346 bytes --]

On Fri,  3 May 2019 15:01:34 +0200
Julien Lepiller <julien@lepiller.eu> wrote:

> * gnu/packages/geo.scm (josm): New variable.
> ---
>  gnu/packages/geo.scm | 134

> +(define-public josm
> +  (package
> +    (name "josm")
> +    (version "15031")
> +    (source (origin
> +              (method git-fetch)
> +              (uri (git-reference
> +                     (url
> "https://github.com/openstreetmap/josm.git")
> +                     (commit
> "04d4c64b1b5698c0f9af40938f32194bc25bf75f")))

Checking out josm from git took at least 15 minutes, with the following
message:


building /gnu/store/4k4p9gm7jcrga0y1bk5rnq7025691kij-josm-15031-checkout.drv...
environment variable `PATH' set to `/gnu/store/q09sy224qnxrp982z4xfaxi19721mjx8-gzip-1.9/bin:/gnu/store/ipx79bfj2mrc8npj7s3qi3zri11jfhaw-tar-1.30/bi>
Initialized empty Git repository in /gnu/store/irx9c08wfp9g48ilrlj8z2xndl3z45l4-josm-15031-checkout/.git/
error: Server does not allow request for unadvertised object 04d4c64b1b5698c0f9af40938f32194bc25bf75f
Failed to do a shallow fetch; retrying a full fetch...
From https://github.com/openstreetmap/josm
 * [new branch]      master     -> origin/master
 * [new branch]      mirror     -> origin/mirror
Note: checking out '04d4c64b1b5698c0f9af40938f32194bc25bf75f'.


Have you tried out the original svn-checkout? Would that be faster? At
least it would better reflect the version, as this is the SVN commit id.

[..]

> +         (add-after 'install 'install-bin
> +           (lambda* (#:key outputs inputs #:allow-other-keys)
> +             (let* ((out (assoc-ref outputs "out"))
> +                    (bin (string-append out "/bin")))
> +               (mkdir-p bin)
> +               (with-output-to-file (string-append bin "/josm")
> +                 (lambda _
> +                   (display
> +                     (string-append "#!/bin/sh\n"
> +                                    (assoc-ref inputs "jdk")
> "/bin/java"

I wonder where "jdk" comes in. I suppose it is some implicit (native?)
input from the ant-build-system. When I do a "guix gc --reference" I
see that it is referenced. Thus, it wouldn't be garbage-collected away
at least.

But wouldn't it be better to have the java-runtime (java:out) as an
explicit input and use that? Then it is first explicit and second would
use less space for people who do not need the full JDK. Though
sometimes programs NEED parts of the JDK, not only from the runtime. I
wonder if josm needs a JDK (usually these programs are more
server-oriented).


> +    (license license:gpl2+)))

I found some files under LGPL (though not mentioned in the
REAMDE/LICENSE file :-)), like:

 ./src/org/openstreetmap/josm/gui/widgets/MultiSplitLayout.java

Looks like they are from Swing, I wonder if they are in any way
modified from the original ones.

While running the application:

I see a lot of NPEs on the console complaining about icons, though when
I run it, it looks good. I don't miss anything compared to my
downloaded josm-latest.jar.

When looking into the installed josm.jar, I find these:
24452 Tue Jan 01 00:00:00 CET 1980 images/presets/shop/kiosk.svg

But still having this error on the console:

2019-05-05 21:34:04.152 WARNING: Could not load SVG jar:file:/gnu/store/msbv0zpiwdjax2dwa3s9ml3idpc86bxp-josm-15031/share/java/josm.jar!/images/presets/shop/kiosk.svg
java.lang.NullPointerException
	at com.kitfox.svg.Tspan.appendToShape(Tspan.java:281)
	at com.kitfox.svg.Text.buildText(Text.java:362)
	at com.kitfox.svg.Text.build(Text.java:266)
	at com.kitfox.svg.Text.updateTime(Text.java:610)
	at com.kitfox.svg.Group.updateTime(Group.java:313)
	at com.kitfox.svg.Group.updateTime(Group.java:313)
	at com.kitfox.svg.SVGRoot.updateTime(SVGRoot.java:403)
	at com.kitfox.svg.SVGDiagram.updateTime(SVGDiagram.java:243)
	at com.kitfox.svg.SVGUniverse.loadSVG(SVGUniverse.java:616)
	at com.kitfox.svg.SVGUniverse.loadSVG(SVGUniverse.java:468)
	at com.kitfox.svg.SVGUniverse.loadSVG(SVGUniverse.java:445)
	at org.openstreetmap.josm.tools.ImageProvider.getIfAvailableLocalURL(Unknown Source)
	at org.openstreetmap.josm.tools.ImageProvider.getIfAvailableImpl(Unknown Source)
	at org.openstreetmap.josm.tools.ImageProvider.getResource(Unknown Source)
	at org.openstreetmap.josm.tools.ImageProvider.getResourceAsync(Unknown Source)
	at org.openstreetmap.josm.gui.tagging.presets.TaggingPreset.setIcon(Unknown Source)
	at sun.reflect.GeneratedMethodAccessor6.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.openstreetmap.josm.tools.XmlObjectParser$Parser.setValue(Unknown Source)
	at org.openstreetmap.josm.tools.XmlObjectParser$Parser.startElement(Unknown Source)
	at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startElement(AbstractSAXParser.java:509)
	at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement(XMLNSDocumentScannerImpl.java:374)
	at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2784)
	at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:602)
	at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:112)
	at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:505)
	at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:842)
	at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:771)
	at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141)
	at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1213)
	at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:643)
	at org.openstreetmap.josm.tools.XmlObjectParser.start(Unknown Source)
	at org.openstreetmap.josm.tools.XmlObjectParser.start(Unknown Source)
	at org.openstreetmap.josm.gui.tagging.presets.TaggingPresetReader.readAll(Unknown Source)
	at org.openstreetmap.josm.gui.tagging.presets.TaggingPresetReader.readAll(Unknown Source)
	at org.openstreetmap.josm.gui.tagging.presets.TaggingPresetReader.readAll(Unknown Source)
	at org.openstreetmap.josm.gui.tagging.presets.TaggingPresetReader.readFromPreferences(Unknown Source)
	at org.openstreetmap.josm.gui.tagging.presets.TaggingPresets.readFromPreferences(Unknown Source)
	at org.openstreetmap.josm.gui.tagging.presets.TaggingPresets.initialize(Unknown Source)
	at org.openstreetmap.josm.spi.lifecycle.InitializationTask.call(Unknown Source)
	at org.openstreetmap.josm.spi.lifecycle.InitializationTask.call(Unknown Source)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)


Plugins: I will continue the discussions where I started.

Thanks again for getting that into Guix!

Björn

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 195 bytes --]

^ permalink raw reply	[flat|nested] 45+ messages in thread

* [bug#35545] [PATCH] Add josm.
  2019-05-05 11:37   ` Julien Lepiller
@ 2019-05-05 22:53     ` Björn Höfling
  2019-06-18 12:29       ` Julien Lepiller
  0 siblings, 1 reply; 45+ messages in thread
From: Björn Höfling @ 2019-05-05 22:53 UTC (permalink / raw)
  To: Julien Lepiller; +Cc: 35545

[-- Attachment #1: Type: text/plain, Size: 2008 bytes --]

On Sun, 5 May 2019 13:37:09 +0200
Julien Lepiller <julien@lepiller.eu> wrote:

> > I know JOSM has plugins. Do you know anything about the licenses of
> > these plugins? Should we/do we need to compile all of them from
> > sources? Can we stick with the default Plugin-Repository? I'm
> > thinking about FSDG-compatibility.
> > 
> > Björn
> > 
> > 
> >   
> 
> That's a very good question! It doesn't look like they commit to only
> free software. In fact here is what I found on the website:
> 
> Note for plugin developers: If you wrote a plugin and want JOSM to
> find it, it should be enough to add the plugin to the ​OpenStreetMap
> Subversion Repository (SVN) and it will automatically appear on this
> page. If you cannot put your plugin into SVN then edit this page and
> insert a link to your plugin jar file into the page; after a few
> minutes your plugin will be downloaded and the MANIFEST file will be
> used to extract information for the table below. 
> 
> I don't know if that implies being listed at that page only or also in
> the plugin manager. I don't use plugins, so I didn't notice, but
> attempting to use one failed anyway:
> 
> 2019-05-05 11:30:47.967 GRAVE:
> org.openstreetmap.josm.plugins.PluginException: Une erreur est
> survenue dans le greffon buildings_tools. Cause :
> java.lang.ClassNotFoundException:
> org.openstreetmap.josm.plugins.buildings_tools.BuildingsToolsPlugin
> org.openstreetmap.josm.plugins.PluginException: Une erreur est
> survenue dans le greffon buildings_tools
> 
> I don't know how to load plugins outside of the plugin manager. Ideas?

I could install the buildings plugin successfully.

I have no idea on how to load plugins from outside the manager and
haven't looked into the code. But the plugins could be of any license
and/or could at least have unfree (or at least unbootstrappable)
dependencies. Until we know how to deal correctly with plugins, we
could disable the plugins-manager?

Björn

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 195 bytes --]

^ permalink raw reply	[flat|nested] 45+ messages in thread

* [bug#35545] [PATCH] Add josm.
  2019-05-05 22:53     ` Björn Höfling
@ 2019-06-18 12:29       ` Julien Lepiller
  2019-06-18 16:14         ` Björn Höfling
  0 siblings, 1 reply; 45+ messages in thread
From: Julien Lepiller @ 2019-06-18 12:29 UTC (permalink / raw)
  To: Björn Höfling; +Cc: 35545

Le Mon, 6 May 2019 00:53:53 +0200,
Björn Höfling <bjoern.hoefling@bjoernhoefling.de> a écrit :

> On Sun, 5 May 2019 13:37:09 +0200
> Julien Lepiller <julien@lepiller.eu> wrote:
> 
> > > I know JOSM has plugins. Do you know anything about the licenses
> > > of these plugins? Should we/do we need to compile all of them from
> > > sources? Can we stick with the default Plugin-Repository? I'm
> > > thinking about FSDG-compatibility.
> > > 
> > > Björn
> > > 
> > > 
> > >     
> > 
> > That's a very good question! It doesn't look like they commit to
> > only free software. In fact here is what I found on the website:
> > 
> > Note for plugin developers: If you wrote a plugin and want JOSM to
> > find it, it should be enough to add the plugin to the ​OpenStreetMap
> > Subversion Repository (SVN) and it will automatically appear on this
> > page. If you cannot put your plugin into SVN then edit this page and
> > insert a link to your plugin jar file into the page; after a few
> > minutes your plugin will be downloaded and the MANIFEST file will be
> > used to extract information for the table below. 
> > 
> > I don't know if that implies being listed at that page only or also
> > in the plugin manager. I don't use plugins, so I didn't notice, but
> > attempting to use one failed anyway:
> > 
> > 2019-05-05 11:30:47.967 GRAVE:
> > org.openstreetmap.josm.plugins.PluginException: Une erreur est
> > survenue dans le greffon buildings_tools. Cause :
> > java.lang.ClassNotFoundException:
> > org.openstreetmap.josm.plugins.buildings_tools.BuildingsToolsPlugin
> > org.openstreetmap.josm.plugins.PluginException: Une erreur est
> > survenue dans le greffon buildings_tools
> > 
> > I don't know how to load plugins outside of the plugin manager.
> > Ideas?  
> 
> I could install the buildings plugin successfully.
> 
> I have no idea on how to load plugins from outside the manager and
> haven't looked into the code. But the plugins could be of any license
> and/or could at least have unfree (or at least unbootstrappable)
> dependencies. Until we know how to deal correctly with plugins, we
> could disable the plugins-manager?

So I've looked into that, but I haven't seen how to disable the plugin
manager. I've talked to a JOSM developper during State of the Map
France, and he told me every plugin was free software, and if not, it
should be considered a bug, and the plugin will be removed. I think
this is close to the spirit of the FSDG, so we might not have to
disable the manager. WDYT?

I agree it would be nicer to bootstrap plugins properly ourselves, but
at least we won't advertise for non free plugins. I'll try to update to
a newer version before pushing, unless you have more objections.

> 
> Björn

^ permalink raw reply	[flat|nested] 45+ messages in thread

* [bug#35545] [PATCH] Add josm.
  2019-06-18 12:29       ` Julien Lepiller
@ 2019-06-18 16:14         ` Björn Höfling
  2019-06-20 11:39           ` Ludovic Courtès
  0 siblings, 1 reply; 45+ messages in thread
From: Björn Höfling @ 2019-06-18 16:14 UTC (permalink / raw)
  To: Julien Lepiller; +Cc: Ricardo Wurmus, 35545

[-- Attachment #1: Type: text/plain, Size: 1580 bytes --]

Hi Julien,

On Tue, 18 Jun 2019 14:29:36 +0200
Julien Lepiller <julien@lepiller.eu> wrote:

> Le Mon, 6 May 2019 00:53:53 +0200,
> Björn Höfling <bjoern.hoefling@bjoernhoefling.de> a écrit :
> 
> > On Sun, 5 May 2019 13:37:09 +0200
> > Julien Lepiller <julien@lepiller.eu> wrote:
> >   
> > > > I know JOSM has plugins. Do you know anything about the licenses
> > > > of these plugins? Should we/do we need to compile all of them
> > > > from sources? Can we stick with the default Plugin-Repository?
> > > > I'm thinking about FSDG-compatibility.
> > > > 
> > > > Björn

[..]

> So I've looked into that, but I haven't seen how to disable the plugin
> manager. I've talked to a JOSM developper during State of the Map
> France, and he told me every plugin was free software, and if not, it
> should be considered a bug, and the plugin will be removed. I think
> this is close to the spirit of the FSDG, so we might not have to
> disable the manager. WDYT?
> 
> I agree it would be nicer to bootstrap plugins properly ourselves, but
> at least we won't advertise for non free plugins. I'll try to update
> to a newer version before pushing, unless you have more objections.

I feel a bit uncomfortable in deciding this on my own, though I think
it would be OK: We don't add the binaries directly and as you said,
all plugins should be free software (maybe not fully bootstrappable).

I'm adding Ludo and Ricardo in CC, I think they are more authoritative
in giving a final answer.

Thanks for discussing this with upstream.

Björn
 

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 195 bytes --]

^ permalink raw reply	[flat|nested] 45+ messages in thread

* [bug#35545] [PATCH] Add josm.
  2019-06-18 16:14         ` Björn Höfling
@ 2019-06-20 11:39           ` Ludovic Courtès
  0 siblings, 0 replies; 45+ messages in thread
From: Ludovic Courtès @ 2019-06-20 11:39 UTC (permalink / raw)
  To: Björn Höfling; +Cc: Ricardo Wurmus, 35545

Hello!

Björn Höfling <bjoern.hoefling@bjoernhoefling.de> skribis:

> On Tue, 18 Jun 2019 14:29:36 +0200

[...]

>> So I've looked into that, but I haven't seen how to disable the plugin
>> manager. I've talked to a JOSM developper during State of the Map
>> France, and he told me every plugin was free software, and if not, it
>> should be considered a bug, and the plugin will be removed. I think
>> this is close to the spirit of the FSDG, so we might not have to
>> disable the manager. WDYT?

That sounds reasonable to me: if upstream has a clear commitment to
publish only free software plugin, then we can take their word for it;
if later that proved to be misguided, we can revisit this issue and
disable the installation of plugins coming from their site.

>> I agree it would be nicer to bootstrap plugins properly ourselves, but
>> at least we won't advertise for non free plugins. I'll try to update
>> to a newer version before pushing, unless you have more objections.

Indeed, it’d be much nicer if users of JOSM on Guix could install
plugins via Guix, both because it’s more convenient and because it’s
provides much stronger guarantees (reproducibly built from source!).

My 2¢,
Ludo’.

^ permalink raw reply	[flat|nested] 45+ messages in thread

* bug#35545: [PATCH] Add josm.
  2019-05-03 12:58 [bug#35545] [PATCH] Add josm Julien Lepiller
  2019-05-03 13:01 ` [bug#35545] [PATCH 01/17] gnu: Add java-signpost-core Julien Lepiller
  2019-05-05 11:18 ` [bug#35545] [PATCH] Add josm Björn Höfling
@ 2019-11-13 21:52 ` Julien Lepiller
  2 siblings, 0 replies; 45+ messages in thread
From: Julien Lepiller @ 2019-11-13 21:52 UTC (permalink / raw)
  To: 35545-done

Le Fri, 3 May 2019 14:58:36 +0200,
Julien Lepiller <julien@lepiller.eu> a écrit :

> Hi guix!
> 
> this patch series adds josm, the Java OpenStreetMap editor, and its
> dependencies.
> 
> 
> 

Finaly pushed as cfdbf2a5c43a6553dad4f7077de26cfa1c15d83b to
f041db8696c7e8073761af5aa8f7599eec1d5174 along with an update to josm
and jmapviewer, a fix to antlr3 and a new version of a patch related to
svn that was previously reverted.

^ permalink raw reply	[flat|nested] 45+ messages in thread

end of thread, other threads:[~2019-11-13 21:53 UTC | newest]

Thread overview: 45+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-05-03 12:58 [bug#35545] [PATCH] Add josm Julien Lepiller
2019-05-03 13:01 ` [bug#35545] [PATCH 01/17] gnu: Add java-signpost-core Julien Lepiller
2019-05-03 13:01   ` [bug#35545] [PATCH 02/17] gnu: Add java-jsonp-api Julien Lepiller
2019-05-05 10:37     ` Björn Höfling
2019-05-03 13:01   ` [bug#35545] [PATCH 03/17] gnu: Add java-jsonp-impl Julien Lepiller
2019-05-03 13:01   ` [bug#35545] [PATCH 04/17] gnu: Add java-xmp Julien Lepiller
2019-05-05 10:52     ` Björn Höfling
2019-05-03 13:01   ` [bug#35545] [PATCH 05/17] gnu: Add java-metadata-extractor Julien Lepiller
2019-05-05 11:07     ` Björn Höfling
2019-05-03 13:01   ` [bug#35545] [PATCH 06/17] gnu: javacc: Install binaries Julien Lepiller
2019-05-04 11:52     ` Ricardo Wurmus
2019-05-04 12:14       ` Julien Lepiller
2019-05-04 17:08         ` Ricardo Wurmus
2019-05-03 13:01   ` [bug#35545] [PATCH 07/17] gnu: Add java-openjfx-build Julien Lepiller
2019-05-03 15:14     ` Nicolas Goaziou
2019-05-04 11:48     ` Ricardo Wurmus
2019-05-04 12:22       ` Julien Lepiller
2019-05-05 22:05     ` Björn Höfling
2019-05-03 13:01   ` [bug#35545] [PATCH 08/17] gnu: Add java-openjfx-base Julien Lepiller
2019-05-03 15:15     ` Nicolas Goaziou
2019-05-04 11:38       ` Julien Lepiller
2019-05-04 21:03         ` Nicolas Goaziou
2019-05-04 11:46     ` Ricardo Wurmus
2019-05-03 13:01   ` [bug#35545] [PATCH 09/17] gnu: Add java-openjfx-graphics Julien Lepiller
2019-05-03 13:01   ` [bug#35545] [PATCH 10/17] gnu: Add java-openjfx-media Julien Lepiller
2019-05-03 13:01   ` [bug#35545] [PATCH 11/17] gnu: Add java-jmapviewer Julien Lepiller
2019-05-05 22:06     ` Björn Höfling
2019-05-03 13:01   ` [bug#35545] [PATCH 12/17] gnu: Add java-svg-salamander Julien Lepiller
2019-05-05 22:07     ` Björn Höfling
2019-05-03 13:01   ` [bug#35545] [PATCH 13/17] gnu: Add java-jboss-transaction-api-spec Julien Lepiller
2019-05-05 22:07     ` Björn Höfling
2019-05-03 13:01   ` [bug#35545] [PATCH 14/17] gnu: Add java-commons-pool2 Julien Lepiller
2019-05-05 22:07     ` Björn Höfling
2019-05-03 13:01   ` [bug#35545] [PATCH 15/17] gnu: Add java-commons-dbcp2 Julien Lepiller
2019-05-03 13:01   ` [bug#35545] [PATCH 16/17] gnu: Add java-commons-jcs Julien Lepiller
2019-05-03 13:01   ` [bug#35545] [PATCH 17/17] gnu: Add josm Julien Lepiller
2019-05-05 22:22     ` Björn Höfling
2019-05-05 10:07   ` [bug#35545] [PATCH 01/17] gnu: Add java-signpost-core Björn Höfling
2019-05-05 11:18 ` [bug#35545] [PATCH] Add josm Björn Höfling
2019-05-05 11:37   ` Julien Lepiller
2019-05-05 22:53     ` Björn Höfling
2019-06-18 12:29       ` Julien Lepiller
2019-06-18 16:14         ` Björn Höfling
2019-06-20 11:39           ` Ludovic Courtès
2019-11-13 21:52 ` bug#35545: " Julien Lepiller

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).