* [bug#31212] Add apache ivy
@ 2018-04-18 19:04 Julien Lepiller
2018-04-18 19:21 ` [bug#31212] [PATCH 1/9] gnu: Add java-bouncycastle Julien Lepiller
2018-04-28 21:25 ` [bug#31212] Add apache ivy Ludovic Courtès
0 siblings, 2 replies; 12+ messages in thread
From: Julien Lepiller @ 2018-04-18 19:04 UTC (permalink / raw)
To: 31212
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!
^ permalink raw reply [flat|nested] 12+ messages in thread
* [bug#31212] [PATCH 1/9] gnu: Add java-bouncycastle.
2018-04-18 19:04 [bug#31212] Add apache ivy Julien Lepiller
@ 2018-04-18 19:21 ` Julien Lepiller
2018-04-18 19:21 ` [bug#31212] [PATCH 2/9] gnu: Add java-jsch-agentproxy-core Julien Lepiller
` (7 more replies)
2018-04-28 21:25 ` [bug#31212] Add apache ivy Ludovic Courtès
1 sibling, 8 replies; 12+ messages in thread
From: Julien Lepiller @ 2018-04-18 19:21 UTC (permalink / raw)
To: 31212
* 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
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [bug#31212] [PATCH 2/9] gnu: Add java-jsch-agentproxy-core.
2018-04-18 19:21 ` [bug#31212] [PATCH 1/9] gnu: Add java-bouncycastle Julien Lepiller
@ 2018-04-18 19:21 ` Julien Lepiller
2018-04-18 19:21 ` [bug#31212] [PATCH 3/9] gnu: Add java-jsch-agentproxy-sshagent Julien Lepiller
` (6 subsequent siblings)
7 siblings, 0 replies; 12+ messages in thread
From: Julien Lepiller @ 2018-04-18 19:21 UTC (permalink / raw)
To: 31212
* 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
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [bug#31212] [PATCH 3/9] gnu: Add java-jsch-agentproxy-sshagent.
2018-04-18 19:21 ` [bug#31212] [PATCH 1/9] gnu: Add java-bouncycastle Julien Lepiller
2018-04-18 19:21 ` [bug#31212] [PATCH 2/9] gnu: Add java-jsch-agentproxy-core Julien Lepiller
@ 2018-04-18 19:21 ` Julien Lepiller
2018-04-18 19:21 ` [bug#31212] [PATCH 4/9] gnu: Add java-jsch-agentproxy-usocket-jna Julien Lepiller
` (5 subsequent siblings)
7 siblings, 0 replies; 12+ messages in thread
From: Julien Lepiller @ 2018-04-18 19:21 UTC (permalink / raw)
To: 31212
* 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
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [bug#31212] [PATCH 4/9] gnu: Add java-jsch-agentproxy-usocket-jna.
2018-04-18 19:21 ` [bug#31212] [PATCH 1/9] gnu: Add java-bouncycastle Julien Lepiller
2018-04-18 19:21 ` [bug#31212] [PATCH 2/9] gnu: Add java-jsch-agentproxy-core Julien Lepiller
2018-04-18 19:21 ` [bug#31212] [PATCH 3/9] gnu: Add java-jsch-agentproxy-sshagent Julien Lepiller
@ 2018-04-18 19:21 ` Julien Lepiller
2018-04-18 19:21 ` [bug#31212] [PATCH 5/9] gnu: Add java-jsch-agentproxy-pageant Julien Lepiller
` (4 subsequent siblings)
7 siblings, 0 replies; 12+ messages in thread
From: Julien Lepiller @ 2018-04-18 19:21 UTC (permalink / raw)
To: 31212
* 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
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [bug#31212] [PATCH 5/9] gnu: Add java-jsch-agentproxy-pageant.
2018-04-18 19:21 ` [bug#31212] [PATCH 1/9] gnu: Add java-bouncycastle Julien Lepiller
` (2 preceding siblings ...)
2018-04-18 19:21 ` [bug#31212] [PATCH 4/9] gnu: Add java-jsch-agentproxy-usocket-jna Julien Lepiller
@ 2018-04-18 19:21 ` Julien Lepiller
2018-04-18 19:21 ` [bug#31212] [PATCH 6/9] gnu: Add java-jsch-agentproxy-usocket-nc Julien Lepiller
` (3 subsequent siblings)
7 siblings, 0 replies; 12+ messages in thread
From: Julien Lepiller @ 2018-04-18 19:21 UTC (permalink / raw)
To: 31212
* 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
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [bug#31212] [PATCH 6/9] gnu: Add java-jsch-agentproxy-usocket-nc.
2018-04-18 19:21 ` [bug#31212] [PATCH 1/9] gnu: Add java-bouncycastle Julien Lepiller
` (3 preceding siblings ...)
2018-04-18 19:21 ` [bug#31212] [PATCH 5/9] gnu: Add java-jsch-agentproxy-pageant Julien Lepiller
@ 2018-04-18 19:21 ` Julien Lepiller
2018-04-18 19:21 ` [bug#31212] [PATCH 7/9] gnu: Add java-jsch-agentproxy-connector-factory Julien Lepiller
` (2 subsequent siblings)
7 siblings, 0 replies; 12+ messages in thread
From: Julien Lepiller @ 2018-04-18 19:21 UTC (permalink / raw)
To: 31212
* 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
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [bug#31212] [PATCH 7/9] gnu: Add java-jsch-agentproxy-connector-factory.
2018-04-18 19:21 ` [bug#31212] [PATCH 1/9] gnu: Add java-bouncycastle Julien Lepiller
` (4 preceding siblings ...)
2018-04-18 19:21 ` [bug#31212] [PATCH 6/9] gnu: Add java-jsch-agentproxy-usocket-nc Julien Lepiller
@ 2018-04-18 19:21 ` Julien Lepiller
2018-04-18 19:21 ` [bug#31212] [PATCH 8/9] gnu: Add java-jsch-agentproxy-jsch Julien Lepiller
2018-04-18 19:21 ` [bug#31212] [PATCH 9/9] gnu: Add java-apache-ivy Julien Lepiller
7 siblings, 0 replies; 12+ messages in thread
From: Julien Lepiller @ 2018-04-18 19:21 UTC (permalink / raw)
To: 31212
* 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
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [bug#31212] [PATCH 8/9] gnu: Add java-jsch-agentproxy-jsch.
2018-04-18 19:21 ` [bug#31212] [PATCH 1/9] gnu: Add java-bouncycastle Julien Lepiller
` (5 preceding siblings ...)
2018-04-18 19:21 ` [bug#31212] [PATCH 7/9] gnu: Add java-jsch-agentproxy-connector-factory Julien Lepiller
@ 2018-04-18 19:21 ` Julien Lepiller
2018-04-18 19:21 ` [bug#31212] [PATCH 9/9] gnu: Add java-apache-ivy Julien Lepiller
7 siblings, 0 replies; 12+ messages in thread
From: Julien Lepiller @ 2018-04-18 19:21 UTC (permalink / raw)
To: 31212
* 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
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [bug#31212] [PATCH 9/9] gnu: Add java-apache-ivy.
2018-04-18 19:21 ` [bug#31212] [PATCH 1/9] gnu: Add java-bouncycastle Julien Lepiller
` (6 preceding siblings ...)
2018-04-18 19:21 ` [bug#31212] [PATCH 8/9] gnu: Add java-jsch-agentproxy-jsch Julien Lepiller
@ 2018-04-18 19:21 ` Julien Lepiller
7 siblings, 0 replies; 12+ messages in thread
From: Julien Lepiller @ 2018-04-18 19:21 UTC (permalink / raw)
To: 31212
* 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@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
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [bug#31212] Add apache ivy
2018-04-18 19:04 [bug#31212] Add apache ivy Julien Lepiller
2018-04-18 19:21 ` [bug#31212] [PATCH 1/9] gnu: Add java-bouncycastle Julien Lepiller
@ 2018-04-28 21:25 ` Ludovic Courtès
2018-04-29 21:24 ` bug#31212: " Julien Lepiller
1 sibling, 1 reply; 12+ messages in thread
From: Ludovic Courtès @ 2018-04-28 21:25 UTC (permalink / raw)
To: Julien Lepiller; +Cc: 31212
Hi Julien,
Julien Lepiller <julien@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’.
^ permalink raw reply [flat|nested] 12+ messages in thread
* bug#31212: Add apache ivy
2018-04-28 21:25 ` [bug#31212] Add apache ivy Ludovic Courtès
@ 2018-04-29 21:24 ` Julien Lepiller
0 siblings, 0 replies; 12+ messages in thread
From: Julien Lepiller @ 2018-04-29 21:24 UTC (permalink / raw)
To: 31212-done
Le Sat, 28 Apr 2018 23:25:57 +0200,
ludo@gnu.org (Ludovic Courtès) a écrit :
> Hi Julien,
>
> Julien Lepiller <julien@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
^ permalink raw reply [flat|nested] 12+ messages in thread
end of thread, other threads:[~2018-04-29 21:25 UTC | newest]
Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-04-18 19:04 [bug#31212] Add apache ivy Julien Lepiller
2018-04-18 19:21 ` [bug#31212] [PATCH 1/9] gnu: Add java-bouncycastle Julien Lepiller
2018-04-18 19:21 ` [bug#31212] [PATCH 2/9] gnu: Add java-jsch-agentproxy-core Julien Lepiller
2018-04-18 19:21 ` [bug#31212] [PATCH 3/9] gnu: Add java-jsch-agentproxy-sshagent Julien Lepiller
2018-04-18 19:21 ` [bug#31212] [PATCH 4/9] gnu: Add java-jsch-agentproxy-usocket-jna Julien Lepiller
2018-04-18 19:21 ` [bug#31212] [PATCH 5/9] gnu: Add java-jsch-agentproxy-pageant Julien Lepiller
2018-04-18 19:21 ` [bug#31212] [PATCH 6/9] gnu: Add java-jsch-agentproxy-usocket-nc Julien Lepiller
2018-04-18 19:21 ` [bug#31212] [PATCH 7/9] gnu: Add java-jsch-agentproxy-connector-factory Julien Lepiller
2018-04-18 19:21 ` [bug#31212] [PATCH 8/9] gnu: Add java-jsch-agentproxy-jsch Julien Lepiller
2018-04-18 19:21 ` [bug#31212] [PATCH 9/9] gnu: Add java-apache-ivy Julien Lepiller
2018-04-28 21:25 ` [bug#31212] Add apache ivy Ludovic Courtès
2018-04-29 21:24 ` bug#31212: " Julien Lepiller
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/guix.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).