* [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 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 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 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 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 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 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 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 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 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 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 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-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 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 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 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 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 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 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