[bug#60976,v3,2/4] gnu: Add java-libbatik
Commit Message
---
gnu/packages/batik.scm | 82 +++++++++++++++++++++++++++++++++++++++++-
1 file changed, 81 insertions(+), 1 deletion(-)
Comments
Hi!
Thanks for the patch, some comments below.
Le 26 janvier 2023 17:53:09 GMT+01:00, Frank Pursel <frank.pursel@gmail.com> a écrit :
>---
> gnu/packages/batik.scm | 82 +++++++++++++++++++++++++++++++++++++++++-
> 1 file changed, 81 insertions(+), 1 deletion(-)
>
>diff --git a/gnu/packages/batik.scm b/gnu/packages/batik.scm
>index 7f159010a5..662c4f5cd5 100644
>--- a/gnu/packages/batik.scm
>+++ b/gnu/packages/batik.scm
>@@ -1,6 +1,7 @@
> ;;; GNU Guix --- Functional package management for GNU
> ;;; Copyright © 2018 Danny Milosavljevic <dannym@scratchpost.org>
> ;;; Copyright © 2020 Tobias Geerinckx-Rice <me@tobias.gr>
>+;;; Copyright © 2023 Frank Pursel <frank.pursel@gmail.com>
> ;;;
> ;;; This file is part of GNU Guix.
> ;;;
>@@ -27,8 +28,87 @@ (define-module (gnu packages batik)
> #:use-module (gnu packages)
> #:use-module (gnu packages compression)
> #:use-module (gnu packages java)
>+ #:use-module (gnu packages javascript)
> #:use-module (gnu packages java-xml)
>- #:use-module (gnu packages textutils))
>+ #:use-module (gnu packages textutils)
>+ #:use-module (gnu packages xml))
>+
>+(define-public java-libbatik
>+ (package
>+ (name "batik")
So is this batik or libbatik?
>+ (version "1.16+dfsg")
>+ (source
>+ (origin
>+ (method url-fetch)
>+ (uri (string-append
>+ "https://deb.debian.org/debian/pool/main/b/batik/"
>+ name "_"
>+ version ".orig.tar.xz"))
I'm wondering why you need to fetch a Debian archive instead of upstream sources? Is there no upstream?
>+ (sha256 (base32
>+ "1xnmnnadp4l74dz55d3ask236lwy0iwg981851d01j2zlrgpw4p9"))
>+ (modules '((guix build utils)))
>+ (snippet
>+ '(begin
>+ ;; Identify and delete bundled jars.
>+ (format #t "~%~a~%" "Removing sourced jars")
>+ (for-each
>+ (lambda (f)
>+ (delete-file f)
>+ (format #t "Deleted: ~a~%" f))
>+ (find-files "." "\\.jar$"))
>+ ))))
These should be on the previous line.
>+ (build-system ant-build-system)
>+ (arguments
>+ `(#:jar-name (string-append ,name ".jar")
Usually, you'd just say #:jar-name "batik.jar"
>+ #:source-dir "sources/src/main/java"
>+ #:test-dir "sources/src/test"
>+ #:test-exclude (list "**/util/*.java")
That sounds like a lot of tests to exclude. Is there a reason?
>+ #:phases
>+ (modify-phases %standard-phases
>+ (add-after
>+ 'unpack 'src-consolidation
>+ (lambda _
>+ (mkdir-p "sources")
>+ (let ((cwd (getcwd))
>+ (sub-dirs (list "anim" "awt-util" "bridge"
>+ "codec" "constants" "css"
>+ "dom" "ext" "extension"
>+ "gui-util" "gvt" "i18n"
>+ "parser" "script" "slideshow"
>+ "svgbrowser" "svg-dom"
>+ "svggen" "svgpp"
>+ "svgrasterizer" "swing" "test"
>+ "test-svg" "transcoder" "ttf2svg"
>+ "util" "xml" "test-swing")) )
>+ (for-each
>+ (lambda (sdir)
>+ (copy-recursively
>+ (string-append
>+ "batik-" sdir) "sources/") )
>+ sub-dirs) )
>+ ;; Prep testing
>+ (copy-recursively
>+ "test-resources" "sources")
>+ ;; Remove scripting subdirs for jpython, and jacl.
>+ (for-each
>+ (lambda (rfile)
>+ (delete-file rfile)
>+ (format #t "Deleted: ~s\n" rfile))
>+ (append
>+ (find-files
>+ "sources/src/main/java/org/apache/batik/script/jpython" )
>+ (find-files
>+ "sources/src/main/java/org/apache/batik/script/jacl" ) ))
Maybe use delete-recursively instead?
>+ #t) ) ) ) )
No need to end a phase with #t anymore.
>+ (native-inputs (list rhino java-xmlgraphics-commons libxslt
>+ java-jaxen java-junit java-jaxp java-xerces
>+ java-jdom quickjs))
Please have one input per line, and maybe order alphabetically.
>+ (home-page "https://xmlgraphics.apache.org/batik")
>+ (synopsis "The java based toolkit for Scalable Vector Graphics")
Synopsis shouldn't start with "The", you could simply remove that word and start with "Java-based".
>+ (description "Batik is a Java-based toolkit for applications or
>+applets that want to use images in the Scalable Vector Graphics (SVG)
>+format for various purposes, such as display, generation or manipulation.")
>+ (license license:asl2.0) ) )
Great, thanks!
>
> (define-public java-w3c-smil-3.0
> (package
@@ -1,6 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2018 Danny Milosavljevic <dannym@scratchpost.org>
;;; Copyright © 2020 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2023 Frank Pursel <frank.pursel@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -27,8 +28,87 @@ (define-module (gnu packages batik)
#:use-module (gnu packages)
#:use-module (gnu packages compression)
#:use-module (gnu packages java)
+ #:use-module (gnu packages javascript)
#:use-module (gnu packages java-xml)
- #:use-module (gnu packages textutils))
+ #:use-module (gnu packages textutils)
+ #:use-module (gnu packages xml))
+
+(define-public java-libbatik
+ (package
+ (name "batik")
+ (version "1.16+dfsg")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://deb.debian.org/debian/pool/main/b/batik/"
+ name "_"
+ version ".orig.tar.xz"))
+ (sha256 (base32
+ "1xnmnnadp4l74dz55d3ask236lwy0iwg981851d01j2zlrgpw4p9"))
+ (modules '((guix build utils)))
+ (snippet
+ '(begin
+ ;; Identify and delete bundled jars.
+ (format #t "~%~a~%" "Removing sourced jars")
+ (for-each
+ (lambda (f)
+ (delete-file f)
+ (format #t "Deleted: ~a~%" f))
+ (find-files "." "\\.jar$"))
+ ))))
+ (build-system ant-build-system)
+ (arguments
+ `(#:jar-name (string-append ,name ".jar")
+ #:source-dir "sources/src/main/java"
+ #:test-dir "sources/src/test"
+ #:test-exclude (list "**/util/*.java")
+ #:phases
+ (modify-phases %standard-phases
+ (add-after
+ 'unpack 'src-consolidation
+ (lambda _
+ (mkdir-p "sources")
+ (let ((cwd (getcwd))
+ (sub-dirs (list "anim" "awt-util" "bridge"
+ "codec" "constants" "css"
+ "dom" "ext" "extension"
+ "gui-util" "gvt" "i18n"
+ "parser" "script" "slideshow"
+ "svgbrowser" "svg-dom"
+ "svggen" "svgpp"
+ "svgrasterizer" "swing" "test"
+ "test-svg" "transcoder" "ttf2svg"
+ "util" "xml" "test-swing")) )
+ (for-each
+ (lambda (sdir)
+ (copy-recursively
+ (string-append
+ "batik-" sdir) "sources/") )
+ sub-dirs) )
+ ;; Prep testing
+ (copy-recursively
+ "test-resources" "sources")
+ ;; Remove scripting subdirs for jpython, and jacl.
+ (for-each
+ (lambda (rfile)
+ (delete-file rfile)
+ (format #t "Deleted: ~s\n" rfile))
+ (append
+ (find-files
+ "sources/src/main/java/org/apache/batik/script/jpython" )
+ (find-files
+ "sources/src/main/java/org/apache/batik/script/jacl" ) ))
+ #t) ) ) ) )
+ (native-inputs (list rhino java-xmlgraphics-commons libxslt
+ java-jaxen java-junit java-jaxp java-xerces
+ java-jdom quickjs))
+ (home-page "https://xmlgraphics.apache.org/batik")
+ (synopsis "The java based toolkit for Scalable Vector Graphics")
+ (description "Batik is a Java-based toolkit for applications or
+applets that want to use images in the Scalable Vector Graphics (SVG)
+format for various purposes, such as display, generation or manipulation.")
+ (license license:asl2.0) ) )
(define-public java-w3c-smil-3.0
(package