unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
* [bug#29061] Java patches
@ 2017-10-29 20:47 Julien Lepiller
  2017-10-29 20:54 ` Julien Lepiller
  0 siblings, 1 reply; 6+ messages in thread
From: Julien Lepiller @ 2017-10-29 20:47 UTC (permalink / raw)
  To: 29061

Hi, here are 22 new java patches that get us a bit closer to maven :)

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [bug#29061] Java patches
  2017-10-29 20:47 [bug#29061] Java patches Julien Lepiller
@ 2017-10-29 20:54 ` Julien Lepiller
  2017-10-30 14:55   ` Leo Famulari
  0 siblings, 1 reply; 6+ messages in thread
From: Julien Lepiller @ 2017-10-29 20:54 UTC (permalink / raw)
  To: 29061

[-- Attachment #1: Type: text/plain, Size: 222 bytes --]

On Sun, 29 Oct 2017 21:47:09 +0100
Julien Lepiller <julien@lepiller.eu> wrote:

> Hi, here are 22 new java patches that get us a bit closer to maven :)
> 
> 
> 

Somehow I can't use git send-email, so here are the patches.

[-- Attachment #2: 0001-gnu-Add-java-bsh.patch --]
[-- Type: text/x-patch, Size: 2015 bytes --]

From 10c1801922abbc82e48360b22d5d8681449715b9 Mon Sep 17 00:00:00 2001
From: Julien Lepiller <julien@lepiller.eu>
Date: Tue, 24 Oct 2017 22:05:04 +0200
Subject: [PATCH 01/22] gnu: Add java-bsh.

* gnu/packages/java.scm (java-bsh): New variable.
---
 gnu/packages/java.scm | 31 +++++++++++++++++++++++++++++++
 1 file changed, 31 insertions(+)

diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index 70afb7be1..16203317a 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -6256,3 +6256,34 @@ file when the JVM loads it.")
 trivial to parse command line parameters.  Parameters are declared with
 annotations.")
     (license license:asl2.0)))
+
+(define-public java-bsh
+  (package
+    (name "java-bsh")
+    (version "2.0b6")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://github.com/beanshell/beanshell/archive/"
+                                  version ".tar.gz"))
+              (sha256
+               (base32
+                "1bawkxk6jyc75hxvzkpz689h73cn3f222m0ar3nvb0dal2b85kfv"))))
+    (build-system ant-build-system)
+    (arguments
+     `(#:build-target "jarall"
+       #:test-target "junit-tests-all"
+       #:phases
+       (modify-phases %standard-phases
+         (replace 'install
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let ((share (string-append (assoc-ref outputs "out") "/share/java")))
+               (mkdir-p share)
+               (copy-file "dist/bsh-2.0b6.jar" (string-append share "/bsh-2.0b6.jar"))))))))
+    (home-page "http://beanshell.org/")
+    (synopsis "Lightweight Scripting for Java")
+    (description "BeanShell is a small, free, embeddable Java source
+interpreter with object scripting language features, written in Java.
+BeanShell dynamically executes standard Java syntax and extends it with common
+scripting conveniences such as loose types, commands, and method closures like
+those in Perl and JavaScript.")
+    (license license:asl2.0)))
-- 
2.14.3


[-- Attachment #3: 0002-gnu-Add-java-bsh.patch --]
[-- Type: text/x-patch, Size: 1480 bytes --]

From f02f8c081e1627180e9f78393c3ab1fd8ad8b60b Mon Sep 17 00:00:00 2001
From: Julien Lepiller <julien@lepiller.eu>
Date: Tue, 24 Oct 2017 22:05:04 +0200
Subject: [PATCH 02/22] gnu: Add java-bsh.

* gnu/packages/java.scm (java-bsh): New variable.
---
 gnu/packages/java.scm | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index 16203317a..5d2a71901 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -6265,6 +6265,7 @@ annotations.")
               (method url-fetch)
               (uri (string-append "https://github.com/beanshell/beanshell/archive/"
                                   version ".tar.gz"))
+              (file-name (string-append name "-" version ".tar.gz"))
               (sha256
                (base32
                 "1bawkxk6jyc75hxvzkpz689h73cn3f222m0ar3nvb0dal2b85kfv"))))
@@ -6278,7 +6279,8 @@ annotations.")
            (lambda* (#:key outputs #:allow-other-keys)
              (let ((share (string-append (assoc-ref outputs "out") "/share/java")))
                (mkdir-p share)
-               (copy-file "dist/bsh-2.0b6.jar" (string-append share "/bsh-2.0b6.jar"))))))))
+               (copy-file "dist/bsh-2.0b6.jar"
+                          (string-append share "/bsh-2.0b6.jar"))))))))
     (home-page "http://beanshell.org/")
     (synopsis "Lightweight Scripting for Java")
     (description "BeanShell is a small, free, embeddable Java source
-- 
2.14.3


[-- Attachment #4: 0003-gnu-Add-java-jmock.patch --]
[-- Type: text/x-patch, Size: 2248 bytes --]

From 016af8aad804f488e530ae680855f175e8d8cfd1 Mon Sep 17 00:00:00 2001
From: Julien Lepiller <julien@lepiller.eu>
Date: Tue, 24 Oct 2017 22:08:38 +0200
Subject: [PATCH 03/22] gnu: Add java-jmock.

* gnu/packages/java.scm (java-jmock): New variable.
---
 gnu/packages/java.scm | 41 +++++++++++++++++++++++++++++++++++++++++
 1 file changed, 41 insertions(+)

diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index 5d2a71901..ce3d794b8 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -2513,6 +2513,47 @@ interactions between the objects in your programs.
 
 The jMock library
 
+@itemize
+@item makes it quick and easy to define mock objects
+@item lets you precisely specify the interactions between
+  your objects, reducing the brittleness of your tests
+@item plugs into your favourite test framework
+@item is easy to extend.
+@end itemize\n")
+    (license license:bsd-3)))
+
+(define-public java-jmock
+  (package
+    (name "java-jmock")
+    (version "2.8.2")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://github.com/jmock-developers/"
+                                  "jmock-library/archive/" version ".tar.gz"))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "18650a9g8xffcsdb6w91pbswa7f40fp2sh6s3nclkclz5dbzq8f0"))))
+    (build-system ant-build-system)
+    (inputs
+     `(("java-hamcrest-all" ,java-hamcrest-all)
+       ("java-asm" ,java-asm)
+       ("java-bsh" ,java-bsh)
+       ("java-junit" ,java-junit)))
+    (arguments
+     `(#:jar-name "java-jmock.jar"
+       #:source-dir "jmock/src/main/java"
+       #:test-dir "jmock/src/test"))
+    (native-inputs
+     `(("cglib" ,java-cglib)))
+    (home-page "http://www.jmock.org")
+    (synopsis "Mock object library for test-driven development")
+    (description "JMock is a library that supports test-driven development of
+Java code with mock objects.  Mock objects help you design and test the
+interactions between the objects in your programs.
+
+The jMock library
+
 @itemize
 @item makes it quick and easy to define mock objects
 @item lets you precisely specify the interactions between
-- 
2.14.3


[-- Attachment #5: 0004-gnu-Add-java-jmock-junit4.patch --]
[-- Type: text/x-patch, Size: 1164 bytes --]

From f2b5dcd1cbe5a3a8fcb9da6e6bc66e697618b645 Mon Sep 17 00:00:00 2001
From: Julien Lepiller <julien@lepiller.eu>
Date: Tue, 24 Oct 2017 22:09:31 +0200
Subject: [PATCH 04/22] gnu: Add java-jmock-junit4.

* gnu/packages/java.scm (java-jmock-junit4): 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 ce3d794b8..ae73bd870 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -2563,6 +2563,21 @@ The jMock library
 @end itemize\n")
     (license license:bsd-3)))
 
+(define-public java-jmock-junit4
+  (package
+    (inherit java-jmock)
+    (name "java-jmock-junit4")
+    (arguments
+     `(#:jar-name "java-jmock-junit4.jar"
+       #:source-dir "jmock-junit4/src/main/java"
+       #:test-dir "jmock-junit4/src/test"))
+    (inputs
+     `(("java-hamcrest-all" ,java-hamcrest-all)
+       ("java-asm" ,java-asm)
+       ("java-bsh" ,java-bsh)
+       ("java-jmock" ,java-jmock)
+       ("java-jumit" ,java-junit)))))
+
 (define-public java-hamcrest-all
   (package (inherit java-hamcrest-core)
     (name "java-hamcrest-all")
-- 
2.14.3


[-- Attachment #6: 0005-gnu-Add-java-jmock-legacy.patch --]
[-- Type: text/x-patch, Size: 1763 bytes --]

From 330cbcb37084af37dccd0d63adf381c671d4317c Mon Sep 17 00:00:00 2001
From: Julien Lepiller <julien@lepiller.eu>
Date: Tue, 24 Oct 2017 22:10:38 +0200
Subject: [PATCH 05/22] gnu: Add java-jmock-legacy.

* gnu/packages/java.scm (java-jmock-legacy): New variable.
---
 gnu/packages/java.scm | 27 +++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)

diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index ae73bd870..af0b851e5 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -2578,6 +2578,33 @@ The jMock library
        ("java-jmock" ,java-jmock)
        ("java-jumit" ,java-junit)))))
 
+(define-public java-jmock-legacy
+  (package
+    (inherit java-jmock)
+    (name "java-jmock-legacy")
+    (arguments
+     `(#:jar-name "java-jmock-legacy.jar"
+       #:source-dir "jmock-legacy/src/main/java"
+       #:test-dir "jmock-legacy/src/test"
+       #:phases
+       (modify-phases %standard-phases
+         (add-before 'check 'copy-tests
+           (lambda _
+             ;; This file is a dependancy of some tests
+             (let ((file "org/jmock/test/acceptance/PackageProtectedType.java"))
+               (copy-file (string-append "jmock/src/test/java/" file)
+                          (string-append "jmock-legacy/src/test/java/" file))))))))
+    (inputs
+     `(("java-hamcrest-all" ,java-hamcrest-all)
+       ("java-objenesis" ,java-objenesis)
+       ("java-cglib" ,java-cglib)
+       ("java-jmock" ,java-jmock)
+       ("java-asm" ,java-asm)
+       ("java-bsh" ,java-bsh)
+       ("java-junit" ,java-junit)))
+    (native-inputs
+     `(("java-jmock-junit4" ,java-jmock-junit4)))))
+
 (define-public java-hamcrest-all
   (package (inherit java-hamcrest-core)
     (name "java-hamcrest-all")
-- 
2.14.3


[-- Attachment #7: 0006-gnu-Add-java-fest-util.patch --]
[-- Type: text/x-patch, Size: 1600 bytes --]

From 9b238e290c952862725db31fbbc1bc7c73728947 Mon Sep 17 00:00:00 2001
From: Julien Lepiller <julien@lepiller.eu>
Date: Tue, 24 Oct 2017 22:14:53 +0200
Subject: [PATCH 06/22] gnu: Add java-fest-util.

* gnu/packages/java.scm (java-fest-util): New variable.
---
 gnu/packages/java.scm | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index af0b851e5..9cb14cf27 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -6372,3 +6372,26 @@ BeanShell dynamically executes standard Java syntax and extends it with common
 scripting conveniences such as loose types, commands, and method closures like
 those in Perl and JavaScript.")
     (license license:asl2.0)))
+
+(define-public java-fest-util
+  (package
+    (name "java-fest-util")
+    (version "1.2.5")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://github.com/alexruiz/fest-util/"
+                                  "archive/fest-util-" version ".tar.gz"))
+              (sha256
+               (base32
+                "05g6hljz5mdaakk8d7g32klbhz9bdwp3qlj6rdaggdidxs3x1sb8"))))
+    (build-system ant-build-system)
+    (arguments
+     `(#:jar-name "java-fest-util.jar"
+       #:source-dir "src/main/java"))
+    (native-inputs
+     `(("junit" ,java-junit)
+       ("hamcrest" ,java-hamcrest-core)))
+    (home-page "https://github.com/alexruiz/fest-util")
+    (synopsis "FEST common utilities")
+    (description "Common utilities used in all FEST module.")
+    (license license:asl2.0)))
-- 
2.14.3


