On Fri, 5 Oct 2018 17:50:09 +0200 Danny Milosavljevic wrote: > * 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. https://hydra.gnu.org/build/3113818 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 # …) In /gnu/store/ghwa6l2079l50ryzygybbkb8lhmm5hha-module-import/guix/build/gnu-build-system.scm: 799:31 3 (_ _) In ice-9/eval.scm: 619:8 2 (_ #(#(#) (#: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" #) 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 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)))