From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:60935) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1e8uY0-0007w2-D6 for guix-patches@gnu.org; Sun, 29 Oct 2017 16:51:13 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1e8uXu-0004Oq-PY for guix-patches@gnu.org; Sun, 29 Oct 2017 16:51:08 -0400 Received: from debbugs.gnu.org ([208.118.235.43]:60546) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1e8uXu-0004Oh-Fn for guix-patches@gnu.org; Sun, 29 Oct 2017 16:51:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1e8uXu-0006JL-8I for guix-patches@gnu.org; Sun, 29 Oct 2017 16:51:02 -0400 Subject: [bug#29061] Java patches Resent-Message-ID: Received: from eggs.gnu.org ([2001:4830:134:3::10]:60851) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1e8uX8-0007lH-KJ for guix-patches@gnu.org; Sun, 29 Oct 2017 16:50:19 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1e8uX3-000459-Et for guix-patches@gnu.org; Sun, 29 Oct 2017 16:50:14 -0400 Received: from lepiller.eu ([2a00:5884:8208::1]:36002) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1e8uX2-00042k-Ch for guix-patches@gnu.org; Sun, 29 Oct 2017 16:50:09 -0400 Received: from polymos.lepiller.eu (l9.lns-se1200-ld-01-t2-31-35-229-149.dsl.dyn.abo.bbox.fr [31.35.229.149]) by lepiller.eu (OpenSMTPD) with ESMTPSA id f1dd6c07 (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256:NO) for ; Sun, 29 Oct 2017 20:51:38 +0000 (UTC) Date: Sun, 29 Oct 2017 21:54:38 +0100 From: Julien Lepiller Message-ID: <20171029215438.6d9e001d@polymos.lepiller.eu> In-Reply-To: <20171029214709.7a610dfe@polymos.lepiller.eu> References: <20171029214709.7a610dfe@polymos.lepiller.eu> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="MP_/HJOK1Aitr=++wjlj8nKMd9q" List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+kyle=kyleam.com@gnu.org Sender: "Guix-patches" To: 29061@debbugs.gnu.org --MP_/HJOK1Aitr=++wjlj8nKMd9q Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Content-Disposition: inline On Sun, 29 Oct 2017 21:47:09 +0100 Julien Lepiller 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. --MP_/HJOK1Aitr=++wjlj8nKMd9q Content-Type: text/x-patch Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=0001-gnu-Add-java-bsh.patch >From 10c1801922abbc82e48360b22d5d8681449715b9 Mon Sep 17 00:00:00 2001 From: Julien Lepiller 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 --MP_/HJOK1Aitr=++wjlj8nKMd9q Content-Type: text/x-patch Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=0002-gnu-Add-java-bsh.patch >From f02f8c081e1627180e9f78393c3ab1fd8ad8b60b Mon Sep 17 00:00:00 2001 From: Julien Lepiller 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 --MP_/HJOK1Aitr=++wjlj8nKMd9q Content-Type: text/x-patch Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=0003-gnu-Add-java-jmock.patch >From 016af8aad804f488e530ae680855f175e8d8cfd1 Mon Sep 17 00:00:00 2001 From: Julien Lepiller 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 --MP_/HJOK1Aitr=++wjlj8nKMd9q Content-Type: text/x-patch Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=0004-gnu-Add-java-jmock-junit4.patch >From f2b5dcd1cbe5a3a8fcb9da6e6bc66e697618b645 Mon Sep 17 00:00:00 2001 From: Julien Lepiller 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 --MP_/HJOK1Aitr=++wjlj8nKMd9q Content-Type: text/x-patch Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=0005-gnu-Add-java-jmock-legacy.patch >From 330cbcb37084af37dccd0d63adf381c671d4317c Mon Sep 17 00:00:00 2001 From: Julien Lepiller 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 --MP_/HJOK1Aitr=++wjlj8nKMd9q Content-Type: text/x-patch Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=0006-gnu-Add-java-fest-util.patch >From 9b238e290c952862725db31fbbc1bc7c73728947 Mon Sep 17 00:00:00 2001 From: Julien Lepiller 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 --MP_/HJOK1Aitr=++wjlj8nKMd9q Content-Type: text/x-patch Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=0007-gnu-Add-java-fest-test.patch >From ca5d817578536b37b81946732946f9bf14eb306c Mon Sep 17 00:00:00 2001 From: Julien Lepiller 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 --MP_/HJOK1Aitr=++wjlj8nKMd9q Content-Type: text/x-patch Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=0008-gnu-Add-java-fest-assert.patch >From 4f9002fdbd0daebebbfd3426ad7465d8ef9d5a9e Mon Sep 17 00:00:00 2001 From: Julien Lepiller 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 --MP_/HJOK1Aitr=++wjlj8nKMd9q Content-Type: text/x-patch Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=0009-gnu-Add-java-testng.patch >From d689aaea1993a7c51516139864adf78dd65dfcff Mon Sep 17 00:00:00 2001 From: Julien Lepiller 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" + (("") "")) + (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 --MP_/HJOK1Aitr=++wjlj8nKMd9q Content-Type: text/x-patch Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=0010-gnu-Add-java-mvel2.patch >From ff6b73b44424949796b18689e4c5aba156573b41 Mon Sep 17 00:00:00 2001 From: Julien Lepiller 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