[-- Attachment #8: 0007-gnu-Add-java-fest-test.patch --]
[-- Type: text/x-patch, Size: 1555 bytes --]

From ca5d817578536b37b81946732946f9bf14eb306c Mon Sep 17 00:00:00 2001
From: Julien Lepiller <julien@lepiller.eu>
Date: Tue, 24 Oct 2017 22:15:30 +0200
Subject: [PATCH 07/22] gnu: Add java-fest-test.

* gnu/packages/java.scm (java-fest-test): New variable.
---
 gnu/packages/java.scm | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index 9cb14cf27..8d2f94b84 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -6395,3 +6395,26 @@ those in Perl and JavaScript.")
     (synopsis "FEST common utilities")
     (description "Common utilities used in all FEST module.")
     (license license:asl2.0)))
+
+(define-public java-fest-test
+  (package
+    (name "java-fest-test")
+    (version "2.1.0")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://github.com/alexruiz/fest-test/"
+                                  "archive/fest-test-" version ".tar.gz"))
+              (sha256
+               (base32
+                "1rxfbw6l9vc65iy1x3fb617qc6y4w2k430pgf1mfbxfdlxbm0f7g"))))
+    (build-system ant-build-system)
+    (arguments
+     `(#:jar-name "java-fest-test.jar"
+       #:source-dir "src/main/java"
+       #:tests? #f)); no tests
+    (inputs
+     `(("junit" ,java-junit)))
+    (home-page "https://github.com/alexruiz/fest-test")
+    (synopsis "Common FEST testing infrastructure")
+    (description "Fest-test contains the common FEST testing infrastructure.")
+    (license license:asl2.0)))
-- 
2.14.3


[-- Attachment #9: 0008-gnu-Add-java-fest-assert.patch --]
[-- Type: text/x-patch, Size: 2183 bytes --]

From 4f9002fdbd0daebebbfd3426ad7465d8ef9d5a9e Mon Sep 17 00:00:00 2001
From: Julien Lepiller <julien@lepiller.eu>
Date: Tue, 24 Oct 2017 22:16:10 +0200
Subject: [PATCH 08/22] gnu: Add java-fest-assert.

* gnu/packages/java.scm (java-fest-assert): New variable.
---
 gnu/packages/java.scm | 37 +++++++++++++++++++++++++++++++++++++
 1 file changed, 37 insertions(+)

diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index 8d2f94b84..10040fd0f 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -6418,3 +6418,40 @@ those in Perl and JavaScript.")
     (synopsis "Common FEST testing infrastructure")
     (description "Fest-test contains the common FEST testing infrastructure.")
     (license license:asl2.0)))
