Package: guix-patches;
Reported by: Frank Pursel <frank.pursel <at> gmail.com>
Date: Fri, 20 Jan 2023 23:29:02 UTC
Severity: normal
Tags: patch
Done: Vagrant Cascadian <vagrant <at> debian.org>
Bug is archived. No further changes may be made.
To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 60976 in the body.
You can then email your comments to 60976 AT debbugs.gnu.org in the normal way.
Toggle the display of automated, internal messages from the tracker.
View this report as an mbox folder, status mbox, maintainer mbox
guix-patches <at> gnu.org
:bug#60976
; Package guix-patches
.
(Fri, 20 Jan 2023 23:29:02 GMT) Full text and rfc822 format available.Frank Pursel <frank.pursel <at> gmail.com>
:guix-patches <at> gnu.org
.
(Fri, 20 Jan 2023 23:29:02 GMT) Full text and rfc822 format available.Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
From: Frank Pursel <frank.pursel <at> gmail.com> To: guix-patches <at> gnu.org Subject: [PATCH] gnu: Add ditaa. Date: Fri, 6 Jan 2023 10:46:18 -0800
* gnu/packages/ditaa.scm: New file. --- With Guix as with everything in life: If at first you don't succeed . . . This patch addresses the issues I discovered some time after posting 60612 which was intended to address the issues with the still older 53908! All of which required building a few odd dependencies supporting the goal of adding ditaa to guix's repertoire. Like the earlier patches to add ditaa I'm again hopeful about this one and look forward to any feedback. Sincerely, Frank Pursel gnu/packages/ditaa.scm | 296 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 296 insertions(+) create mode 100644 gnu/packages/ditaa.scm diff --git a/gnu/packages/ditaa.scm b/gnu/packages/ditaa.scm new file mode 100644 index 0000000000..c47efa3b3e --- /dev/null +++ b/gnu/packages/ditaa.scm @@ -0,0 +1,296 @@ +;;; GNU Guix --- Functional package management for GNU +;;; +;;; 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/>. +;;; +;;; Copyright © 2023 Frank Pursel <frank.pursel <at> gmail.com> +;;; + +(define-module (gnu packages ditaa) + #:use-module (gnu packages) + #:use-module (gnu packages bash) + #:use-module (gnu packages java) + #:use-module (gnu packages xml) + #:use-module (gnu packages java-xml) + #:use-module (gnu packages javascript) + #:use-module (gnu packages batik) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix packages) + #:use-module (guix download) + #:use-module (guix git-download) + #:use-module (guix build-system ant) + #:use-module (guix modules) + #:use-module (guix build utils) ) + +(define-public java-jericho-html + (let ((ver "3.4") + (hash "1i7z3b8yamgkm7p3pv9qzv8l2kw15ccxy1aj9mpbf66kzkkds51i") + (internal-name "jericho-html")) + (package + (name "java-jericho-html") + (version ver) + (source (origin + (method url-fetch/zipbomb) + (uri (string-append + "https://sourceforge.net/projects/jerichohtml" + "/files/jericho-html/3.4/jericho-html-3.4.zip/download")) + (sha256 + (base32 + hash)) + (modules '((guix build utils))) + (snippet '(begin + (format #t "~%~a~%" "Removing sourced jar files.") + (for-each (lambda (jarf) + (delete-file jarf) + (format #t "Deleted: ~a~%" jarf)) + (find-files "." "\\.jar$")))))) + (build-system ant-build-system) + (arguments + `(#:jar-name (string-append ,name ".jar") + #:source-dir (string-append ,internal-name "-" + ,ver "/src/") + #:test-dir (string-append ,internal-name "-" + ,ver "/test/") + #:test-exclude (list "**/StAXTest.java" + "**/NodeIteratorTest.java" + "**/ScriptTest.java" + "**/SegmentGetStyleURISegmentsTest.java" + "**/SegmentTest.java" + "**/StreamedSourceTest.java" + "**/HTMLSanitiserTest.java") + #:phases (modify-phases %standard-phases + (add-before 'build 'add-ant-env-options + (lambda* _ + (setenv "ANT_OPTS" "-Dfile.encoding=iso-8859-1") #t)) + (add-after 'build 'check-prep + (lambda* (#:key source #:allow-other-keys) + (let* ((cwd (getcwd)) + (jericho-test (string-append cwd "/" ,internal-name + "-" ,ver "/test")) + (test (string-append jericho-test "/test")) + (test-data (string-append jericho-test "/data")) + (test-src (string-append jericho-test "/src")) + (test-src-data (string-append test-src "/data"))) + (format #t "~%Check Prep dir: ~s\n" cwd) + (substitute* "build.xml" + (("\\$\\{test\\.home\\}/java") + "${test.home}/src")) + (mkdir-p (string-append cwd "/build/test-classes")) + (copy-recursively (string-append cwd + "/" + ,internal-name + "-" + ,ver + "/samples/console/classes") + (string-append cwd + "/build/test-classes/")) + (mkdir-p test-src-data) + (copy-recursively test-data + test-src-data)) + #t))))) + (native-inputs (list java-junit java-slf4j-api java-log4j-api + java-commons-logging-minimal)) + (home-page "http://jericho.htmlparser.net/docs/index.html") + (description + "A java library allowing analysis and manipulation of +parts of an HTML document, including server-side tags, while +reproducing verbatim any unrecognised or invalid HTML. It also +provides high-level HTML form manipulation functions. +") + (synopsis "Java HTML Parser library") + (license (list license:lgpl2.1+ license:asl2.0 license:epl1.0))))) + +(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 + `(#:tests? #f + #:jar-name (string-append ,name ".jar") + #:source-dir "sources" + #: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" + "transcoder" "ttf2svg" + "util" "xml")) ) + (for-each + (lambda (sdir) + (copy-recursively + (string-append + "batik-" sdir "/src/main/java/") "sources/") ) + sub-dirs) ) + ;; Remove scripting subdirs for jpython, and jacl. + (for-each + (lambda (rfile) + (delete-file rfile) + (format #t "Deleted: ~s\n" rfile)) + (append + (find-files + "sources/org/apache/batik/script/jpython" ) + (find-files + "sources/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 ditaa + (package + (name "ditaa") + (version "0.11.0") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/stathissideris/ditaa") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1y3g17wp1wvb05m56pp25avww2njpgh0gk0jsbsf25scj7hyyj26")) + (modules '((guix build utils))) + (snippet + '(begin + (format #t "~%~a~%" "Finding and removing sourced jars.") + (for-each + (lambda (jarf) + (delete-file jarf) + (format #t "Deleted: ~a~%" jarf)) + (find-files "." "\\.jar$")))))) + (build-system ant-build-system) + (inputs (list bash-minimal)) + (native-inputs (list java-libbatik java-commons-cli java-w3c-svg + java-jericho-html `(,icedtea "jdk") java-junit)) + (arguments + `(#:build-target "release-all" + #:phases + (modify-phases %standard-phases + ;; Ant's buildfile and build tree need to be modified + ;; to provide access to the guix builds of the + ;; batik and the java-commons-cli + ;; jar files. Also some of the source requires java7. + (add-before 'build 'build-prep + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((batik-jar (search-input-file inputs + "share/java/batik.jar")) + (commons-cli-jar (search-input-file inputs + "lib/m2/commons-cli/commons-cli/1.4/commons-cli-1.4.jar"))) + (mkdir-p "lib") + (copy-file batik-jar "./lib/batik.jar") + (copy-file commons-cli-jar "./lib/commons-cli.jar")) + (with-directory-excursion "build" + (substitute* "release.xml" + (("source=\"1.6\"") + "source=\"7\"") + (("<file name=\"commons-cli-1.2.jar\"/>") + (string-append "<file name=\"commons-cli.jar\"/>" + "\n" "<file name=\"batik.jar\"/>")))) + #t)) + (replace 'build + (lambda* _ + (setenv "ANT_OPTS" + (string-append "-Dversion.string=" + ,version)) + (with-directory-excursion "build" + (invoke "ant" "-f" "release.xml" "release-jar")) #t)) + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (if tests? + (begin + (setenv "ANT_OPTS" + (string-append "-Dversion.string=" + ,version)) + (mkdir-p "tests/testlib") + (with-directory-excursion "build" + (invoke "ant" "-f" "release.xml" + "generate-test-images") + (invoke "ant" "test"))) #f))) + (replace 'install + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (lib (string-append out "/lib")) + (bin (string-append out "/bin")) + (bash (search-input-file inputs "bin/bash")) + (java (search-input-file inputs "bin/java")) + (jre (search-input-directory inputs "jre")) + (ditaa (string-append out "/bin/ditaa")) + (jar-name (string-append ,name + ,version ".jar"))) + (with-directory-excursion "releases" + (install-file jar-name lib)) + (mkdir-p bin) + (with-output-to-file ditaa + (lambda _ + (format #t "#!~a~%JAVA_HOME=~a ~a -jar ~a/~a $@~%" + bash jre java lib jar-name))) + (chmod ditaa #o755)) #t)) + (add-after 'install 'install-docs + (lambda* (#:key outputs #:allow-other-keys) + (let ((doc (string-append (assoc-ref outputs "out") + "/share/doc/"))) + (for-each (lambda (filen) + (install-file filen doc)) + (find-files "." ".*README\\.md"))) #t))))) + (home-page "https://github.com/stathissideris/ditaa") + (synopsis "Create graphics from ascii art") + (description + "ditaa is a small command-line utility +that converts diagrams drawn using ascii art +('drawings' that contain characters that resemble lines like | / - ), +into proper bitmap graphics.") + (license license:lgpl3))) + + + + + base-commit: 4e9cb45da0cc41cf85b720640a8ba9bc88c28d46 -- 2.38.1
guix-patches <at> gnu.org
:bug#60976
; Package guix-patches
.
(Tue, 24 Jan 2023 12:36:02 GMT) Full text and rfc822 format available.Message #8 received at 60976 <at> debbugs.gnu.org (full text, mbox):
From: Simon Tournier <zimon.toutoune <at> gmail.com> To: Frank Pursel <frank.pursel <at> gmail.com>, 60976 <at> debbugs.gnu.org Subject: Re: [bug#60976] [PATCH] gnu: Add ditaa. Date: Tue, 24 Jan 2023 11:44:58 +0100
Hi, Thanks for your contribution. Several minor things. On ven., 06 janv. 2023 at 10:46, Frank Pursel <frank.pursel <at> gmail.com> wrote: > * gnu/packages/ditaa.scm: New file. Why a new file? Could you split this commit? Basically, each package addition should go to their own commit. > +(define-public java-jericho-html Why not some of the gnu/packages/java-*.scm files? Or gnu/packages/batik.scm > +(define-public java-libbatik Idem. > + (arguments > + `(#:tests? #f Please provide a comment why the tests are disabled. For example, if there is no test suite or if upstream does not provide tests, (arguments `(#:tests? #f ; no tests > +(define-public ditaa Why not in gnu/packages/graph.scm? Cheers, simon
guix-patches <at> gnu.org
:bug#60976
; Package guix-patches
.
(Wed, 25 Jan 2023 02:51:01 GMT) Full text and rfc822 format available.Message #11 received at 60976 <at> debbugs.gnu.org (full text, mbox):
From: Frank Pursel <frank.pursel <at> gmail.com> To: 60976 <at> debbugs.gnu.org Subject: [PATCH] gnu: Add ditaa. Date: Tue, 24 Jan 2023 18:50:45 -0800
> On Tuesday 24 Jan 2023 at 0435 PST, Simon Tournier wrote: > Why a new file? > Could you split this commit? Basically, each package addition should go > to their own commit. Yes, I puzzled over that too and I think this is the best answer. If you don't admit a new file (for which I don't see great economy) then you must decide what three others you would dilute or adjust to avoid clearly identifying the relationship between these three packages. There seem to be prior examples of small, unique packages of about this size having separate files. Ditaa creates graphics but does not do anything like provide OS level interfaces like in 'graphics.scm'. Similarly, it does not deal with computer science graphs like in 'graph.scm'. It seems to me it is more like curl which stands alone in curl.scm or bison, in bison.scm, cmake, cpio, abiword, and I could go on. While, I know, ditaa is not as fundamental as these other giants it shares that ubiquity. So, I think, ditaa's uniqueness merits that distinction. Together with it's odd dependencies I don't see a better fit but if someone has the courage to positively assert where each of these packages fits I'm completely supportive. > Why not some of the gnu/packages/java-*.scm files? Or gnu/packages/batik.scm Another reason not to want to split this commit is because, per the reference manual, It seemed to me that this was also 'one set of related changes' enabling ditaa. java-libbatik and java-jericho-html are unlikely to be used in support of anything else but cannot be commited separately without breaking ditaa. I also suspect their purpose would quickly become unclear if mixed with other java packages. If there were another application that also built upon the concrete java-libbatik then I think the argument for moving it into batik.scm would be stronger but don't think there is one because batik.scm remains more abstract. I think that is ok. 'batik.scm' is java internally uses an svg api but ditaa leverages svg to produce other than svg output and is independent of java. It is a tool that is likely to be used in non-java environments. > Please provide a comment why the tests are disabled. For example, if > there is no test suite or if upstream does not provide tests, Knowing that ditaa's checks (which depend upon libbatik) was enough for me but I think I can do better. I'll get another patch together to achieve this. Noting that the qa checks on this patch now indicate that this patch is successful (I never take this for granted) does this seem like a good path forward? Regards, Frank
guix-patches <at> gnu.org
:bug#60976
; Package guix-patches
.
(Wed, 25 Jan 2023 10:11:02 GMT) Full text and rfc822 format available.Message #14 received at 60976 <at> debbugs.gnu.org (full text, mbox):
From: zimoun <zimon.toutoune <at> gmail.com> To: Frank Pursel <frank.pursel <at> gmail.com>, 60976 <at> debbugs.gnu.org Subject: Re: [bug#60976] [PATCH] gnu: Add ditaa. Date: Wed, 25 Jan 2023 11:10:01 +0100
Hi, On Tue, 24 Jan 2023 at 18:50, Frank Pursel <frank.pursel <at> gmail.com> wrote: > Another reason not to want to split this commit is because, per the > reference manual, It seemed to me that this was also 'one set of > related changes' enabling ditaa. java-libbatik and java-jericho-html > are unlikely to be used in support of anything else but cannot be > commited separately without breaking ditaa. I also suspect their > purpose would quickly become unclear if mixed with other java > packages. No, there are independent. This package java-jericho-html does not depend on the others so it deserves its proper commit mentioning its addition. --8<---------------cut here---------------start------------->8--- +(define-public java-jericho-html [...] + (native-inputs (list java-junit java-slf4j-api java-log4j-api + java-commons-logging-minimal)) --8<---------------cut here---------------end--------------->8--- Then, it is similar for this other one: --8<---------------cut here---------------start------------->8--- +(define-public java-libbatik [...] + (native-inputs (list rhino java-xmlgraphics-commons libxslt + java-jaxen java-junit java-jaxp java-xerces + java-jdom quickjs)) --8<---------------cut here---------------end--------------->8--- Therefore, I would expect three commits, like this: gnu: Add java-jericho-html. gnu: Add java-libbatik. gnu: Add ditaa. > If there were another application that also built upon the concrete > java-libbatik then I think the argument for moving it into batik.scm > would be stronger but don't think there is one because batik.scm > remains more abstract. I think that is ok. 'batik.scm' is java > internally uses an svg api but ditaa leverages svg to produce other > than svg output and is independent of java. It is a tool that > is likely to be used in non-java environments. Well, I am not convinced by this argument about java-libbatik. :-) Cheers, simon
guix-patches <at> gnu.org
:bug#60976
; Package guix-patches
.
(Wed, 25 Jan 2023 17:43:02 GMT) Full text and rfc822 format available.Message #17 received at 60976 <at> debbugs.gnu.org (full text, mbox):
From: Frank Pursel <frank.pursel <at> gmail.com> To: 60976 <at> debbugs.gnu.org Subject: [PATCH] gnu: Add ditaa. Date: Wed, 25 Jan 2023 09:42:51 -0800
Hi Zimoun, Ok, so, after some additional looking around, I think this is what we want to do: Three commits, as follows 1. java-libbatik -> batik.scm (gnu: java-libbatik) 2. java-jericho-html -> java-xml.scm, (gnu: java-jericho-html) 3. ditaa -> New file ditaa.scm, (gnu: add ditaa) Let me know how this sounds. Regards, Frank
guix-patches <at> gnu.org
:bug#60976
; Package guix-patches
.
(Thu, 26 Jan 2023 13:07:02 GMT) Full text and rfc822 format available.Message #20 received at 60976 <at> debbugs.gnu.org (full text, mbox):
From: Simon Tournier <zimon.toutoune <at> gmail.com> To: Frank Pursel <frank.pursel <at> gmail.com>, 60976 <at> debbugs.gnu.org Subject: Re: [bug#60976] [PATCH] gnu: Add ditaa. Date: Thu, 26 Jan 2023 13:36:46 +0100
Hi Frank, On Wed, 25 Jan 2023 at 09:42, Frank Pursel <frank.pursel <at> gmail.com> wrote: > Three commits, as follows > > 1. java-libbatik -> batik.scm (gnu: java-libbatik) > 2. java-jericho-html -> java-xml.scm, (gnu: java-jericho-html) > 3. ditaa -> New file ditaa.scm, (gnu: add ditaa) > > Let me know how this sounds. This sounds good. :-) Thanks. Cheers, simon
guix-patches <at> gnu.org
:bug#60976
; Package guix-patches
.
(Thu, 26 Jan 2023 17:19:02 GMT) Full text and rfc822 format available.Message #23 received at 60976 <at> debbugs.gnu.org (full text, mbox):
From: Frank Pursel <frank.pursel <at> gmail.com> To: 60976 <at> debbugs.gnu.org Subject: [PATCH 1/3] gnu: Add java-jericho-html Date: Thu, 26 Jan 2023 08:46:25 -0800
--- gnu/packages/java-xml.scm | 79 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 79 insertions(+) diff --git a/gnu/packages/java-xml.scm b/gnu/packages/java-xml.scm index 5b16806e27..9cf256549b 100644 --- a/gnu/packages/java-xml.scm +++ b/gnu/packages/java-xml.scm @@ -6,6 +6,7 @@ ;;; Copyright © 2020 Vincent Legoll <vincent.legoll <at> gmail.com> ;;; Copyright © 2021 Léo Le Bouter <lle-bout <at> zaclys.net> ;;; Copyright © 2022 Christopher Baines <mail <at> cbaines.net> +;;; Copyright © 2023 Frank Pursel <frank.pursel <at> gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -37,6 +38,84 @@ (define-module (gnu packages java-xml) #:use-module (guix build-system ant) #:use-module (guix utils)) +(define-public java-jericho-html + (let ((ver "3.4") + (hash "1i7z3b8yamgkm7p3pv9qzv8l2kw15ccxy1aj9mpbf66kzkkds51i") + (internal-name "jericho-html")) + (package + (name "java-jericho-html") + (version ver) + (source (origin + (method url-fetch/zipbomb) + (uri (string-append + "https://sourceforge.net/projects/jerichohtml" + "/files/jericho-html/3.4/jericho-html-3.4.zip/download")) + (sha256 + (base32 + hash)) + (modules '((guix build utils))) + (snippet '(begin + (format #t "~%~a~%" "Removing sourced jar files.") + (for-each (lambda (jarf) + (delete-file jarf) + (format #t "Deleted: ~a~%" jarf)) + (find-files "." "\\.jar$")))))) + (build-system ant-build-system) + (arguments + `(#:jar-name (string-append ,name ".jar") + #:source-dir (string-append ,internal-name "-" + ,ver "/src/") + #:test-dir (string-append ,internal-name "-" + ,ver "/test/") + #:test-exclude (list "**/StAXTest.java" + "**/NodeIteratorTest.java" + "**/ScriptTest.java" + "**/SegmentGetStyleURISegmentsTest.java" + "**/SegmentTest.java" + "**/StreamedSourceTest.java" + "**/HTMLSanitiserTest.java") + #:phases (modify-phases %standard-phases + (add-before 'build 'add-ant-env-options + (lambda* _ + (setenv "ANT_OPTS" "-Dfile.encoding=iso-8859-1") #t)) + (add-after 'build 'check-prep + (lambda* (#:key source #:allow-other-keys) + (let* ((cwd (getcwd)) + (jericho-test (string-append cwd "/" ,internal-name + "-" ,ver "/test")) + (test (string-append jericho-test "/test")) + (test-data (string-append jericho-test "/data")) + (test-src (string-append jericho-test "/src")) + (test-src-data (string-append test-src "/data"))) + (format #t "~%Check Prep dir: ~s\n" cwd) + (substitute* "build.xml" + (("\\$\\{test\\.home\\}/java") + "${test.home}/src")) + (mkdir-p (string-append cwd "/build/test-classes")) + (copy-recursively (string-append cwd + "/" + ,internal-name + "-" + ,ver + "/samples/console/classes") + (string-append cwd + "/build/test-classes/")) + (mkdir-p test-src-data) + (copy-recursively test-data + test-src-data)) + #t))))) + (native-inputs (list java-junit java-slf4j-api java-log4j-api + java-commons-logging-minimal)) + (home-page "http://jericho.htmlparser.net/docs/index.html") + (description + "A java library allowing analysis and manipulation of +parts of an HTML document, including server-side tags, while +reproducing verbatim any unrecognised or invalid HTML. It also +provides high-level HTML form manipulation functions. +") + (synopsis "Java HTML Parser library") + (license (list license:lgpl2.1+ license:asl2.0 license:epl1.0))))) + (define-public java-simple-xml (package (name "java-simple-xml") base-commit: 0e480ca7b60428a62fc4681d7aca6c7c067add42 -- 2.38.1
guix-patches <at> gnu.org
:bug#60976
; Package guix-patches
.
(Thu, 26 Jan 2023 17:20:01 GMT) Full text and rfc822 format available.Message #26 received at 60976 <at> debbugs.gnu.org (full text, mbox):
From: Frank Pursel <frank.pursel <at> gmail.com> To: 60976 <at> debbugs.gnu.org Subject: [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 <at> scratchpost.org> ;;; Copyright © 2020 Tobias Geerinckx-Rice <me <at> tobias.gr> +;;; Copyright © 2023 Frank Pursel <frank.pursel <at> 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
guix-patches <at> gnu.org
:bug#60976
; Package guix-patches
.
(Thu, 26 Jan 2023 17:21:02 GMT) Full text and rfc822 format available.Message #29 received at 60976 <at> debbugs.gnu.org (full text, mbox):
From: Frank Pursel <frank.pursel <at> gmail.com> To: 60976 <at> debbugs.gnu.org Subject: [PATCH 3/3] gnu: Add ditaa Date: Thu, 26 Jan 2023 09:01:17 -0800
--- gnu/packages/ditaa.scm | 145 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 145 insertions(+) create mode 100644 gnu/packages/ditaa.scm diff --git a/gnu/packages/ditaa.scm b/gnu/packages/ditaa.scm new file mode 100644 index 0000000000..e1f063e179 --- /dev/null +++ b/gnu/packages/ditaa.scm @@ -0,0 +1,145 @@ +;;; GNU Guix --- Functional package management for GNU +;;; +;;; 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/>. +;;; +;;; Copyright © 2023 Frank Pursel <frank.pursel <at> gmail.com> +;;; + +(define-module (gnu packages ditaa) + #:use-module (gnu packages) + #:use-module (gnu packages bash) + #:use-module (gnu packages batik) + #:use-module (gnu packages java) + #:use-module (gnu packages java-xml) + #:use-module (gnu packages xml) + #:use-module (guix build-system ant) + #:use-module (guix build utils) + #:use-module (guix download) + #:use-module (guix git-download) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix packages) + #:use-module (guix modules) + ) + +(define-public ditaa + (package + (name "ditaa") + (version "0.11.0") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/stathissideris/ditaa") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1y3g17wp1wvb05m56pp25avww2njpgh0gk0jsbsf25scj7hyyj26")) + (modules '((guix build utils))) + (snippet + '(begin + (format #t "~%~a~%" "Finding and removing sourced jars.") + (for-each + (lambda (jarf) + (delete-file jarf) + (format #t "Deleted: ~a~%" jarf)) + (find-files "." "\\.jar$")))))) + (build-system ant-build-system) + (inputs (list bash-minimal)) + (native-inputs (list java-libbatik java-commons-cli java-w3c-svg + java-jericho-html `(,icedtea "jdk") java-junit)) + (arguments + `(#:build-target "release-all" + #:phases + (modify-phases %standard-phases + ;; Ant's buildfile and build tree need to be modified + ;; to provide access to the guix builds of the + ;; batik and the java-commons-cli + ;; jar files. Also some of the source requires java7. + (add-before 'build 'build-prep + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((batik-jar (search-input-file inputs + "share/java/batik.jar")) + (commons-cli-jar (search-input-file inputs + "lib/m2/commons-cli/commons-cli/1.4/commons-cli-1.4.jar"))) + (mkdir-p "lib") + (copy-file batik-jar "./lib/batik.jar") + (copy-file commons-cli-jar "./lib/commons-cli.jar")) + (with-directory-excursion "build" + (substitute* "release.xml" + (("source=\"1.6\"") + "source=\"7\"") + (("<file name=\"commons-cli-1.2.jar\"/>") + (string-append "<file name=\"commons-cli.jar\"/>" + "\n" "<file name=\"batik.jar\"/>")))) + #t)) + (replace 'build + (lambda* _ + (setenv "ANT_OPTS" + (string-append "-Dversion.string=" + ,version)) + (with-directory-excursion "build" + (invoke "ant" "-f" "release.xml" "release-jar")) #t)) + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (if tests? + (begin + (setenv "ANT_OPTS" + (string-append "-Dversion.string=" + ,version)) + (mkdir-p "tests/testlib") + (with-directory-excursion "build" + (invoke "ant" "-f" "release.xml" + "generate-test-images") + (invoke "ant" "test"))) #f))) + (replace 'install + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (lib (string-append out "/lib")) + (bin (string-append out "/bin")) + (bash (search-input-file inputs "bin/bash")) + (java (search-input-file inputs "bin/java")) + (jre (search-input-directory inputs "jre")) + (ditaa (string-append out "/bin/ditaa")) + (jar-name (string-append ,name + ,version ".jar"))) + (with-directory-excursion "releases" + (install-file jar-name lib)) + (mkdir-p bin) + (with-output-to-file ditaa + (lambda _ + (format #t "#!~a~%JAVA_HOME=~a ~a -jar ~a/~a $@~%" + bash jre java lib jar-name))) + (chmod ditaa #o755)) #t)) + (add-after 'install 'install-docs + (lambda* (#:key outputs #:allow-other-keys) + (let ((doc (string-append (assoc-ref outputs "out") + "/share/doc/"))) + (for-each (lambda (filen) + (install-file filen doc)) + (find-files "." ".*README\\.md"))) #t))))) + (home-page "https://github.com/stathissideris/ditaa") + (synopsis "Create graphics from ascii art") + (description + "ditaa is a small command-line utility +that converts diagrams drawn using ascii art +('drawings' that contain characters that resemble lines like | / - ), +into proper bitmap graphics.") + (license license:lgpl3))) + + + + + -- 2.38.1
guix-patches <at> gnu.org
:bug#60976
; Package guix-patches
.
(Fri, 27 Jan 2023 13:42:02 GMT) Full text and rfc822 format available.Message #32 received at 60976 <at> debbugs.gnu.org (full text, mbox):
From: Frank Pursel <frank.pursel <at> gmail.com> To: 60976 <at> debbugs.gnu.org Subject: [PATCH 3/3] Add ditaa Date: Fri, 27 Jan 2023 05:41:23 -0800
My experience has been that after making a change it takes 4 days for the QA process to produce other than an 'Unkown' outcome. Maybe the size of the change has some impact but I suspect it has more to do with the size of the outstanding queue.
guix-patches <at> gnu.org
:bug#60976
; Package guix-patches
.
(Sat, 28 Jan 2023 04:51:02 GMT) Full text and rfc822 format available.Message #35 received at 60976 <at> debbugs.gnu.org (full text, mbox):
From: Frank Pursel <frank.pursel <at> gmail.com> To: 60976 <at> debbugs.gnu.org Subject: [PATCH] gnu: Add ditaa. Date: Fri, 27 Jan 2023 20:49:57 -0800
Well, it took only about 36 hours to move from 'Unknown' to 'Succeeding'. That is much better than my recent prior experience. Kudos is owed to the qa team. :)
guix-patches <at> gnu.org
:bug#60976
; Package guix-patches
.
(Sun, 26 Feb 2023 00:31:02 GMT) Full text and rfc822 format available.Message #38 received at 60976 <at> debbugs.gnu.org (full text, mbox):
From: Frank Pursel <frank.pursel <at> gmail.com> To: 60976 <at> debbugs.gnu.org Subject: [PATCH v3 1/4] gnu: Add java-jericho-html Date: Thu, 26 Jan 2023 08:46:25 -0800
--- The main point here is to give us ditaa but we also want the ziggaraut to be fully guix maintainable. Hence here I submit another complete patch set providing all that preceeded plus changes to java-jericho-html that, in hindsight, I wish I had put in there in the first place. Better late than never. Regards, Frank Pursel gnu/packages/java-xml.scm | 79 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 79 insertions(+) diff --git a/gnu/packages/java-xml.scm b/gnu/packages/java-xml.scm index 5b16806e27..9cf256549b 100644 --- a/gnu/packages/java-xml.scm +++ b/gnu/packages/java-xml.scm @@ -6,6 +6,7 @@ ;;; Copyright © 2020 Vincent Legoll <vincent.legoll <at> gmail.com> ;;; Copyright © 2021 Léo Le Bouter <lle-bout <at> zaclys.net> ;;; Copyright © 2022 Christopher Baines <mail <at> cbaines.net> +;;; Copyright © 2023 Frank Pursel <frank.pursel <at> gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -37,6 +38,84 @@ (define-module (gnu packages java-xml) #:use-module (guix build-system ant) #:use-module (guix utils)) +(define-public java-jericho-html + (let ((ver "3.4") + (hash "1i7z3b8yamgkm7p3pv9qzv8l2kw15ccxy1aj9mpbf66kzkkds51i") + (internal-name "jericho-html")) + (package + (name "java-jericho-html") + (version ver) + (source (origin + (method url-fetch/zipbomb) + (uri (string-append + "https://sourceforge.net/projects/jerichohtml" + "/files/jericho-html/3.4/jericho-html-3.4.zip/download")) + (sha256 + (base32 + hash)) + (modules '((guix build utils))) + (snippet '(begin + (format #t "~%~a~%" "Removing sourced jar files.") + (for-each (lambda (jarf) + (delete-file jarf) + (format #t "Deleted: ~a~%" jarf)) + (find-files "." "\\.jar$")))))) + (build-system ant-build-system) + (arguments + `(#:jar-name (string-append ,name ".jar") + #:source-dir (string-append ,internal-name "-" + ,ver "/src/") + #:test-dir (string-append ,internal-name "-" + ,ver "/test/") + #:test-exclude (list "**/StAXTest.java" + "**/NodeIteratorTest.java" + "**/ScriptTest.java" + "**/SegmentGetStyleURISegmentsTest.java" + "**/SegmentTest.java" + "**/StreamedSourceTest.java" + "**/HTMLSanitiserTest.java") + #:phases (modify-phases %standard-phases + (add-before 'build 'add-ant-env-options + (lambda* _ + (setenv "ANT_OPTS" "-Dfile.encoding=iso-8859-1") #t)) + (add-after 'build 'check-prep + (lambda* (#:key source #:allow-other-keys) + (let* ((cwd (getcwd)) + (jericho-test (string-append cwd "/" ,internal-name + "-" ,ver "/test")) + (test (string-append jericho-test "/test")) + (test-data (string-append jericho-test "/data")) + (test-src (string-append jericho-test "/src")) + (test-src-data (string-append test-src "/data"))) + (format #t "~%Check Prep dir: ~s\n" cwd) + (substitute* "build.xml" + (("\\$\\{test\\.home\\}/java") + "${test.home}/src")) + (mkdir-p (string-append cwd "/build/test-classes")) + (copy-recursively (string-append cwd + "/" + ,internal-name + "-" + ,ver + "/samples/console/classes") + (string-append cwd + "/build/test-classes/")) + (mkdir-p test-src-data) + (copy-recursively test-data + test-src-data)) + #t))))) + (native-inputs (list java-junit java-slf4j-api java-log4j-api + java-commons-logging-minimal)) + (home-page "http://jericho.htmlparser.net/docs/index.html") + (description + "A java library allowing analysis and manipulation of +parts of an HTML document, including server-side tags, while +reproducing verbatim any unrecognised or invalid HTML. It also +provides high-level HTML form manipulation functions. +") + (synopsis "Java HTML Parser library") + (license (list license:lgpl2.1+ license:asl2.0 license:epl1.0))))) + (define-public java-simple-xml (package (name "java-simple-xml") base-commit: 0e480ca7b60428a62fc4681d7aca6c7c067add42 -- 2.39.1
guix-patches <at> gnu.org
:bug#60976
; Package guix-patches
.
(Sun, 26 Feb 2023 00:32:01 GMT) Full text and rfc822 format available.Message #41 received at 60976 <at> debbugs.gnu.org (full text, mbox):
From: Frank Pursel <frank.pursel <at> gmail.com> To: 60976 <at> debbugs.gnu.org Subject: [PATCH v3 2/4] 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 <at> scratchpost.org> ;;; Copyright © 2020 Tobias Geerinckx-Rice <me <at> tobias.gr> +;;; Copyright © 2023 Frank Pursel <frank.pursel <at> 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.39.1
guix-patches <at> gnu.org
:bug#60976
; Package guix-patches
.
(Sun, 26 Feb 2023 00:33:02 GMT) Full text and rfc822 format available.Message #44 received at 60976 <at> debbugs.gnu.org (full text, mbox):
From: Frank Pursel <frank.pursel <at> gmail.com> To: 60976 <at> debbugs.gnu.org Subject: [PATCH v3 3/4] gnu: Add ditaa Date: Thu, 26 Jan 2023 09:01:17 -0800
--- gnu/packages/ditaa.scm | 145 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 145 insertions(+) create mode 100644 gnu/packages/ditaa.scm diff --git a/gnu/packages/ditaa.scm b/gnu/packages/ditaa.scm new file mode 100644 index 0000000000..e1f063e179 --- /dev/null +++ b/gnu/packages/ditaa.scm @@ -0,0 +1,145 @@ +;;; GNU Guix --- Functional package management for GNU +;;; +;;; 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/>. +;;; +;;; Copyright © 2023 Frank Pursel <frank.pursel <at> gmail.com> +;;; + +(define-module (gnu packages ditaa) + #:use-module (gnu packages) + #:use-module (gnu packages bash) + #:use-module (gnu packages batik) + #:use-module (gnu packages java) + #:use-module (gnu packages java-xml) + #:use-module (gnu packages xml) + #:use-module (guix build-system ant) + #:use-module (guix build utils) + #:use-module (guix download) + #:use-module (guix git-download) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix packages) + #:use-module (guix modules) + ) + +(define-public ditaa + (package + (name "ditaa") + (version "0.11.0") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/stathissideris/ditaa") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1y3g17wp1wvb05m56pp25avww2njpgh0gk0jsbsf25scj7hyyj26")) + (modules '((guix build utils))) + (snippet + '(begin + (format #t "~%~a~%" "Finding and removing sourced jars.") + (for-each + (lambda (jarf) + (delete-file jarf) + (format #t "Deleted: ~a~%" jarf)) + (find-files "." "\\.jar$")))))) + (build-system ant-build-system) + (inputs (list bash-minimal)) + (native-inputs (list java-libbatik java-commons-cli java-w3c-svg + java-jericho-html `(,icedtea "jdk") java-junit)) + (arguments + `(#:build-target "release-all" + #:phases + (modify-phases %standard-phases + ;; Ant's buildfile and build tree need to be modified + ;; to provide access to the guix builds of the + ;; batik and the java-commons-cli + ;; jar files. Also some of the source requires java7. + (add-before 'build 'build-prep + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((batik-jar (search-input-file inputs + "share/java/batik.jar")) + (commons-cli-jar (search-input-file inputs + "lib/m2/commons-cli/commons-cli/1.4/commons-cli-1.4.jar"))) + (mkdir-p "lib") + (copy-file batik-jar "./lib/batik.jar") + (copy-file commons-cli-jar "./lib/commons-cli.jar")) + (with-directory-excursion "build" + (substitute* "release.xml" + (("source=\"1.6\"") + "source=\"7\"") + (("<file name=\"commons-cli-1.2.jar\"/>") + (string-append "<file name=\"commons-cli.jar\"/>" + "\n" "<file name=\"batik.jar\"/>")))) + #t)) + (replace 'build + (lambda* _ + (setenv "ANT_OPTS" + (string-append "-Dversion.string=" + ,version)) + (with-directory-excursion "build" + (invoke "ant" "-f" "release.xml" "release-jar")) #t)) + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (if tests? + (begin + (setenv "ANT_OPTS" + (string-append "-Dversion.string=" + ,version)) + (mkdir-p "tests/testlib") + (with-directory-excursion "build" + (invoke "ant" "-f" "release.xml" + "generate-test-images") + (invoke "ant" "test"))) #f))) + (replace 'install + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (lib (string-append out "/lib")) + (bin (string-append out "/bin")) + (bash (search-input-file inputs "bin/bash")) + (java (search-input-file inputs "bin/java")) + (jre (search-input-directory inputs "jre")) + (ditaa (string-append out "/bin/ditaa")) + (jar-name (string-append ,name + ,version ".jar"))) + (with-directory-excursion "releases" + (install-file jar-name lib)) + (mkdir-p bin) + (with-output-to-file ditaa + (lambda _ + (format #t "#!~a~%JAVA_HOME=~a ~a -jar ~a/~a $@~%" + bash jre java lib jar-name))) + (chmod ditaa #o755)) #t)) + (add-after 'install 'install-docs + (lambda* (#:key outputs #:allow-other-keys) + (let ((doc (string-append (assoc-ref outputs "out") + "/share/doc/"))) + (for-each (lambda (filen) + (install-file filen doc)) + (find-files "." ".*README\\.md"))) #t))))) + (home-page "https://github.com/stathissideris/ditaa") + (synopsis "Create graphics from ascii art") + (description + "ditaa is a small command-line utility +that converts diagrams drawn using ascii art +('drawings' that contain characters that resemble lines like | / - ), +into proper bitmap graphics.") + (license license:lgpl3))) + + + + + -- 2.39.1
guix-patches <at> gnu.org
:bug#60976
; Package guix-patches
.
(Sun, 26 Feb 2023 00:34:02 GMT) Full text and rfc822 format available.Message #47 received at 60976 <at> debbugs.gnu.org (full text, mbox):
From: Frank Pursel <frank.pursel <at> gmail.com> To: 60976 <at> debbugs.gnu.org Subject: [PATCH v3 4/4] java-jericho-html: Using bzr-fetch and complete testing. Date: Thu, 23 Feb 2023 13:00:27 -0800
--- gnu/packages/java-xml.scm | 118 +++++++++++++++----------------------- 1 file changed, 46 insertions(+), 72 deletions(-) diff --git a/gnu/packages/java-xml.scm b/gnu/packages/java-xml.scm index 9cf256549b..739b525fa0 100644 --- a/gnu/packages/java-xml.scm +++ b/gnu/packages/java-xml.scm @@ -30,6 +30,7 @@ (define-module (gnu packages java-xml) #:use-module (gnu packages compression) #:use-module (gnu packages gtk) #:use-module (gnu packages java) + #:use-module (guix bzr-download) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix gexp) #:use-module (guix packages) @@ -39,82 +40,55 @@ (define-module (gnu packages java-xml) #:use-module (guix utils)) (define-public java-jericho-html - (let ((ver "3.4") - (hash "1i7z3b8yamgkm7p3pv9qzv8l2kw15ccxy1aj9mpbf66kzkkds51i") - (internal-name "jericho-html")) - (package - (name "java-jericho-html") - (version ver) - (source (origin - (method url-fetch/zipbomb) - (uri (string-append - "https://sourceforge.net/projects/jerichohtml" - "/files/jericho-html/3.4/jericho-html-3.4.zip/download")) - (sha256 - (base32 - hash)) - (modules '((guix build utils))) - (snippet '(begin - (format #t "~%~a~%" "Removing sourced jar files.") - (for-each (lambda (jarf) - (delete-file jarf) - (format #t "Deleted: ~a~%" jarf)) - (find-files "." "\\.jar$")))))) - (build-system ant-build-system) - (arguments - `(#:jar-name (string-append ,name ".jar") - #:source-dir (string-append ,internal-name "-" - ,ver "/src/") - #:test-dir (string-append ,internal-name "-" - ,ver "/test/") - #:test-exclude (list "**/StAXTest.java" - "**/NodeIteratorTest.java" - "**/ScriptTest.java" - "**/SegmentGetStyleURISegmentsTest.java" - "**/SegmentTest.java" - "**/StreamedSourceTest.java" - "**/HTMLSanitiserTest.java") - #:phases (modify-phases %standard-phases - (add-before 'build 'add-ant-env-options - (lambda* _ - (setenv "ANT_OPTS" "-Dfile.encoding=iso-8859-1") #t)) - (add-after 'build 'check-prep - (lambda* (#:key source #:allow-other-keys) - (let* ((cwd (getcwd)) - (jericho-test (string-append cwd "/" ,internal-name - "-" ,ver "/test")) - (test (string-append jericho-test "/test")) - (test-data (string-append jericho-test "/data")) - (test-src (string-append jericho-test "/src")) - (test-src-data (string-append test-src "/data"))) - (format #t "~%Check Prep dir: ~s\n" cwd) - (substitute* "build.xml" - (("\\$\\{test\\.home\\}/java") - "${test.home}/src")) - (mkdir-p (string-append cwd "/build/test-classes")) - (copy-recursively (string-append cwd - "/" - ,internal-name - "-" - ,ver - "/samples/console/classes") - (string-append cwd - "/build/test-classes/")) - (mkdir-p test-src-data) - (copy-recursively test-data - test-src-data)) - #t))))) - (native-inputs (list java-junit java-slf4j-api java-log4j-api - java-commons-logging-minimal)) - (home-page "http://jericho.htmlparser.net/docs/index.html") - (description - "A java library allowing analysis and manipulation of + (package + (name "java-jericho-html") + (version "3.4") + (source (origin + (method bzr-fetch) + (uri + (bzr-reference + (url + "http://jerichohtml.bzr.sourceforge.net/bzr/jerichohtml") + (revision (string-append "tag:" version)))) + (file-name (string-append name "-" version "-checkout")) + (sha256 + (base32 + "1zsf4i33jn05pma4y1658d6avhw7x4c12ggs96szhc06b7bxs8j0")) + (modules '((guix build utils))) + (snippet '(begin + (format #t "~%~a~%" "Removing sourced jar files.") + (for-each (lambda (jarf) + (delete-file jarf) + (format #t "Deleted: ~a~%" jarf)) + (find-files "." "\\.jar$")))))) + (build-system ant-build-system) + (arguments + `(#:jar-name (string-append ,name ".jar") + #:phases (modify-phases %standard-phases + (add-before 'build 'add-ant-env-options + (lambda* _ + (setenv "ANT_OPTS" "-Dfile.encoding=iso-8859-1") + (let ((match-str + (string-append "jerichohtml-" ,version))) + (substitute* "build.xml" + ((match-str) + ""))) + #t)) + (add-after 'build 'check-prep + (lambda* (#:key source #:allow-other-keys) + (mkdir-p "src/test/java") + #t))))) + (native-inputs (list java-junit java-slf4j-api java-log4j-api + java-commons-logging-minimal)) + (home-page "http://jericho.htmlparser.net/docs/index.html") + (description + "A java library allowing analysis and manipulation of parts of an HTML document, including server-side tags, while reproducing verbatim any unrecognised or invalid HTML. It also provides high-level HTML form manipulation functions. ") - (synopsis "Java HTML Parser library") - (license (list license:lgpl2.1+ license:asl2.0 license:epl1.0))))) + (synopsis "Java HTML Parser library") + (license (list license:lgpl2.1+ license:asl2.0 license:epl1.0)))) (define-public java-simple-xml (package -- 2.39.1
guix-patches <at> gnu.org
:bug#60976
; Package guix-patches
.
(Sun, 26 Feb 2023 07:49:01 GMT) Full text and rfc822 format available.Message #50 received at 60976 <at> debbugs.gnu.org (full text, mbox):
From: Julien Lepiller <julien <at> lepiller.eu> To: Frank Pursel <frank.pursel <at> gmail.com>, 60976 <at> debbugs.gnu.org Subject: Re: [bug#60976] [PATCH v3 1/4] gnu: Add java-jericho-html Date: Sun, 26 Feb 2023 08:47:12 +0100
Hi! Since you're introducing jericho-html in this series, why don't you merge the first and fourth patch, to introduce the correct version immediately? Note that phases do not need to end with #t anymore. Usually, synopsis is put before description. The description should be a full sentence, it cannot start with "A". Maybe "This library is a…" or "This Java library allows analysing…" I'm not a fan of having the hash and version outside the package dehinition with a let when it's not necessary. You can put the hash directly where it belongs, since it's used only once, and the version in the version fiild. You can refer to the version field in all subsequent fields, which is how we do it usually. Same with internal name, it won't change, so I would just use a string directly. I'd also sort inputs in alphabetic order (even chough most packages in java.scm don't…) Le 26 janvier 2023 17:46:25 GMT+01:00, Frank Pursel <frank.pursel <at> gmail.com> a écrit : >--- >The main point here is to give us ditaa but we also want the ziggaraut >to be fully guix maintainable. Hence here I submit another complete >patch set providing all that preceeded plus changes to java-jericho-html >that, in hindsight, I wish I had put in there in the first place. >Better late than never. > >Regards, >Frank Pursel > > gnu/packages/java-xml.scm | 79 +++++++++++++++++++++++++++++++++++++++ > 1 file changed, 79 insertions(+) > >diff --git a/gnu/packages/java-xml.scm b/gnu/packages/java-xml.scm >index 5b16806e27..9cf256549b 100644 >--- a/gnu/packages/java-xml.scm >+++ b/gnu/packages/java-xml.scm >@@ -6,6 +6,7 @@ > ;;; Copyright © 2020 Vincent Legoll <vincent.legoll <at> gmail.com> > ;;; Copyright © 2021 Léo Le Bouter <lle-bout <at> zaclys.net> > ;;; Copyright © 2022 Christopher Baines <mail <at> cbaines.net> >+;;; Copyright © 2023 Frank Pursel <frank.pursel <at> gmail.com> > ;;; > ;;; This file is part of GNU Guix. > ;;; >@@ -37,6 +38,84 @@ (define-module (gnu packages java-xml) > #:use-module (guix build-system ant) > #:use-module (guix utils)) > >+(define-public java-jericho-html >+ (let ((ver "3.4") >+ (hash "1i7z3b8yamgkm7p3pv9qzv8l2kw15ccxy1aj9mpbf66kzkkds51i") >+ (internal-name "jericho-html")) >+ (package >+ (name "java-jericho-html") >+ (version ver) >+ (source (origin >+ (method url-fetch/zipbomb) >+ (uri (string-append >+ "https://sourceforge.net/projects/jerichohtml" >+ "/files/jericho-html/3.4/jericho-html-3.4.zip/download")) >+ (sha256 >+ (base32 >+ hash)) >+ (modules '((guix build utils))) >+ (snippet '(begin >+ (format #t "~%~a~%" "Removing sourced jar files.") >+ (for-each (lambda (jarf) >+ (delete-file jarf) >+ (format #t "Deleted: ~a~%" jarf)) >+ (find-files "." "\\.jar$")))))) >+ (build-system ant-build-system) >+ (arguments >+ `(#:jar-name (string-append ,name ".jar") >+ #:source-dir (string-append ,internal-name "-" >+ ,ver "/src/") >+ #:test-dir (string-append ,internal-name "-" >+ ,ver "/test/") >+ #:test-exclude (list "**/StAXTest.java" >+ "**/NodeIteratorTest.java" >+ "**/ScriptTest.java" >+ "**/SegmentGetStyleURISegmentsTest.java" >+ "**/SegmentTest.java" >+ "**/StreamedSourceTest.java" >+ "**/HTMLSanitiserTest.java") >+ #:phases (modify-phases %standard-phases >+ (add-before 'build 'add-ant-env-options >+ (lambda* _ >+ (setenv "ANT_OPTS" "-Dfile.encoding=iso-8859-1") #t)) >+ (add-after 'build 'check-prep >+ (lambda* (#:key source #:allow-other-keys) >+ (let* ((cwd (getcwd)) >+ (jericho-test (string-append cwd "/" ,internal-name >+ "-" ,ver "/test")) >+ (test (string-append jericho-test "/test")) >+ (test-data (string-append jericho-test "/data")) >+ (test-src (string-append jericho-test "/src")) >+ (test-src-data (string-append test-src "/data"))) >+ (format #t "~%Check Prep dir: ~s\n" cwd) >+ (substitute* "build.xml" >+ (("\\$\\{test\\.home\\}/java") >+ "${test.home}/src")) >+ (mkdir-p (string-append cwd "/build/test-classes")) >+ (copy-recursively (string-append cwd >+ "/" >+ ,internal-name >+ "-" >+ ,ver >+ "/samples/console/classes") >+ (string-append cwd >+ "/build/test-classes/")) >+ (mkdir-p test-src-data) >+ (copy-recursively test-data >+ test-src-data)) >+ #t))))) >+ (native-inputs (list java-junit java-slf4j-api java-log4j-api >+ java-commons-logging-minimal)) >+ (home-page "http://jericho.htmlparser.net/docs/index.html") >+ (description >+ "A java library allowing analysis and manipulation of >+parts of an HTML document, including server-side tags, while >+reproducing verbatim any unrecognised or invalid HTML. It also >+provides high-level HTML form manipulation functions. >+") >+ (synopsis "Java HTML Parser library") >+ (license (list license:lgpl2.1+ license:asl2.0 license:epl1.0))))) >+ > (define-public java-simple-xml > (package > (name "java-simple-xml") > >base-commit: 0e480ca7b60428a62fc4681d7aca6c7c067add42
guix-patches <at> gnu.org
:bug#60976
; Package guix-patches
.
(Sun, 26 Feb 2023 08:00:02 GMT) Full text and rfc822 format available.Message #53 received at 60976 <at> debbugs.gnu.org (full text, mbox):
From: Julien Lepiller <julien <at> lepiller.eu> To: Frank Pursel <frank.pursel <at> gmail.com>, 60976 <at> debbugs.gnu.org Subject: Re: [bug#60976] [PATCH v3 2/4] gnu: Add java-libbatik Date: Sun, 26 Feb 2023 08:59:21 +0100
Hi! Thanks for the patch, some comments below. Le 26 janvier 2023 17:53:09 GMT+01:00, Frank Pursel <frank.pursel <at> gmail.com> a écrit : >--- > 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 <at> scratchpost.org> > ;;; Copyright © 2020 Tobias Geerinckx-Rice <me <at> tobias.gr> >+;;; Copyright © 2023 Frank Pursel <frank.pursel <at> 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") So is this batik or libbatik? >+ (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")) I'm wondering why you need to fetch a Debian archive instead of upstream sources? Is there no upstream? >+ (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$")) >+ )))) These should be on the previous line. >+ (build-system ant-build-system) >+ (arguments >+ `(#:jar-name (string-append ,name ".jar") Usually, you'd just say #:jar-name "batik.jar" >+ #:source-dir "sources/src/main/java" >+ #:test-dir "sources/src/test" >+ #:test-exclude (list "**/util/*.java") That sounds like a lot of tests to exclude. Is there a reason? >+ #: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" ) )) Maybe use delete-recursively instead? >+ #t) ) ) ) ) No need to end a phase with #t anymore. >+ (native-inputs (list rhino java-xmlgraphics-commons libxslt >+ java-jaxen java-junit java-jaxp java-xerces >+ java-jdom quickjs)) Please have one input per line, and maybe order alphabetically. >+ (home-page "https://xmlgraphics.apache.org/batik") >+ (synopsis "The java based toolkit for Scalable Vector Graphics") Synopsis shouldn't start with "The", you could simply remove that word and start with "Java-based". >+ (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) ) ) Great, thanks! > > (define-public java-w3c-smil-3.0 > (package
guix-patches <at> gnu.org
:bug#60976
; Package guix-patches
.
(Sun, 26 Feb 2023 08:20:01 GMT) Full text and rfc822 format available.Message #56 received at 60976 <at> debbugs.gnu.org (full text, mbox):
From: Julien Lepiller <julien <at> lepiller.eu> To: Frank Pursel <frank.pursel <at> gmail.com>, 60976 <at> debbugs.gnu.org Subject: Re: [bug#60976] [PATCH v3 3/4] gnu: Add ditaa Date: Sun, 26 Feb 2023 09:19:25 +0100
Hi, Thanks again for the patch series. Comments below. Could you adress these and the others, and send a v2 for this patch series? I think "guix lint" would have caught most of these ;) Well, first I'm not sure this requires a new file. Maybe java-graphics.scm would be a better place? If you add a new file anyway, you need to add it to the list in gnu/local.mk too and add it to the commit log. Le 26 janvier 2023 18:01:17 GMT+01:00, Frank Pursel <frank.pursel <at> gmail.com> a écrit : >--- > gnu/packages/ditaa.scm | 145 +++++++++++++++++++++++++++++++++++++++++ > 1 file changed, 145 insertions(+) > create mode 100644 gnu/packages/ditaa.scm > >diff --git a/gnu/packages/ditaa.scm b/gnu/packages/ditaa.scm >new file mode 100644 >index 0000000000..e1f063e179 >--- /dev/null >+++ b/gnu/packages/ditaa.scm >@@ -0,0 +1,145 @@ >+;;; GNU Guix --- Functional package management for GNU >+;;; >+;;; 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/>. >+;;; >+;;; Copyright © 2023 Frank Pursel <frank.pursel <at> gmail.com> >+;;; >+ >+(define-module (gnu packages ditaa) >+ #:use-module (gnu packages) >+ #:use-module (gnu packages bash) >+ #:use-module (gnu packages batik) >+ #:use-module (gnu packages java) >+ #:use-module (gnu packages java-xml) >+ #:use-module (gnu packages xml) >+ #:use-module (guix build-system ant) >+ #:use-module (guix build utils) >+ #:use-module (guix download) >+ #:use-module (guix git-download) >+ #:use-module ((guix licenses) #:prefix license:) >+ #:use-module (guix packages) >+ #:use-module (guix modules) >+ ) This parenthesis feels lonely :) >+ >+(define-public ditaa >+ (package >+ (name "ditaa") >+ (version "0.11.0") >+ (source (origin >+ (method git-fetch) >+ (uri (git-reference >+ (url "https://github.com/stathissideris/ditaa") >+ (commit (string-append "v" version)))) >+ (file-name (git-file-name name version)) >+ (sha256 >+ (base32 >+ "1y3g17wp1wvb05m56pp25avww2njpgh0gk0jsbsf25scj7hyyj26")) >+ (modules '((guix build utils))) >+ (snippet >+ '(begin >+ (format #t "~%~a~%" "Finding and removing sourced jars.") Nitpicking, but "embedded" might be a better term, wdyt? >+ (for-each >+ (lambda (jarf) >+ (delete-file jarf) >+ (format #t "Deleted: ~a~%" jarf)) >+ (find-files "." "\\.jar$")))))) >+ (build-system ant-build-system) >+ (inputs (list bash-minimal)) >+ (native-inputs (list java-libbatik java-commons-cli java-w3c-svg >+ java-jericho-html `(,icedtea "jdk") java-junit)) You shouldn't need icedtea in native-inputs, it's already added by the ant-build-system. Maybe you need the default output instead? To get a "java" binary from a small package instead of depending on the whole jdk at runtime? >+ (arguments >+ `(#:build-target "release-all" >+ #:phases >+ (modify-phases %standard-phases >+ ;; Ant's buildfile and build tree need to be modified >+ ;; to provide access to the guix builds of the >+ ;; batik and the java-commons-cli >+ ;; jar files. Also some of the source requires java7. >+ (add-before 'build 'build-prep >+ (lambda* (#:key inputs outputs #:allow-other-keys) >+ (let* ((batik-jar (search-input-file inputs >+ "share/java/batik.jar")) >+ (commons-cli-jar (search-input-file inputs >+ "lib/m2/commons-cli/commons-cli/1.4/commons-cli-1.4.jar"))) >+ (mkdir-p "lib") >+ (copy-file batik-jar "./lib/batik.jar") >+ (copy-file commons-cli-jar "./lib/commons-cli.jar")) >+ (with-directory-excursion "build" >+ (substitute* "release.xml" >+ (("source=\"1.6\"") >+ "source=\"7\"") >+ (("<file name=\"commons-cli-1.2.jar\"/>") >+ (string-append "<file name=\"commons-cli.jar\"/>" >+ "\n" "<file name=\"batik.jar\"/>")))) >+ #t)) Again, no need to end with #t. >+ (replace 'build >+ (lambda* _ >+ (setenv "ANT_OPTS" >+ (string-append "-Dversion.string=" >+ ,version)) >+ (with-directory-excursion "build" >+ (invoke "ant" "-f" "release.xml" "release-jar")) #t)) Same here. >+ (replace 'check >+ (lambda* (#:key tests? #:allow-other-keys) >+ (if tests? >+ (begin >+ (setenv "ANT_OPTS" >+ (string-append "-Dversion.string=" >+ ,version)) >+ (mkdir-p "tests/testlib") >+ (with-directory-excursion "build" >+ (invoke "ant" "-f" "release.xml" >+ "generate-test-images") >+ (invoke "ant" "test"))) #f))) And here. >+ (replace 'install >+ (lambda* (#:key inputs outputs #:allow-other-keys) >+ (let* ((out (assoc-ref outputs "out")) >+ (lib (string-append out "/lib")) >+ (bin (string-append out "/bin")) >+ (bash (search-input-file inputs "bin/bash")) >+ (java (search-input-file inputs "bin/java")) >+ (jre (search-input-directory inputs "jre")) >+ (ditaa (string-append out "/bin/ditaa")) >+ (jar-name (string-append ,name >+ ,version ".jar"))) >+ (with-directory-excursion "releases" >+ (install-file jar-name lib)) >+ (mkdir-p bin) >+ (with-output-to-file ditaa >+ (lambda _ >+ (format #t "#!~a~%JAVA_HOME=~a ~a -jar ~a/~a $@~%" >+ bash jre java lib jar-name))) >+ (chmod ditaa #o755)) #t)) >+ (add-after 'install 'install-docs >+ (lambda* (#:key outputs #:allow-other-keys) >+ (let ((doc (string-append (assoc-ref outputs "out") >+ "/share/doc/"))) >+ (for-each (lambda (filen) >+ (install-file filen doc)) >+ (find-files "." ".*README\\.md"))) #t))))) No need for #t. >+ (home-page "https://github.com/stathissideris/ditaa") >+ (synopsis "Create graphics from ascii art") >+ (description >+ "ditaa is a small command-line utility >+that converts diagrams drawn using ascii art >+('drawings' that contain characters that resemble lines like | / - ), >+into proper bitmap graphics.") Maybe @samp{|}, @samp{/}, … >+ (license license:lgpl3))) >+ >+ >+ >+ >+ And remove these additional empty lines.
guix-patches <at> gnu.org
:bug#60976
; Package guix-patches
.
(Wed, 01 Mar 2023 21:36:01 GMT) Full text and rfc822 format available.Message #59 received at 60976 <at> debbugs.gnu.org (full text, mbox):
From: Frank Pursel <frank.pursel <at> gmail.com> To: 60976 <at> debbugs.gnu.org, julien <at> lepiller.eu Subject: [PATCH v4 1/3] gnu: Add java-jericho-html Date: Thu, 26 Jan 2023 08:46:25 -0800
--- Posting a full update. I believe I've addressed all the identified issues concerning java-jericho-html... gnu/packages/java-xml.scm | 63 +++++++++++++++++++++++++++++++++++---- 1 file changed, 58 insertions(+), 5 deletions(-) diff --git a/gnu/packages/java-xml.scm b/gnu/packages/java-xml.scm index 5b16806e27..faa51a66fd 100644 --- a/gnu/packages/java-xml.scm +++ b/gnu/packages/java-xml.scm @@ -6,6 +6,7 @@ ;;; Copyright © 2020 Vincent Legoll <vincent.legoll <at> gmail.com> ;;; Copyright © 2021 Léo Le Bouter <lle-bout <at> zaclys.net> ;;; Copyright © 2022 Christopher Baines <mail <at> cbaines.net> +;;; Copyright © 2023 Frank Pursel <frank.pursel <at> gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -23,20 +24,72 @@ ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. (define-module (gnu packages java-xml) - #:use-module (gnu packages) + #:use-module ((guix licenses) #:prefix license:) #:use-module (gnu packages base) #:use-module (gnu packages check) #:use-module (gnu packages compression) #:use-module (gnu packages gtk) #:use-module (gnu packages java) - #:use-module ((guix licenses) #:prefix license:) - #:use-module (guix gexp) - #:use-module (guix packages) + #:use-module (gnu packages) + #:use-module (guix build-system ant) + #:use-module (guix bzr-download) #:use-module (guix download) + #:use-module (guix gexp) #:use-module (guix git-download) - #:use-module (guix build-system ant) + #:use-module (guix packages) #:use-module (guix utils)) +(define-public java-jericho-html + (package + (name "java-jericho-html") + (version "3.4") + (source (origin + (method bzr-fetch) + (uri + (bzr-reference + (url + "http://jerichohtml.bzr.sourceforge.net/bzr/jerichohtml") + (revision (string-append "tag:" version)))) + (file-name (string-append name "-" version "-checkout")) + (sha256 + (base32 + "1zsf4i33jn05pma4y1658d6avhw7x4c12ggs96szhc06b7bxs8j0")) + (modules '((guix build utils))) + (snippet '(begin + (format #t "~%~a~%" "Removing sourced jar files.") + (for-each (lambda (jarf) + (delete-file jarf) + (format #t "Deleted: ~a~%" jarf)) + (find-files "." "\\.jar$")))))) + (build-system ant-build-system) + (arguments + `(#:jar-name (string-append ,name ".jar") + #:phases (modify-phases %standard-phases + (add-before 'build 'add-ant-env-options + (lambda* _ + (setenv "ANT_OPTS" "-Dfile.encoding=iso-8859-1") + (let ((match-str + (string-append "jerichohtml-" ,version))) + (substitute* "build.xml" + ((match-str) + ""))))) + (add-after 'build 'check-prep + (lambda* (#:key source #:allow-other-keys) + (mkdir-p "src/test/java")))))) + (native-inputs (list + java-commons-logging-minimal + java-junit + java-log4j-api + java-slf4j-api)) + (home-page "http://jericho.htmlparser.net/docs/index.html") + (synopsis "Java HTML Parser library") + (description + "This Java library allowing analysis and manipulation of +parts of an HTML document, including server-side tags, while +reproducing verbatim any unrecognised or invalid HTML. It also +provides high-level HTML form manipulation functions.") + (license (list license:lgpl2.1+ license:asl2.0 license:epl1.0)))) + (define-public java-simple-xml (package (name "java-simple-xml") base-commit: 0e480ca7b60428a62fc4681d7aca6c7c067add42 -- 2.39.1
guix-patches <at> gnu.org
:bug#60976
; Package guix-patches
.
(Wed, 01 Mar 2023 21:42:02 GMT) Full text and rfc822 format available.Message #62 received at 60976 <at> debbugs.gnu.org (full text, mbox):
From: Frank Pursel <frank.pursel <at> gmail.com> To: 60976 <at> debbugs.gnu.org, julien <at> lepiller.eu Subject: [PATCH v4 2/3] gnu: Add java-libbatik Date: Thu, 26 Jan 2023 08:53:09 -0800
--- 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 <at> scratchpost.org> ;;; Copyright © 2020 Tobias Geerinckx-Rice <me <at> tobias.gr> +;;; Copyright © 2023 Frank Pursel <frank.pursel <at> 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
guix-patches <at> gnu.org
:bug#60976
; Package guix-patches
.
(Wed, 01 Mar 2023 21:45:02 GMT) Full text and rfc822 format available.Message #65 received at 60976 <at> debbugs.gnu.org (full text, mbox):
From: Frank Pursel <frank.pursel <at> gmail.com> To: 60976 <at> debbugs.gnu.org, julien <at> lepillar.eu Subject: [PATCH v4 3/3] gnu: Add ditaa Date: Thu, 26 Jan 2023 09:01:17 -0800
--- The final piece, again. I've moved it into java-graphic.scm. Thanks for the feedback to get this on track. Regards, Frank Pursel gnu/packages/java-graphics.scm | 131 +++++++++++++++++++++++++++++++-- 1 file changed, 126 insertions(+), 5 deletions(-) diff --git a/gnu/packages/java-graphics.scm b/gnu/packages/java-graphics.scm index 9a71548b9c..6178bfbe4f 100644 --- a/gnu/packages/java-graphics.scm +++ b/gnu/packages/java-graphics.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2019 Ricardo Wurmus <rekado <at> elephly.net> +;;; Copyright © 2023 Frank Pursel <frank.pursel <at> gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -18,15 +19,135 @@ (define-module (gnu packages java-graphics) #:use-module ((guix licenses) #:prefix license:) - #:use-module (guix packages) - #:use-module (guix git-download) - #:use-module (guix utils) - #:use-module (guix build-system ant) - #:use-module (gnu packages) + #:use-module (gnu packages bash) + #:use-module (gnu packages batik) #:use-module (gnu packages java) + #:use-module (gnu packages java-xml) + #:use-module (gnu packages xml) #:use-module (gnu packages xorg) + #:use-module (gnu packages) + #:use-module (guix build utils) + #:use-module (guix build-system ant) + #:use-module (guix download) + #:use-module (guix git-download) + #:use-module (guix modules) + #:use-module (guix packages) + #:use-module (guix utils) #:use-module (ice-9 match)) +(define-public ditaa + (package + (name "ditaa") + (version "0.11.0") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/stathissideris/ditaa") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1y3g17wp1wvb05m56pp25avww2njpgh0gk0jsbsf25scj7hyyj26")) + (modules '((guix build utils))) + (snippet + '(begin + (format #t "~%~a~%" "Finding and removing embedded jars.") + (for-each + (lambda (jarf) + (delete-file jarf) + (format #t "Deleted: ~a~%" jarf)) + (find-files "." "\\.jar$")))))) + (build-system ant-build-system) + (inputs (list bash-minimal)) + (native-inputs (list + java-commons-cli + java-jericho-html + java-junit + java-libbatik + java-w3c-svg)) + (arguments + `(#:build-target "release-all" + #:phases + (modify-phases %standard-phases + ;; Ant's buildfile and build tree need to be modified + ;; to provide access to the guix builds of the + ;; batik and the java-commons-cli + ;; jar files. Also some of the source requires java7. + (add-before 'build 'build-prep + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((batik-jar + (search-input-file + inputs + "share/java/batik.jar")) + (commons-cli-jar + (search-input-file + inputs + "lib/m2/commons-cli/commons-cli/1.4/commons-cli-1.4.jar"))) + (mkdir-p "lib") + (copy-file batik-jar "./lib/batik.jar") + (copy-file commons-cli-jar "./lib/commons-cli.jar")) + (with-directory-excursion "build" + (substitute* "release.xml" + (("source=\"1.6\"") + "source=\"7\"") + (("<file name=\"commons-cli-1.2.jar\"/>") + (string-append "<file name=\"commons-cli.jar\"/>" + "\n" "<file name=\"batik.jar\"/>")))))) + (replace 'build + (lambda* _ + (setenv "ANT_OPTS" + (string-append "-Dversion.string=" + ,version)) + (with-directory-excursion "build" + (invoke "ant" "-f" "release.xml" "release-jar")))) + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (if tests? + (begin + (setenv "ANT_OPTS" + (string-append "-Dversion.string=" + ,version)) + (mkdir-p "tests/testlib") + (with-directory-excursion "build" + (invoke "ant" "-f" "release.xml" + "generate-test-images") + (invoke "ant" "test"))) #f))) + (replace 'install + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (lib (string-append out "/lib")) + (bin (string-append out "/bin")) + (bash (search-input-file inputs "bin/bash")) + (java (search-input-file inputs "bin/java")) + (jre (search-input-directory inputs "jre")) + (ditaa (string-append out "/bin/ditaa")) + (jar-name (string-append ,name + ,version ".jar"))) + (with-directory-excursion "releases" + (install-file jar-name lib)) + (mkdir-p bin) + (with-output-to-file ditaa + (lambda _ + (format #t "#!~a~%JAVA_HOME=~a ~a -jar ~a/~a $@~%" + bash jre java lib jar-name))) + (chmod ditaa #o755)))) + (add-after 'install 'install-docs + (lambda* (#:key outputs #:allow-other-keys) + (let ((doc (string-append (assoc-ref outputs "out") + "/share/doc/"))) + (for-each (lambda (filen) + (install-file filen doc)) + (find-files "." ".*README\\.md")))))))) + (home-page "https://github.com/stathissideris/ditaa") + (synopsis "Create graphics from ascii art") + (description + "ditaa is a small command-line utility +that converts diagrams drawn using ascii art +('drawings' that contain characters that resemble lines like @samp{|} +@samp{/} @samp{-}), +into proper bitmap graphics.") + (license license:lgpl3))) + (define-public java-piccolo2d-core (package (name "java-piccolo2d-core") -- 2.39.1
guix-patches <at> gnu.org
:bug#60976
; Package guix-patches
.
(Thu, 09 Mar 2023 00:26:02 GMT) Full text and rfc822 format available.Message #68 received at 60976 <at> debbugs.gnu.org (full text, mbox):
From: Frank Pursel <frank.pursel <at> gmail.com> To: 60976 <at> debbugs.gnu.org Subject: [PATCH] gnu: Add ditaa. Date: Wed, 08 Mar 2023 16:25:47 -0800
It is odd that this latest patchset obtained the qa successful badge a few days after it was posted but then, seemingly spontaneously, the qa badge reverted to unknown. This is not the first time I've seen the system complete testing and post the results only to lose it's memory and then reschedule the work. Seems like a persistence or memoization mechanism is failing. Regards, Frank
Vagrant Cascadian <vagrant <at> debian.org>
:Frank Pursel <frank.pursel <at> gmail.com>
:Message #73 received at 60976-done <at> debbugs.gnu.org (full text, mbox):
From: Vagrant Cascadian <vagrant <at> debian.org> To: Frank Pursel <frank.pursel <at> gmail.com> Cc: 60976-done <at> debbugs.gnu.org, julien <at> lepillar.eu Subject: Re: [bug#60976] [PATCH v4 3/3] gnu: Add ditaa Date: Mon, 28 Aug 2023 15:50:47 -0700
[Message part 1 (text/plain, inline)]
On 2023-01-26, Frank Pursel wrote: > The final piece, again. I've moved it into java-graphic.scm. > > Thanks for the feedback to get this on track. I've pushed this series as 541b1c3e74cbb7965b7398d342882a038c893fbb. I fixed some minor things, namely: * updated the commit messages. * fixed some trailing whitespace. * ran "guix style" on each package (keeping one-line per input, as requested in earlier bug review) * fixed some long line issues discovered by "guix lint" for each package. * Reverted re-ordering the use-modules sections to keep the diff only relevent to the changes introduced by these packages. Thanks for your contribution! live well, vagrant
[signature.asc (application/pgp-signature, inline)]
Debbugs Internal Request <help-debbugs <at> gnu.org>
to internal_control <at> debbugs.gnu.org
.
(Tue, 26 Sep 2023 11:24:08 GMT) Full text and rfc822 format available.
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.