@@ -2595,3 +2595,39 @@ (define-public python-xmltodict
(description "This package provides a Python library to convert XML to
@code{OrderedDict}.")
(license license:expat)))
+
+(define-public xalan
+ (package
+ (name "xalan")
+ (version "j_2_7_2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://dlcdn.apache.org/xalan/xalan-j/source/xalan-"
+ version "-src.tar.gz"))
+ (sha256
+ (base32 "166vg9i11qzi0vbv09abfb50q8caq8wr6zrwg0cwqws9k394l62w"))))
+ (build-system ant-build-system)
+ (arguments
+ `(#:phases (modify-phases
+ %standard-phases
+ (add-after 'unpack 'prepare-for-build
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (setenv "ANT_OPTS" "-Dxsltc.java_cup.not_needed=true")))
+ (replace 'install
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (jar (string-append out "/share/java/")))
+ (install-file "build/xalan.jar" jar)
+ (install-file "build/serializer.jar" jar))))
+ (delete 'generate-jar-indices)
+ ;; (add-after 'install 'fail
+ ;; (lambda _
+ ;; (fail)))
+ )))
+ (native-inputs (list java-junit java-hamcrest-core))
+ (home-page "https://xalan.apache.org/xalan-j/index.html")
+ (synopsis "Java XSLT processor")
+ (description "XSLT processor in java implementing XSLT Version 1.0, XPath
+Version 1.0, and JAXP 1.3. It builds on SAX2 and DOM level 3.")
+ (license license:asl2.0)))
--
2.34.0
From 9c63946b3c65a65551daaa12ade79dbf3d99a9ae Mon Sep 17 00:00:00 2001
Message-Id: <9c63946b3c65a65551daaa12ade79dbf3d99a9ae.1645726878.git.frank.pursel@gmail.com>
In-Reply-To: <866c9adc6c7d47ef7e4bab4b37abddcec79c1844.1645726878.git.frank.pursel@gmail.com>
References: <866c9adc6c7d47ef7e4bab4b37abddcec79c1844.1645726878.git.frank.pursel@gmail.com>
From: Frank Pursel <frank.pursel@gmail.com>
Date: Thu, 24 Feb 2022 10:03:07 -0800
Subject: [PATCH] Adding a package for xalan
* gnu/packages/xml.scm (xalan): Added package.
@@ -33,6 +33,7 @@
;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net>
;;; Copyright © 2021 David Larsson <david.larsson@selfhosted.xyz>
;;; Copyright © 2021 Matthew James Kraai <kraai@ftbfs.org>
+;;; Copyright © 2022 Frank Pursel <frank.pursel@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -2595,3 +2596,62 @@ (define-public python-xmltodict
(description "This package provides a Python library to convert XML to
@code{OrderedDict}.")
(license license:expat)))
+
+(define-public xalan
+ (package
+ (name "xalan")
+ (version "j_2_7_2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://dlcdn.apache.org/xalan/xalan-j/source/xalan-"
+ version "-src.tar.gz"))
+ (sha256
+ (base32 "166vg9i11qzi0vbv09abfb50q8caq8wr6zrwg0cwqws9k394l62w"))
+ (modules '((guix build utils)))
+ (snippet '(begin
+ ;; Removing bundled jars
+ (format #t "~%~a~%" "Removing Bundled Jars")
+ (for-each
+ (lambda (f)
+ (format #t "~/Deleting: ~a~%" f)
+ (delete-file f))
+ (find-files "." "\\.jar$"))))))
+ (build-system ant-build-system)
+ (arguments
+ `(#:phases (modify-phases
+ %standard-phases
+ (add-after 'unpack 'prepare-for-build
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (setenv "ANT_OPTS" "-Dxsltc.java_cup.not_needed=true")
+ (substitute* "build.xml"
+ ;; Only the interpretive compiler. xsltc contains a
+ ;; circular reference java_cup.
+ (("(<target name=\"jar\" depends=\"xalan-interpretive.compile),.*"
+ all pre)
+ (string-append pre "\""))
+ (("xml-apis") "jaxp"))
+ (substitute* (list "src/MANIFEST.MF"
+ "src/manifest.xalan-interpretive"
+ "src/MANIFEST.SERIALIZER"
+ "src/manifest.xsltc")
+ (("xml-apis.jar") "jaxp.jar"))))
+ (replace 'install
+ (install-jars "build"))
+ (add-after 'install 'provide-jars-for-indexing
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (with-directory-excursion
+ (string-append (assoc-ref outputs "out") "/share/java")
+ (symlink
+ (search-input-file inputs "share/java/jaxp.jar")
+ "jaxp.jar")
+ (symlink
+ (search-input-file inputs "share/java/xercesImpl.jar")
+ "xercesImpl.jar")))))))
+ (native-inputs (list java-junit java-hamcrest-core))
+ (propagated-inputs (list java-jaxp java-xerces))
+ (home-page "https://xalan.apache.org/xalan-j/index.html")
+ (synopsis "Java XSLT processor")
+ (description "XSLT processor in java implementing XSLT Version 1.0, XPath
+Version 1.0, and JAXP 1.3. It builds on SAX2 and DOM level 3.")
+ (license license:asl2.0)))
Hi, Xalan is another venerable package that I've seen we need to get other things to work. This is clean and works well with others. Regards, Frank From 866c9adc6c7d47ef7e4bab4b37abddcec79c1844 Mon Sep 17 00:00:00 2001 Message-Id: <866c9adc6c7d47ef7e4bab4b37abddcec79c1844.1645726878.git.frank.pursel@gmail.com> From: Frank Pursel <frank.pursel@gmail.com> Date: Wed, 23 Feb 2022 13:59:26 -0800 Subject: [PATCH 1/3] xalan builds but may depend on bundled jars. --- gnu/packages/xml.scm | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+)