+
+(define-public java-fest-assert
+  (package
+    (name "java-fest-assert")
+    (version "2.0M10")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://github.com/alexruiz/fest-assert-2.x/"
+                                  "archive/fest-assert-core-" version ".tar.gz"))
+              (sha256
+               (base32
+                "1bi0iqavikzww6rxvz5jyg7y6bflv95s6ibryxx0xfcxrrw6i5lw"))))
+    (build-system ant-build-system)
+    (arguments
+     `(#:jar-name "java-fest-assert.jar"
+       #:source-dir "src/main/java"
+       #:test-exclude
+       (list
+         "**/Abstract*.java"
+         "**/*BaseTest.java"
+         ;; Unable to set MockitoNamingPolicy on cglib generator which creates FastClasses
+         "**/MessageFormatter_format_Test.java"
+         "**/internal/*/*_assert*_Test.java")))
+    (inputs
+     `(("java-fest-util" ,java-fest-util)))
+    (native-inputs
+     `(("java-junit" ,java-junit)
+       ("java-fest-test" ,java-fest-test)
+       ("java-hamcrest-core" ,java-hamcrest-core)
+       ("java-mockito" ,java-mockito-1)
+       ("java-cglib" ,java-cglib)
+       ("java-objenesis" ,java-objenesis)
+       ("java-asm" ,java-asm)))
+    (home-page "https://github.com/alexruiz/fest-assert-2.x")
+    (synopsis "FEST fluent assertions")
+    (description "FEST-Assert provides a fluent interface for assertions.")
+    (license license:asl2.0)))
-- 
2.14.3


[-- Attachment #10: 0009-gnu-Add-java-testng.patch --]
[-- Type: text/x-patch, Size: 3214 bytes --]

From d689aaea1993a7c51516139864adf78dd65dfcff Mon Sep 17 00:00:00 2001
From: Julien Lepiller <julien@lepiller.eu>
Date: Tue, 24 Oct 2017 22:18:59 +0200
Subject: [PATCH 09/22] gnu: Add java-testng.

* gnu/packages/java.scm (java-testng): New variable.
---
 gnu/packages/java.scm | 60 +++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 60 insertions(+)

diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index 10040fd0f..947ccfbd9 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -6455,3 +6455,63 @@ those in Perl and JavaScript.")
     (synopsis "FEST fluent assertions")
     (description "FEST-Assert provides a fluent interface for assertions.")
     (license license:asl2.0)))
+
+(define-public java-testng
+  (package
+    (name "java-testng")
+    (version "6.12")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://github.com/cbeust/testng/archive/"
+                                  version ".tar.gz"))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "01j2x47wkj7n5w6gpcjfbwgc88ai5654b23lb87w7nsrj63m3by6"))))
+    (build-system ant-build-system)
+    (arguments
+     `(#:jdk ,icedtea-8; java.util.function
+       #:jar-name "java-testng.jar"
+       #:source-dir "src/main/java"
+       #:phases
+       (modify-phases %standard-phases
+         (add-before 'build 'copy-resources
+           (lambda _
+             (copy-recursively "src/main/resources" "build/classes")
+             #t))
+         (add-before 'check 'copy-test-resources
+           (lambda _
+             (copy-recursively "src/test/resources" "build/test-classes")
+             #t))
+         (replace 'check
+           (lambda _
+             (system* "ant" "compile-tests")
+             ;; we don't have groovy
+             (substitute* "src/test/resources/testng.xml"
+               (("<class name=\"test.groovy.GroovyTest\" />") ""))
+             (zero? (system* "java" "-cp" (string-append (getenv "CLASSPATH")
+                                                         ":build/classes"
+                                                         ":build/test-classes")
+                             "-Dtest.resources.dir=src/test/resources"
+                             "org.testng.TestNG" "src/test/resources/testng.xml")))))))
+    (propagated-inputs
+     `(("junit" ,java-junit)
+       ("java-jsr305" ,java-jsr305)
+       ("java-bsh" ,java-bsh)
+       ("java-jcommander" ,java-jcommander)
+       ("java-guice" ,java-guice)
+       ("snakeyaml" ,java-snakeyaml)))
+    (native-inputs
+     `(("guava" ,java-guava)
+       ("java-javax-inject" ,java-javax-inject)
+       ("java-hamcrest" ,java-hamcrest-all)
+       ("java-assertj" ,java-assertj)
+       ("cglib" ,java-cglib)
+       ("asm" ,java-asm)
+       ("aopalliance" ,java-aopalliance)))
+    (home-page "http://testng.org")
+    (synopsis "Testing framework")
+    (description "TestNG is a testing framework inspired from JUnit and NUnit
+but introducing some new functionalities that make it more powerful and easier
+to use.")
+    (license license:asl2.0)))
-- 
2.14.3


[-- Attachment #11: 0010-gnu-Add-java-mvel2.patch --]
[-- Type: text/x-patch, Size: 5371 bytes --]

From ff6b73b44424949796b18689e4c5aba156573b41 Mon Sep 17 00:00:00 2001
From: Julien Lepiller <julien@lepiller.eu>
Date: Tue, 24 Oct 2017 22:30:48 +0200
Subject: [PATCH 10/22] gnu: Add java-mvel2.

* gnu/packages/java.scm (java-mvel2): New variable.
---
 gnu/packages/java.scm | 104 ++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 104 insertions(+)

diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index 947ccfbd9..96976641f 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -6515,3 +6515,107 @@ those in Perl and JavaScript.")
 but introducing some new functionalities that make it more powerful and easier
 to use.")
     (license license:asl2.0)))
+
+(define-public java-jnacl
+  (package
+    (name "java-jnacl")
+    (version "0.1.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                     (url "https://github.com/neilalexander/jnacl")
+                     (commit "40c322e0a42637ab17cdf941138eeaf2494055f8")))
+              (sha256
+               (base32
+                "1pspnmp44q61a2q4bpslpxw86rfn8s5l0xgvyrikqgdvg7ypx597"))))
+    (build-system ant-build-system)
+    (arguments
+     `(#:jar-name "java-jnacl.jar"
+       #:source-dir "src/main/java"
+       #:jdk ,icedtea-8
+       #:phases
+       (modify-phases %standard-phases
+         (add-before 'build 'fix-tests
+           (lambda _
+             (substitute* "src/test/java/com/neilalexander/jnacl/NaClTest.java"
+               (("assertions.Assertions") "assertions.api.Assertions"))
+             (substitute* "src/test/java/com/neilalexander/jnacl/NaclSecretBoxTest.java"
+               (("assertions.Assertions") "assertions.api.Assertions"))
+             #t))
+         (replace 'check
+           (lambda _
+             (system* "ant" "compile-tests")
+             (and
+               (zero? (system* "java" "-cp" (string-append (getenv "CLASSPATH")
+                                                           ":build/classes"
+                                                           ":build/test-classes")
+                               "org.testng.TestNG" "-testclass"
+                               "build/test-classes/com/neilalexander/jnacl/NaclSecretBoxTest.class"))
+               (zero? (system* "java" "-cp" (string-append (getenv "CLASSPATH")
+                                                           ":build/classes"
+                                                           ":build/test-classes")
+                               "org.testng.TestNG" "-testclass"
+                               "build/test-classes/com/neilalexander/jnacl/NaClTest.class"))))))))
+    (native-inputs
+     `(("java-testng" ,java-testng)
+       ("java-fest-util" ,java-fest-util)
+       ("java-fest-assert" ,java-fest-assert)))
+    (home-page "https://github.com/neilalexander/jnacl")
+    (synopsis "Java implementation of NaCl")
+    (description "Pure Java implementation of the NaCl: Networking and
+Cryptography library.")
+    (license license:mpl2.0)))
+
+(define-public java-mvel2
+  (package
+    (name "java-mvel2")
+    (version "2.3.1")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://github.com/mvel/mvel/archive/mvel2-"
+                                  version ".Final.tar.gz"))
+              (sha256
+               (base32
+                "01ph5s9gm16l2qz58lg21w6fna7xmmrj7f9bzqr1jim7h9557d3z"))))
+    (build-system ant-build-system)
+    (arguments
+     `(#:jar-name "mvel2.jar"
+       #:source-dir "src/main/java"
+       #:test-exclude
+       (list "**/Abstract*.java"
+             ;; Base class with no tests
+             "**/MVELThreadTest.java")
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'install 'install-bin
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let ((bin (string-append (assoc-ref outputs "out") "/bin")))
+               (mkdir-p bin)
+               (with-output-to-file (string-append bin "/mvel2")
+                 (lambda _
+                   (display
+                     (string-append
+                       "#!" (which "bash") "\n"
+                       "if [ \"$#\" -ne \"2\" ]; then\n"
+                       "echo 'Usage: mvel2 <script> <out.dir>'\n"
+                       "exit\n"
+                       "fi\n"
+                       "java -Dout.dir=$2 -cp " (getenv "CLASSPATH")
+                       ":" (assoc-ref outputs "out") "/share/java/mvel2.jar"
+                       " org.mvel2.sh.Main $1"))))
+               (chmod (string-append bin "/mvel2") #o755))
+             #t)))))
+    (native-inputs
+     `(("junit" ,java-junit)
+       ("hamcrest" ,java-hamcrest-core)))
+    (home-page "https://github.com/mvel/mvel")
+    (synopsis "MVFLEX Expression Language")
+    (description "MVEL has largely been inspired by Java syntax, but has some
+fundamental differences aimed at making it more efficient as an expression
+language, such as operators that directly support collection, array and string
+matching, as well as regular expressions.  MVEL is used to evaluate expressions
+written using Java syntax.
+
+In addition to the expression language, MVEL serves as a templating language for
+configuration and string construction.")
+    (license license:asl2.0)))
-- 
2.14.3


[-- Attachment #12: 0011-gnu-Add-java-lz4.patch --]
[-- Type: text/x-patch, Size: 1966 bytes --]

From af50ada5024ff18e2e7135c74ed89e46ad0d1e74 Mon Sep 17 00:00:00 2001
From: Julien Lepiller <julien@lepiller.eu>
Date: Tue, 24 Oct 2017 22:32:43 +0200
Subject: [PATCH 11/22] gnu: Add java-lz4.

* gnu/packages/java.scm (java-lz4): New variable.
---
 gnu/packages/java.scm | 32 ++++++++++++++++++++++++++++++++
 1 file changed, 32 insertions(+)

diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index 96976641f..19c3f116e 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -6619,3 +6619,35 @@ written using Java syntax.
 In addition to the expression language, MVEL serves as a templating language for
 configuration and string construction.")
     (license license:asl2.0)))
+
+(define-public java-lz4
+  (package
+    (name "java-lz4")
+    (version "1.4.0")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://github.com/lz4/lz4-java/archive/"
+                                  version ".tar.gz"))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "096dm57p2lzqk28n0j2p52x2j3cvnsd2dfqn43n7vbwrkjsy7y54"))))
+    (build-system ant-build-system)
+    (arguments
+     `(#:jar-name "lz4.jar"
+       #:jdk ,icedtea-8
+       #:source-dir "src/java:src/java-unsafe"
+       #:tests? #f; FIXME: requires more dependencies
+       #:phases
+       (modify-phases %standard-phases
+         (add-before 'configure 'generate-source
+           (lambda _
+             (with-directory-excursion "src/build/source_templates"
+               (zero? (system* "mvel2" "../gen_sources.mvel" "../../java"))))))))
+    (native-inputs
+     `(("mvel" ,java-mvel2)))
+    (home-page "https://jpountz.github.io/lz4-java")
+    (synopsis "Compression algorithm")
+    (description "LZ4 - Java is a Java port of the popular lz4 compression
+algorithms and xxHash hashing algorithm.")
+    (license license:asl2.0)))
-- 
2.14.3


