[PATCH 00/21] Add batik.

OpenSubmitted by Danny Milosavljevic.
Details
3 participants
  • Björn Höfling
  • Danny Milosavljevic
  • Julien Lepiller
Owner
unassigned
Severity
normal
D
D
Danny Milosavljevic wrote on 5 Oct 2018 17:44
(address . guix-patches@gnu.org)(name . Danny Milosavljevic)(address . dannym@scratchpost.org)
20181005154453.10159-1-dannym@scratchpost.org
Danny Milosavljevic (21):
gnu: Add java-batik-i18n.
gnu: Add java-batik-constants.
gnu: Add java-batik-util.
gnu: Add java-batik-xml.
gnu: Add java-batik-ext.
gnu: Add java-w3c-smil.
gnu: Add java-w3c-sac.
gnu: Add java-w3c-svg.
gnu: Add java-xmlgraphics-commons.
gnu: Add java-batik-css.
gnu: Add java-batik-dom.
gnu: Add java-batik-awt-util.
gnu: Add java-batik-parser.
gnu: Add java-batik-svg-dom.
gnu: Add java-batik-anim.
gnu: Add java-batik-gvt.
gnu: Add java-batik-script.
gnu: Add java-batik-bridge.
gnu: Add java-batik-svggen.
gnu: Add java-batik-transcoder.
gnu: Add batik.

gnu/local.mk | 1 +
gnu/packages/batik.scm | 456 +++++++++++++++++++++++++++++++++++++++++
2 files changed, 457 insertions(+)
create mode 100644 gnu/packages/batik.scm
D
D
Danny Milosavljevic wrote on 5 Oct 2018 17:50
[PATCH 01/21] gnu: Add java-batik-i18n.
(address . 32948@debbugs.gnu.org)(name . Danny Milosavljevic)(address . dannym@scratchpost.org)
20181005155020.10239-1-dannym@scratchpost.org
* gnu/packages/batik.scm (java-batik): New variable.
(java-batik-package): New procedure.
(java-batik-disable-tests): New procedure.
(java-batik-i18n): New variable.
---
gnu/packages/batik.scm | 85 ++++++++++++++++++++++++++++++++++++++++++
1 file changed, 85 insertions(+)
create mode 100644 gnu/packages/batik.scm

