GNU bug report logs - #31212
Add apache ivy

Previous Next

Package: guix-patches;

Reported by: Julien Lepiller <julien <at> lepiller.eu>

Date: Wed, 18 Apr 2018 19:06:02 UTC

Severity: normal

Done: Julien Lepiller <julien <at> lepiller.eu>

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 31212 in the body.
You can then email your comments to 31212 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#31212; Package guix-patches. (Wed, 18 Apr 2018 19:06:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Julien Lepiller <julien <at> lepiller.eu>:
New bug report received and forwarded. Copy sent to guix-patches <at> gnu.org. (Wed, 18 Apr 2018 19:06:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Julien Lepiller <julien <at> lepiller.eu>
To: guix-patches <at> gnu.org
Subject: Add apache ivy
Date: Wed, 18 Apr 2018 21:04:58 +0200
Hi,

this small patch series adds apache-ivy and dependencies. They are the
next packages required for maven. After that, I have groovy, in 22
packages, then 18 more various java library packages, and finally 25
packages to complete maven. We're almost there!




Information forwarded to guix-patches <at> gnu.org:
bug#31212; Package guix-patches. (Wed, 18 Apr 2018 19:22:01 GMT) Full text and rfc822 format available.

Message #8 received at 31212 <at> debbugs.gnu.org (full text, mbox):

From: Julien Lepiller <julien <at> lepiller.eu>
To: 31212 <at> debbugs.gnu.org
Subject: [PATCH 1/9] gnu: Add java-bouncycastle.
Date: Wed, 18 Apr 2018 21:21:12 +0200
* gnu/packages/java.scm (java-bouncycastle): New variable.
(java-bouncycastle-bcprov, java-bouncycastle-bcpkix): Remove variable.
(java-kafka-clients)[inputs]: Use java-bouncycastle.
---
 gnu/packages/java.scm | 83 ++++++++++++++++---------------------------
 1 file changed, 31 insertions(+), 52 deletions(-)

diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index 500f27dcf..132671dc7 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -8145,70 +8145,50 @@ by technical operatives or consultants working with enterprise platforms.")
 algorithms and xxHash hashing algorithm.")
     (license license:asl2.0)))
 