[-- Attachment #13: 0012-gnu-Add-java-bouncycastle-bcprov.patch --]
[-- Type: text/x-patch, Size: 1857 bytes --]

From 3ea3acbd6cc141687107b1ad2a14bad7cefb9ebe Mon Sep 17 00:00:00 2001
From: Julien Lepiller <julien@lepiller.eu>
Date: Tue, 24 Oct 2017 22:36:11 +0200
Subject: [PATCH 12/22] gnu: Add java-bouncycastle-bcprov.

* gnu/packages/java.scm (java-bouncycastle-bcprov): New variable.
---
 gnu/packages/java.scm | 31 +++++++++++++++++++++++++++++++
 1 file changed, 31 insertions(+)

diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index 19c3f116e..237f43431 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -6651,3 +6651,34 @@ configuration and string construction.")
     (description "LZ4 - Java is a Java port of the popular lz4 compression
 algorithms and xxHash hashing algorithm.")
     (license license:asl2.0)))
+
+(define-public java-bouncycastle-bcprov
+  (package
+    (name "java-bouncycastle-bcprov")
+    (version "1.58")
+    (source (origin
+              (method url-fetch)
+              (uri "https://bouncycastle.org/download/bcprov-jdk15on-158.tar.gz")
+              (sha256
+               (base32
+                "1hgkg96llbvgs8i0krwz2n0j7wlg6jfnq8w8kg0cc899j0wfmf3n"))))
+    (build-system ant-build-system)
+    (arguments
+     `(#:jar-name "bouncycastle-bcprov.jar"
+       #:tests? #f; no tests
+       #:source-dir "src"
+       #:phases
+       (modify-phases %standard-phases
+         (add-before 'configure 'unzip-src
+           (lambda _
+             (mkdir-p "src")
+             (with-directory-excursion "src"
+               (zero? (system* "unzip" "../src.zip"))))))))
+    (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)))
-- 
2.14.3


[-- Attachment #14: 0013-gnu-Add-java-bouncycastle-bcpkix.patch --]
[-- Type: text/x-patch, Size: 1897 bytes --]

From b55a66d28b86bd2f7709e76f610c5ca65baaf550 Mon Sep 17 00:00:00 2001
From: Julien Lepiller <julien@lepiller.eu>
Date: Tue, 24 Oct 2017 22:46:15 +0200
Subject: [PATCH 13/22] gnu: Add java-bouncycastle-bcpkix.

* gnu/packages/java.scm (java-bouncycastle-bcpkix): New variable.
---
 gnu/packages/java.scm | 33 +++++++++++++++++++++++++++++++++
 1 file changed, 33 insertions(+)

diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index 237f43431..966aa0e3a 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -6682,3 +6682,36 @@ algorithms and xxHash hashing algorithm.")
     (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
+           (lambda _
+             (mkdir-p "src")
+             (with-directory-excursion "src"
+               (zero? (system* "unzip" "../src.zip"))))))))
+    (native-inputs
+     `(("unzip" ,unzip)
+       ("junit" ,java-junit)))
+    (inputs
+     `(("bcprov" ,java-bouncycastle-bcprov)))
+    (home-page "https://www.bouncycastle.org")
+    (synopsis "Cryptographic library")
+    (description "Bouncy Castle Java API for PKIX, CMS, EAC, TSP, PKCS, OCSP,
+CMP, and CRMF.")
+    (license license:expat)))
-- 
2.14.3


[-- Attachment #15: 0014-gnu-Add-java-lmax-disruptor.patch --]
[-- Type: text/x-patch, Size: 2106 bytes --]

From 1e5bb92042d16260ff8f62ebae8afb1ffd651f0d Mon Sep 17 00:00:00 2001
From: Julien Lepiller <julien@lepiller.eu>
Date: Wed, 25 Oct 2017 22:18:24 +0200
Subject: [PATCH 14/22] gnu: Add java-lmax-disruptor.

* gnu/packages/java.scm (java-lmax-disruptor): New variable.
---
 gnu/packages/java.scm | 35 +++++++++++++++++++++++++++++++++++
 1 file changed, 35 insertions(+)

diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index 966aa0e3a..88750f10f 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -6715,3 +6715,38 @@ for the Java programming language.")
     (description "Bouncy Castle Java API for PKIX, CMS, EAC, TSP, PKCS, OCSP,
 CMP, and CRMF.")
     (license license:expat)))
+
+(define-public java-lmax-disruptor
+  (package
+    (name "java-lmax-disruptor")
+    (version "3.3.7")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://github.com/LMAX-Exchange/disruptor/"
+                                  "archive/" version ".tar.gz"))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "17da2gwj5abnlsfgn2xqjk5lgzbg4vkb0hdv2dvc8r2fx4bi7w3g"))))
+    (build-system ant-build-system)
+    (arguments
+     `(#:jar-name "java-lmax-disruptor.jar"
+       #:jdk ,icedtea-8
+       #:tests? #f)); tests hang
+    (inputs
+     `(("junit" ,java-junit)
+       ("java-hdrhistogram" ,java-hdrhistogram)
+       ("java-jmock" ,java-jmock)
+       ("java-jmock-legacy" ,java-jmock-legacy)
+       ("java-jmock-junit4" ,java-jmock-junit4)
+       ("java-hamcrest-all" ,java-hamcrest-all)))
+    (native-inputs
+     `(("cglib" ,java-cglib)
+       ("objenesis" ,java-objenesis)
+       ("asm" ,java-asm)))
+    (home-page "https://www.lmax.com/disruptor")
+    (synopsis "High performance inter-thread communication")
+    (description "LMAX Disruptor is a software pattern and software component
+for high performance inter-thread communication that avoids the need for
+message queues or resource locking.")
+    (license license:asl2.0)))
-- 
2.14.3


[-- Attachment #16: 0015-gnu-Add-java-xerial-core.patch --]
[-- Type: text/x-patch, Size: 2116 bytes --]

From 33a59d9a2535632fd15c9d8f2e8ee610473b65c8 Mon Sep 17 00:00:00 2001
From: Julien Lepiller <julien@lepiller.eu>
Date: Wed, 25 Oct 2017 22:59:55 +0200
Subject: [PATCH 15/22] gnu: Add java-xerial-core.

* gnu/packages/java.scm (java-xerial-core): New variable.
---
 gnu/packages/java.scm | 35 +++++++++++++++++++++++++++++++++++
 1 file changed, 35 insertions(+)

diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index 88750f10f..fd242c0f2 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -6750,3 +6750,38 @@ CMP, and CRMF.")
 for high performance inter-thread communication that avoids the need for
 message queues or resource locking.")
     (license license:asl2.0)))
+
+(define-public java-xerial-core
+  (package
+    (name "java-xerial-core")
+    (version "2.1")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://github.com/xerial/xerial-java/archive/"
+                                  version ".tar.gz"))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "0d3g863i41bgalpa4xr3vm1h140l091n8iwgq5qvby5yivns9y8d"))))
+    (build-system ant-build-system)
+    (arguments
+     `(#:jar-name "xerial-core.jar"
+       #:source-dir "xerial-core/src/main/java"
+       #:test-dir "xerial-core/src/test"
+       #:phases
+       (modify-phases %standard-phases
+         (add-before 'build 'copy-resources
+           (lambda _
+             (copy-recursively "xerial-core/src/main/resources"
+                               "build/classes")
+             #t)))))
+    (native-inputs
+     `(("junit" ,java-junit)
+       ("hamcrest" ,java-hamcrest-core)))
+    (home-page "https://github.com/xerial/xerial-java")
+    (synopsis "Data managment libraries for Java")
+    (description "Xerial is a set of data management libraries for the Java
+programming language.  The ulitimate goal of the Xerial project is to manage
+everything as database, including class objects, text format data, data
+streams, etc.")
+    (license license:asl2.0)))
-- 
2.14.3


[-- Attachment #17: 0016-gnu-Add-java-powermock-reflect.patch --]
[-- Type: text/x-patch, Size: 13380 bytes --]

From d300f5ec70007f7554f14031b2af2def5ad3f439 Mon Sep 17 00:00:00 2001
From: Julien Lepiller <julien@lepiller.eu>
Date: Wed, 25 Oct 2017 23:05:10 +0200
Subject: [PATCH 16/22] gnu: Add java-powermock-reflect.

* gnu/packages/java.scm (java-powermock-reflect): New variable.
---
 gnu/local.mk                                       |   1 +
 gnu/packages/java.scm                              |  38 +++++
 .../patches/java-powermock-fix-java-files.patch    | 178 +++++++++++++++++++++
 3 files changed, 217 insertions(+)
 create mode 100644 gnu/packages/patches/java-powermock-fix-java-files.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index 90dc7aec1..8e562c018 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -744,6 +744,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-powermock-fix-java-files.patch		\
   %D%/packages/patches/jbig2dec-ignore-testtest.patch		\
   %D%/packages/patches/jbig2dec-CVE-2016-9601.patch		\
   %D%/packages/patches/jbig2dec-CVE-2017-7885.patch		\
diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index fd242c0f2..a77e76ee3 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -6785,3 +6785,41 @@ programming language.  The ulitimate goal of the Xerial project is to manage
 everything as database, including class objects, text format data, data
 streams, etc.")
     (license license:asl2.0)))
