unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
From: Frank Pursel <frank.pursel@gmail.com>
To: 60976@debbugs.gnu.org, julien@lepiller.eu
Subject: [bug#60976] [PATCH v4 2/3] gnu: Add java-libbatik
Date: Thu, 26 Jan 2023 08:53:09 -0800	[thread overview]
Message-ID: <9c92ee5173bb46ddfbd0fcb165b409874ae4b23d.1677706130.git.frank.pursel@gmail.com> (raw)
In-Reply-To: <48adf8ab622e5051d0012bfb45703c8a73cad92c.1677706130.git.frank.pursel@gmail.com>


---
Revised patch for java-libbatik.  I don't believe I had access to the
upstream apache sources when I first posted this but this now points to
the apache upstream rather than debian sources.

 gnu/packages/batik.scm | 100 ++++++++++++++++++++++++++++++++++++++---
 1 file changed, 93 insertions(+), 7 deletions(-)

diff --git a/gnu/packages/batik.scm b/gnu/packages/batik.scm
index 7f159010a5..22824a6575 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.
 ;;;
@@ -19,16 +20,101 @@
 
 (define-module (gnu packages batik)
   #:use-module ((guix licenses) #:prefix license:)
-  #:use-module (guix utils)
-  #:use-module (guix download)
-  #:use-module (guix git-download)
-  #:use-module (guix packages)
-  #:use-module (guix build-system ant)
-  #:use-module (gnu packages)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages java)
   #:use-module (gnu packages java-xml)
-  #:use-module (gnu packages textutils))
+  #:use-module (gnu packages javascript)
+  #:use-module (gnu packages textutils)
+  #:use-module (gnu packages xml)
+  #:use-module (gnu packages)
+  #:use-module (guix build-system ant)
+  #:use-module (guix download)
+  #:use-module (guix git-download)
+  #:use-module (guix packages)
+  #:use-module (guix utils))
+
+(define-public java-libbatik
+  (package
+    (name "java-libbatik")
+    (version "1.16")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append
+	     "https://dlcdn.apache.org/xmlgraphics/batik/source/batik-src-"
+             version
+             ".tar.gz"))
+       (sha256 (base32
+                "18ys0j7i861ydvimbm3a7dyvny48x5b37zfkvznlys7vcb2qz5z1"))
+       (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 "batik.jar"
+       #:source-dir "sources/src/main/java"
+       #:test-dir "sources/src/test"
+       ;; Tests are successful -- exclusions in lieu of
+       ;; deleting duplicated util tests.
+       #: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))
+             ;; Test prep
+             (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"))))))))
+    (native-inputs (list
+		    java-jaxen
+		    java-jdom quickjs
+                    java-jaxp
+                    java-junit
+                    java-xerces
+                    java-xmlgraphics-commons
+                    libxslt
+                    rhino))
+    (home-page "https://xmlgraphics.apache.org/batik")
+    (synopsis "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.39.1





  reply	other threads:[~2023-03-01 21:42 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-01-06 18:46 [bug#60976] [PATCH] gnu: Add ditaa Frank Pursel
2023-01-24 10:44 ` Simon Tournier
2023-01-25  2:50 ` Frank Pursel
2023-01-25 10:10   ` zimoun
2023-01-25 17:42 ` Frank Pursel
2023-01-26 12:36   ` Simon Tournier
2023-01-26 16:46 ` [bug#60976] [PATCH v4 1/3] gnu: Add java-jericho-html Frank Pursel
2023-01-26 16:53   ` Frank Pursel [this message]
2023-01-26 17:01   ` [bug#60976] [PATCH v4 3/3] gnu: Add ditaa Frank Pursel
2023-08-28 22:50     ` bug#60976: " Vagrant Cascadian
2023-01-26 16:46 ` [bug#60976] [PATCH v3 1/4] gnu: Add java-jericho-html Frank Pursel
2023-02-26  7:47   ` Julien Lepiller
2023-01-26 16:46 ` [bug#60976] [PATCH 1/3] " Frank Pursel
2023-01-27 13:41 ` [bug#60976] [PATCH 3/3] Add ditaa Frank Pursel
2023-01-28  4:49 ` [bug#60976] [PATCH] gnu: " Frank Pursel
2023-03-09  0:25 ` Frank Pursel

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=9c92ee5173bb46ddfbd0fcb165b409874ae4b23d.1677706130.git.frank.pursel@gmail.com \
    --to=frank.pursel@gmail.com \
    --cc=60976@debbugs.gnu.org \
    --cc=julien@lepiller.eu \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

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

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