guix-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[bug#60976] [PATCH 2/3] gnu: Add java-libbatik


From: Frank Pursel
Subject: [bug#60976] [PATCH 2/3] gnu: Add java-libbatik
Date: Thu, 26 Jan 2023 08:53:09 -0800

---
 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")
+    (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
-- 
2.38.1






reply via email to

[Prev in Thread] Current Thread [Next in Thread]