Package: guix-patches;
Reported by: Frank Pursel <frank.pursel <at> gmail.com>
Date: Wed, 9 Feb 2022 21:49:02 UTC
Severity: normal
Tags: patch
Done: Frank Pursel <frank.pursel <at> gmail.com>
Bug is archived. No further changes may be made.
View this message in rfc822 format
From: help-debbugs <at> gnu.org (GNU bug Tracking System) To: Frank Pursel <frank.pursel <at> gmail.com> Subject: bug#53908: closed ([PATCH] Adding a package for ditaa) Date: Fri, 20 Jan 2023 23:38:02 +0000
[Message part 1 (text/plain, inline)]
Your bug report #53908: [PATCH] Adding a package for ditaa which was filed against the guix-patches package, has been closed. The explanation is attached below, along with your original report. If you require more details, please reply to 53908 <at> debbugs.gnu.org. -- 53908: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=53908 GNU Bug Tracking System Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: Frank Pursel <frank.pursel <at> gmail.com> To: 53908-done <at> debbugs.gnu.org Subject: [PATCH] Adding a package for ditaa Date: Fri, 20 Jan 2023 15:37:05 -0800I have not given up. See the improved 60976. Regards, Frank Pursel aka #irc:acrow
[Message part 3 (message/rfc822, inline)]
From: Frank Pursel <frank.pursel <at> gmail.com> To: guix-patches <at> gnu.org Subject: [PATCH] Adding a package for ditaa Date: Wed, 09 Feb 2022 13:48:36 -0800From 0d0df722f31d306c1c95229408fc2bcc43c4a59e Mon Sep 17 00:00:00 2001 Message-Id: <0d0df722f31d306c1c95229408fc2bcc43c4a59e.1644442953.git.frank.pursel <at> gmail.com> From: Frank Pursel <frank.pursel <at> gmail.com> Date: Wed, 9 Feb 2022 09:07:50 -0800 Subject: [PATCH] Adding ditaa executable * gnu/packages/batik.scm (java-batik-all-jar): Providing dependent class files for the ditaa package. * gnu/packages/graph.scm (ditaa): Adding the ditaa package. --- gnu/packages/batik.scm | 60 ++++++++++++++++++++ gnu/packages/graph.scm | 121 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 181 insertions(+) diff --git a/gnu/packages/batik.scm b/gnu/packages/batik.scm index 2072dd467c..74f2d5b82a 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 © 2022 Frank Pursel <frank.pursel <at> gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -254,3 +255,62 @@ (define-public java-xmlgraphics-commons (description "This package provides XMLGraphics constants (originally from @code{batik}).") (license license:asl2.0))) + +(define-public java-batik-all-jar + (let ((short-pkg-name "batik") (ver "1.14") + (hash "1g1vqg2gqw31bk2655vszxqrs8whj3sd5rbk649a9qqvqgqfdv13")) + (package + (name "java-batik-all-jar") + (version ver) + (source (origin + (method url-fetch) + (uri (string-append + "https://archive.apache.org/dist/xmlgraphics/batik/source/" + short-pkg-name "-src-" + version ".tar.gz")) + (sha256 + (base32 + hash)))) + (build-system ant-build-system) + (arguments + `(#:build-target "jars" + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-build.xml + (lambda* (#:key inputs outputs #:allow-other-keys) + (substitute* "build.xml" + (("batik-all/target/batik-all-.*jar") (string-append "batik-" + ,version + "/lib/batik-all-" + ,version ".jar")) + (("<target name=\"jars\" depends=\"init\">") + "<target name=\"jars\" depends=\"all-jar\">")) #t)) + (replace 'install + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((name+ver (string-append ,short-pkg-name "-" + ,version))) + (copy-recursively (string-append "./" name+ver) + (assoc-ref outputs "out")) + (copy-file (string-append "./" + name+ver + "/lib/" + ,short-pkg-name + "-all-" + ,version + ".jar") + (string-append (assoc-ref outputs "out") + "/lib/batik.jar"))) #t)) + (delete 'generate-jar-indices) + (delete 'check)))) + (inputs (list java-junit java-hamcrest-core)) + (home-page "https://xmlgraphics.apache.org/batik/") + (synopsis + "Jar of the complete set of batik classes for dependency fulfullment") + (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. This package provides the +batik-all.jar upon whch other packages may depend but no executable or other +content.") + (license license:asl2.0)))) + diff --git a/gnu/packages/graph.scm b/gnu/packages/graph.scm index 4b46904318..45dd83edb8 100644 --- a/gnu/packages/graph.scm +++ b/gnu/packages/graph.scm @@ -10,6 +10,7 @@ ;;; Copyright © 2021 Alexandre Hannud Abdo <abdo <at> member.fsf.org> ;;; Copyright © 2021, 2022 Maxim Cournoyer <maxim.cournoyer <at> gmail.com> ;;; Copyright © 2022 Marius Bakke <marius <at> gnu.org> +;;; Copyright © 2022 Frank Pursel <frank.pursel <at> gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -32,6 +33,7 @@ (define-module (gnu packages graph) #:use-module (guix git-download) #:use-module (guix packages) #:use-module (guix utils) + #:use-module (guix build-system ant) #:use-module (guix build-system cmake) #:use-module (guix build-system gnu) #:use-module (guix build-system python) @@ -39,6 +41,7 @@ (define-module (gnu packages graph) #:use-module ((guix licenses) #:prefix license:) #:use-module (gnu packages) #:use-module (gnu packages autotools) + #:use-module (gnu packages batik) #:use-module (gnu packages bioconductor) #:use-module (gnu packages bioinformatics) #:use-module (gnu packages boost) @@ -50,6 +53,7 @@ (define-module (gnu packages graph) #:use-module (gnu packages graphics) #:use-module (gnu packages graphviz) #:use-module (gnu packages gtk) + #:use-module (gnu packages java) #:use-module (gnu packages maths) #:use-module (gnu packages multiprecision) #:use-module (gnu packages ncurses) @@ -652,3 +656,120 @@ (define-public python-graph-tool time) to that of a pure C/C++ library.") (home-page "https://graph-tool.skewed.de/") (license license:lgpl3+))) + +(define-public ditaa + (let* ((ver "0.11.0") (hash + "1y3g17wp1wvb05m56pp25avww2njpgh0gk0jsbsf25scj7hyyj26")) + (package + (name "ditaa") + (version ver) + (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 + hash)))) + (build-system ant-build-system) + (inputs (list java-batik-all-jar java-commons-cli + `(,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 "lib/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")) + (copy-recursively "service/web/lib" "lib" + #:log + (current-output-port)) + (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\"/>" + " +" "<file name=\"batik.jar\"/>"))) + ;; (invoke "ant" "clean") + ) #t)) + (replace 'build + (lambda* _ + ;; (invoke "ant" "-f" "release.xml" "release-jar") + (setenv "ANT_OPTS" + (string-append "-Dversion.string=" + ,version)) + (with-directory-excursion "build" + ;; (invoke "ant" "compile") + (invoke "ant" "-f" "release.xml" + "release-jar")) #t)) + (replace 'check + (lambda* (#:key inputs outputs 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")))) + #t)) + (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 () + (display (string-append "#!" + bash + " +" + "JAVA_HOME=" + jre + " " + java + " -jar " + out + "/lib/" + jar-name + " $@")))) + (chmod ditaa 493)) #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 + "@code{ditaa} is a small command-line utility that can convert diagrams +drawn using ascii art ('drawings' that contain characters that resemble lines +like | / - ), into proper bitmap or svg graphics.") + (license license:lgpl3)))) -- 2.34.0
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.