+
+(define-public java-powermock-reflect
+  (package
+    (name "java-powermock-reflect")
+    (version "1.7.3")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://github.com/powermock/powermock/"
+                                  "archive/powermock-" version ".tar.gz"))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "0sbgi5vqq7k72wzcdjb20s370vyd4hsbnx71pzb8ishml3gy7fwy"))
+              (patches
+                (search-patches "java-powermock-fix-java-files.patch"))))
+    (build-system ant-build-system)
+    (arguments
+     `(#:jar-name "java-powermock-reflect.jar"
+       #:jdk ,icedtea-8
+       #:source-dir "powermock-reflect/src/main/java"
+       #:test-dir "powermock-reflect/src/test"))
+    (inputs
+     `(("java-objenesis" ,java-objenesis)))
+    (native-inputs
+     `(("junit" ,java-junit)
+       ("cglib" ,java-cglib)
+       ("asm" ,java-asm)
+       ("hamcrest" ,java-hamcrest-core)
+       ("assertj" ,java-assertj)))
+    (home-page "https://github.com/powermock/powermock")
+    (synopsis "Mock library extension framework")
+    (description "PowerMock is a framework that extends other mock libraries
+such as EasyMock with more powerful capabilities.  PowerMock uses a custom
+classloader and bytecode manipulation to enable mocking of static methods,
+constructors, final classes and methods, private methods, removal of static
+initializers and more.  By using a custom classloader no changes need to be
+done to the IDE or continuous integration servers which simplifies adoption.")
+    (license license:asl2.0)))
diff --git a/gnu/packages/patches/java-powermock-fix-java-files.patch b/gnu/packages/patches/java-powermock-fix-java-files.patch
new file mode 100644
index 000000000..6b9581813
--- /dev/null
+++ b/gnu/packages/patches/java-powermock-fix-java-files.patch
@@ -0,0 +1,178 @@
+This patch fixes build issues caused by the java compiler not finding the
+correct types on some statements.
+
+From 1ac84b58b4383fa118d98c35956d722d11cf449e Mon Sep 17 00:00:00 2001
+From: Julien Lepiller <julien@lepiller.eu>
+Date: Tue, 22 Aug 2017 20:40:27 +0200
+Subject: [PATCH] Fix java files.
+
+---
+ .../internal/impl/DelegatingPowerMockRunner.java   | 13 +++++++---
+ .../java/org/powermock/reflect/WhiteBoxTest.java   | 30 +++++++++++-----------
+ .../reflect/internal/proxy/ClassFactory.java       |  6 ++---
+ 3 files changed, 27 insertions(+), 22 deletions(-)
+
+diff --git a/powermock-modules/powermock-module-junit4/src/main/java/org/powermock/modules/junit4/internal/impl/DelegatingPowerMockRunner.java b/powermock-modules/powermock-module-junit4/src/main/java/org/powermock/modules/junit4/internal/impl/DelegatingPowerMockRunner.java
+index 301f854..caecbbd 100644
+--- a/powermock-modules/powermock-module-junit4/src/main/java/org/powermock/modules/junit4/internal/impl/DelegatingPowerMockRunner.java
++++ b/powermock-modules/powermock-module-junit4/src/main/java/org/powermock/modules/junit4/internal/impl/DelegatingPowerMockRunner.java
+@@ -98,12 +98,17 @@ implements PowerMockJUnitRunnerDelegate, Filterable {
+             @Override
+             public Runner call() throws Exception {
+                 try {
+-                    return Whitebox.invokeConstructor(
+-                            testClass.isAnnotationPresent(PowerMockRunnerDelegate.class)
+-                            ? testClass.getAnnotation(PowerMockRunnerDelegate.class).value()
+-                            : PowerMockRunnerDelegate.DefaultJUnitRunner.class,
++                    if(testClass.isAnnotationPresent(PowerMockRunnerDelegate.class)) {
++                        return Whitebox.invokeConstructor(
++                            testClass.getAnnotation(PowerMockRunnerDelegate.class).value(),
+                             new Class[] {Class.class},
+                             new Object[] {testClass});
++                    } else {
++                        return Whitebox.invokeConstructor(
++                            PowerMockRunnerDelegate.DefaultJUnitRunner.class,
++                            new Class[] {Class.class},
++                            new Object[] {testClass});
++                    }
+                 } catch (ConstructorNotFoundException rootProblem) {
+                     if (testClass.isAnnotationPresent(PowerMockRunnerDelegate.class)
+                             && JUnitVersion.isGreaterThanOrEqualTo("4.5")) {
+diff --git a/powermock-reflect/src/test/java/org/powermock/reflect/WhiteBoxTest.java b/powermock-reflect/src/test/java/org/powermock/reflect/WhiteBoxTest.java
+index bf1e2e3..0d60487 100644
+--- a/powermock-reflect/src/test/java/org/powermock/reflect/WhiteBoxTest.java
++++ b/powermock-reflect/src/test/java/org/powermock/reflect/WhiteBoxTest.java
+@@ -248,7 +248,7 @@ public class WhiteBoxTest {
+ 
+     @Test
+     public void testMethodWithPrimitiveAndWrappedInt_primtive_wrapped() throws Exception {
+-        assertEquals(17, Whitebox.invokeMethod(new ClassWithPrivateMethods(), "methodWithPrimitiveAndWrappedInt",
++        assertEquals((Integer)17, Whitebox.invokeMethod(new ClassWithPrivateMethods(), "methodWithPrimitiveAndWrappedInt",
+                                                new Class[]{int.class, Integer.class}, 9, Integer.valueOf(8)));
+     }
+ 
+@@ -257,7 +257,7 @@ public class WhiteBoxTest {
+         int expected = 123;
+         Whitebox.setInternalState(ClassWithInternalState.class, "staticState", expected);
+         assertEquals(expected, ClassWithInternalState.getStaticState());
+-        assertEquals(expected, Whitebox.getInternalState(ClassWithInternalState.class, "staticState"));
++        assertEquals(expected, (int)Whitebox.getInternalState(ClassWithInternalState.class, "staticState"));
+     }
+ 
+ 	@Test
+@@ -334,25 +334,25 @@ public class WhiteBoxTest {
+     @Test
+     public void testInvokeVarArgsMethod_multipleValues() throws Exception {
+         ClassWithPrivateMethods tested = new ClassWithPrivateMethods();
+-        assertEquals(6, Whitebox.invokeMethod(tested, "varArgsMethod", 1, 2, 3));
++        assertEquals(6, (int)Whitebox.invokeMethod(tested, "varArgsMethod", 1, 2, 3));
+     }
+ 
+     @Test
+     public void testInvokeVarArgsMethod_noArguments() throws Exception {
+         ClassWithPrivateMethods tested = new ClassWithPrivateMethods();
+-        assertEquals(0, Whitebox.invokeMethod(tested, "varArgsMethod"));
++        assertEquals(0, (int)Whitebox.invokeMethod(tested, "varArgsMethod"));
+     }
+ 
+     @Test
+     public void testInvokeVarArgsMethod_oneArgument() throws Exception {
+         ClassWithPrivateMethods tested = new ClassWithPrivateMethods();
+-        assertEquals(4, Whitebox.invokeMethod(tested, "varArgsMethod", 2));
++        assertEquals(4, (int)Whitebox.invokeMethod(tested, "varArgsMethod", 2));
+     }
+ 
+     @Test
+     public void testInvokeVarArgsMethod_invokeVarArgsWithOneArgument() throws Exception {
+         ClassWithPrivateMethods tested = new ClassWithPrivateMethods();
+-        assertEquals(1, Whitebox.invokeMethod(tested, "varArgsMethod", new Class<?>[]{int[].class}, 1));
++        assertEquals(1, (int)Whitebox.invokeMethod(tested, "varArgsMethod", new Class<?>[]{int[].class}, 1));
+     }
+ 
+     @Test
+@@ -376,7 +376,7 @@ public class WhiteBoxTest {
+         ClassWithChildThatHasInternalState tested = new ClassWithChildThatHasInternalState() {
+         };
+         Whitebox.setInternalState(tested, fieldName, value);
+-        assertEquals(value, Whitebox.getInternalState(tested, fieldName));
++        assertEquals(value, (int)Whitebox.getInternalState(tested, fieldName));
+     }
+ 
+     @Test
+@@ -387,8 +387,8 @@ public class WhiteBoxTest {
+         ClassWithChildThatHasInternalState tested = new ClassWithChildThatHasInternalState() {
+         };
+         Whitebox.setInternalState(tested, fieldName, value);
+-        assertEquals(value, Whitebox.getInternalState(tested, fieldName));
+-        assertEquals(-1, Whitebox.getInternalState(tested, fieldName, ClassWithInternalState.class));
++        assertEquals(value, (int)Whitebox.getInternalState(tested, fieldName));
++        assertEquals(-1, (int)Whitebox.getInternalState(tested, fieldName, ClassWithInternalState.class));
+     }
+ 
+     @Test(expected = IllegalArgumentException.class)
+@@ -398,7 +398,7 @@ public class WhiteBoxTest {
+         ClassWithChildThatHasInternalState tested = new ClassWithChildThatHasInternalState() {
+         };
+         Whitebox.setInternalState(tested, fieldName, new Object());
+-        assertEquals(value, Whitebox.getInternalState(tested, fieldName));
++        assertEquals(value, (int)Whitebox.getInternalState(tested, fieldName));
+     }
+ 
+     @Test(expected = IllegalArgumentException.class)
+@@ -408,7 +408,7 @@ public class WhiteBoxTest {
+         ClassWithChildThatHasInternalState tested = new ClassWithChildThatHasInternalState() {
+         };
+         Whitebox.setInternalState(tested, fieldName, (Object) null);
+-        assertEquals(value, Whitebox.getInternalState(tested, fieldName));
++        assertEquals(value, (int)Whitebox.getInternalState(tested, fieldName));
+     }
+ 
+     @Test
+@@ -417,8 +417,8 @@ public class WhiteBoxTest {
+         ClassWithChildThatHasInternalState tested = new ClassWithChildThatHasInternalState();
+         Whitebox.setInternalState(tested, int.class, value);
+         assertEquals(value, (int) Whitebox.getInternalState(tested, int.class));
+-        assertEquals(value, Whitebox.getInternalState(tested, "anotherInternalState"));
+-        assertEquals(value, Whitebox.getInternalState(tested, "anotherInternalState",
++        assertEquals(value, (int)Whitebox.getInternalState(tested, "anotherInternalState"));
++        assertEquals(value, (int)Whitebox.getInternalState(tested, "anotherInternalState",
+                                                       ClassWithChildThatHasInternalState.class));
+     }
+ 
+@@ -429,7 +429,7 @@ public class WhiteBoxTest {
+         Whitebox.setInternalState(tested, int.class, value, ClassWithInternalState.class);
+         assertEquals(42, (int) Whitebox.getInternalState(tested, int.class));
+         assertEquals(value, (int) Whitebox.getInternalState(tested, int.class, ClassWithInternalState.class));
+-        assertEquals(value, Whitebox.getInternalState(tested, "staticState", ClassWithInternalState.class));
++        assertEquals(value, (int)Whitebox.getInternalState(tested, "staticState", ClassWithInternalState.class));
+     }
+ 
+     @Test
+@@ -619,7 +619,7 @@ public class WhiteBoxTest {
+     @Test
+     public void testInvokeMethodWithBothNormalAndVarArgsParameter() throws Exception {
+         ClassWithPrivateMethods tested = new ClassWithPrivateMethods();
+-        assertEquals(4, Whitebox.invokeMethod(tested, "varArgsMethod2", 1, 2, 3));
++        assertEquals(4, (int)Whitebox.invokeMethod(tested, "varArgsMethod2", 1, 2, 3));
+     }
+ 
+     @Test
+diff --git a/powermock-reflect/src/test/java/org/powermock/reflect/internal/proxy/ClassFactory.java b/powermock-reflect/src/test/java/org/powermock/reflect/internal/proxy/ClassFactory.java
+index a5e5fda..14b8bbe 100644
+--- a/powermock-reflect/src/test/java/org/powermock/reflect/internal/proxy/ClassFactory.java
++++ b/powermock-reflect/src/test/java/org/powermock/reflect/internal/proxy/ClassFactory.java
+@@ -1,8 +1,8 @@
+ package org.powermock.reflect.internal.proxy;
+ 
+-import net.sf.cglib.asm.ClassWriter;
+-import net.sf.cglib.asm.MethodVisitor;
+-import net.sf.cglib.asm.Opcodes;
++import org.objectweb.asm.ClassWriter;
++import org.objectweb.asm.MethodVisitor;
++import org.objectweb.asm.Opcodes;
+ 
+ class ClassFactory implements Opcodes {
+     
+-- 
+2.14.1
+
-- 
2.14.3


[-- Attachment #18: 0017-gnu-Add-java-powermock-core.patch --]
[-- Type: text/x-patch, Size: 1380 bytes --]

From 9abb44ce44f78c73fb396f19a00c7184f977781c Mon Sep 17 00:00:00 2001
From: Julien Lepiller <julien@lepiller.eu>
Date: Wed, 25 Oct 2017 23:07:04 +0200
Subject: [PATCH 17/22] gnu: Add java-powermock-core.

* gnu/packages/java.scm (java-powermock-core): 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 a77e76ee3..5161ab6f0 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -6823,3 +6823,21 @@ constructors, final classes and methods, private methods, removal of static
 initializers and more.  By using a custom classloader no changes need to be
 done to the IDE or continuous integration servers which simplifies adoption.")
     (license license:asl2.0)))
+
+(define-public java-powermock-core
+  (package
+    (inherit java-powermock-reflect)
+    (name "java-powermock-core")
+    (arguments
+     `(#:jar-name "java-powermock-core.jar"
+       #:source-dir "powermock-core/src/main/java"
+       #:test-dir "powermock-core/src/test"
+       #:tests? #f; requires powermock-api
+       #:jdk ,icedtea-8))
+    (inputs
+     `(("reflect" ,java-powermock-reflect)
+       ("javassist" ,java-jboss-javassist)))
+    (native-inputs
+     `(("junit" ,java-junit)
+       ("assertj" ,java-assertj)
+       ("mockito" ,java-mockito-1)))))
-- 
2.14.3


