GNU bug report logs - #60612
[PATCH 1/1] gnu: Add ditaa.

Previous Next

Package: guix-patches;

Reported by: Frank Pursel <frank.pursel <at> gmail.com>

Date: Fri, 6 Jan 2023 23:14:02 UTC

Severity: normal

Tags: patch

Done: Frank Pursel <frank.pursel <at> gmail.com>

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 60612 in the body.
You can then email your comments to 60612 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


Report forwarded to guix-patches <at> gnu.org:
bug#60612; Package guix-patches. (Fri, 06 Jan 2023 23:14:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Frank Pursel <frank.pursel <at> gmail.com>:
New bug report received and forwarded. Copy sent to guix-patches <at> gnu.org. (Fri, 06 Jan 2023 23:14: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 1/1] gnu: Add ditaa.
Date: Fri, 6 Jan 2023 10:46:18 -0800
* gnu/packages/ditaa.scm: New file.
---
 gnu/packages/ditaa.scm | 218 +++++++++++++++++++++++++++++++++++++++++
 1 file changed, 218 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..295a716d5a
--- /dev/null
+++ b/gnu/packages/ditaa.scm
@@ -0,0 +1,218 @@
+;;; 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 java)
+  #:use-module (gnu packages 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-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")) ))
+   (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 'remove-prepackaged-jars
+                               (lambda _
+                                 (for-each
+                                  (lambda (jarf)
+                                    (delete-file jarf)
+                                    (format #t "Deleted: ~s\n" jarf))
+                                  (find-files "." ".*\\.jar"))
+                                 #t) )
+                    (add-after
+                     'remove-prepackaged-jars '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) ) ) ) )
+   (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"))))
+    (build-system ant-build-system)
+    (inputs (list java-libbatik java-commons-cli java-w3c-svg
+                  `(,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-after 'unpack 'remove-prepackaged-jars
+                    (lambda _
+                      (for-each (lambda (jarf)
+                                  (delete-file jarf)
+                                  (format #t "Deleted: ~s\n" jarf))
+                                (find-files "." ".*\\.jar")) #t))
+                  (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 ()
+                            (display (string-append "#!"
+                                                    bash
+                                                    "\n"
+                                                    "JAVA_HOME="
+                                                    jre
+                                                    " "
+                                                    java
+                                                    " -jar "
+                                                    out
+                                                    "/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: 22ffa5e00a05f75bb3b4285cd1ede28f2e7c6325
-- 
2.38.1





Reply sent to Frank Pursel <frank.pursel <at> gmail.com>:
You have taken responsibility. (Fri, 20 Jan 2023 23:33:02 GMT) Full text and rfc822 format available.

Notification sent to Frank Pursel <frank.pursel <at> gmail.com>:
bug acknowledged by developer. (Fri, 20 Jan 2023 23:33:02 GMT) Full text and rfc822 format available.

Message #10 received at 60612-done <at> debbugs.gnu.org (full text, mbox):

From: Frank Pursel <frank.pursel <at> gmail.com>
To: 60612-done <at> debbugs.gnu.org
Subject: [PATCH 1/1] Add ditaa.
Date: Fri, 20 Jan 2023 15:32:37 -0800
Replaced by 60976





bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Sat, 18 Feb 2023 12:24:05 GMT) Full text and rfc822 format available.

This bug report was last modified 1 year and 67 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.