-(define-public java-bouncycastle-bcprov
+(define-public java-bouncycastle
   (package
-    (name "java-bouncycastle-bcprov")
-    (version "1.58")
+    (name "java-bouncycastle")
+    (version "1.59")
     (source (origin
               (method url-fetch)
-              (uri "https://bouncycastle.org/download/bcprov-jdk15on-158.tar.gz")
+              (uri (string-append "https://github.com/bcgit/bc-java/archive/r"
+                                  (substring version 0 1) "rv"
+                                  (substring version 2 4) ".tar.gz"))
               (sha256
                (base32
-                "1hgkg96llbvgs8i0krwz2n0j7wlg6jfnq8w8kg0cc899j0wfmf3n"))))
+                "1bwl499whlbq896w18idqw2dkp8v0wp0npv9g71i5fgf8xjh0k3q"))
+              (modules '((guix build utils)))
+              (snippet
+               '(begin
+                  (for-each delete-file
+                            (find-files "." "\\.jar$"))
+                  #t))))
     (build-system ant-build-system)
     (arguments
-     `(#:jar-name "bouncycastle-bcprov.jar"
-       #:tests? #f; no tests
-       #:source-dir "src"
+     `(#:jdk ,icedtea-8
        #:phases
        (modify-phases %standard-phases
-         (add-before 'configure 'unzip-src
+         (replace 'build
            (lambda _
-             (mkdir-p "src")
-             (with-directory-excursion "src"
-               (invoke "unzip" "../src.zip"))
-             #t)))))
-    (native-inputs
-     `(("unzip" ,unzip)
-       ("junit" ,java-junit)))
-    (home-page "https://www.bouncycastle.org")
-    (synopsis "Cryptographic library")
-    (description "Bouncy Castle Provider (bcprov) is a cryptographic library
-for the Java programming language.")
-    (license license:expat)))
-
-(define-public java-bouncycastle-bcpkix
-  (package
-    (name "java-bouncycastle-bcpkix")
-    (version "1.58")
-    (source (origin
-              (method url-fetch)
-              (uri "https://bouncycastle.org/download/bcpkix-jdk15on-158.tar.gz")
-              (sha256
-               (base32
-                "0is7qay02803s9f7lhnfcjlz61ni3hq5d7apg0iil7nbqkbfbcq2"))))
-    (build-system ant-build-system)
-    (arguments
-     `(#:jar-name "bouncycastle-bcpkix.jar"
-       #:tests? #f; no tests
-       #:source-dir "src"
-       #:phases
-       (modify-phases %standard-phases
-         (add-before 'configure 'unzip-src
+             (invoke "ant" "-f" "ant/jdk15+.xml" "build-provider")
+             (invoke "ant" "-f" "ant/jdk15+.xml" "build")
+             #t))
+         (replace 'check
            (lambda _
-             (mkdir-p "src")
-             (with-directory-excursion "src"
-               (invoke "unzip" "../src.zip"))
-             #t)))))
-    (native-inputs
-     `(("unzip" ,unzip)
-       ("junit" ,java-junit)))
+             (invoke "ant" "-f" "ant/jdk15+.xml" "test")))
+         (replace 'install
+           (install-jars "build/artifacts/jdk1.5/jars")))))
     (inputs
-     `(("bcprov" ,java-bouncycastle-bcprov)))
+     `(("java-javax-mail" ,java-javax-mail)))
+    (native-inputs
+     `(("unzip" ,unzip)
+       ("junit" ,java-junit)
+       ("java-native-access" ,java-native-access)
+       ("java-native-access-platform" ,java-native-access-platform)))
     (home-page "https://www.bouncycastle.org")
     (synopsis "Cryptographic library")
-    (description "Bouncy Castle Java API for PKIX, CMS, EAC, TSP, PKCS, OCSP,
-CMP, and CRMF.")
+    (description "Bouncy Castle is a cryptographic library for the Java
+programming language.")
     (license license:expat)))
 
 (define-public java-lmax-disruptor
@@ -8631,8 +8611,7 @@ protocol-independent framework to build mail and messaging applications.")
        ("powermock-junit4-common" ,java-powermock-modules-junit4-common)
        ("powermock-junit4" ,java-powermock-modules-junit4)
        ("powermock-support" ,java-powermock-api-support)
-       ("bouncycastle" ,java-bouncycastle-bcprov)
-       ("bouncycastle-bcpkix" ,java-bouncycastle-bcpkix)))
+       ("java-bouncycastle" ,java-bouncycastle)))
     (home-page "https://kafka.apache.org")
     (synopsis "Distributed streaming platform")
     (description "Kafka is a distributed streaming platform, which means:
-- 
2.17.0





Information forwarded to guix-patches <at> gnu.org:
bug#31212; Package guix-patches. (Wed, 18 Apr 2018 19:22:02 GMT) Full text and rfc822 format available.

Message #11 received at 31212 <at> debbugs.gnu.org (full text, mbox):

From: Julien Lepiller <julien <at> lepiller.eu>
To: 31212 <at> debbugs.gnu.org
Subject: [PATCH 2/9] gnu: Add java-jsch-agentproxy-core.
Date: Wed, 18 Apr 2018 21:21:13 +0200
* gnu/packages/java.scm (java-jsch-agentproxy-core): New variable.
---
 gnu/packages/java.scm | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index 132671dc7..b32134daf 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -9584,3 +9584,27 @@ Java method invocation.")
 and mappings for a number of commonly used platform functions, including a
 large number of Win32 mappings as well as a set of utility classes that
 simplify native access.")))
+
+(define-public java-jsch-agentproxy-core
+  (package
+    (name "java-jsch-agentproxy-core")
+    (version "0.0.8")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://github.com/ymnk/jsch-agent-proxy/archive/"
+                                  version ".tar.gz"))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "02iqg6jbc1kxvfzqcg6wy9ygqxfm82bw5rf6vnswqy4y572niz4q"))))
+    (build-system ant-build-system)
+    (arguments
+     `(#:jar-name "jsch-agentproxy-core.jar"
+       #:source-dir "jsch-agent-proxy-core/src/main/java"
+       #:tests? #f)); no tests
+    (home-page "https://github.com/ymnk/jsch-agent-proxy")
+    (synopsis "Proxy to ssh-agent and Pageant in Java")
+    (description "jsch-agent-proxy is a proxy program to OpenSSH's ssh-agent
+and Pageant included Putty.  It will be easily integrated into JSch, and users
+will be allowed to use these programs for authentication.")
+    (license license:bsd-3)))
-- 
2.17.0





Information forwarded to guix-patches <at> gnu.org:
bug#31212; Package guix-patches. (Wed, 18 Apr 2018 19:22:02 GMT) Full text and rfc822 format available.

Message #14 received at 31212 <at> debbugs.gnu.org (full text, mbox):

From: Julien Lepiller <julien <at> lepiller.eu>
To: 31212 <at> debbugs.gnu.org
Subject: [PATCH 3/9] gnu: Add java-jsch-agentproxy-sshagent.
Date: Wed, 18 Apr 2018 21:21:14 +0200
* gnu/packages/java.scm (java-jsch-agentproxy-sshagent): New variable.
---
 gnu/packages/java.scm | 17 ++++++++++++++++-
 1 file changed, 16 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index b32134daf..1ed965d3d 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -9603,8 +9603,23 @@ simplify native access.")))
        #:source-dir "jsch-agent-proxy-core/src/main/java"
        #:tests? #f)); no tests
     (home-page "https://github.com/ymnk/jsch-agent-proxy")
-    (synopsis "Proxy to ssh-agent and Pageant in Java")
+    (synopsis "Core component of the proxy to ssh-agent and Pageant in Java")
     (description "jsch-agent-proxy is a proxy program to OpenSSH's ssh-agent
 and Pageant included Putty.  It will be easily integrated into JSch, and users
 will be allowed to use these programs for authentication.")
     (license license:bsd-3)))
+
+(define-public java-jsch-agentproxy-sshagent
+  (package
+    (inherit java-jsch-agentproxy-core)
+    (name "java-jsch-agentproxy-sshagent")
+    (arguments
+     `(#:jar-name "jsch-agentproxy-sshagent.jar"
+       #:source-dir "jsch-agent-proxy-sshagent/src/main/java"
+       #:tests? #f)); no tests
+    (inputs
+     `(("java-jsch-agentproxy-core" ,java-jsch-agentproxy-core)))
+    (synopsis "Proxy to ssh-agent")
+    (description "jsch-agent-proxy is a proxy program to OpenSSH's ssh-agent
+and Pageant included in Putty. This component contains the code for a proxy to
+ssh-agent.")))
-- 
2.17.0





Information forwarded to guix-patches <at> gnu.org:
bug#31212; Package guix-patches. (Wed, 18 Apr 2018 19:22:03 GMT) Full text and rfc822 format available.

Message #17 received at 31212 <at> debbugs.gnu.org (full text, mbox):

From: Julien Lepiller <julien <at> lepiller.eu>
To: 31212 <at> debbugs.gnu.org
Subject: [PATCH 4/9] gnu: Add java-jsch-agentproxy-usocket-jna.
Date: Wed, 18 Apr 2018 21:21:15 +0200
* gnu/packages/java.scm (java-jsch-agentproxy-usocket-jna): New
variable.
---
 gnu/packages/java.scm | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index 1ed965d3d..0b4656dff 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -9623,3 +9623,19 @@ will be allowed to use these programs for authentication.")
     (description "jsch-agent-proxy is a proxy program to OpenSSH's ssh-agent
 and Pageant included in Putty. This component contains the code for a proxy to
 ssh-agent.")))
+
+(define-public java-jsch-agentproxy-usocket-jna
+  (package
+    (inherit java-jsch-agentproxy-core)
+    (name "java-jsch-agentproxy-usocket-jna")
+    (arguments
+     `(#:jar-name "jsch-agentproxy-usocket-jna.jar"
+       #:source-dir "jsch-agent-proxy-usocket-jna/src/main/java"
+       #:tests? #f)); no tests
+    (inputs
+     `(("java-jsch-agentproxy-core" ,java-jsch-agentproxy-core)
+       ("java-native-access" ,java-native-access)))
+    (synopsis "USocketFactory implementation using JNA")
+    (description "jsch-agent-proxy is a proxy program to OpenSSH's ssh-agent
+and Pageant included in Putty. This component contains an implementation of
+USocketFactory using @dfn{JNA} (Java Native Access).")))
-- 
2.17.0





Information forwarded to guix-patches <at> gnu.org:
bug#31212; Package guix-patches. (Wed, 18 Apr 2018 19:22:03 GMT) Full text and rfc822 format available.

Message #20 received at 31212 <at> debbugs.gnu.org (full text, mbox):

From: Julien Lepiller <julien <at> lepiller.eu>
To: 31212 <at> debbugs.gnu.org
Subject: [PATCH 5/9] gnu: Add java-jsch-agentproxy-pageant.
Date: Wed, 18 Apr 2018 21:21:16 +0200
* gnu/packages/java.scm (java-jsch-agentproxy-pageant): New variable.
---
 gnu/packages/java.scm | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index 0b4656dff..22d6f6fb0 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -9639,3 +9639,20 @@ ssh-agent.")))
     (description "jsch-agent-proxy is a proxy program to OpenSSH's ssh-agent
 and Pageant included in Putty. This component contains an implementation of
 USocketFactory using @dfn{JNA} (Java Native Access).")))
+
+(define-public java-jsch-agentproxy-pageant
+  (package
+    (inherit java-jsch-agentproxy-core)
+    (name "java-jsch-agentproxy-pageant")
+    (arguments
+     `(#:jar-name "jsch-agentproxy-pageant.jar"
+       #:source-dir "jsch-agent-proxy-pageant/src/main/java"
+       #:tests? #f)); no tests
+    (inputs
+     `(("java-jsch-agentproxy-core" ,java-jsch-agentproxy-core)
+       ("java-native-access" ,java-native-access)
+       ("java-native-access-platform" ,java-native-access-platform)))
+    (synopsis "Proxy to pageant")
+    (description "jsch-agent-proxy is a proxy program to OpenSSH's ssh-agent
+and Pageant included in Putty. This component contains the code for a proxy to
+pageant.")))
-- 
2.17.0





Information forwarded to guix-patches <at> gnu.org:
bug#31212; Package guix-patches. (Wed, 18 Apr 2018 19:22:04 GMT) Full text and rfc822 format available.

Message #23 received at 31212 <at> debbugs.gnu.org (full text, mbox):

From: Julien Lepiller <julien <at> lepiller.eu>
To: 31212 <at> debbugs.gnu.org
Subject: [PATCH 6/9] gnu: Add java-jsch-agentproxy-usocket-nc.
Date: Wed, 18 Apr 2018 21:21:17 +0200
* gnu/packages/java.scm (java-jsch-agentproxy-usocket-nc): New variable.
---
 gnu/packages/java.scm | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index 22d6f6fb0..8d1f820d9 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -9656,3 +9656,18 @@ USocketFactory using @dfn{JNA} (Java Native Access).")))
     (description "jsch-agent-proxy is a proxy program to OpenSSH's ssh-agent
 and Pageant included in Putty. This component contains the code for a proxy to
 pageant.")))
+
+(define-public java-jsch-agentproxy-usocket-nc
+  (package
+    (inherit java-jsch-agentproxy-core)
+    (name "java-jsch-agentproxy-usocket-nc")
+    (arguments
+     `(#:jar-name "jsch-agentproxy-usocket-nc.jar"
+       #:source-dir "jsch-agent-proxy-usocket-nc/src/main/java"
+       #:tests? #f)); no tests
+    (inputs
+     `(("java-jsch-agentproxy-core" ,java-jsch-agentproxy-core)))
+    (synopsis "USocketFactory implementation using netcat")
+    (description "jsch-agent-proxy is a proxy program to OpenSSH's ssh-agent
+and Pageant included in Putty. This component contains an implementation of
+USocketFactory using netcat.")))
-- 
2.17.0





Information forwarded to guix-patches <at> gnu.org:
bug#31212; Package guix-patches. (Wed, 18 Apr 2018 19:22:06 GMT) Full text and rfc822 format available.

Message #26 received at 31212 <at> debbugs.gnu.org (full text, mbox):

From: Julien Lepiller <julien <at> lepiller.eu>
To: 31212 <at> debbugs.gnu.org
Subject: [PATCH 7/9] gnu: Add java-jsch-agentproxy-connector-factory.
Date: Wed, 18 Apr 2018 21:21:18 +0200
* gnu/packages/java.scm (java-jsch-agentproxy-connector-factory): New
variable.
---
 gnu/packages/java.scm | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index 8d1f820d9..115d44ac6 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -9671,3 +9671,21 @@ pageant.")))
     (description "jsch-agent-proxy is a proxy program to OpenSSH's ssh-agent
 and Pageant included in Putty. This component contains an implementation of
 USocketFactory using netcat.")))
+
+(define-public java-jsch-agentproxy-connector-factory
+  (package
+    (inherit java-jsch-agentproxy-core)
+    (name "java-jsch-agentproxy-connector-factory")
+    (arguments
+     `(#:jar-name "jsch-agentproxy-connector-factory.jar"
+       #:source-dir "jsch-agent-proxy-connector-factory/src/main/java"
+       #:tests? #f)); no tests
+    (inputs
+     `(("java-jsch-agentproxy-core" ,java-jsch-agentproxy-core)
+       ("java-jsch-agentproxy-sshagent" ,java-jsch-agentproxy-sshagent)
+       ("java-jsch-agentproxy-usocket-jna" ,java-jsch-agentproxy-usocket-jna)
+       ("java-jsch-agentproxy-pageant" ,java-jsch-agentproxy-pageant)
+       ("java-jsch-agentproxy-usocket-nc" ,java-jsch-agentproxy-usocket-nc)))
+    (synopsis "Connector factory for jsch agent proxy")
+    (description "jsch-agent-proxy is a proxy program to OpenSSH's ssh-agent
+and Pageant included in Putty. This component contains a connector factory.")))
-- 
2.17.0





Information forwarded to guix-patches <at> gnu.org:
bug#31212; Package guix-patches. (Wed, 18 Apr 2018 19:22:06 GMT) Full text and rfc822 format available.

Message #29 received at 31212 <at> debbugs.gnu.org (full text, mbox):

From: Julien Lepiller <julien <at> lepiller.eu>
To: 31212 <at> debbugs.gnu.org
Subject: [PATCH 8/9] gnu: Add java-jsch-agentproxy-jsch.
Date: Wed, 18 Apr 2018 21:21:19 +0200
* gnu/packages/java.scm (java-jsch-agentproxy-jsch): New variable.
---
 gnu/packages/java.scm | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index 115d44ac6..a63d9707f 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -9689,3 +9689,19 @@ USocketFactory using netcat.")))
     (synopsis "Connector factory for jsch agent proxy")
     (description "jsch-agent-proxy is a proxy program to OpenSSH's ssh-agent
 and Pageant included in Putty. This component contains a connector factory.")))
+
+(define-public java-jsch-agentproxy-jsch
+  (package
+    (inherit java-jsch-agentproxy-core)
+    (name "java-jsch-agentproxy-jsch")
+    (arguments
+     `(#:jar-name "jsch-agentproxy-jsch.jar"
+       #:source-dir "jsch-agent-proxy-jsch/src/main/java"
+       #:tests? #f)); no tests
+    (inputs
+     `(("java-jsch" ,java-jsch)
+       ("java-jsch-agentproxy-core" ,java-jsch-agentproxy-core)))
+    (synopsis "JSch integration library for agentproxy")
+    (description "jsch-agent-proxy is a proxy program to OpenSSH's ssh-agent
+and Pageant included in Putty. This component contains a library to use
+jsch-agent-proxy with JSch.")))
-- 
2.17.0





Information forwarded to guix-patches <at> gnu.org:
bug#31212; Package guix-patches. (Wed, 18 Apr 2018 19:22:07 GMT) Full text and rfc822 format available.

Message #32 received at 31212 <at> debbugs.gnu.org (full text, mbox):

From: Julien Lepiller <julien <at> lepiller.eu>
To: 31212 <at> debbugs.gnu.org
Subject: [PATCH 9/9] gnu: Add java-apache-ivy.
Date: Wed, 18 Apr 2018 21:21:20 +0200
* gnu/package/java.scm (java-apache-ivy): New variable.
* gnu/packages/patches/java-apache-ivy-port-to-latest-bouncycastle.patch:
New file.
* gnu/local.mk (dist_patch_DATA): Add it.
---
 gnu/local.mk                                  |   1 +
 gnu/packages/java.scm                         | 101 ++++++++++++++++++
 ...ache-ivy-port-to-latest-bouncycastle.patch |  81 ++++++++++++++
 3 files changed, 183 insertions(+)
 create mode 100644 gnu/packages/patches/java-apache-ivy-port-to-latest-bouncycastle.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index 639dd943d..53443a352 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -793,6 +793,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/intltool-perl-compatibility.patch	\
   %D%/packages/patches/isl-0.11.1-aarch64-support.patch	\
   %D%/packages/patches/jacal-fix-texinfo.patch			\
+  %D%/packages/patches/java-apache-ivy-port-to-latest-bouncycastle.patch	\
   %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		\
diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index a63d9707f..90fd07c59 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -9705,3 +9705,104 @@ and Pageant included in Putty. This component contains a connector factory.")))
     (description "jsch-agent-proxy is a proxy program to OpenSSH's ssh-agent
 and Pageant included in Putty. This component contains a library to use
 jsch-agent-proxy with JSch.")))
+
+(define-public java-apache-ivy
+  (package
+    (name "java-apache-ivy")
+    (version "2.4.0")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "mirror://apache//ant/ivy/" version
+                                  "/apache-ivy-" version "-src.tar.gz"))
+              (sha256
+               (base32
+                "1xkfn57g2m7l6y0xdq75x5rnrgk52m9jx2xah70g3ggl8750hbr0"))
+              (patches
+                (search-patches
+                  "java-apache-ivy-port-to-latest-bouncycastle.patch"))))
+    (build-system ant-build-system)
+    (arguments
+     `(#:jar-name "ivy.jar"
+       #:tests? #f
+       #:phases
+       (modify-phases %standard-phases
+         (add-before 'build 'remove-example
+           (lambda _
+             (delete-file-recursively "src/example")
+             #t))
+         (add-before 'build 'copy-resources
+           (lambda _
+             (with-directory-excursion "src/java"
+               (for-each (lambda (file)
+                           (install-file file (string-append "../../build/classes/" (dirname file))))
+                 (append
+                   (find-files "." ".*.css")
+                   (find-files "." ".*.ent")
+                   (find-files "." ".*.html")
+                   (find-files "." ".*.properties")
+                   (find-files "." ".*.xsd")
+                   (find-files "." ".*.xsl")
+                   (find-files "." ".*.xml"))))))
+         (add-before 'build 'fix-vfs
+           (lambda _
+             (substitute*
+               '("src/java/org/apache/ivy/plugins/repository/vfs/VfsRepository.java"
+                 "src/java/org/apache/ivy/plugins/repository/vfs/VfsResource.java")
+               (("import org.apache.commons.vfs") "import org.apache.commons.vfs2"))
+             #t))
+         (add-before 'install 'copy-manifest
+           (lambda _
+             (install-file "META-INF/MANIFEST.MF" "build/classes/META-INF")
+             #t))
+         (add-before 'install 'repack
+           (lambda _
+             (invoke "jar" "-cmf" "build/classes/META-INF/MANIFEST.MF" "build/jar/ivy.jar"
+                     "-C" "build/classes" ".")
+             #t))
+         (add-after 'install 'install-bin
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((bin (string-append (assoc-ref outputs "out") "/bin"))
+                    (ivy (string-append bin "/ivy"))
+                    (jar (string-append (assoc-ref outputs "out") "/share/java/ivy.jar")))
+               (mkdir-p bin)
+               (with-output-to-file ivy
+                 (lambda _
+                   (display (string-append
+                              "#!" (which "sh") "\n"
+                              "if [[ -z $CLASSPATH ]]; then\n"
+                              "  cp=\"" (getenv "CLASSPATH") ":" jar "\"\n"
+                              "else\n"
+                              "  cp=\"" (getenv "CLASSPATH") ":" jar ":$CLASSPATH\"\n"
+                              "fi\n"
+                              (which "java") " -cp $cp org.apache.ivy.Main $@\n"))))
+               (chmod ivy #o755)
+               #t))))))
+    (inputs
+     `(("java-bouncycastle" ,java-bouncycastle)
+       ("java-commons-cli" ,java-commons-cli)
+       ("java-commons-collections" ,java-commons-collections)
+       ("java-commons-httpclient" ,java-commons-httpclient)
+       ("java-commons-lang" ,java-commons-lang)
+       ("java-commons-vfs" ,java-commons-vfs)
+       ("java-jakarta-oro" ,java-jakarta-oro)
+       ("java-jsch" ,java-jsch)
+       ("java-jsch-agentproxy-core" ,java-jsch-agentproxy-core)
+       ("java-jsch-agentproxy-connector-factory" ,java-jsch-agentproxy-connector-factory)
+       ("java-jsch-agentproxy-jsch" ,java-jsch-agentproxy-jsch)
+       ("java-junit" ,java-junit)))
+    (home-page "https://ant.apache.org/ivy")
+    (synopsis "Dependency manager for the Java programming language")
+    (description "Ivy is a tool for managing (recording, tracking, resolving
+and reporting) project dependencies.  It is characterized by the following:
+
+@itemize
+@item flexibility and configurability - Ivy is essentially process agnostic
+      and is not tied to any methodology or structure.  Instead it provides the
+      necessary flexibility and configurability to be adapted to a broad range
+      of dependency management and build processes.
+@item tight integration with Apache Ant - while available as a standalone tool,
+      Ivy works particularly well with Apache Ant providing a number of
+      powerful Ant tasks ranging from dependency resolution to dependency
+      reporting and publication.
+@end itemize")
+    (license license:asl2.0)))
diff --git a/gnu/packages/patches/java-apache-ivy-port-to-latest-bouncycastle.patch b/gnu/packages/patches/java-apache-ivy-port-to-latest-bouncycastle.patch
new file mode 100644
index 000000000..506de833d
--- /dev/null
+++ b/gnu/packages/patches/java-apache-ivy-port-to-latest-bouncycastle.patch
@@ -0,0 +1,81 @@
+From 29055a825af5405e44ffcd59a776f8952bdc7203 Mon Sep 17 00:00:00 2001
+From: Julien Lepiller <julien <at> lepiller.eu>
+Date: Fri, 15 Dec 2017 16:03:23 +0100
+Subject: [PATCH] Port to latest bouncycastle.
+
+---
+ .../bouncycastle/OpenPGPSignatureGenerator.java    | 34 ++++++++++------------
+ 1 file changed, 16 insertions(+), 18 deletions(-)
+
+diff --git a/src/java/org/apache/ivy/plugins/signer/bouncycastle/OpenPGPSignatureGenerator.java b/src/java/org/apache/ivy/plugins/signer/bouncycastle/OpenPGPSignatureGenerator.java
+index af7beae..34c204f 100644
+--- a/src/java/org/apache/ivy/plugins/signer/bouncycastle/OpenPGPSignatureGenerator.java
++++ b/src/java/org/apache/ivy/plugins/signer/bouncycastle/OpenPGPSignatureGenerator.java
+@@ -41,6 +41,11 @@ import org.bouncycastle.openpgp.PGPSecretKeyRingCollection;
+ import org.bouncycastle.openpgp.PGPSignature;
+ import org.bouncycastle.openpgp.PGPSignatureGenerator;
+ import org.bouncycastle.openpgp.PGPUtil;
++import org.bouncycastle.openpgp.operator.PBESecretKeyDecryptor;
++import org.bouncycastle.openpgp.operator.bc.BcPBESecretKeyDecryptorBuilder;
++import org.bouncycastle.openpgp.operator.bc.BcPGPDigestCalculatorProvider;
++import org.bouncycastle.openpgp.operator.bc.BcPGPContentSignerBuilder;
++import org.bouncycastle.openpgp.operator.bc.BcKeyFingerprintCalculator;
+ 
+ public class OpenPGPSignatureGenerator implements SignatureGenerator {
+ 
+@@ -101,11 +106,15 @@ public class OpenPGPSignatureGenerator implements SignatureGenerator {
+                 pgpSec = readSecretKey(keyIn);
+             }
+ 
+-            PGPPrivateKey pgpPrivKey = pgpSec.extractPrivateKey(password.toCharArray(),
+-                BouncyCastleProvider.PROVIDER_NAME);
+-            PGPSignatureGenerator sGen = new PGPSignatureGenerator(pgpSec.getPublicKey()
+-                    .getAlgorithm(), PGPUtil.SHA1, BouncyCastleProvider.PROVIDER_NAME);
+-            sGen.initSign(PGPSignature.BINARY_DOCUMENT, pgpPrivKey);
++            PBESecretKeyDecryptor decryptor =
++                    new BcPBESecretKeyDecryptorBuilder(new BcPGPDigestCalculatorProvider())
++                    .build(password.toCharArray());
++            PGPPrivateKey pgpPrivKey = pgpSec.extractPrivateKey(decryptor);
++            BcPGPContentSignerBuilder builder = new BcPGPContentSignerBuilder(
++                            pgpSec.getPublicKey().getAlgorithm(), PGPUtil.SHA1);
++
++            PGPSignatureGenerator sGen = new PGPSignatureGenerator(builder);
++            sGen.init(PGPSignature.BINARY_DOCUMENT, pgpPrivKey);
+ 
+             in = new FileInputStream(src);
+             out = new BCPGOutputStream(new ArmoredOutputStream(new FileOutputStream(dest)));
+@@ -116,22 +125,10 @@ public class OpenPGPSignatureGenerator implements SignatureGenerator {
+             }
+ 
+             sGen.generate().encode(out);
+-        } catch (SignatureException e) {
+-            IOException ioexc = new IOException();
+-            ioexc.initCause(e);
+-            throw ioexc;
+         } catch (PGPException e) {
+             IOException ioexc = new IOException();
+             ioexc.initCause(e);
+             throw ioexc;
+-        } catch (NoSuchAlgorithmException e) {
+-            IOException ioexc = new IOException();
+-            ioexc.initCause(e);
+-            throw ioexc;
+-        } catch (NoSuchProviderException e) {
+-            IOException ioexc = new IOException();
+-            ioexc.initCause(e);
+-            throw ioexc;
+         } finally {
+             if (out != null) {
+                 try {
+@@ -156,7 +153,8 @@ public class OpenPGPSignatureGenerator implements SignatureGenerator {
+ 
+     private PGPSecretKey readSecretKey(InputStream in) throws IOException, PGPException {
+         in = PGPUtil.getDecoderStream(in);
+-        PGPSecretKeyRingCollection pgpSec = new PGPSecretKeyRingCollection(in);
++        PGPSecretKeyRingCollection pgpSec = new PGPSecretKeyRingCollection(in,
++                        new BcKeyFingerprintCalculator());
+ 
+         PGPSecretKey key = null;
+         for (Iterator it = pgpSec.getKeyRings(); key == null && it.hasNext();) {
+-- 
+2.15.1
-- 
2.17.0





Information forwarded to guix-patches <at> gnu.org:
bug#31212; Package guix-patches. (Sat, 28 Apr 2018 21:27:01 GMT) Full text and rfc822 format available.

Message #35 received at 31212 <at> debbugs.gnu.org (full text, mbox):

From: ludo <at> gnu.org (Ludovic Courtès)
To: Julien Lepiller <julien <at> lepiller.eu>
Cc: 31212 <at> debbugs.gnu.org
Subject: Re: [bug#31212] Add apache ivy
Date: Sat, 28 Apr 2018 23:25:57 +0200
Hi Julien,

Julien Lepiller <julien <at> lepiller.eu> skribis:

> this small patch series adds apache-ivy and dependencies. They are the
> next packages required for maven. After that, I have groovy, in 22
> packages, then 18 more various java library packages, and finally 25
> packages to complete maven. We're almost there!

From a cursory look at the patches and as someone oblivious to Java ;-),
it looks reasonable.  I think you can go ahead and push since nobody
replied in 10 days.

Thank you!

Ludo’.




Reply sent to Julien Lepiller <julien <at> lepiller.eu>:
You have taken responsibility. (Sun, 29 Apr 2018 21:25:02 GMT) Full text and rfc822 format available.

Notification sent to Julien Lepiller <julien <at> lepiller.eu>:
bug acknowledged by developer. (Sun, 29 Apr 2018 21:25:02 GMT) Full text and rfc822 format available.

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

From: Julien Lepiller <julien <at> lepiller.eu>
To: 31212-done <at> debbugs.gnu.org
Subject: Re: [bug#31212] Add apache ivy
Date: Sun, 29 Apr 2018 23:24:16 +0200
Le Sat, 28 Apr 2018 23:25:57 +0200,
ludo <at> gnu.org (Ludovic Courtès) a écrit :

> Hi Julien,
> 
> Julien Lepiller <julien <at> lepiller.eu> skribis:
> 
> > this small patch series adds apache-ivy and dependencies. They are
> > the next packages required for maven. After that, I have groovy, in
> > 22 packages, then 18 more various java library packages, and
> > finally 25 packages to complete maven. We're almost there!  
> 
> From a cursory look at the patches and as someone oblivious to
> Java ;-), it looks reasonable.  I think you can go ahead and push
> since nobody replied in 10 days.
> 
> Thank you!
> 
> Ludo’.

Pushed as
50d70a727b93e5b348ddb5fa597f411da277e35d
- f1f4a4f016291509ed97034af0216573cdacf36c




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Mon, 28 May 2018 11:24:04 GMT) Full text and rfc822 format available.

This bug report was last modified 5 years and 328 days ago.

Previous Next


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