[-- Attachment #19: 0018-gnu-Add-java-powermock-api-support.patch --]
[-- Type: text/x-patch, Size: 1200 bytes --]

From 1b97f2c6508382eea93304d904a6edb3cf481a86 Mon Sep 17 00:00:00 2001
From: Julien Lepiller <julien@lepiller.eu>
Date: Wed, 25 Oct 2017 23:08:38 +0200
Subject: [PATCH 18/22] gnu: Add java-powermock-api-support.

* gnu/packages/java.scm (java-powermock-api-support): New variable.
---
 gnu/packages/java.scm | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index 5161ab6f0..1e4c2506e 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -6841,3 +6841,17 @@ done to the IDE or continuous integration servers which simplifies adoption.")
      `(("junit" ,java-junit)
        ("assertj" ,java-assertj)
        ("mockito" ,java-mockito-1)))))
+
+(define-public java-powermock-api-support
+  (package
+    (inherit java-powermock-reflect)
+    (name "java-powermock-api-support")
+    (build-system ant-build-system)
+    (arguments
+     `(#:jar-name "java-powermock-api-support.jar"
+       #:jdk ,icedtea-8
+       #:source-dir "powermock-api/powermock-api-support/src/main/java"
+       #:tests? #f)); no tests
+    (inputs
+     `(("core" ,java-powermock-core)
+       ("reflect" ,java-powermock-reflect)))))
-- 
2.14.3


[-- Attachment #20: 0019-gnu-Add-java-powermock-modules-junit4-common.patch --]
[-- Type: text/x-patch, Size: 1417 bytes --]

From bf3c6f0f7a8a9cacf7bdb331eba25d05d8f0ad3c Mon Sep 17 00:00:00 2001
From: Julien Lepiller <julien@lepiller.eu>
Date: Wed, 25 Oct 2017 23:37:47 +0200
Subject: [PATCH 19/22] gnu: Add java-powermock-modules-junit4-common.

* gnu/packages/java.scm (java-powermock-modules-junit4-common): 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 1e4c2506e..82fd6567c 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -6855,3 +6855,20 @@ done to the IDE or continuous integration servers which simplifies adoption.")
     (inputs
      `(("core" ,java-powermock-core)
        ("reflect" ,java-powermock-reflect)))))
+
+(define-public java-powermock-modules-junit4-common
+  (package
+    (inherit java-powermock-reflect)
+    (name "java-powermock-modules-junit4-common")
+    (build-system ant-build-system)
+    (arguments
+     `(#:jar-name "java-powermock-modules-junit4-common.jar"
+       #:jdk ,icedtea-8
+       #:source-dir "powermock-modules/powermock-module-junit4-common/src/main/java"
+       #:test-dir "powermock-modules/powermock-module-junit4-common/src/test"))
+    (inputs
+     `(("core" ,java-powermock-core)
+       ("easymock" ,java-easymock)
+       ("reflect" ,java-powermock-reflect)
+       ("hamcrest" ,java-hamcrest-core)
+       ("cglib" ,java-cglib)))))
-- 
2.14.3


