Compare commits

...

10 Commits

Author SHA1 Message Date
Julien Lepiller 71d54f3ac4
gnu: josm: Update to 18822.
* gnu/packages/geo.scm (josm): Update to 18822.
[inputs]: Use new json implementation.
[arguments]: Use openjdk11 to prevent warning at startup.

Change-Id: I393e0ed765d1d0da7870595d2eccefae17836eb9
2023-11-09 19:09:08 +01:00
Julien Lepiller dd631a891c
gnu: Add java-parsson.
* gnu/packages/java.scm (java-parsson): New variable.

Change-Id: Ie564924329e4e0a866e6ed5fe9135c841fb66ae8
2023-11-09 19:08:59 +01:00
Julien Lepiller 14e01e313d
gnu: Add java-jakarta-json.
* gnu/packages/java.scm (java-jakarta-json): New variable.

Change-Id: I2c123710f9d31bf71e8fb86ff0d336b6fcfa9674
2023-11-09 19:08:51 +01:00
Julien Lepiller 00ec39a4e4
guix: ant: Optionally build with java modules.
Modules were introduced in Java 9 and are not supported by the default
icedtea compiler, so this feature is disabled by default.

* guix/build-system/ant.scm (ant-build): Add use-java-modules?
parameter.
* guix/build/ant-build-system.scm (default-build.xml)
(configure): Use it.

Change-Id: I3b99238e4cd262332fa5c818be1af5477c7374fd
2023-11-09 19:08:42 +01:00
Julien Lepiller 5392d9db46
gnu: openjdk9: Install default certificates.
* gnu/packages/java.scm (openjdk9)[arguments]: Add a phase to install
certificates from nss-certs to the expected location.
(openjdk10, openjdk11): Adapt to also install the certificates.

Change-Id: I6ef626324386419e84a9c0eace5a278ca11c573c
2023-11-09 19:08:24 +01:00
Andre A. Gomes 42bec70a91
gnu: cl-slynk: Update to 1.0.43-9.9c43bf6.
* gnu/packages/lisp-xyz.scm (sbcl-slynk): Update to 1.0.43-9.9c43bf6.

Signed-off-by: Guillaume Le Vaillant <glv@posteo.net>
Change-Id: I84ff141b7eefff470f72493d02f2cc24f02db7cf
2023-11-09 14:56:45 +01:00
Andre A. Gomes 9b03e84e4e
gnu: emacs-sly: Update to 1.0.43-9.9c43bf6.
* gnu/packages/emacs-xyz.scm (emacs-sly): Update to 1.0.43-9.9c43bf6.

Signed-off-by: Guillaume Le Vaillant <glv@posteo.net>
2023-11-09 14:55:45 +01:00
Sharlatan Hellseher fd48bc959b
gnu: cl-graph: Update to 0.10.2-2.c617de3.
* gnu/packages/lisp-xyz.scm (cl-graph): Update to 0.10.2-2.c617de3.
[source]: Update URL as maintainer and owner of repository was changed.

Change-Id: Ice484f098d52b93baebc9596f0f902b1b30ae797
Signed-off-by: Guillaume Le Vaillant <glv@posteo.net>
2023-11-09 14:37:35 +01:00
Sharlatan Hellseher 3b627af0e1
gnu: cl-trivial-backtrace: Update to 1.1.0-2.7f90b4a.
* gnu/packages/lisp-xyz.scm (cl-trivial-backtrace): Update to 1.1.0-2.7f90b4a.
[source]: Update URL as maintainer and owner of repository was changed.

Change-Id: Ibbc0a1707b71d1ba2851c52f5a5ad744ca25dc45
Signed-off-by: Guillaume Le Vaillant <glv@posteo.net>
2023-11-09 14:36:33 +01:00
Sharlatan Hellseher 8fd37af45a
gnu: cl-metabang-bind: Update to 0.8.0-2.0819642.
* gnu/packages/lisp-xyz.scm (sbcl-metabang-bind): Update to 0.8.0-2.0819642.
[source]: Update URL as maintainer and owner of repository was changed.

Change-Id: I5fdde9e53e0b7e9cd585ebda85eebe3c29b1d841
Signed-off-by: Guillaume Le Vaillant <glv@posteo.net>
2023-11-09 14:35:21 +01:00
6 changed files with 200 additions and 32 deletions