Toggle diff (91 lines)
diff --git a/gnu/packages/batik.scm b/gnu/packages/batik.scm
new file mode 100644
index 000000000..2ca15b763
--- /dev/null
+++ b/gnu/packages/batik.scm
@@ -0,0 +1,85 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2018 Danny Milosavljevic <dannym@scratchpost.org>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (wip 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 textutils))
+
+;;; TODO: Use maven.
+;;; TODO: Remove bundled jar files (I guess our ant-build-system ought to
+;;; do that).
+
+(define java-batik
+  (package
+    (name "java-batik")
+    (version "1.10")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (string-append
+              "mirror://apache/xmlgraphics/batik/source/batik-src-" version
+              ".tar.gz"))
+        (sha256
+         (base32
+          "05nipxvm940m2dgzmrvflr2r72a5mmqbl25pvqr0xn73a5lygi6z"))
+        (file-name (string-append name "-" version))))
+    (build-system ant-build-system)
+    (native-inputs
+     `(("java-junit" ,java-junit)))
+    (home-page "https://xmlgraphics.apache.org/batik/")
+    (synopsis "SVG toolkit for Java")
+    (description "This package provides an SVG toolkit for Java.")
+    (license license:asl2.0)))
+
+(define (java-batik-package subdir inputs)
+  (package
+    (inherit java-batik)
+    (name (string-append "java-" subdir))
+    (propagated-inputs
+     inputs)
+    (arguments
+     `(#:jar-name (string-append ,subdir ".jar")
+       #:tests? #t
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'chdir
+           (lambda _
+             ;; FIXME: Be nicer.
+             (delete-file-recursively "batik-util/src/test")
+             (chdir ,subdir)
+             #t)))))))
+
+(define (java-batik-disable-tests base-package)
+  (package
+    (inherit base-package)
+    (arguments
+     (substitute-keyword-arguments (package-arguments base-package)
+      ((#:tests? _)
+       #f)))))
+
+(define-public java-batik-i18n
+  ;; No tests exist.
+  (java-batik-disable-tests (java-batik-package "batik-i18n" '())))
D
D
Danny Milosavljevic wrote on 5 Oct 2018 17:50
[PATCH 02/21] gnu: Add java-batik-constants.
(address . 32948@debbugs.gnu.org)(name . Danny Milosavljevic)(address . dannym@scratchpost.org)
20181005155020.10239-2-dannym@scratchpost.org
* gnu/packages/batik.scm (java-batik-constants): New variable.
---
gnu/packages/batik.scm | 4 ++++
1 file changed, 4 insertions(+)

Toggle diff (12 lines)
diff --git a/gnu/packages/batik.scm b/gnu/packages/batik.scm
index 2ca15b763..f0c3b8efb 100644
--- a/gnu/packages/batik.scm
+++ b/gnu/packages/batik.scm
@@ -83,3 +83,7 @@
 (define-public java-batik-i18n
   ;; No tests exist.
   (java-batik-disable-tests (java-batik-package "batik-i18n" '())))
+
+(define-public java-batik-constants
+  ;; No tests exist.
+  (java-batik-disable-tests (java-batik-package "batik-constants" '())))
D
D
Danny Milosavljevic wrote on 5 Oct 2018 17:50
[PATCH 03/21] gnu: Add java-batik-util.
(address . 32948@debbugs.gnu.org)(name . Danny Milosavljevic)(address . dannym@scratchpost.org)
20181005155020.10239-3-dannym@scratchpost.org
* gnu/packages/batik.scm (java-batik-util): New variable.
---
gnu/packages/batik.scm | 7 +++++++
1 file changed, 7 insertions(+)

Toggle diff (15 lines)
diff --git a/gnu/packages/batik.scm b/gnu/packages/batik.scm
index f0c3b8efb..f04704a2e 100644
--- a/gnu/packages/batik.scm
+++ b/gnu/packages/batik.scm
@@ -87,3 +87,10 @@
 (define-public java-batik-constants
   ;; No tests exist.
   (java-batik-disable-tests (java-batik-package "batik-constants" '())))
+
+(define-public java-batik-util
+  ;; batik-util tests require batik-test.  batik-test requires batik-util.
+  (java-batik-disable-tests
+   (java-batik-package "batik-util"
+    `(("java-batik-constants" ,java-batik-constants)
+      ("java-batik-i18n" ,java-batik-i18n)))))
D
D
Danny Milosavljevic wrote on 5 Oct 2018 17:50
[PATCH 04/21] gnu: Add java-batik-xml.
(address . 32948@debbugs.gnu.org)(name . Danny Milosavljevic)(address . dannym@scratchpost.org)
20181005155020.10239-4-dannym@scratchpost.org
* gnu/packages/batik.scm (java-batik-xml): New variable.
---
gnu/packages/batik.scm | 5 +++++
1 file changed, 5 insertions(+)

Toggle diff (13 lines)
diff --git a/gnu/packages/batik.scm b/gnu/packages/batik.scm
index f04704a2e..b950a8967 100644
--- a/gnu/packages/batik.scm
+++ b/gnu/packages/batik.scm
@@ -94,3 +94,8 @@
    (java-batik-package "batik-util"
     `(("java-batik-constants" ,java-batik-constants)
       ("java-batik-i18n" ,java-batik-i18n)))))
+
+(define-public java-batik-xml
+  (java-batik-package "batik-xml"
+   `(("java-batik-i18n" ,java-batik-i18n)
+     ("java-batik-util" ,java-batik-util))))
D
D
Danny Milosavljevic wrote on 5 Oct 2018 17:50
[PATCH 05/21] gnu: Add java-batik-ext.
(address . 32948@debbugs.gnu.org)(name . Danny Milosavljevic)(address . dannym@scratchpost.org)
20181005155020.10239-5-dannym@scratchpost.org
* gnu/packages/batik.scm (java-batik-ext): New variable.
---
gnu/packages/batik.scm | 4 ++++
1 file changed, 4 insertions(+)

Toggle diff (12 lines)
diff --git a/gnu/packages/batik.scm b/gnu/packages/batik.scm
index b950a8967..b5672bb20 100644
--- a/gnu/packages/batik.scm
+++ b/gnu/packages/batik.scm
@@ -99,3 +99,7 @@
   (java-batik-package "batik-xml"
    `(("java-batik-i18n" ,java-batik-i18n)
      ("java-batik-util" ,java-batik-util))))
+
+(define-public java-batik-ext
+  (java-batik-package "batik-ext"
+   `()))
D
D
Danny Milosavljevic wrote on 5 Oct 2018 17:50
[PATCH 06/21] gnu: Add java-w3c-smil.
(address . 32948@debbugs.gnu.org)(name . Danny Milosavljevic)(address . dannym@scratchpost.org)
20181005155020.10239-6-dannym@scratchpost.org
* gnu/packages/batik.scm (java-w3c-smil-3.0): New variable.
---
gnu/packages/batik.scm | 61 ++++++++++++++++++++++++++++++++++++++++++
1 file changed, 61 insertions(+)

Toggle diff (69 lines)
diff --git a/gnu/packages/batik.scm b/gnu/packages/batik.scm
index b5672bb20..88be05042 100644
--- a/gnu/packages/batik.scm
+++ b/gnu/packages/batik.scm
@@ -103,3 +103,64 @@
 (define-public java-batik-ext
   (java-batik-package "batik-ext"
    `()))
+
+(define-public java-w3c-smil-3.0
+  (package
+    (name "java-w3c-smil")
+    (version "3.0")
+    (source #f)
+    (build-system ant-build-system)
+    (arguments
+     `(#:jar-name "w3c-smil.jar"
+       #:source-dir "."
+       #:tests? #f ; No tests exist.
+       #:phases
+       (modify-phases %standard-phases
+         (replace 'unpack
+           (lambda* (#:key source #:allow-other-keys)
+             ;; https://www.w3.org/TR/SMIL3/smil-timing.html#q142
+             (mkdir-p "org/w3c/dom/smil")
+             (call-with-output-file "org/w3c/dom/smil/ElementTimeControl.java"
+               (lambda (port)
+                 (format port "
+package org.w3c.dom.smil;
+
+import org.w3c.dom.DOMException;
+
+public interface ElementTimeControl {
+    public boolean  beginElement();
+
+    public boolean  beginElementAt(float offset);
+
+    public boolean endElement();
+
+    public boolean endElementAt(float offset);
+}
+")))
+             (call-with-output-file "org/w3c/dom/smil/TimeEvent.java"
+               (lambda (port)
+                 (format port "
+package org.w3c.dom.smil;
+
+import org.w3c.dom.events.Event;
+import org.w3c.dom.views.AbstractView;
+
+public interface TimeEvent extends Event {
+    public AbstractView getView();
+
+    public int getDetail();
+
+    public void initTimeEvent(String typeArg,
+                              AbstractView viewArg,
+                              int detailArg);
+
+}
+")))
+             #t)))))
+    (native-inputs
+     `(("unzip" ,unzip)))
+    (home-page "https://www.w3.org/Style/CSS/SAC/")
+    (synopsis "W3C SAC interface for CSS parsers in Java")
+    (description "This package provides a SAC interface by the W3C.
+SAC is an interface for CSS parsers.")
+    (license license:w3c)))
D
D
Danny Milosavljevic wrote on 5 Oct 2018 17:50
[PATCH 07/21] gnu: Add java-w3c-sac.
(address . 32948@debbugs.gnu.org)(name . Danny Milosavljevic)(address . dannym@scratchpost.org)
20181005155020.10239-7-dannym@scratchpost.org
* gnu/packages/batik.scm (java-w3c-sac): New variable.
---
gnu/packages/batik.scm | 30 ++++++++++++++++++++++++++++++
1 file changed, 30 insertions(+)

Toggle diff (38 lines)
diff --git a/gnu/packages/batik.scm b/gnu/packages/batik.scm
index 88be05042..ccab88568 100644
--- a/gnu/packages/batik.scm
+++ b/gnu/packages/batik.scm
@@ -164,3 +164,33 @@ public interface TimeEvent extends Event {
     (description "This package provides a SAC interface by the W3C.
 SAC is an interface for CSS parsers.")
     (license license:w3c)))
+
+(define-public java-w3c-sac
+  (package
+    (name "java-w3c-sac")
+    (version "1.3")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (string-append "https://www.w3.org/2002/06/sacjava-" version
+                            ".zip"))
+        (sha256
+         (base32
+          "1djp2nnzf8jchnwz1ij9i5jfx4cg1ryf3lbw133yzjy0wkhcla52"))))
+    (build-system ant-build-system)
+    (arguments
+     `(#:jar-name "w3c-sac.jar"
+       #:source-dir "sac-1.3"
+       #:tests? #f ; No tests exist.
+       #:phases
+       (modify-phases %standard-phases
+         (replace 'unpack
+           (lambda* (#:key source #:allow-other-keys)
+             (invoke "unzip" source))))))
+    (native-inputs
+     `(("unzip" ,unzip)))
+    (home-page "https://www.w3.org/Style/CSS/SAC/")
+    (synopsis "W3C SAC interface for CSS parsers in Java")
+    (description "This package provides a SAC interface by the W3C.
+SAC is an interface for CSS parsers.")
+    (license license:w3c)))
D
D
Danny Milosavljevic wrote on 5 Oct 2018 17:50
[PATCH 08/21] gnu: Add java-w3c-svg.
(address . 32948@debbugs.gnu.org)(name . Danny Milosavljevic)(address . dannym@scratchpost.org)
20181005155020.10239-8-dannym@scratchpost.org
* gnu/packages/batik.scm (java-w3c-svg-1.0): New variable.
(java-w3c-svg): New variable.
---
gnu/packages/batik.scm | 68 ++++++++++++++++++++++++++++++++++++++++++
1 file changed, 68 insertions(+)

Toggle diff (76 lines)
diff --git a/gnu/packages/batik.scm b/gnu/packages/batik.scm
index ccab88568..05ca234ea 100644
--- a/gnu/packages/batik.scm
+++ b/gnu/packages/batik.scm
@@ -194,3 +194,71 @@ SAC is an interface for CSS parsers.")
     (description "This package provides a SAC interface by the W3C.
 SAC is an interface for CSS parsers.")
     (license license:w3c)))
+
+(define-public java-w3c-svg-1.0
+  (package
+    (name "java-w3c-svg")
+    (version "20010904")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (string-append "http://www.w3.org/TR/2001/REC-SVG-" version
+                            "/java-binding.zip"))
+        (sha256
+         (base32
+          "0gnxvx51bg6ijplf6l2q0i1m07101f7fickawshfygnsdjqfdnbp"))))
+    (build-system ant-build-system)
+    (arguments
+     `(#:jar-name "w3c-svg.jar"
+       #:source-dir "."
+       #:tests? #f ; No tests exist.
+       #:phases
+       (modify-phases %standard-phases
+         (replace 'unpack
+           (lambda* (#:key source #:allow-other-keys)
+             (invoke "unzip" source)))
+         (add-after 'unpack 'patch-interface
+           (lambda _
+             ;; Make it compatible with batik.
+             ;; This is equivalent to usingxml commons externals'
+             ;; "externals" part from https://xerces.apache.org/mirrors.cgi
+             (substitute* "SVGFEConvolveMatrixElement.java"
+              (("public SVGAnimatedLength[ ]*getKernelUnitLength")
+               "public SVGAnimatedNumber getKernelUnitLength"))
+             (substitute* "SVGFEMorphologyElement.java"
+              (("public SVGAnimatedLength[ ]*getRadius")
+               "public SVGAnimatedNumber getRadius"))
+             (call-with-output-file "EventListenerInitializer.java"
+               (lambda (port)
+                 (format port "
+// License: http://www.apache.org/licenses/LICENSE-2.0
+package org.w3c.dom.svg;
+public interface EventListenerInitializer {
+    public void initializeEventListeners(SVGDocument doc);
+}
+
+")))
+             #t)))))
+    (propagated-inputs
+     `(("java-w3c-smil" ,java-w3c-smil-3.0)))
+    (native-inputs
+     `(("unzip" ,unzip)))
+    (home-page "https://www.w3.org/Style/CSS/SAC/")
+    (synopsis "W3C SVG interface")
+    (description "This package provides a SVG interface.")
+    (license license:w3c)))
+
+(define-public java-w3c-svg
+  (package
+    (inherit java-w3c-svg-1.0)
+    (version "20110816")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (string-append "http://www.w3.org/TR/2011/REC-SVG11-" version
+                            "/java-binding.zip"))
+        (sha256
+         (base32
+          "0jicqcrxav8ggs37amgvvwgc2f0qp1c5wns4rb2i3si83s2m09ns"))))
+    (propagated-inputs
+     `())))
D
D
Danny Milosavljevic wrote on 5 Oct 2018 17:50
[PATCH 09/21] gnu: Add java-xmlgraphics-commons.
(address . 32948@debbugs.gnu.org)(name . Danny Milosavljevic)(address . dannym@scratchpost.org)
20181005155020.10239-9-dannym@scratchpost.org
* gnu/packages/batik.scm (java-xmlgraphics-commons): New variable.
---
gnu/packages/batik.scm | 36 ++++++++++++++++++++++++++++++++++++
1 file changed, 36 insertions(+)

Toggle diff (44 lines)
diff --git a/gnu/packages/batik.scm b/gnu/packages/batik.scm
index 05ca234ea..1fa36c1ac 100644
--- a/gnu/packages/batik.scm
+++ b/gnu/packages/batik.scm
@@ -262,3 +262,39 @@ public interface EventListenerInitializer {
           "0jicqcrxav8ggs37amgvvwgc2f0qp1c5wns4rb2i3si83s2m09ns"))))
     (propagated-inputs
      `())))
+
+(define java-xmlgraphics-commons
+  (package
+    (name "java-xmlgraphics-commons")
+    (version "2.3")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (string-append "mirror://apache/xmlgraphics/commons/source/xmlgraphics-commons-"
+                            version "-src.tar.gz"))
+        (sha256
+         (base32
+          "0a432a4ca3vgnbada5cy9mlmfzmq6hi4i176drfxrp17q2d43w23"))))
+    (build-system ant-build-system)
+    (arguments
+     `(#:build-target "jar-main"
+       #:test-target "junit-basic"
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'make-reproducible
+           (lambda _
+             (substitute* "build.xml"
+              (("<attribute name=\"Build-Id\" value=\"[^\"]*\"")
+               "<attribute name=\"Build-Id\" value=\"\""))
+             #t))
+         (replace 'install
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out"))
+                    (out-share (string-append out "/share/java")))
+             (install-file "build/xmlgraphics-commons-2.3.jar" out-share)
+             #t))))))
+    (home-page "https://xmlgraphics.apache.org/commons/")
+    (synopsis "XMLGraphics constants.")
+    (description "This package provides XMLGraphics constants (originally
+from @code{batik}).")
+    (license license:asl2.0)))
D
D
Danny Milosavljevic wrote on 5 Oct 2018 17:50
[PATCH 10/21] gnu: Add java-batik-css.
(address . 32948@debbugs.gnu.org)(name . Danny Milosavljevic)(address . dannym@scratchpost.org)
20181005155020.10239-10-dannym@scratchpost.org
* gnu/packages/batik.scm (java-batik-css): New variable.
---
gnu/packages/batik.scm | 9 +++++++++
1 file changed, 9 insertions(+)

Toggle diff (17 lines)
diff --git a/gnu/packages/batik.scm b/gnu/packages/batik.scm
index 1fa36c1ac..095f2f080 100644
--- a/gnu/packages/batik.scm
+++ b/gnu/packages/batik.scm
@@ -298,3 +298,12 @@ public interface EventListenerInitializer {
     (description "This package provides XMLGraphics constants (originally
 from @code{batik}).")
     (license license:asl2.0)))
+
+(define-public java-batik-css
+  (java-batik-package "batik-css"
+   `(("java-batik-constants" ,java-batik-constants)
+     ("java-batik-i18n" ,java-batik-i18n)
+     ("java-batik-util" ,java-batik-util)
+     ("java-w3c-sac" ,java-w3c-sac)
+     ("java-w3c-svg" ,java-w3c-svg-1.0)
+     ("java-xmlgraphics-commons" ,java-xmlgraphics-commons))))
D
D
Danny Milosavljevic wrote on 5 Oct 2018 17:50
[PATCH 11/21] gnu: Add java-batik-dom.
(address . 32948@debbugs.gnu.org)(name . Danny Milosavljevic)(address . dannym@scratchpost.org)
20181005155020.10239-11-dannym@scratchpost.org
* gnu/packages/batik.scm (java-batik-dom): New variable.
---
gnu/packages/batik.scm | 12 ++++++++++++
1 file changed, 12 insertions(+)

Toggle diff (20 lines)
diff --git a/gnu/packages/batik.scm b/gnu/packages/batik.scm
index 095f2f080..1bb83bc15 100644
--- a/gnu/packages/batik.scm
+++ b/gnu/packages/batik.scm
@@ -307,3 +307,15 @@ from @code{batik}).")
      ("java-w3c-sac" ,java-w3c-sac)
      ("java-w3c-svg" ,java-w3c-svg-1.0)
      ("java-xmlgraphics-commons" ,java-xmlgraphics-commons))))
+
+(define-public java-batik-dom
+  (java-batik-package "batik-dom"
+   `(("java-batik-constants" ,java-batik-constants)
+     ("java-batik-css" ,java-batik-css)
+     ("java-batik-ext" ,java-batik-ext)
+     ("java-batik-i18n" ,java-batik-i18n)
+     ("java-batik-util" ,java-batik-util)
+     ("java-batik-xml" ,java-batik-xml)
+     ("java-w3c-sac" ,java-w3c-sac)
+     ("java-w3c-smil" ,java-w3c-smil-3.0)
+     ("java-xalan" ,java-xalan))))
D
D
Danny Milosavljevic wrote on 5 Oct 2018 17:50
[PATCH 12/21] gnu: Add java-batik-awt-util.
(address . 32948@debbugs.gnu.org)(name . Danny Milosavljevic)(address . dannym@scratchpost.org)
20181005155020.10239-12-dannym@scratchpost.org
* gnu/packages/batik.scm (java-batik-awt-util): New variable.
---
gnu/packages/batik.scm | 6 ++++++
1 file changed, 6 insertions(+)

Toggle diff (14 lines)
diff --git a/gnu/packages/batik.scm b/gnu/packages/batik.scm
index 1bb83bc15..682236637 100644
--- a/gnu/packages/batik.scm
+++ b/gnu/packages/batik.scm
@@ -319,3 +319,9 @@ from @code{batik}).")
      ("java-w3c-sac" ,java-w3c-sac)
      ("java-w3c-smil" ,java-w3c-smil-3.0)
      ("java-xalan" ,java-xalan))))
+
+(define-public java-batik-awt-util
+  (java-batik-package "batik-awt-util"
+   `(("java-batik-i18n" ,java-batik-i18n)
+     ("java-batik-util" ,java-batik-util)
+     ("java-xmlgraphics-commons" ,java-xmlgraphics-commons))))
D
D
Danny Milosavljevic wrote on 5 Oct 2018 17:50
[PATCH 13/21] gnu: Add java-batik-parser.
(address . 32948@debbugs.gnu.org)(name . Danny Milosavljevic)(address . dannym@scratchpost.org)
20181005155020.10239-13-dannym@scratchpost.org
* gnu/packages/batik.scm (java-batik-parser): New variable.
---
gnu/packages/batik.scm | 8 ++++++++
1 file changed, 8 insertions(+)

Toggle diff (16 lines)
diff --git a/gnu/packages/batik.scm b/gnu/packages/batik.scm
index 682236637..93d04fdf0 100644
--- a/gnu/packages/batik.scm
+++ b/gnu/packages/batik.scm
@@ -325,3 +325,11 @@ from @code{batik}).")
    `(("java-batik-i18n" ,java-batik-i18n)
      ("java-batik-util" ,java-batik-util)
      ("java-xmlgraphics-commons" ,java-xmlgraphics-commons))))
+
+(define-public java-batik-parser
+  (java-batik-package "batik-parser"
+   `(("java-batik-awt-util" ,java-batik-awt-util)
+     ("java-batik-i18n" ,java-batik-i18n)
+     ("java-batik-util" ,java-batik-util)
+     ("java-batik-xml" ,java-batik-xml)
+     ("java-w3c-svg" ,java-w3c-svg-1.0))))
D
D
Danny Milosavljevic wrote on 5 Oct 2018 17:50
[PATCH 14/21] gnu: Add java-batik-svg-dom.
(address . 32948@debbugs.gnu.org)(name . Danny Milosavljevic)(address . dannym@scratchpost.org)
20181005155020.10239-14-dannym@scratchpost.org
* gnu/packages/batik.scm (java-batik-svg-dom): New variable.
---
gnu/packages/batik.scm | 12 ++++++++++++
1 file changed, 12 insertions(+)

Toggle diff (20 lines)
diff --git a/gnu/packages/batik.scm b/gnu/packages/batik.scm
index 93d04fdf0..e03369589 100644
--- a/gnu/packages/batik.scm
+++ b/gnu/packages/batik.scm
@@ -333,3 +333,15 @@ from @code{batik}).")
      ("java-batik-util" ,java-batik-util)
      ("java-batik-xml" ,java-batik-xml)
      ("java-w3c-svg" ,java-w3c-svg-1.0))))
+
+(define-public java-batik-svg-dom
+  (java-batik-package "batik-svg-dom"
+   `(("java-batik-constants" ,java-batik-constants)
+     ("java-batik-awt-util" ,java-batik-awt-util)
+     ("java-batik-css" ,java-batik-css)
+     ("java-batik-dom" ,java-batik-dom)
+     ("java-batik-i18n" ,java-batik-i18n)
+     ("java-batik-parser" ,java-batik-parser)
+     ("java-batik-util" ,java-batik-util)
+     ("java-w3c-smil" ,java-w3c-smil-3.0)
+     ("java-w3c-svg" ,java-w3c-svg-1.0))))
D
D
Danny Milosavljevic wrote on 5 Oct 2018 17:50
[PATCH 15/21] gnu: Add java-batik-anim.
(address . 32948@debbugs.gnu.org)(name . Danny Milosavljevic)(address . dannym@scratchpost.org)
20181005155020.10239-15-dannym@scratchpost.org
* gnu/packages/batik.scm (java-batik-anim): New variable.
---
gnu/packages/batik.scm | 16 ++++++++++++++++
1 file changed, 16 insertions(+)

Toggle diff (24 lines)
diff --git a/gnu/packages/batik.scm b/gnu/packages/batik.scm
index e03369589..24f817e4f 100644
--- a/gnu/packages/batik.scm
+++ b/gnu/packages/batik.scm
@@ -345,3 +345,19 @@ from @code{batik}).")
      ("java-batik-util" ,java-batik-util)
      ("java-w3c-smil" ,java-w3c-smil-3.0)
      ("java-w3c-svg" ,java-w3c-svg-1.0))))
+
+(define-public java-batik-anim
+  (java-batik-package "batik-anim"
+   `(("java-batik-awt-util" ,java-batik-awt-util)
+     ("java-batik-constants" ,java-batik-constants)
+     ("java-batik-css" ,java-batik-css)
+     ("java-batik-ext" ,java-batik-ext)
+     ("java-batik-i18n" ,java-batik-i18n)
+     ("java-batik-util" ,java-batik-util)
+     ("java-batik-dom" ,java-batik-dom)
+     ("java-batik-parser" ,java-batik-parser)
+     ("java-batik-svg-dom" ,java-batik-svg-dom)
+     ("java-batik-xml" ,java-batik-xml)
+     ("java-w3c-sac" ,java-w3c-sac)
+     ("java-w3c-smil" ,java-w3c-smil-3.0)
+     ("java-w3c-svg" ,java-w3c-svg-1.0))))
D
D
Danny Milosavljevic wrote on 5 Oct 2018 17:50
[PATCH 16/21] gnu: Add java-batik-gvt.
(address . 32948@debbugs.gnu.org)(name . Danny Milosavljevic)(address . dannym@scratchpost.org)
20181005155020.10239-16-dannym@scratchpost.org
* gnu/packages/batik.scm (java-batik-gvt): New variable.
---
gnu/packages/batik.scm | 6 ++++++
1 file changed, 6 insertions(+)

Toggle diff (14 lines)
diff --git a/gnu/packages/batik.scm b/gnu/packages/batik.scm
index 24f817e4f..65d813e98 100644
--- a/gnu/packages/batik.scm
+++ b/gnu/packages/batik.scm
@@ -361,3 +361,9 @@ from @code{batik}).")
      ("java-w3c-sac" ,java-w3c-sac)
      ("java-w3c-smil" ,java-w3c-smil-3.0)
      ("java-w3c-svg" ,java-w3c-svg-1.0))))
+
+(define-public java-batik-gvt
+  (java-batik-package "batik-gvt"
+   `(("java-batik-awt-util" ,java-batik-awt-util)
+     ("java-batik-constants" ,java-batik-constants)
+     ("java-batik-util" ,java-batik-util))))
D
D
Danny Milosavljevic wrote on 5 Oct 2018 17:50
[PATCH 17/21] gnu: Add java-batik-script.
(address . 32948@debbugs.gnu.org)(name . Danny Milosavljevic)(address . dannym@scratchpost.org)
20181005155020.10239-17-dannym@scratchpost.org
* gnu/packages/batik.scm (java-batik-script): New variable.
---
gnu/packages/batik.scm | 25 +++++++++++++++++++++++++
1 file changed, 25 insertions(+)

Toggle diff (33 lines)
diff --git a/gnu/packages/batik.scm b/gnu/packages/batik.scm
index 65d813e98..71417ec50 100644
--- a/gnu/packages/batik.scm
+++ b/gnu/packages/batik.scm
@@ -367,3 +367,28 @@ from @code{batik}).")
    `(("java-batik-awt-util" ,java-batik-awt-util)
      ("java-batik-constants" ,java-batik-constants)
      ("java-batik-util" ,java-batik-util))))
+
+(define-public java-batik-script
+  (let ((base-package
+         (java-batik-package "batik-script"
+          `(("java-batik-anim" ,java-batik-anim)
+            ("java-batik-constants" ,java-batik-constants)
+            ("java-batik-css" ,java-batik-css)
+            ("java-batik-dom" ,java-batik-dom)
+            ("java-batik-i18n" ,java-batik-i18n)
+            ("java-batik-svg-dom" ,java-batik-svg-dom)
+            ("java-batik-util" ,java-batik-util)
+            ("java-w3c-svg" ,java-w3c-svg-1.0)))))
+    (package
+      (inherit base-package)
+      (arguments
+       (substitute-keyword-arguments (package-arguments base-package)
+         ((#:phases phases)
+          `(modify-phases ,phases
+             (add-after 'unpack 'remove-unsupported-features
+               (lambda _
+                 ;; TODO: Implement those.
+                 (delete-file-recursively "batik-script/src/main/java/org/apache/batik/script/jacl")
+                 (delete-file-recursively "batik-script/src/main/java/org/apache/batik/script/jpython")
+                 (delete-file-recursively "batik-script/src/main/java/org/apache/batik/script/rhino")
+                 #t)))))))))
D
D
Danny Milosavljevic wrote on 5 Oct 2018 17:50
[PATCH 18/21] gnu: Add java-batik-bridge.
(address . 32948@debbugs.gnu.org)(name . Danny Milosavljevic)(address . dannym@scratchpost.org)
20181005155020.10239-18-dannym@scratchpost.org
* gnu/packages/batik.scm (java-batik-bridge): New variable.
---
gnu/packages/batik.scm | 38 ++++++++++++++++++++++++++++++++++++++
1 file changed, 38 insertions(+)

Toggle diff (46 lines)
diff --git a/gnu/packages/batik.scm b/gnu/packages/batik.scm
index 71417ec50..e61d9bb67 100644
--- a/gnu/packages/batik.scm
+++ b/gnu/packages/batik.scm
@@ -392,3 +392,41 @@ from @code{batik}).")
                  (delete-file-recursively "batik-script/src/main/java/org/apache/batik/script/jpython")
                  (delete-file-recursively "batik-script/src/main/java/org/apache/batik/script/rhino")
                  #t)))))))))
+
+(define-public java-batik-bridge
+  (let ((base-package
+        (java-batik-package "batik-bridge"
+         `(("java-batik-anim" ,java-batik-anim)
+           ("java-batik-awt-util" ,java-batik-awt-util)
+           ("java-batik-constants" ,java-batik-constants)
+           ("java-batik-css" ,java-batik-css)
+           ("java-batik-dom" ,java-batik-dom)
+           ("java-batik-ext" ,java-batik-ext)
+           ("java-batik-gvt" ,java-batik-gvt)
+           ("java-batik-i18n" ,java-batik-i18n)
+           ("java-batik-parser" ,java-batik-parser)
+           ("java-batik-script" ,java-batik-script)
+           ("java-batik-svg-dom" ,java-batik-svg-dom)
+           ("java-batik-util" ,java-batik-util)
+           ("java-batik-xml" ,java-batik-xml)
+           ("java-w3c-smil" ,java-w3c-smil-3.0)
+           ("java-w3c-svg" ,java-w3c-svg-1.0)
+           ("java-xalan" ,java-xalan)
+           ("java-xmlgraphics-commons" ,java-xmlgraphics-commons)))))
+    (package
+      (inherit base-package)
+      (arguments
+       (substitute-keyword-arguments (package-arguments base-package)
+         ((#:phases phases)
+          `(modify-phases ,phases
+             (add-after 'unpack 'remove-unsupported-features
+               (lambda _
+                 ;; TODO: Implement those.
+                 (delete-file "batik-bridge/src/main/java/org/apache/batik/bridge/RhinoInterpreter.java")
+                 (delete-file "batik-bridge/src/main/java/org/apache/batik/bridge/BatikWrapFactory.java")
+                 (delete-file "batik-bridge/src/main/java/org/apache/batik/bridge/EventTargetWrapper.java")
+                 (delete-file "batik-bridge/src/main/java/org/apache/batik/bridge/WindowWrapper.java")
+                 (delete-file "batik-bridge/src/main/java/org/apache/batik/bridge/GlobalWrapper.java")
+                 (delete-file "batik-bridge/src/main/java/org/apache/batik/bridge/SVG12RhinoInterpreter.java")
+                 (delete-file "batik-bridge/src/main/java/org/apache/batik/bridge/RhinoInterpreterFactory.java")
+                 #t)))))))))
D
D
Danny Milosavljevic wrote on 5 Oct 2018 17:50
[PATCH 19/21] gnu: Add java-batik-svggen.
(address . 32948@debbugs.gnu.org)(name . Danny Milosavljevic)(address . dannym@scratchpost.org)
20181005155020.10239-19-dannym@scratchpost.org
* gnu/packages/batik.scm (java-batik-svggen): New variable.
---
gnu/packages/batik.scm | 7 +++++++
1 file changed, 7 insertions(+)

Toggle diff (15 lines)
diff --git a/gnu/packages/batik.scm b/gnu/packages/batik.scm
index e61d9bb67..9d387d6df 100644
--- a/gnu/packages/batik.scm
+++ b/gnu/packages/batik.scm
@@ -430,3 +430,10 @@ from @code{batik}).")
                  (delete-file "batik-bridge/src/main/java/org/apache/batik/bridge/SVG12RhinoInterpreter.java")
                  (delete-file "batik-bridge/src/main/java/org/apache/batik/bridge/RhinoInterpreterFactory.java")
                  #t)))))))))
+
+(define-public java-batik-svggen
+  (java-batik-package "batik-svggen"
+   `(("java-batik-awt-util" ,java-batik-awt-util)
+     ("java-batik-constants" ,java-batik-constants)
+     ("java-batik-i18n" ,java-batik-i18n)
+     ("java-batik-util" ,java-batik-util))))
D
D
Danny Milosavljevic wrote on 5 Oct 2018 17:51
[PATCH 20/21] gnu: Add java-batik-transcoder.
(address . 32948@debbugs.gnu.org)(name . Danny Milosavljevic)(address . dannym@scratchpost.org)
20181005155137.10289-1-dannym@scratchpost.org
* gnu/packages/batik.scm (java-batik-transcoder): New variable.
---
gnu/packages/batik.scm | 17 +++++++++++++++++
1 file changed, 17 insertions(+)

Toggle diff (25 lines)
diff --git a/gnu/packages/batik.scm b/gnu/packages/batik.scm
index 9d387d6df..f725bd30e 100644
--- a/gnu/packages/batik.scm
+++ b/gnu/packages/batik.scm
@@ -437,3 +437,20 @@ from @code{batik}).")
      ("java-batik-constants" ,java-batik-constants)
      ("java-batik-i18n" ,java-batik-i18n)
      ("java-batik-util" ,java-batik-util))))
+
+(define-public java-batik-transcoder
+  (java-batik-package "batik-transcoder"
+   `(("java-batik-anim" ,java-batik-anim)
+     ("java-batik-awt-util" ,java-batik-awt-util)
+     ("java-batik-bridge" ,java-batik-bridge)
+     ("java-batik-constants" ,java-batik-constants)
+     ("java-batik-css" ,java-batik-css)
+     ("java-batik-dom" ,java-batik-dom)
+     ("java-batik-gvt" ,java-batik-gvt)
+     ("java-batik-ext" ,java-batik-ext)
+     ("java-batik-i18n" ,java-batik-i18n)
+     ("java-batik-svg-dom" ,java-batik-svg-dom)
+     ("java-batik-svggen" ,java-batik-svggen)
+     ("java-batik-util" ,java-batik-util)
+     ("java-batik-xml" ,java-batik-xml)
+     ("java-w3c-svg" ,java-w3c-svg-1.0))))
D
D
Danny Milosavljevic wrote on 5 Oct 2018 17:51
[PATCH 21/21] gnu: Add batik.
(address . 32948@debbugs.gnu.org)(name . Danny Milosavljevic)(address . dannym@scratchpost.org)
20181005155137.10289-2-dannym@scratchpost.org
* gnu/local.mk (GNU_SYSTEM_MODULES): Add "batik.scm".
---
gnu/local.mk | 1 +
1 file changed, 1 insertion(+)

Toggle diff (12 lines)
diff --git a/gnu/local.mk b/gnu/local.mk
index 61e5913a0..5623d1c36 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -77,6 +77,7 @@ GNU_SYSTEM_MODULES =				\
   %D%/packages/backup.scm			\
   %D%/packages/base.scm				\
   %D%/packages/bash.scm				\
+  %D%/packages/batik.scm			\
   %D%/packages/bdw-gc.scm			\
   %D%/packages/benchmark.scm			\
   %D%/packages/bioconductor.scm			\
D
D
Danny Milosavljevic wrote on 5 Oct 2018 17:54
Re: [PATCH 01/21] gnu: Add java-batik-i18n.
(address . 32948@debbugs.gnu.org)
20181005175423.7bf9e7c5@scratchpost.org
Toggle quote (2 lines)
> +(define-module (wip batik)

(define-module (gnu packages batik)
-----BEGIN PGP SIGNATURE-----

iQEzBAEBCAAdFiEEds7GsXJ0tGXALbPZ5xo1VCwwuqUFAlu3iS8ACgkQ5xo1VCww
uqVXoAf/Y7CKP8yTIWajV3X9I9znIXWZ++lBFGQ85Bu9HFxXaOZrehLmZQq9ZE1D
bQ82IUlqi4QKViJe9a0hsBq+XYnPzPJQbyK1oFG62wgGGGebD2vIacsY86vXzdCL
VcygwITNOP9wbnixJpKzcfFm1GmSZxKw+a8vDTDweqQR7WA2LJqVrf6NqWs58vus
nP3n3CcRlJoOuDsZx4bhIZ5AzDOupNmS2WJzyTmLiqc5Fyhk15eC4ooM8ZDhiRPz
QKDVelN98hZNDdAF8oIQGLbuiHanR3rUsFMlNx23QOo/KdC7uu1jQlk9rxecAOce
5mEA9hnZoCREgDj+QPmAkeTJhRa0qg==
=QnJa
-----END PGP SIGNATURE-----


J
J
Julien Lepiller wrote on 5 Oct 2018 18:28
Re: [bug#32948] [PATCH 01/21] gnu: Add java-batik-i18n.
(address . 32948@debbugs.gnu.org)
d5ae85ec575566426755d3b70a37379b@lepiller.eu
Le 2018-10-05 17:50, Danny Milosavljevic a écrit :
Toggle quote (5 lines)
> * gnu/packages/batik.scm (java-batik): New variable.
> (java-batik-package): New procedure.
> (java-batik-disable-tests): New procedure.
> (java-batik-i18n): New variable.

I think the message should be simply
* gnu/packages/batik.scm: New file.

Toggle quote (33 lines)
> ---
> gnu/packages/batik.scm | 85 ++++++++++++++++++++++++++++++++++++++++++
> 1 file changed, 85 insertions(+)
> create mode 100644 gnu/packages/batik.scm
>
> diff --git a/gnu/packages/batik.scm b/gnu/packages/batik.scm
> new file mode 100644
> index 000000000..2ca15b763
> --- /dev/null
> +++ b/gnu/packages/batik.scm
> @@ -0,0 +1,85 @@
> +;;; GNU Guix --- Functional package management for GNU
> +;;; Copyright © 2018 Danny Milosavljevic <dannym@scratchpost.org>
> +;;;
> +;;; This file is part of GNU Guix.
> +;;;
> +;;; GNU Guix is free software; you can redistribute it and/or modify
> it
> +;;; under the terms of the GNU General Public License as published by
> +;;; the Free Software Foundation; either version 3 of the License, or
> (at
> +;;; your option) any later version.
> +;;;
> +;;; GNU Guix is distributed in the hope that it will be useful, but
> +;;; WITHOUT ANY WARRANTY; without even the implied warranty of
> +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
> +;;; GNU General Public License for more details.
> +;;;
> +;;; You should have received a copy of the GNU General Public License
> +;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
> +
> +(define-module (wip batik)

Testing leftover? It should be (gnu packages batik)

Toggle quote (32 lines)
> + #: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 textutils))
> +
> +;;; TODO: Use maven.
> +;;; TODO: Remove bundled jar files (I guess our ant-build-system ought
> to
> +;;; do that).
> +
> +(define java-batik
> + (package
> + (name "java-batik")
> + (version "1.10")
> + (source
> + (origin
> + (method url-fetch)
> + (uri (string-append
> + "mirror://apache/xmlgraphics/batik/source/batik-src-"
> version
> + ".tar.gz"))
> + (sha256
> + (base32
> + "05nipxvm940m2dgzmrvflr2r72a5mmqbl25pvqr0xn73a5lygi6z"))
> + (file-name (string-append name "-" version))))

The filename should end with ".tar.gz"

Toggle quote (18 lines)
> + (build-system ant-build-system)
> + (native-inputs
> + `(("java-junit" ,java-junit)))
> + (home-page "https://xmlgraphics.apache.org/batik/")
> + (synopsis "SVG toolkit for Java")
> + (description "This package provides an SVG toolkit for Java.")
> + (license license:asl2.0)))
> +
> +(define (java-batik-package subdir inputs)
> + (package
> + (inherit java-batik)
> + (name (string-append "java-" subdir))
> + (propagated-inputs
> + inputs)
> + (arguments
> + `(#:jar-name (string-append ,subdir ".jar")
> + #:tests? #t

That's already the default value

Toggle quote (7 lines)
> + #:phases
> + (modify-phases %standard-phases
> + (add-after 'unpack 'chdir
> + (lambda _
> + ;; FIXME: Be nicer.
> + (delete-file-recursively "batik-util/src/test")

Could you explain?

Toggle quote (11 lines)
> + (chdir ,subdir)
> + #t)))))))
> +
> +(define (java-batik-disable-tests base-package)
> + (package
> + (inherit base-package)
> + (arguments
> + (substitute-keyword-arguments (package-arguments base-package)
> + ((#:tests? _)
> + #f)))))

Maybe use:
(arguments
`(#:tests? #f
,@(package-arguments base-package)))

Toggle quote (5 lines)
> +
> +(define-public java-batik-i18n
> + ;; No tests exist.
> + (java-batik-disable-tests (java-batik-package "batik-i18n" '())))

Nice! I guess every package will have the same synopsis and description,
which makes it hard to understand what they do. Could you do something
about it? For instance, using:

(description (string-append (package-description java-batik) " "
additional-description))) in java-batik-package?

I also have my own version of this package that uses build.xml. So my
question is, why did you split this package? Here are two package
definitions I use:

(define-public java-batik
(package
(name "java-batik")
(version "1.10")
(source (origin
(method url-fetch)
(uri (string-append
"mirror://apache/xmlgraphics/batik/source/"
"batik-src-" version ".tar.gz"))
(sha256
(base32
"05nipxvm940m2dgzmrvflr2r72a5mmqbl25pvqr0xn73a5lygi6z"))))
(build-system ant-build-system)
(arguments
`(#:test-target "regard"; FIXME: no test is actually run
#:build-target "all-jar"
#:phases
(modify-phases %standard-phases
(add-before 'check 'remove-failing
(lambda _
;; This file looks for w3c.dom.Window, but it has been
moved to
;; org.apache.batik.w3c.dom.Window.
(delete-file
"samples/tests/resources/java/sources/com/untrusted/script/UntrustedScriptHandler.java")
#t))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let ((dir (string-append (assoc-ref outputs "out")
"/share/java/")))
(mkdir-p dir)
(copy-file (string-append "batik-" ,version
"/lib/batik-all-" ,version ".jar")
(string-append dir "batik-all.jar"))))))))
(inputs
`(("java-xmlgraphics-commons" ,java-xmlgraphics-commons)))
(native-inputs
`(("java-junit" ,java-junit)))
(synopsis "")
(description "")
(license license:asl2.0)))

(define-public java-xmlgraphics-commons
(package
(name "java-xmlgraphics-commons")
(version "2.3")
(source (origin
(method url-fetch)
(uri (string-append
"mirror://apache/xmlgraphics/commons/source/"
"xmlgraphics-commons-" version
"-src.tar.gz"))
(sha256
(base32
"0a432a4ca3vgnbada5cy9mlmfzmq6hi4i176drfxrp17q2d43w23"))))
(build-system ant-build-system)
(arguments
`(#:jar-name "xmlgraphics-commons.jar"
#:source-dir "src/main/java"
#:test-dir "src/test"
#:tests? #f; FIXME: need commons-xml-resolver
#:phases
(modify-phases %standard-phases
(add-before 'build 'copy-resources
(lambda _
(copy-recursively "src/main/resources" "build/classes")
#t)))))
(inputs
`(("java-commons-io" ,java-commons-io)
("java-commons-logging-minimal" ,java-commons-logging-minimal)))
(native-inputs
`(("java-junit" ,java-junit)
("java-mockito-1" ,java-mockito-1)))
(home-page "https://xmlgraphics.apache.org")
(synopsis "")
(description "")
(license license:asl2.0)))
J
J
Julien Lepiller wrote on 5 Oct 2018 18:37
Re: [bug#32948] [PATCH 21/21] gnu: Add batik.
(name . Danny Milosavljevic)(address . dannym@scratchpost.org)(address . 32948@debbugs.gnu.org)
ad1615e29df9e065e99dd260323b51da@lepiller.eu
Le 2018-10-05 17:51, Danny Milosavljevic a écrit :
Toggle quote (18 lines)
> * gnu/local.mk (GNU_SYSTEM_MODULES): Add "batik.scm".
> ---
> gnu/local.mk | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/gnu/local.mk b/gnu/local.mk
> index 61e5913a0..5623d1c36 100644
> --- a/gnu/local.mk
> +++ b/gnu/local.mk
> @@ -77,6 +77,7 @@ GNU_SYSTEM_MODULES = \
> %D%/packages/backup.scm \
> %D%/packages/base.scm \
> %D%/packages/bash.scm \
> + %D%/packages/batik.scm \
> %D%/packages/bdw-gc.scm \
> %D%/packages/benchmark.scm \
> %D%/packages/bioconductor.scm \

That should be part of the first patch. Apart from my comments here and
on the first patch, the series LGTM! Thank you!
D
D
Danny Milosavljevic wrote on 5 Oct 2018 20:49
Re: [bug#32948] [PATCH 01/21] gnu: Add java-batik-i18n.
(name . Julien Lepiller)(address . julien@lepiller.eu)(address . 32948@debbugs.gnu.org)
20181005204923.62f79f8e@scratchpost.org
Hi Julien,

Toggle quote (2 lines)
> I also have my own version of this package that uses build.xml.

Aha? That works?!

Toggle quote (3 lines)
> So my question is, why did you split this package? Here are two package
> definitions I use:

Because I couldn't get the simpler version to work. So your version is even better.
-----BEGIN PGP SIGNATURE-----

iQEzBAEBCAAdFiEEds7GsXJ0tGXALbPZ5xo1VCwwuqUFAlu3sjMACgkQ5xo1VCww
uqUplwf+LBqYf9IKLbiYgdhbw2ecdOfdAvxrMVJAeIAceLIQVe4YDtIMlF8hXCrY
LVpZN0Q2koxtQqtpnoxtgD0kQfUmwnTMdhyCTST9cAZ3hZskU1jYRBk3oOWC/n4x
7SGcE4YWKFUbJNhjSpqRIqsY+pYH7xfD+gmTMRhKJQ7RF2t0gzHKzp89sVXEpWyT
OPGy7bR7zw1BG+L6RIUswWMWQcO3A+/RtOM26nNoLOfgstMsM7mKiuJ3EVH+VKeu
Rh2CW9eDlJNqGey4t1FtWxl0kkI44y8e+ToGkdldAMxqpcMRikSbgNnnbaj3pPY+
LwkKCT+zbZOf6OMdme3cqxgJpyBtWQ==
=cck/
-----END PGP SIGNATURE-----


J
J
Julien Lepiller wrote on 6 Oct 2018 13:06
(address . 32948@debbugs.gnu.org)
20181006130549.265ff70e@lepiller.eu
Le Fri, 5 Oct 2018 20:49:23 +0200,
Danny Milosavljevic <dannym@scratchpost.org> a écrit :

Toggle quote (12 lines)
> Hi Julien,
>
> > I also have my own version of this package that uses build.xml.
>
> Aha? That works?!
>
> > So my question is, why did you split this package? Here are two
> > package definitions I use:
>
> Because I couldn't get the simpler version to work. So your version
> is even better.

Actually my package definition uses bundled dependencies, so I think
your version is better, especially if you could remove the .jar files
from the lib/ folder.
B
B
Björn Höfling wrote on 9 Oct 2018 14:47
Re: [bug#32948] [PATCH 08/21] gnu: Add java-w3c-svg.
(name . Danny Milosavljevic)(address . dannym@scratchpost.org)(address . 32948@debbugs.gnu.org)
20181009144742.3c581b3d@alma-ubu
On Fri, 5 Oct 2018 17:50:09 +0200
Danny Milosavljevic <dannym@scratchpost.org> wrote:

Toggle quote (89 lines)
> * gnu/packages/batik.scm (java-w3c-svg-1.0): New variable.
> (java-w3c-svg): New variable.
> ---
> gnu/packages/batik.scm | 68
> ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 68
> insertions(+)
>
> diff --git a/gnu/packages/batik.scm b/gnu/packages/batik.scm
> index ccab88568..05ca234ea 100644
> --- a/gnu/packages/batik.scm
> +++ b/gnu/packages/batik.scm
> @@ -194,3 +194,71 @@ SAC is an interface for CSS parsers.")
> (description "This package provides a SAC interface by the W3C.
> SAC is an interface for CSS parsers.")
> (license license:w3c)))
> +
> +(define-public java-w3c-svg-1.0
> + (package
> + (name "java-w3c-svg")
> + (version "20010904")
> + (source
> + (origin
> + (method url-fetch)
> + (uri (string-append "http://www.w3.org/TR/2001/REC-SVG-"
> version
> + "/java-binding.zip"))
> + (sha256
> + (base32
> + "0gnxvx51bg6ijplf6l2q0i1m07101f7fickawshfygnsdjqfdnbp"))))
> + (build-system ant-build-system)
> + (arguments
> + `(#:jar-name "w3c-svg.jar"
> + #:source-dir "."
> + #:tests? #f ; No tests exist.
> + #:phases
> + (modify-phases %standard-phases
> + (replace 'unpack
> + (lambda* (#:key source #:allow-other-keys)
> + (invoke "unzip" source)))
> + (add-after 'unpack 'patch-interface
> + (lambda _
> + ;; Make it compatible with batik.
> + ;; This is equivalent to usingxml commons externals'
> + ;; "externals" part from
> https://xerces.apache.org/mirrors.cgi
> + (substitute* "SVGFEConvolveMatrixElement.java"
> + (("public SVGAnimatedLength[ ]*getKernelUnitLength")
> + "public SVGAnimatedNumber getKernelUnitLength"))
> + (substitute* "SVGFEMorphologyElement.java"
> + (("public SVGAnimatedLength[ ]*getRadius")
> + "public SVGAnimatedNumber getRadius"))
> + (call-with-output-file "EventListenerInitializer.java"
> + (lambda (port)
> + (format port "
> +// License: http://www.apache.org/licenses/LICENSE-2.0
> +package org.w3c.dom.svg;
> +public interface EventListenerInitializer {
> + public void initializeEventListeners(SVGDocument doc);
> +}
> +
> +")))
> + #t)))))
> + (propagated-inputs
> + `(("java-w3c-smil" ,java-w3c-smil-3.0)))
> + (native-inputs
> + `(("unzip" ,unzip)))
> + (home-page "https://www.w3.org/Style/CSS/SAC/")
> + (synopsis "W3C SVG interface")
> + (description "This package provides a SVG interface.")
> + (license license:w3c)))
> +
> +(define-public java-w3c-svg
> + (package
> + (inherit java-w3c-svg-1.0)
> + (version "20110816")
> + (source
> + (origin
> + (method url-fetch)
> + (uri (string-append "http://www.w3.org/TR/2011/REC-SVG11-"
> version
> + "/java-binding.zip"))
> + (sha256
> + (base32
> + "0jicqcrxav8ggs37amgvvwgc2f0qp1c5wns4rb2i3si83s2m09ns"))))
> + (propagated-inputs
> + `())))
>
>

This does not build on Hydra and locally.



starting phase `patch-interface'
Backtrace:
6 (primitive-load "/gnu/store/rrz82jnhlq4lfkk5wpiidxb6mdw…")
In ice-9/eval.scm:
191:35 5 (_ #f)
In srfi/srfi-1.scm:
640:9 4 (for-each #<procedure 703740 at /gnu/store/ghwa6l2079l…> …)
In /gnu/store/ghwa6l2079l50ryzygybbkb8lhmm5hha-module-import/guix/build/gnu-build-system.scm:
799:31 3 (_ _)
In ice-9/eval.scm:
619:8 2 (_ #(#(#<directory (guile-user) 7cc140>) (#:inputs # …)))
In /gnu/store/ghwa6l2079l50ryzygybbkb8lhmm5hha-module-import/guix/build/utils.scm:
636:30 1 (with-atomic-file-replacement "SVGFEConvolveMatrixElem…" …)
In unknown file:
0 (stat "SVGFEConvolveMatrixElement.java" #<undefined>)

ERROR: In procedure stat:
In procedure stat: No such file or directory: "SVGFEConvolveMatrixElement.java"

Below is a fix.

Is there a reason you added the version number to the scheme-variable?
I thought that is done only when we have different versions of the same
package.

Björn



Toggle diff (21 lines)
diff --git a/gnu/packages/batik.scm b/gnu/packages/batik.scm
index cdd1e4471..d8d70adcd 100644
--- a/gnu/packages/batik.scm
+++ b/gnu/packages/batik.scm
@@ -114,6 +114,7 @@ SAC is an interface for CSS parsers.")
              (invoke "unzip" source)))
          (add-after 'unpack 'patch-interface
            (lambda _
+             (chdir "org/w3c/dom/svg/")
              ;; Make it compatible with batik.
              ;; This is equivalent to usingxml commons externals'
              ;; "externals" part from https://xerces.apache.org/mirrors.cgi
@@ -134,7 +135,7 @@ public interface EventListenerInitializer {
 
 ")))
              #t)))))
-    (propagated-inputs
+    (inputs
      `(("java-w3c-smil" ,java-w3c-smil-3.0)))
     (native-inputs
      `(("unzip" ,unzip)))
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2

iEYEARECAAYFAlu8o28ACgkQvyhstlk+X/21NwCgq/igZAS6R1/CDlyoOhH1minR
+mgAnjINRPdJa/INFYF+UOVOibNay6rj
=qPlt
-----END PGP SIGNATURE-----


?