[-- Attachment #21: 0020-gnu-Add-java-powermock-modules-junit4.patch --]
[-- Type: text/x-patch, Size: 1566 bytes --]

From bafaffa05b10b6ffa421896264f8ca57de0ea47a Mon Sep 17 00:00:00 2001
From: Julien Lepiller <julien@lepiller.eu>
Date: Wed, 25 Oct 2017 23:38:36 +0200
Subject: [PATCH 20/22] gnu: Add java-powermock-modules-junit4.

* gnu/packages/java.scm (java-powermock-modules-junit4): New variable.
---
 gnu/packages/java.scm | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index 82fd6567c..aad89b38d 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -6872,3 +6872,25 @@ done to the IDE or continuous integration servers which simplifies adoption.")
        ("reflect" ,java-powermock-reflect)
        ("hamcrest" ,java-hamcrest-core)
        ("cglib" ,java-cglib)))))
+
+(define-public java-powermock-modules-junit4
+  (package
+    (inherit java-powermock-reflect)
+    (name "java-powermock-modules-junit4")
+    (build-system ant-build-system)
+    (arguments
+     `(#:jar-name "java-powermock-modules-junit4.jar"
+       #:jdk ,icedtea-8
+       #:source-dir "powermock-modules/powermock-module-junit4/src/main/java"
+       #:test-dir "powermock-modules/powermock-module-junit4/src/test"))
+    (inputs
+     `(("core" ,java-powermock-core)
+       ("reflect" ,java-powermock-reflect)
+       ("common" ,java-powermock-modules-junit4-common)
+       ("cglib" ,java-cglib)))
+    (native-inputs
+     `(("easymock" ,java-easymock)
+       ("hamcrest" ,java-hamcrest-core)
+       ("objenesis" ,java-objenesis)
+       ("asm" ,java-asm)
+       ("junit" ,java-junit)))))
-- 
2.14.3


[-- Attachment #22: 0021-gnu-Add-java-powermock-api-easymock.patch --]
[-- Type: text/x-patch, Size: 1845 bytes --]

From acf289da757ac818563b32e2d98fdc9ec9ea1cd6 Mon Sep 17 00:00:00 2001
From: Julien Lepiller <julien@lepiller.eu>
Date: Thu, 26 Oct 2017 00:06:55 +0200
Subject: [PATCH 21/22] gnu: Add java-powermock-api-easymock.

* gnu/packages/java.scm (java-powermock-api-easymock): New variable.
---
 gnu/packages/java.scm | 27 +++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)

diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index aad89b38d..7b20a509f 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -6894,3 +6894,30 @@ done to the IDE or continuous integration servers which simplifies adoption.")
        ("objenesis" ,java-objenesis)
        ("asm" ,java-asm)
        ("junit" ,java-junit)))))
+
+(define-public java-powermock-api-easymock
+  (package
+    (inherit java-powermock-reflect)
+    (name "java-powermock-api-easymock")
+    (build-system ant-build-system)
+    (arguments
+     `(#:jar-name "java-powermock-api-easymock.jar"
+       #:jdk ,icedtea-8
+       #:source-dir "powermock-api/powermock-api-easymock/src/main/java"
+       #:tests? #f; no tests
+       #:phases
+       (modify-phases %standard-phases
+         (add-before 'build 'fix-file
+           (lambda _
+             ;; FIXME: This looks wrong, but it fixes a build error.
+             (with-directory-excursion "powermock-api/powermock-api-easymock"
+               (substitute* "src/main/java/org/powermock/api/easymock/PowerMock.java"
+                 (("classLoader instanceof MockClassLoader") "false")
+                 (("\\(\\(MockClassLoader\\) classLoader\\).*;") ";")))
+             #t)))))
+    (inputs
+     `(("core" ,java-powermock-core)
+       ("easymock" ,java-easymock)
+       ("reflect" ,java-powermock-reflect)
+       ("support" ,java-powermock-api-support)
+       ("cglib" ,java-cglib)))))
-- 
2.14.3


[-- Attachment #23: 0022-gnu-Add-java-plexus-classworlds.patch --]
[-- Type: text/x-patch, Size: 1872 bytes --]

From 49e607accf0f981e8a1c0df5914a9fd726d740cd Mon Sep 17 00:00:00 2001
From: Julien Lepiller <julien@lepiller.eu>
Date: Thu, 26 Oct 2017 00:24:17 +0200
Subject: [PATCH 22/22] gnu: Add java-plexus-classworlds.

* gnu/packages/java.scm (java-plexus-classworlds): New variable.
---
 gnu/packages/java.scm | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index 7b20a509f..c65bddec3 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -2319,6 +2319,32 @@ package within @code{plexus-utils}, but has been separated in order to allow
 these two libraries to vary independently of one another.")
     (license license:asl2.0)))
 
+(define-public java-plexus-classworlds
+  (package
+    (name "java-plexus-classworlds")
+    (version "2.5.2")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://github.com/codehaus-plexus/"
+                                  "plexus-classworlds/archive/plexus-classworlds-"
+                                  version ".tar.gz"))
+              (sha256
+               (base32
+                "1qm4p0rl8d82lzhsiwnviw11jnq44s0gflg78zq152xyyr2xmh8g"))))
+    (build-system ant-build-system)
+    (arguments
+     `(#:jar-name "plexus-classworlds.jar"
+       #:source-dir "src/main"
+       #:tests? #f));; FIXME: we need to generate some resources as in pom.xml
+    (native-inputs
+     `(("java-junit" ,java-junit)))
+    (home-page "http://codehaus-plexus.github.io/plexus-classworlds/")
+    (synopsis "Java class loader framework")
+    (description "Plexus classworlds replaces the native ClassLoader mechanism
+of Java.  It is especially usefull for dynamic loading of application
+components.")
+    (license license:asl2.0)))
+
 (define-public java-asm
   (package
     (name "java-asm")
-- 
2.14.3


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [bug#29061] Java patches
  2017-10-29 20:54 ` Julien Lepiller
@ 2017-10-30 14:55   ` Leo Famulari
  2017-10-30 15:23     ` Julien Lepiller
  0 siblings, 1 reply; 6+ messages in thread
From: Leo Famulari @ 2017-10-30 14:55 UTC (permalink / raw)
  To: Julien Lepiller; +Cc: 29061

[-- Attachment #1: Type: text/plain, Size: 3585 bytes --]

On Sun, Oct 29, 2017 at 09:54:38PM +0100, Julien Lepiller wrote:
> On Sun, 29 Oct 2017 21:47:09 +0100
> Julien Lepiller <julien@lepiller.eu> wrote:
> 
> > Hi, here are 22 new java patches that get us a bit closer to maven :)
> > 
> > 
> > 
> 
> Somehow I can't use git send-email, so here are the patches.

Thanks for all this!

This is a cursory review. I trust that, in general, these packages are
the latest upstream versions (or there is a code comment explaining why
not), the licenses are free and correctly listed, and that everything
seems to work.

Beyond that, I think your work on Java packaging falls under the commit
policy mentioned in HACKING, about "allowing individuals to commit
directly on non-controversial changes on parts they’re familiar with":

https://git.savannah.gnu.org/cgit/guix.git/tree/HACKING?id=faffd821f35dc34944226a992033df5a4be60cb1#n63

> From 10c1801922abbc82e48360b22d5d8681449715b9 Mon Sep 17 00:00:00 2001
> From: Julien Lepiller <julien@lepiller.eu>
> Date: Tue, 24 Oct 2017 22:05:04 +0200
> Subject: [PATCH 01/22] gnu: Add java-bsh.
> 
> * gnu/packages/java.scm (java-bsh): New variable.

> From f02f8c081e1627180e9f78393c3ab1fd8ad8b60b Mon Sep 17 00:00:00 2001
> From: Julien Lepiller <julien@lepiller.eu>
> Date: Tue, 24 Oct 2017 22:05:04 +0200
> Subject: [PATCH 02/22] gnu: Add java-bsh.
> 
> * gnu/packages/java.scm (java-bsh): New variable.

These two patches can be squashed into one, right?

> From 016af8aad804f488e530ae680855f175e8d8cfd1 Mon Sep 17 00:00:00 2001
> From: Julien Lepiller <julien@lepiller.eu>
> Date: Tue, 24 Oct 2017 22:08:38 +0200
> Subject: [PATCH 03/22] gnu: Add java-jmock.
> 
> * gnu/packages/java.scm (java-jmock): New variable.

This patch looks a bit weird, as if there are two copies of the package
or something.

> From ff6b73b44424949796b18689e4c5aba156573b41 Mon Sep 17 00:00:00 2001
> From: Julien Lepiller <julien@lepiller.eu>
> Date: Tue, 24 Oct 2017 22:30:48 +0200
> Subject: [PATCH 10/22] gnu: Add java-mvel2.
> 
> * gnu/packages/java.scm (java-mvel2): New variable.

This patch also adds java-jnacl. It should be added in its own patch,
right?

> From 3ea3acbd6cc141687107b1ad2a14bad7cefb9ebe Mon Sep 17 00:00:00 2001
> From: Julien Lepiller <julien@lepiller.eu>
> Date: Tue, 24 Oct 2017 22:36:11 +0200
> Subject: [PATCH 12/22] gnu: Add java-bouncycastle-bcprov.
> 
> * gnu/packages/java.scm (java-bouncycastle-bcprov): New variable.

[...]

> +       #:phases
> +       (modify-phases %standard-phases
> +         (add-before 'configure 'unzip-src
> +           (lambda _
> +             (mkdir-p "src")
> +             (with-directory-excursion "src"
> +               (zero? (system* "unzip" "../src.zip"))))))))

Not a blocker for this patch series — I notice this custom unzip
phase in a few packages. Should it be added to ant-build-system?

> From d300f5ec70007f7554f14031b2af2def5ad3f439 Mon Sep 17 00:00:00 2001
> From: Julien Lepiller <julien@lepiller.eu>
> Date: Wed, 25 Oct 2017 23:05:10 +0200
> Subject: [PATCH 16/22] gnu: Add java-powermock-reflect.
> 
> * gnu/packages/java.scm (java-powermock-reflect): New variable.
> ---
>  gnu/local.mk                                       |   1 +
>  gnu/packages/java.scm                              |  38 +++++
>  .../patches/java-powermock-fix-java-files.patch    | 178 +++++++++++++++++++++

Please mention the new patch file and its addition to gnu/local.mk in
the commit message.

Also, do you think the patch should be submitted upstream?

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [bug#29061] Java patches
  2017-10-30 14:55   ` Leo Famulari
@ 2017-10-30 15:23     ` Julien Lepiller
  2017-11-02 12:09       ` Julien Lepiller
  0 siblings, 1 reply; 6+ messages in thread
From: Julien Lepiller @ 2017-10-30 15:23 UTC (permalink / raw)
  Cc: 29061

[-- Attachment #1: Type: text/plain, Size: 4418 bytes --]

Le 30 octobre 2017 15:55:36 GMT+01:00, Leo Famulari <leo@famulari.name> a écrit :
>On Sun, Oct 29, 2017 at 09:54:38PM +0100, Julien Lepiller wrote:
>> On Sun, 29 Oct 2017 21:47:09 +0100
>> Julien Lepiller <julien@lepiller.eu> wrote:
>> 
>> > Hi, here are 22 new java patches that get us a bit closer to maven
>:)
>> > 
>> > 
>> > 
>> 
>> Somehow I can't use git send-email, so here are the patches.
>
>Thanks for all this!
>
>This is a cursory review. I trust that, in general, these packages are
>the latest upstream versions (or there is a code comment explaining why
>not), the licenses are free and correctly listed, and that everything
>seems to work.
>
>Beyond that, I think your work on Java packaging falls under the commit
>policy mentioned in HACKING, about "allowing individuals to commit
>directly on non-controversial changes on parts they’re familiar with":
>
>https://git.savannah.gnu.org/cgit/guix.git/tree/HACKING?id=faffd821f35dc34944226a992033df5a4be60cb1#n63
>
>> From 10c1801922abbc82e48360b22d5d8681449715b9 Mon Sep 17 00:00:00
>2001
>> From: Julien Lepiller <julien@lepiller.eu>
>> Date: Tue, 24 Oct 2017 22:05:04 +0200
>> Subject: [PATCH 01/22] gnu: Add java-bsh.
>> 
>> * gnu/packages/java.scm (java-bsh): New variable.
>
>> From f02f8c081e1627180e9f78393c3ab1fd8ad8b60b Mon Sep 17 00:00:00
>2001
>> From: Julien Lepiller <julien@lepiller.eu>
>> Date: Tue, 24 Oct 2017 22:05:04 +0200
>> Subject: [PATCH 02/22] gnu: Add java-bsh.
>> 
>> * gnu/packages/java.scm (java-bsh): New variable.
>
>These two patches can be squashed into one, right?
>
>> From 016af8aad804f488e530ae680855f175e8d8cfd1 Mon Sep 17 00:00:00
>2001
>> From: Julien Lepiller <julien@lepiller.eu>
>> Date: Tue, 24 Oct 2017 22:08:38 +0200
>> Subject: [PATCH 03/22] gnu: Add java-jmock.
>> 
>> * gnu/packages/java.scm (java-jmock): New variable.
>
>This patch looks a bit weird, as if there are two copies of the package
>or something.
>
>> From ff6b73b44424949796b18689e4c5aba156573b41 Mon Sep 17 00:00:00
>2001
>> From: Julien Lepiller <julien@lepiller.eu>
>> Date: Tue, 24 Oct 2017 22:30:48 +0200
>> Subject: [PATCH 10/22] gnu: Add java-mvel2.
>> 
>> * gnu/packages/java.scm (java-mvel2): New variable.
>
>This patch also adds java-jnacl. It should be added in its own patch,
>right?
>
>> From 3ea3acbd6cc141687107b1ad2a14bad7cefb9ebe Mon Sep 17 00:00:00
>2001
>> From: Julien Lepiller <julien@lepiller.eu>
>> Date: Tue, 24 Oct 2017 22:36:11 +0200
>> Subject: [PATCH 12/22] gnu: Add java-bouncycastle-bcprov.
>> 
>> * gnu/packages/java.scm (java-bouncycastle-bcprov): New variable.
>
>[...]
>
>> +       #:phases
>> +       (modify-phases %standard-phases
>> +         (add-before 'configure 'unzip-src
>> +           (lambda _
>> +             (mkdir-p "src")
>> +             (with-directory-excursion "src"
>> +               (zero? (system* "unzip" "../src.zip"))))))))
>
>Not a blocker for this patch series — I notice this custom unzip
>phase in a few packages. Should it be added to ant-build-system?
>
>> From d300f5ec70007f7554f14031b2af2def5ad3f439 Mon Sep 17 00:00:00
>2001
>> From: Julien Lepiller <julien@lepiller.eu>
>> Date: Wed, 25 Oct 2017 23:05:10 +0200
>> Subject: [PATCH 16/22] gnu: Add java-powermock-reflect.
>> 
>> * gnu/packages/java.scm (java-powermock-reflect): New variable.
>> ---
>>  gnu/local.mk                                       |   1 +
>>  gnu/packages/java.scm                              |  38 +++++
>>  .../patches/java-powermock-fix-java-files.patch    | 178
>+++++++++++++++++++++
>
>Please mention the new patch file and its addition to gnu/local.mk in
>the commit message.
>
>Also, do you think the patch should be submitted upstream?

I think I messed up these patches... I use git rebase a lot to fix things, but sometimes it does weird things. The result of applying these patches is working though.

I don't think the unzip phase has anything to do with ant-build-system. In this case, the "source" archive contains other archives (source, bin) and only one is interesting for our purpose, but its name is probably difficult to guess.

Re the patch, I'm familiar enough with java to produce it, but not to understand why it's needed. I will report compiling issues upstream.

Thanks for the review, I will fix the issues you mentionned and push when I have time.

[-- Attachment #2: Type: text/html, Size: 6413 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [bug#29061] Java patches
  2017-10-30 15:23     ` Julien Lepiller
@ 2017-11-02 12:09       ` Julien Lepiller
  2017-11-02 12:11         ` bug#29061: " Julien Lepiller
  0 siblings, 1 reply; 6+ messages in thread
From: Julien Lepiller @ 2017-11-02 12:09 UTC (permalink / raw)
  To: 29061

> 
> I think I messed up these patches... I use git rebase a lot to fix
> things, but sometimes it does weird things. The result of applying
> these patches is working though.
> 
> I don't think the unzip phase has anything to do with
> ant-build-system. In this case, the "source" archive contains other
> archives (source, bin) and only one is interesting for our purpose,
> but its name is probably difficult to guess.
> 
> Re the patch, I'm familiar enough with java to produce it, but not to
> understand why it's needed. I will report compiling issues upstream.
> 
> Thanks for the review, I will fix the issues you mentionned and push
> when I have time.

Fixed and pushed as a6dd06d0e2297c4eabbfcb5461ee6560cd0b2f95 -
bb27eb0dbfa27d4aeb7525ee5ef70f624506af0b. Thank you for the review!

^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#29061: Java patches
  2017-11-02 12:09       ` Julien Lepiller
@ 2017-11-02 12:11         ` Julien Lepiller
  0 siblings, 0 replies; 6+ messages in thread
From: Julien Lepiller @ 2017-11-02 12:11 UTC (permalink / raw)
  To: 29061-done


> 
> Fixed and pushed as a6dd06d0e2297c4eabbfcb5461ee6560cd0b2f95 -
> bb27eb0dbfa27d4aeb7525ee5ef70f624506af0b. Thank you for the review!
> 
> 
> 

I forgot to change the To: field, so closing.

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2017-11-02 12:07 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-10-29 20:47 [bug#29061] Java patches Julien Lepiller
2017-10-29 20:54 ` Julien Lepiller
2017-10-30 14:55   ` Leo Famulari
2017-10-30 15:23     ` Julien Lepiller
2017-11-02 12:09       ` Julien Lepiller
2017-11-02 12:11         ` bug#29061: " 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).