diff mbox series

[bug#35545,12/17] gnu: Add java-svg-salamander.

Message ID 20190503130134.24788-12-julien@lepiller.eu
State Accepted
Headers show
Series [bug#35545,01/17] gnu: Add java-signpost-core. | expand

Checks

Context Check Description
cbaines/applying patch success Successfully applied

Commit Message

Julien Lepiller May 3, 2019, 1:01 p.m. UTC
* gnu/packages/java.scm (java-svg-salamander): New variable.
* gnu/packages/patches/java-svg-salamander-Fix-non-det.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
---
 gnu/local.mk                                  |  1 +
 gnu/packages/java.scm                         | 47 ++++++++++
 .../java-svg-salamander-Fix-non-det.patch     | 86 +++++++++++++++++++
 3 files changed, 134 insertions(+)
 create mode 100644 gnu/packages/patches/java-svg-salamander-Fix-non-det.patch

Comments

Björn Höfling May 5, 2019, 10:07 p.m. UTC | #1
On Fri,  3 May 2019 15:01:29 +0200
Julien Lepiller <julien@lepiller.eu> wrote:

> * gnu/packages/java.scm (java-svg-salamander): New variable.
> * gnu/packages/patches/java-svg-salamander-Fix-non-det.patch: New
> file.
> * gnu/local.mk (dist_patch_DATA): Add it.
> ---

> +(define-public java-svg-salamander

> +              (modules '((guix build utils)))
> +              (snippet
> +                `(for-each delete-file (find-files "." ".*.jar")))

--> Snippet should return #t.

> +              (patches
> +                (search-patches
> "java-svg-salamander-Fix-non-det.patch"))))

The patch does not apply:

./pre-inst-env guix build -S java-svg-salamander

`File svg-core/build.xml is read-only; trying to patch anyway
patching file svg-core/build.xml
Hunk #1 FAILED at 102 (different line endings).
Hunk #2 FAILED at 112 (different line endings).
Hunk #3 FAILED at 126 (different line endings).
Hunk #4 FAILED at 203 (different line endings).
Hunk #5 FAILED at 213 (different line endings).
5 out of 5 hunks FAILED -- saving rejects to file svg-core/build.xml.rej
File svg-core/nbproject/build-impl.xml is read-only; trying to patch anyway
patching file svg-core/nbproject/build-impl.xml
Hunk #1 FAILED at 1045 (different line endings).
1 out of 1 hunk FAILED -- saving rejects to file svg-core/nbproject/build-impl.xml.rej
source is under 'java-svg-salamander-1.1.2-checkout'
applying '/gnu/store/k2ab07wis5rs3qhm2yj2n4n9pqddvdvy-java-svg-salamander-Fix-non-det.patch'...
Backtrace:
           3 (primitive-load "/gnu/store/l2wzcavh9338x55rzxwlg5qbbl0?")
In ice-9/eval.scm:
    619:8  2 (_ #(#<directory (guile-user) 5ce140> "java-svg-salam?"))
In srfi/srfi-1.scm:
    640:9  1 (for-each #<procedure apply-patch (a)> ("/gnu/store/k2?"))
In guix/build/utils.scm:
    616:6  0 (invoke _ . _)

guix/build/utils.scm:616:6: In procedure invoke:
Throw to key `srfi-34' with args `(#<condition &invoke-error [program: "/gnu/store/a4rxl40jr7gmq8bp3dryq4yq67cwkwiw-patch-2.7.6/bin/patch" arguments>

Problem is that the build.xml is in CRLF, your patch is in LF
line-endings.

To apply, I converted the patch with unix2dos and then added these
flags to the origin:

              (patch-flags '("-p1"  "--binary"))

Not sure why it didn't break for you?

> +    (license license:bsd-2)))

License is either bsd-2 or LGPL (see README.md). Hm, though on the
Github homepage there is no mentioning of LGPL. The link from the
README is this one:

https://svgsalamander.java.net/license/license-lgpl.txt

But it only redirects to the Github page. What does that mean now?


Björn
diff mbox series

Patch

diff --git a/gnu/local.mk b/gnu/local.mk
index a0f40d13ae..556f4a03f0 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -932,6 +932,7 @@  dist_patch_DATA =						\
   %D%/packages/patches/java-jeromq-fix-tests.patch		\
   %D%/packages/patches/java-powermock-fix-java-files.patch		\
   %D%/packages/patches/java-simple-xml-fix-tests.patch		\
+  %D%/packages/patches/java-svg-salamander-Fix-non-det.patch	\
   %D%/packages/patches/java-xerces-bootclasspath.patch	\
   %D%/packages/patches/java-xerces-build_dont_unzip.patch	\
   %D%/packages/patches/java-xerces-xjavac_taskdef.patch	\
diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index b9ac4459b0..ede24d130c 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -11296,3 +11296,50 @@  library and the API is similar.")
 reading metadata from image files.  It is able to read metadata in Exif,
 IPTC, XMP, ICC and more formats.")
     (license license:asl2.0)))
+
+(define-public java-svg-salamander
+  (package
+    (name "java-svg-salamander")
+    (version "1.1.2")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                     (url "https://github.com/blackears/svgSalamander")
+                     (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1zv3kjdkf6iqf02x6ln76254y634j2ji448y706a65lsbfjmmicf"))
+              (modules '((guix build utils)))
+              (snippet
+                `(for-each delete-file (find-files "." ".*.jar")))
+              (patches
+                (search-patches "java-svg-salamander-Fix-non-det.patch"))))
+    (build-system ant-build-system)
+    (arguments
+     `(#:tests? #f; no tests
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'chdir
+           (lambda _
+             (chdir "svg-core")
+             #t))
+         (add-before 'build 'copy-jars
+           (lambda* (#:key inputs #:allow-other-keys)
+             (copy-file (car (find-files (assoc-ref inputs "javacc") "\\.jar$"))
+                        "../libraries/javacc.jar")
+             (copy-file (car (find-files (assoc-ref inputs "ant") "ant\\.jar$"))
+                        "../libraries/ant.jar")
+             #t))
+         (replace 'install
+           (install-jars "dist")))))
+    (native-inputs
+     `(("javacc" ,javacc)))
+    (home-page "https://github.com/blackears/svgSalamander")
+    (synopsis "SVG engine for Java")
+    (description "SVG Salamander is an SVG engine for Java that's designed
+to be small, fast, and allow programmers to use it with a minimum of fuss.
+It's in particular targeted for making it easy to integrate SVG into Java
+games and making it much easier for artists to design 2D game content - from
+rich interactive menus to charts and graphcs to complex animations.")
+    (license license:bsd-2)))
diff --git a/gnu/packages/patches/java-svg-salamander-Fix-non-det.patch b/gnu/packages/patches/java-svg-salamander-Fix-non-det.patch
new file mode 100644
index 0000000000..418fa0867f
--- /dev/null
+++ b/gnu/packages/patches/java-svg-salamander-Fix-non-det.patch
@@ -0,0 +1,86 @@ 
+From c812efa9fcbfb49a571cc73af83c8da5cb951bcf Mon Sep 17 00:00:00 2001
+From: Julien Lepiller <julien@lepiller.eu>
+Date: Thu, 2 May 2019 19:05:33 +0200
+Subject: [PATCH] Fix non determinism and installation
+
+---
+ svg-core/build.xml                | 22 ----------------------
+ svg-core/nbproject/build-impl.xml |  1 -
+ 2 files changed, 23 deletions(-)
+
+diff --git a/svg-core/build.xml b/svg-core/build.xml
+index cc72eb7..0f9c3e6 100755
+--- a/svg-core/build.xml
++++ b/svg-core/build.xml
+@@ -102,7 +102,6 @@
+         <jar destfile="${maven-javadoc-jar}" update="false">
+             <manifest>
+                 <attribute name="Version" value="${version}"/>
+-                <attribute name="Date" value="${TODAY}"/>
+             </manifest>
+ 
+             <fileset dir="dist/javadoc">
+@@ -112,7 +111,6 @@
+         <jar destfile="${maven-sources-jar}" update="false">
+             <manifest>
+                 <attribute name="Version" value="${version}"/>
+-                <attribute name="Date" value="${TODAY}"/>
+             </manifest>
+ 
+             <fileset dir="src/main/java">
+@@ -126,7 +124,6 @@
+             <manifest>
+                 <attribute name="Main-Class" value="com.kitfox.svg.app.SVGPlayer"/>
+                 <attribute name="Version" value="${version}"/>
+-                <attribute name="Date" value="${TODAY}"/>
+             </manifest>
+ 
+             <fileset dir="build/classes">
+@@ -203,7 +200,6 @@
+             <manifest>
+                 <attribute name="Main-Class" value="com.kitfox.svg.app.SVGPlayer"/>
+                 <attribute name="Version" value="${version}"/>
+-                <attribute name="Date" value="${TODAY}"/>
+             </manifest>
+ 
+             <fileset dir="build/classes">
+@@ -213,24 +209,6 @@
+             </fileset>
+         </jar>
+ 
+-        <delete file="${key.location}"/>
+-        <genkey alias="${key.user}" storepass="${key.password}" keystore="${key.location}" validity="1000" verbose="true">
+-            <dname>
+-                <param name="CN" value="Mark McKay, mark@kitfox.com"/>
+-                <param name="OU" value="kitfox.com"/>
+-                <param name="O"  value="kitfox"/>
+-                <param name="L"  value="Toronto"/>
+-                <param name="S"  value="Ontario"/>
+-                <param name="C"  value="CA"/>
+-            </dname>
+-        </genkey>
+-
+-        <copy file="${dist.jar}" toFile="${project.www.jar}"/>
+-        <signjar jar="${project.www.jar}"
+-                 alias="${key.user}"
+-                 storepass="${key.password}"
+-                 keystore="${key.location}"/>
+-
+         <delete file="${project.tiny.jar}"/>
+         <jar destfile="${project.tiny.jar}" update="true">
+             <manifest>
+diff --git a/svg-core/nbproject/build-impl.xml b/svg-core/nbproject/build-impl.xml
+index b448d8a..37725ad 100755
+--- a/svg-core/nbproject/build-impl.xml
++++ b/svg-core/nbproject/build-impl.xml
+@@ -1045,7 +1045,6 @@ is divided into following sections:
+         </manifest>
+     </target>
+     <target depends="init,-init-macrodef-copylibs,compile,-pre-pre-jar,-pre-jar,-do-jar-create-manifest,-do-jar-copy-manifest,-do-jar-set-mainclass,-do-jar-set-profile,-do-jar-set-splashscreen" if="do.mkdist" name="-do-jar-copylibs">
+-        <j2seproject3:copylibs manifest="${tmp.manifest.file}"/>
+         <echo level="info">To run this application from the command line without Ant, try:</echo>
+         <property location="${dist.jar}" name="dist.jar.resolved"/>
+         <echo level="info">java -jar "${dist.jar.resolved}"</echo>
+-- 
+2.21.0
+