View File

@ -15402,9 +15402,9 @@ e.g., the expression you've just evaluated would briefly flash and so on.")
(license license:gpl3+))))
(define-public emacs-sly
;; Update together with sbcl-slynk .
(let ((commit "df62abae73bd511885c9c7ec0ea7ea1469a00923")
(revision "8"))
;; Update together with sbcl-slynk.
(let ((commit "9c43bf65b967e12cef1996f1af5f0671d8aecbf4")
(revision "9"))
;; Versions are not always tagged. Besides, latest master contains
;; important fixes.
(package
@ -15419,7 +15419,7 @@ e.g., the expression you've just evaluated would briefly flash and so on.")
(file-name (git-file-name name version))
(sha256
(base32
"1nxijv52bja6la2i3asq7kklpj5li25454n52sgsc6xnnfvakbsv"))))
"15nyr02ykkws4q79jcmxcawddg8sgq9v5l8k7jv7gg3hnpzxjlb2"))))
(build-system emacs-build-system)
(native-inputs
(list texinfo))

View File

@ -1940,7 +1940,7 @@ to the OSM opening hours specification.")
(define-public josm
(package
(name "josm")
(version "18646")
(version "18822")
(source (origin
(method svn-fetch)
(uri (svn-reference
@ -1949,7 +1949,7 @@ to the OSM opening hours specification.")
(recursive? #f)))
(sha256
(base32
"0zr3p1i39wi0f29lgb3xrnv6lijrq5ia8jxn4wnq1yz0xdlbg98i"))
"0b4q6n3jbqrh7dsfmcf2g0xdd1wjj62sjq8lwvggvrpqlk1fyn1b"))
(file-name (string-append name "-" version "-checkout"))
(modules '((guix build utils)))
(snippet
@ -1963,17 +1963,18 @@ to the OSM opening hours specification.")
(list java-commons-jcs
java-commons-compress
java-jmapviewer
java-jsonp-api
java-jsonp-impl ; runtime dependency
java-jakarta-json
java-jsr305
java-metadata-extractor
java-opening-hours-parser
java-openjfx-media
java-parsson ; runtime dependency
java-signpost-core
java-svg-salamander))
(arguments
`(#:tests? #f
#:jar-name "josm.jar"
#:jdk ,openjdk11
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'rm-build.xml

View File

@ -880,7 +880,14 @@ new Date();"))
(build-system gnu-build-system)
(outputs '("out" "jdk" "doc"))
(arguments
`(#:tests? #f; require jtreg
`(#:imported-modules
((guix build ant-build-system)
,@%gnu-build-system-modules)
#:modules
((guix build utils)
(guix build gnu-build-system)
(ice-9 popen))
#:tests? #f; require jtreg
#:make-flags '("all")
#:disallowed-references ,(list (gexp-input icedtea-8)
(gexp-input icedtea-8 "jdk"))
@ -973,6 +980,80 @@ new Date();"))
(find-files "."
"\\.c$|\\.h$"))
#t)))
;; By default OpenJDK only generates an empty keystore. In order to
;; be able to use certificates in Java programs we need to generate a
;; keystore from a set of certificates. For convenience we use the
;; certificates from the nss-certs package.
(add-after 'install 'install-keystore
(lambda* (#:key inputs outputs #:allow-other-keys)
(use-modules (ice-9 rdelim))
(let* ((keystore "cacerts")
(certs-dir (search-input-directory inputs
"etc/ssl/certs"))
(keytool (string-append (assoc-ref outputs "jdk")
"/bin/keytool")))
(define (extract-cert file target)
(call-with-input-file file
(lambda (in)
(call-with-output-file target
(lambda (out)
(let loop ((line (read-line in 'concat))
(copying? #f))
(cond
((eof-object? line) #t)
((string-prefix? "-----BEGIN" line)
(display line out)
(loop (read-line in 'concat) #t))
((string-prefix? "-----END" line)
(display line out)
#t)
(else
(when copying? (display line out))
(loop (read-line in 'concat) copying?)))))))))
(define (import-cert cert)
(format #t "Importing certificate ~a\n" (basename cert))
(let ((temp "tmpcert"))
(extract-cert cert temp)
(let ((port (open-pipe* OPEN_WRITE keytool
"-import"
"-alias" (basename cert)
"-keystore" keystore
"-storepass" "changeit"
"-file" temp)))
(display "yes\n" port)
(when (not (zero? (status:exit-val (close-pipe port))))
(format #t "failed to import ~a\n" cert)))
(delete-file temp)))
;; This is necessary because the certificate directory contains
;; files with non-ASCII characters in their names.
(setlocale LC_ALL "en_US.utf8")
(setenv "LC_ALL" "en_US.utf8")
(copy-file (string-append (assoc-ref outputs "out")
"/lib/security/cacerts")
keystore)
(chmod keystore #o644)
(for-each import-cert (find-files certs-dir "\\.pem$"))
(mkdir-p (string-append (assoc-ref outputs "out")
"/lib/security"))
(mkdir-p (string-append (assoc-ref outputs "jdk")
"/lib/security"))
;; The cacerts files we are going to overwrite are chmod'ed as
;; read-only (444) in icedtea-8 (which derives from this
;; package). We have to change this so we can overwrite them.
(chmod (string-append (assoc-ref outputs "out")
"/lib/security/" keystore) #o644)
(chmod (string-append (assoc-ref outputs "jdk")
"/lib/security/" keystore) #o644)
(install-file keystore
(string-append (assoc-ref outputs "out")
"/lib/security"))
(install-file keystore
(string-append (assoc-ref outputs "jdk")
"/lib/security")))))
;; Some of the libraries in the lib/ folder link to libjvm.so.
;; But that shared object is located in the server/ folder, so it
;; cannot be found. This phase creates a symbolic link in the
@ -1046,6 +1127,7 @@ new Date();"))
("icedtea-8:jdk" ,icedtea-8 "jdk")
;; XXX: The build system fails with newer versions of GNU Make.
("make@4.2" ,gnu-make-4.2)
("nss-certs" ,nss-certs)
("unzip" ,unzip)
("which" ,which)
("zip" ,zip)))
@ -1128,6 +1210,7 @@ new Date();"))
`(("openjdk9" ,openjdk9)
("openjdk9:jdk" ,openjdk9 "jdk")
("make@4.2" ,gnu-make-4.2)
("nss-certs" ,nss-certs)
("unzip" ,unzip)
("which" ,which)
("zip" ,zip)))))
@ -1154,6 +1237,7 @@ new Date();"))
#:modules `((guix build gnu-build-system)
(guix build utils)
(ice-9 match)
(ice-9 popen)
(srfi srfi-1)
(srfi srfi-26))
#:disallowed-references (list (gexp-input openjdk10)
@ -1396,6 +1480,7 @@ new Date();"))
openjdk10
`(,openjdk10 "jdk")
gnu-make-4.2
nss-certs
pkg-config
unzip
which
@ -13570,6 +13655,70 @@ and allows building a Java object model for JSON text using API classes
parse, generate, transform and query) JSON messages. This package contains
a reference implementation of that API.")))
(define-public java-jakarta-json
(package
(name "java-jakarta-json")
(version "2.1.3")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/jakartaee/jsonp-api")
(commit (string-append version "-RELEASE"))))
(file-name (git-file-name name version))
(sha256
(base32
"1q600harqfhlf763l75j4fx7ai7ybp7ga06aiky2a2hg8mhz0s5f"))))
(build-system ant-build-system)
(arguments
`(#:jar-name "jakarta-json.jar"
#:source-dir "api/src/main/java"
#:tests? #f; no tests
#:jdk ,openjdk11))
(home-page "https://github.com/jakartaee/jsonp-api")
(synopsis "Portable API for JSON handling in Java")
(description "This project contains API and Compatible Implementation of
Jakarta JSON Processing specification. Jakarta JSON Processing provides
portable APIs to parse, generate, transform, and query JSON documents.")
;; with classpath exception
(license license:epl2.0)))
(define-public java-parsson
(package
(name "java-parsson")
(version "1.1.5")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/eclipse-ee4j/parsson")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"06vvr6qv1ihnk212gdxg4x0sd61lgxk7wf062s7gym5k2h7fms0p"))))
(build-system ant-build-system)
(arguments
`(#:jar-name "parsson.jar"
#:source-dir "impl/src/main/java"
#:test-dir "impl/src/test"
#:use-java-modules? #t
#:jdk ,openjdk11
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'copy-resources
(lambda _
(copy-recursively "impl/src/main/resources"
"build/classes"))))))
(inputs
(list java-jakarta-json))
(native-inputs
(list java-junit))
(home-page "https://github.com/eclipse-ee4j/parsson")
(synopsis "Implementation of Jakarta JSON API")
(description "Eclipse Parsson is an implementation of the Jakarta JSON
Processing specification.")
;; with classpath exception
(license license:epl2.0)))
(define-public java-xmp
(package
(name "java-xmp")

View File

@ -2256,8 +2256,9 @@ antialiased TrueType font rendering using CLX and XRender extension.")
(sbcl-package->ecl-package sbcl-clx-truetype))
(define-public sbcl-slynk
(let ((commit "df62abae73bd511885c9c7ec0ea7ea1469a00923")
(revision "8"))
;; Update together with emacs-sly.
(let ((commit "9c43bf65b967e12cef1996f1af5f0671d8aecbf4")
(revision "9"))
(package
(name "sbcl-slynk")
(version (git-version "1.0.43" revision commit))
@ -2269,7 +2270,7 @@ antialiased TrueType font rendering using CLX and XRender extension.")
(url "https://github.com/joaotavora/sly")
(commit commit)))
(sha256
(base32 "1nxijv52bja6la2i3asq7kklpj5li25454n52sgsc6xnnfvakbsv"))
(base32 "15nyr02ykkws4q79jcmxcawddg8sgq9v5l8k7jv7gg3hnpzxjlb2"))
(file-name (git-file-name "cl-slynk" version))))
(build-system asdf-build-system/sbcl)
(outputs '("out" "image"))
@ -2704,8 +2705,8 @@ arbitrary Lisp data.")
(sbcl-package->ecl-package sbcl-cl-dot))
(define-public sbcl-cl-graph
(let ((commit "3cb786797b24883d784b7350e7372e8b1e743508")
(revision "1"))
(let ((commit "c617de35390cb02db88bc5b5febffafdb8947ae8")
(revision "2"))
(package
(name "sbcl-cl-graph")
(version (git-version "0.10.2" revision commit))
@ -2713,11 +2714,11 @@ arbitrary Lisp data.")
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/gwkkwg/cl-graph")
(url "https://github.com/hraban/cl-graph")
(commit commit)))
(file-name (git-file-name "cl-graph" version))
(sha256
(base32 "1748rj52f2jmd5jvsy9jwhn0zf73sjzjhwhnljvq6yi2kdqr30kl"))))
(base32 "0g1abkph9zb0m9zz6q2471ml9q9acdhwyapk8ra3bisqpwlxvpyf"))))
(build-system asdf-build-system/sbcl)
(arguments
;; TODO: (Sharlatan-20221118T215839+0000): Tests failed
@ -5597,8 +5598,8 @@ client and server.")
(sbcl-package->ecl-package sbcl-trivial-clipboard))
(define-public sbcl-trivial-backtrace
(let ((commit "6eb65bde7229413040c81d42ea22f0e4c9c8cfc9")
(revision "1"))
(let ((commit "7f90b4a4144775cca0728791e4b92ac2557b07a1")
(revision "2"))
(package
(name "sbcl-trivial-backtrace")
(version (git-version "1.1.0" revision commit))
@ -5606,11 +5607,11 @@ client and server.")
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/gwkkwg/trivial-backtrace")
(url "https://github.com/hraban/trivial-backtrace")
(commit commit)))
(file-name (git-file-name "trivial-backtrace" version))
(sha256
(base32 "1mbaqiwj5034iw6jzw30jyhwzp1pvhnz1zcy0lns0z5j2h9ldapw"))))
(base32 "11j0p3vgmnn5q84xw7sacr5p3cvff2hfhsh2is8xpm2iwxc723kn"))))
(build-system asdf-build-system/sbcl)
(native-inputs
(list sbcl-lift))
@ -7726,8 +7727,8 @@ CPython implementation of Python) and Common Lisp.")
(sbcl-package->ecl-package sbcl-burgled-batteries3))
(define-public sbcl-metabang-bind
(let ((commit "c93b7f7e1c18c954c2283efd6a7fdab36746ab5e")
(revision "1"))
(let ((commit "08196426cb099db0623e6cae2aeca566e0b788b2")
(revision "2"))
(package
(name "sbcl-metabang-bind")
(version (git-version "0.8.0" revision commit))
@ -7735,12 +7736,12 @@ CPython implementation of Python) and Common Lisp.")
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/gwkkwg/metabang-bind")
(url "https://github.com/hraban/metabang-bind")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"0hd0kr91795v77akpbcyqiss9p0p7ypa9dznrllincnmgvsxlmf0"))))
"14g7k3zhm8cd6bssc5mm5h6iq1dv5lfhiq33aimcmj5a6vbiq47d"))))
(build-system asdf-build-system/sbcl)
(native-inputs
(list sbcl-lift))

View File

@ -103,6 +103,7 @@
(build-target "jar")
(jar-name #f)
(main-class #f)
(use-java-modules? #f)
(test-include (list "**/*Test.java"))
(test-exclude (list "**/Abstract*.java"))
(source-dir "src")
@ -131,6 +132,7 @@
#:build-target #$build-target
#:jar-name #$jar-name
#:main-class #$main-class
#:use-java-modules? #$use-java-modules?
#:test-include (list #$@test-include)
#:test-exclude (list #$@test-exclude)
#:source-dir #$source-dir

View File

@ -37,6 +37,7 @@
(define* (default-build.xml jar-name prefix #:optional
(source-dir ".") (test-dir "./test") (main-class #f)
(use-java-modules? #f)
(test-include '("**/*Test.java"))
(test-exclude '("**/Abstract*Test.java")))
"Create a simple build.xml with standard targets for Ant."
@ -65,7 +66,7 @@
(value "first")))
(property (@ (environment "env")))
(path (@ (id "classpath"))
(pathelement (@ (location "${env.CLASSPATH}"))))
(pathelement (@ (path "${env.CLASSPATH}"))))
(target (@ (name "manifest"))
(mkdir (@ (dir "${manifest.dir}")))
@ -79,18 +80,30 @@
(mkdir (@ (dir "${classes.dir}")))
(javac (@ (includeantruntime "false")
(srcdir ,source-dir)
(destdir "${classes.dir}")
(classpath (@ (refid "classpath"))))))
(destdir "${classes.dir}"))
,(if use-java-modules?
`((modulepath (@ (refid "classpath"))))
'())
(classpath (@ (refid "classpath")))))
(target (@ (name "compile-tests"))
(mkdir (@ (dir "${test.classes.dir}")))
(javac (@ (includeantruntime "false")
(srcdir ,test-dir)
(destdir "${test.classes.dir}"))
(classpath
(pathelement (@ (path "${env.CLASSPATH}")))
(pathelement (@ (location "${classes.dir}")))
(pathelement (@ (location "${test.classes.dir}"))))))
,(if use-java-modules?
`((classpath
(pathelement
(@ (path "${env.CLASSPATH}")))
(pathelement
(@ (location "${classes.dir}")))
(pathelement
(@ (location "${test.classes.dir}")))))
'())
(classpath
(pathelement (@ (path "${env.CLASSPATH}")))
(pathelement (@ (location "${classes.dir}")))
(pathelement (@ (location "${test.classes.dir}"))))))
(target (@ (name "check")
(depends "compile-tests"))
@ -156,13 +169,15 @@ to the default GNU unpack strategy."
(source-dir "src")
(test-dir "src/test")
(main-class #f)
(use-java-modules? #f)
(test-include '("**/*Test.java"))
(test-exclude '("**/Abstract*.java")) #:allow-other-keys)
(when jar-name
(default-build.xml jar-name
(string-append (assoc-ref outputs "out")
"/share/java")
source-dir test-dir main-class test-include test-exclude))
source-dir test-dir main-class use-java-modules?
test-include test-exclude))
(setenv "JAVA_HOME" (assoc-ref inputs "jdk"))
(setenv "CLASSPATH" (generate-classpath inputs))
#t)