all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
blob e1f063e17988d6e3d43e6d63e08c06fb25f35c59 6316 bytes (raw)
name: gnu/packages/ditaa.scm 	 # note: path name is non-authoritative(*)

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
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@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)))






debug log:

solving e1f063e179 ...
found e1f063e179 in https://yhetil.org/guix/63d2b66d.a70a0220.ecd70.18ac@mx.google.com/ ||
	https://yhetil.org/guix/51d9aae0d048aebfccc46b5363271dc4f2bc64be.1677369969.git.frank.pursel@gmail.com/

applying [1/1] https://yhetil.org/guix/63d2b66d.a70a0220.ecd70.18ac@mx.google.com/
diff --git a/gnu/packages/ditaa.scm b/gnu/packages/ditaa.scm
new file mode 100644
index 0000000000..e1f063e179

1:142: trailing whitespace.
     "ditaa is a small command-line utility 
1:143: trailing whitespace.
that converts diagrams drawn using ascii art 
1:144: trailing whitespace.
('drawings' that contain characters that resemble lines like | / - ), 
Checking patch gnu/packages/ditaa.scm...
1:147: new blank line at EOF.
+
Applied patch gnu/packages/ditaa.scm cleanly.
warning: 4 lines add whitespace errors.

skipping https://yhetil.org/guix/51d9aae0d048aebfccc46b5363271dc4f2bc64be.1677369969.git.frank.pursel@gmail.com/ for e1f063e179
index at:
100644 e1f063e17988d6e3d43e6d63e08c06fb25f35c59	gnu/packages/ditaa.scm

(*) Git path names are given by the tree(s) the blob belongs to.
    Blobs themselves have no identifier aside from the hash of its contents.^

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.