From 3422e10ededa47ed7e71cc4fd55aab4cf65ea905 Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Sun, 25 Feb 2018 11:45:17 +0100 Subject: gnu: Update java-testng to 6.14.3. * gnu/packages/java.scm (java-testng): Update to 6.14.3. --- gnu/packages/java.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu/packages/java.scm') diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 47220fc75c..94c806b99e 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -6959,7 +6959,7 @@ those in Perl and JavaScript.") (define-public java-testng (package (name "java-testng") - (version "6.14.2") + (version "6.14.3") (source (origin (method git-fetch) (uri (git-reference @@ -6968,7 +6968,7 @@ those in Perl and JavaScript.") (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "0ngj88dpbqqdx9084cmiasmn9q3v5dgx45qbvxpip47nxc5x14xy")))) + "0y6vq30i5g276kw0v2bhbvci22ijg7ax49ap2611yqlhbs4d6dqv")))) (build-system ant-build-system) (arguments `(#:jdk ,icedtea-8; java.util.function -- cgit v1.2.3 From 3214afabff01f7aae1d4790059a6f40763023711 Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Sat, 10 Feb 2018 21:53:53 +0100 Subject: gnu: Add java-plexus-component-annotations. * gnu/packages/java.scm (java-plexus-component-annotations): New variable. --- gnu/packages/java.scm | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'gnu/packages/java.scm') diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 94c806b99e..5f8f7fdb55 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -2660,6 +2660,20 @@ archives (jar).") `(("archiver" ,java-plexus-archiver) ("hamcrest" ,java-hamcrest-core))))) +(define-public java-plexus-component-annotations + (package + (inherit java-plexus-container-default) + (name "java-plexus-component-annotations") + (arguments + `(#:jar-name "plexus-component-annotations.jar" + #:source-dir "plexus-component-annotations/src/main/java" + #:tests? #f)); no tests + (inputs '()) + (native-inputs '()) + (synopsis "Plexus descriptors generator") + (description "This package is a Maven plugin to generate Plexus descriptors +from source tags and class annotations."))) + (define-public java-asm (package (name "java-asm") -- cgit v1.2.3 From a7ad92ade94d456f991062aedede9fd1ecd64b07 Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Wed, 14 Feb 2018 22:11:34 +0100 Subject: gnu: Make java-plexus-container-default-bootstrap private. * gnu/packages/java.scm (java-plexus-container-default-bootstrap): Make private. --- gnu/packages/java.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'gnu/packages/java.scm') diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 5f8f7fdb55..7312d4703d 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -2483,7 +2483,7 @@ mechanism of Java. It is especially useful for dynamic loading of application components.") (license license:asl2.0))) -(define-public java-plexus-container-default-bootstrap +(define java-plexus-container-default-bootstrap (package (name "java-plexus-container-default-bootstrap") (version "1.7.1") -- cgit v1.2.3 From 4f77ba17c663881c0657c838fbcb2a98e9137aa5 Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Sat, 10 Feb 2018 22:02:24 +0100 Subject: gnu: Add java-plexus-cipher. * gnu/packages/java.scm (java-plexus-cipher): New variable. --- gnu/packages/java.scm | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) (limited to 'gnu/packages/java.scm') diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 7312d4703d..57370db76e 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -2674,6 +2674,42 @@ archives (jar).") (description "This package is a Maven plugin to generate Plexus descriptors from source tags and class annotations."))) +(define-public java-plexus-cipher + (package + (name "java-plexus-cipher") + (version "1.7") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/codehaus-plexus/plexus-cipher" + "/archive/plexus-cipher-" version ".tar.gz")) + (sha256 + (base32 + "1j3r8xzlxlk340snkjp6lk2ilkxlkn8qavsfiq01f43xmvv8ymk3")))) + (build-system ant-build-system) + (arguments + `(#:jar-name "plexus-cipher.jar" + #:source-dir "src/main/java" + #:jdk ,icedtea-8 + #:tests? #f; FIXME: requires sisu-inject-bean + #:phases + (modify-phases %standard-phases + (add-before 'build 'copy-resources + (lambda _ + (copy-recursively "src/main/resources" "build/classes") + (mkdir-p "build/classes/META-INF/sisu") + (with-output-to-file "build/classes/META-INF/sisu/javax.inject.Named" + (lambda _ + (display "org.sonatype.plexus.components.cipher.DefaultPlexusCipher\n"))) + #t))))) + (inputs + `(("java-cdi-api" ,java-cdi-api) + ("java-javax-inject" ,java-javax-inject))) + (home-page "https://github.com/sonatype/plexus-cipher") + (synopsis "Encryption/decryption Component") + (description "Plexus-cipher contains a component to deal with encryption +and decryption.") + (license license:asl2.0))) + (define-public java-asm (package (name "java-asm") -- cgit v1.2.3 From 239126d48b960013cc368a3f3636e760e0adb8fd Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Sat, 10 Feb 2018 23:00:09 +0100 Subject: gnu: Add java-plexus-compiler-api. * gnu/packages/java.scm (java-plexus-compiler-api): New variable. --- gnu/packages/java.scm | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) (limited to 'gnu/packages/java.scm') diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 57370db76e..45904ff84a 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -2710,6 +2710,35 @@ from source tags and class annotations."))) and decryption.") (license license:asl2.0))) +(define-public java-plexus-compiler-api + (package + (name "java-plexus-compiler-api") + (version "2.8.2") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/codehaus-plexus/plexus-compiler" + "/archive/plexus-compiler-" version ".tar.gz")) + (sha256 + (base32 + "0g3x26pymcdnfnwv2a1i57pd5s26f5zqfi1rdy98z1bn01klx25k")))) + (build-system ant-build-system) + (arguments + `(#:jar-name "plexus-compiler-api.jar" + #:source-dir "plexus-compiler-api/src/main/java" + #:jdk ,icedtea-8 + #:test-dir "plexus-compiler-api/src/test")) + (inputs + `(("java-plexus-container-default" ,java-plexus-container-default) + ("java-plexus-util" ,java-plexus-utils))) + (native-inputs + `(("java-junit" ,java-junit))) + (home-page "https://github.com/codehaus-plexus/plexus-compiler") + (synopsis "Plexus Compilers component's API to manipulate compilers") + (description "This package contains the API used by components to manipulate +compilers.") + (license (list license:asl2.0 + license:expat)))) + (define-public java-asm (package (name "java-asm") -- cgit v1.2.3 From f8a519fa3f8af3e3be842d84be49897d0bd9fd06 Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Sat, 10 Feb 2018 23:09:20 +0100 Subject: gnu: Add java-plexus-compiler-javac. gnu/packages/java.scm (java-plexus-compiler-javac): New variable. --- gnu/packages/java.scm | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'gnu/packages/java.scm') diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 45904ff84a..dc8523369a 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -2739,6 +2739,26 @@ compilers.") (license (list license:asl2.0 license:expat)))) +(define-public java-plexus-compiler-javac + (package + (inherit java-plexus-compiler-api) + (name "java-plexus-compiler-javac") + (arguments + `(#:jar-name "plexus-compiler-javac.jar" + #:source-dir "plexus-compilers/plexus-compiler-javac/src/main/java" + #:jdk ,icedtea-8 + #:tests? #f; depends on compiler-test -> maven-core -> ... -> this package. + #:test-dir "plexus-compilers/plexus-compiler-javac/src/test")) + (inputs + `(("java-plexus-compiler-api" ,java-plexus-compiler-api) + ("java-plexus-utils" ,java-plexus-utils) + ("java-plexus-container-default" ,java-plexus-container-default))) + (native-inputs + `(("java-junit" ,java-junit))) + (synopsis "Javac Compiler support for Plexus Compiler component") + (description "This package contains the Javac Compiler support for Plexus +Compiler component."))) + (define-public java-asm (package (name "java-asm") -- cgit v1.2.3 From 8f524749bc26601d4dc781978104718adb7addc8 Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Sat, 10 Feb 2018 22:42:43 +0100 Subject: gnu: Add java-sisu-build-api. * gnu/packages/java.scm (java-sisu-build-api): New variable. --- gnu/packages/java.scm | 55 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) (limited to 'gnu/packages/java.scm') diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index dc8523369a..bbc39831ef 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -2759,6 +2759,61 @@ compilers.") (description "This package contains the Javac Compiler support for Plexus Compiler component."))) +(define-public java-sisu-build-api + (package + (name "java-sisu-build-api") + (version "0.0.7") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/sonatype/sisu-build-api/" + "archive/plexus-build-api-" version ".tar.gz")) + (sha256 + (base32 + "1c3rrpma3x634xp2rm2p5iskfhzdyc7qfbhjzr70agrl1jwghgy2")))) + (build-system ant-build-system) + (arguments + `(#:jar-name "sisu-build-api.jar" + #:source-dir "src/main/java" + #:jdk ,icedtea-8 + #:tests? #f; FIXME: how to run the tests? + #:phases + (modify-phases %standard-phases + (add-before 'build 'copy-resources + (lambda _ + (copy-recursively "src/main/resources" "build/classes") + (substitute* (find-files "build/classes") + (("\\$\\{project.version\\}") ,version)) + #t)) + (add-before 'build 'generate-plexus-compontent + (lambda _ + (mkdir-p "build/classes/META-INF/plexus") + ;; This file is required for plexus to inject this package. + ;; FIXME: how is it generated? + (with-output-to-file "build/classes/META-INF/plexus/components.xml" + (lambda _ + (display + "\n + \n + \n + org.sonatype.plexus.build.incremental.BuildContext\n + default\n + org.sonatype.plexus.build.incremental.DefaultBuildContext\n + Filesystem based non-incremental build context implementation\n +which behaves as if all files were just created.\n + \n + \n +\n"))) + #t))))) + (inputs + `(("java-plexus-utils" ,java-plexus-utils) + ("java-plexus-container-default" ,java-plexus-container-default))) + (home-page "https://github.com/sonatype/sisu-build-api/") + (synopsis "Base build API for maven") + (description "This package contains the base build API for maven and +a default implementation of it. This API is about scanning files in a +project and determining what files need to be rebuilt.") + (license license:asl2.0))) + (define-public java-asm (package (name "java-asm") -- cgit v1.2.3 From b26c8b618457943075eaf5d33592af0eabf53cc8 Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Sat, 10 Feb 2018 22:51:17 +0100 Subject: gnu: Add java-modello-core. * gnu/packages/java.scm (java-modello-core): New variable. --- gnu/packages/java.scm | 63 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) (limited to 'gnu/packages/java.scm') diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index bbc39831ef..d7a1299a7f 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -2814,6 +2814,69 @@ a default implementation of it. This API is about scanning files in a project and determining what files need to be rebuilt.") (license license:asl2.0))) +(define-public java-modello-core + (package + (name "java-modello-core") + (version "1.9.1") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/codehaus-plexus/modello" + "/archive/modello-" version ".tar.gz")) + (sha256 + (base32 + "0l2pvns8pmlrmjm3iknp7gpg3654y1m8qhy55b19sdwdchdcyxfh")))) + (build-system ant-build-system) + (arguments + `(#:jar-name "modello-core.jar" + #:source-dir "modello-core/src/main/java" + #:test-dir "modello-core/src/test" + #:main-class "org.codehaus.modello.ModelloCli" + #:jdk ,icedtea-8 + #:phases + (modify-phases %standard-phases + (add-before 'build 'copy-resources + (lambda _ + (mkdir-p "build/classes/META-INF/plexus") + (copy-file "modello-core/src/main/resources/META-INF/plexus/components.xml" + "build/classes/META-INF/plexus/components.xml") + #t)) + (add-before 'check 'fix-tests + (lambda _ + (with-directory-excursion "modello-core/src/test/java/org/codehaus" + (substitute* '("modello/core/DefaultModelloCoreTest.java" + "modello/core/io/ModelReaderTest.java") + (("src/test") "modello-core/src/test"))) + #t))))) + (inputs + `(("java-plexus-utils" ,java-plexus-utils) + ("java-plexus-container-default" ,java-plexus-container-default) + ("java-sisu-build-api" ,java-sisu-build-api))) + (native-inputs + `(("java-junit" ,java-junit) + ("java-plexus-classworlds" ,java-plexus-classworlds) + ("java-geronimo-xbean-reflect" ,java-geronimo-xbean-reflect) + ("java-guava" ,java-guava))) + (home-page "http://codehaus-plexus.github.io/modello/") + (synopsis "Framework for code generation from a simple model") + (description "Modello is a framework for code generation from a simple model. + +Modello generates code from a simple model format: based on a plugin +architecture, various types of code and descriptors can be generated from the +single model, including Java POJOs, XML/JSON/YAML marshallers/unmarshallers, +XSD and documentation.") + (license (list + license:expat + ;; Although this package uses only files licensed under expat, + ;; other parts of the source are licensed under different + ;; licenses. We include them to be inherited by other packages. + license:asl2.0 + ;; Some files in modello-plugin-java are licensed under a + ;; 5-clause BSD license. + (license:non-copyleft + (string-append "file:///modello-plugins/modello-plugin-java/" + "src/main/java/org/codehaus/modello/plugin/" + "java/javasource/JNaming.java")))))) + (define-public java-asm (package (name "java-asm") -- cgit v1.2.3 From fc620befd4d4236db8f446dba2e0f3abcd4c0cfb Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Sat, 10 Feb 2018 22:52:22 +0100 Subject: gnu: Add java-modello-plugins-java. * gnu/packages/java.scm (java-modello-plugins-java): New variable. --- gnu/packages/java.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'gnu/packages/java.scm') diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index d7a1299a7f..05cf91999b 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -2877,6 +2877,30 @@ XSD and documentation.") "src/main/java/org/codehaus/modello/plugin/" "java/javasource/JNaming.java")))))) +(define-public java-modello-plugins-java + (package + (inherit java-modello-core) + (name "java-modello-plugins-java") + (arguments + `(#:jar-name "modello-plugins-java.jar" + #:source-dir "modello-plugins/modello-plugin-java/src/main/java" + #:test-dir "modello-plugins/modello-plugin-java/src/test" + #:jdk ,icedtea-8 + #:tests? #f; requires maven-model, which depends on this package + #:phases + (modify-phases %standard-phases + (add-before 'build 'copy-resources + (lambda _ + (mkdir-p "build/classes") + (copy-recursively "modello-plugins/modello-plugin-java/src/main/resources" + "build/classes") + #t))))) + (inputs + `(("java-modello-core" ,java-modello-core) + ,@(package-inputs java-modello-core))) + (synopsis "Modello Java Plugin") + (description "Modello Java Plugin generates Java objects for the model."))) + (define-public java-asm (package (name "java-asm") -- cgit v1.2.3 From a0ce95ba8f6beb79fe77fe4f199dbe49e243bbbc Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Sat, 10 Feb 2018 22:53:12 +0100 Subject: gnu: Add java-modello-plugins-xml. * gnu/packages/java.scm (java-modello-plugins-xml): New variable. --- gnu/packages/java.scm | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) (limited to 'gnu/packages/java.scm') diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 05cf91999b..6d77967de6 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -2901,6 +2901,38 @@ XSD and documentation.") (synopsis "Modello Java Plugin") (description "Modello Java Plugin generates Java objects for the model."))) +(define-public java-modello-plugins-xml + (package + (inherit java-modello-core) + (name "java-modello-plugins-xml") + (arguments + `(#:jar-name "modello-plugins-xml.jar" + #:source-dir "modello-plugins/modello-plugin-xml/src/main/java" + #:test-dir "modello-plugins/modello-plugin-xml/src/test" + #:jdk ,icedtea-8 + #:phases + (modify-phases %standard-phases + (add-before 'build 'copy-resources + (lambda _ + (mkdir-p "build/classes") + (copy-recursively + "modello-plugins/modello-plugin-xml/src/main/resources" + "build/classes") + #t)) + (add-before 'check 'fix-paths + (lambda _ + (with-directory-excursion "modello-plugins/modello-plugin-xml/src/test" + (substitute* + "java/org/codehaus/modello/plugins/xml/XmlModelloPluginTest.java" + (("src/test") "modello-plugins/modello-plugin-xml/src/test")))))))) + (inputs + `(("java-modello-core" ,java-modello-core) + ("java-modello-plugins-java" ,java-modello-plugins-java) + ,@(package-inputs java-modello-core))) + (synopsis "Modello XML Plugin") + (description "Modello XML Plugin contains shared code for every plugins +working on XML representation of the model."))) + (define-public java-asm (package (name "java-asm") -- cgit v1.2.3 From e470856017a705d4ba1881363717579e62f28671 Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Sat, 10 Feb 2018 23:23:38 +0100 Subject: gnu: Add java-modello-test. gnu/packages/java.scm (java-modello-test): New variable. --- gnu/packages/java.scm | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'gnu/packages/java.scm') diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 6d77967de6..f8bb5e58f7 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -2933,6 +2933,25 @@ XSD and documentation.") (description "Modello XML Plugin contains shared code for every plugins working on XML representation of the model."))) +(define-public java-modello-test + (package + (inherit java-modello-core) + (name "java-modello-test") + (arguments + `(#:jar-name "modello-test.jar" + #:source-dir "modello-test/src/main/java" + #:tests? #f; no tests + #:jdk ,icedtea-8)) + (inputs + `(("java-plexus-utils" ,java-plexus-utils) + ("java-plexus-compiler-api" ,java-plexus-compiler-api) + ("java-plexus-compiler-javac" ,java-plexus-compiler-javac) + ("java-plexus-container-default" ,java-plexus-container-default))) + (synopsis "Modello test package") + (description "The modello test package contains the basis to create +Modello generator unit-tests, including sample models and xml files to test +every feature for every plugin."))) + (define-public java-asm (package (name "java-asm") -- cgit v1.2.3 From 36607d3bfe1f0d26773ffaefd22b4968c6237999 Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Sat, 10 Feb 2018 23:30:59 +0100 Subject: gnu: Add java-modello-plugins-xpp3. gnu/packages/java.scm (java-modello-plugins-xpp3): New variable. --- gnu/packages/java.scm | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) (limited to 'gnu/packages/java.scm') diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index f8bb5e58f7..93b343f62f 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -2952,6 +2952,38 @@ working on XML representation of the model."))) Modello generator unit-tests, including sample models and xml files to test every feature for every plugin."))) +(define-public java-modello-plugins-xpp3 + (package + (inherit java-modello-core) + (name "java-modello-plugins-xpp3") + (arguments + `(#:jar-name "modello-plugins-xpp3.jar" + #:source-dir "modello-plugins/modello-plugin-xpp3/src/main/java" + #:test-dir "modello-plugins/modello-plugin-xpp3/src/test" + ;; One of the test dependencies is maven-model which depends on this package. + #:tests? #f + #:jdk ,icedtea-8 + #:phases + (modify-phases %standard-phases + (add-before 'build 'copy-resources + (lambda _ + (mkdir-p "build/classes") + (copy-recursively "modello-plugins/modello-plugin-xpp3/src/main/resources" + "build/classes") + #t))))) + (inputs + `(("java-modello-core" ,java-modello-core) + ("java-modello-plugins-java" ,java-modello-plugins-java) + ("java-modello-plugins-xml" ,java-modello-plugins-xml) + ,@(package-inputs java-modello-core))) + (native-inputs + `(("java-xmlunit" ,java-xmlunit) + ("java-modello-test" ,java-modello-test) + ,@(package-native-inputs java-modello-core))) + (synopsis "Modello XPP3 Plugin") + (description "The modello XPP3 plugin generates XML readers and writers based +on the XPP3 API (XML Pull Parser)."))) + (define-public java-asm (package (name "java-asm") -- cgit v1.2.3 From 0aa85081d6319b582d53e9113be41cbe1a59f2a8 Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Sat, 10 Feb 2018 23:46:31 +0100 Subject: gnu: Add java-plexus-sec-dispatcher. * gnu/packages/java.scm (java-plexus-sec-dispatcher): New variable. --- gnu/packages/java.scm | 88 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 88 insertions(+) (limited to 'gnu/packages/java.scm') diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 93b343f62f..2b7a76fda3 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -2759,6 +2759,94 @@ compilers.") (description "This package contains the Javac Compiler support for Plexus Compiler component."))) +(define-public java-plexus-sec-dispatcher + (package + (name "java-plexus-sec-dispatcher") + (version "1.4") ;; Newest release listed at the Maven Central Repository. + (source (origin + ;; This project doesn't tag releases or publish tarballs, so we take + ;; the "prepare release plexus-sec-dispatcher-1.4" git commit. + (method url-fetch) + (uri (string-append "https://github.com/sonatype/plexus-sec-dispatcher/" + "archive/7db8f88048.tar.gz")) + (sha256 + (base32 + "1smfrk4n7xbrsxpxcp2j4i0j8q86j73w0w6xg7qz83dp6dagdjgp")) + (file-name (string-append name "-" version ".tar.gz")))) + (arguments + `(#:jar-name "plexus-sec-dispatcher.jar" + #:source-dir "src/main/java" + #:jdk ,icedtea-8 + #:phases + (modify-phases %standard-phases + (add-before 'build 'generate-models + (lambda* (#:key inputs #:allow-other-keys) + (define (modello-single-mode file version mode) + (zero? (system* "java" + "org.codehaus.modello.ModelloCli" + file mode "src/main/java" version + "false" "true"))) + (let ((file "src/main/mdo/settings-security.mdo")) + (and + (modello-single-mode file "1.0.0" "java") + (modello-single-mode file "1.0.0" "xpp3-reader") + (modello-single-mode file "1.0.0" "xpp3-writer"))))) + (add-before 'build 'generate-components.xml + (lambda _ + (mkdir-p "build/classes/META-INF/plexus") + (with-output-to-file "build/classes/META-INF/plexus/components.xml" + (lambda _ + (display + "\n + \n + \n + org.sonatype.plexus.components.sec.dispatcher.SecDispatcher\n + default\n + org.sonatype.plexus.components.sec.dispatcher.DefaultSecDispatcher\n + \n + \n + \n + org.sonatype.plexus.components.cipher.PlexusCipher\n + _cipher\n + \n + \n + org.sonatype.plexus.components.sec.dispatcher.PasswordDecryptor\n + _decryptors\n + \n + \n + \n + <_configuration-file>~/.settings-security.xml\n + \n + \n + \n +\n"))))) + (add-before 'check 'fix-paths + (lambda _ + (copy-recursively "src/test/resources" "target")))))) + (inputs + `(("java-plexus-cipher" ,java-plexus-cipher))) + (native-inputs + `(("java-modello-core" ,java-modello-core) + ;; for modello: + ("java-plexus-container-default" ,java-plexus-container-default) + ("java-plexus-classworlds" ,java-plexus-classworlds) + ("java-plexus-utils" ,java-plexus-utils) + ("java-guava" ,java-guava) + ("java-geronimo-xbean-reflect" ,java-geronimo-xbean-reflect) + ("java-sisu-build-api" ,java-sisu-build-api) + ;; modello plugins: + ("java-modellop-plugins-java" ,java-modello-plugins-java) + ("java-modellop-plugins-xml" ,java-modello-plugins-xml) + ("java-modellop-plugins-xpp3" ,java-modello-plugins-xpp3) + ;; for tests + ("java-junit" ,java-junit))) + (build-system ant-build-system) + (home-page "https://github.com/sonatype/plexus-sec-dispatcher") + (synopsis "Plexus Security Dispatcher Component") + (description "This package is the Plexus Security Dispatcher Component. +This component decrypts a string passed to it.") + (license license:asl2.0))) + (define-public java-sisu-build-api (package (name "java-sisu-build-api") -- cgit v1.2.3 From c1cb8576453db450493726ab44f34910dfa10ed7 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 28 Feb 2018 22:12:52 +0100 Subject: gnu: Add java-ecj-3. * gnu/packages/java.scm (java-ecj-3): New variable. --- gnu/packages/java.scm | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) (limited to 'gnu/packages/java.scm') diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 2b7a76fda3..4ea6f4d8c3 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -2018,6 +2018,41 @@ debugging, etc.") (delete-file-recursively "lib") #t)) (replace 'install (install-jars "bin/lib"))))))) +;; This is the last 3.x release of ECJ +(define-public java-ecj-3 + (package + (name "java-ecj") + (version "3.8.2") + (source (origin + (method url-fetch) + (uri (string-append "http://archive.eclipse.org/eclipse/" + "downloads/drops/R-" version + "-201301310800/ecjsrc-" version ".jar")) + (sha256 + (base32 + "01mdj14jw11g1jfnki4fi8229p0c6zzckd38zqy2w4m3cjcvsx04")))) + (build-system ant-build-system) + (arguments + `(#:tests? #f ; none included + #:jdk ,icedtea-7 ; doesn't build with JDK8+ + #:make-flags (list "-f" "src/build.xml") + #:build-target "build" + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-manifest + (lambda _ + ;; Record the main class to make ecj executable. + (with-atomic-file-replacement "src/META-INF/MANIFEST.MF" + (lambda (in out) + (display "Manifest-Version: 1.0 +Main-Class: org.eclipse.jdt.internal.compiler.batch.Main\n" + out))))) + (replace 'install (install-jars "."))))) + (home-page "https://eclipse.org") + (synopsis "Eclipse Java development tools core batch compiler") + (description "This package provides the Eclipse Java core batch compiler.") + (license license:epl1.0))) + (define-public java-classpathx-servletapi (package (name "java-classpathx-servletapi") -- cgit v1.2.3 From f201b18ed7d7f8ab640f2e571aad765cf3c572dd Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 28 Feb 2018 22:13:12 +0100 Subject: gnu: Add java-ecj-3.5. * gnu/packages/java.scm (java-ecj-3.5): New variable. --- gnu/packages/java.scm | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) (limited to 'gnu/packages/java.scm') diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 4ea6f4d8c3..7a90bfba00 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -2053,6 +2053,37 @@ Main-Class: org.eclipse.jdt.internal.compiler.batch.Main\n" (description "This package provides the Eclipse Java core batch compiler.") (license license:epl1.0))) +;; This is needed for java-cisd-args4j +(define-public java-ecj-3.5 + (package (inherit java-ecj-3) + (version "3.5.1") + (source (origin + (method url-fetch/zipbomb) + (uri (string-append "http://archive.eclipse.org/eclipse/" + "downloads/drops/R-" version + "-200909170800/ecjsrc-" version ".zip")) + (sha256 + (base32 + "1vnl2mavisc567bip736xzsvvbjif5279wc4a7pbdik5wlir8qr7")))) + (build-system ant-build-system) + (arguments + `(#:tests? #f ; none included + #:jdk ,icedtea-7 ; doesn't build with JDK8+ + #:build-target "build" + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-manifest + (lambda _ + ;; Record the main class to make ecj executable. + (with-atomic-file-replacement "META-INF/MANIFEST.MF" + (lambda (in out) + (dump-port in out) + (display "Main-Class: org.eclipse.jdt.internal.compiler.batch.Main\n" + out))))) + (replace 'install (install-jars "."))))) + (native-inputs + `(("unzip" ,unzip))))) + (define-public java-classpathx-servletapi (package (name "java-classpathx-servletapi") -- cgit v1.2.3 From 602f54f436d41634adaa56e4ff645a6bad202daf Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 27 Feb 2018 20:36:58 +0100 Subject: gnu: java-jnacl: Use invoke. * gnu/packages/java.scm (java-jnacl)[arguments]: Use "invoke". --- gnu/packages/java.scm | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) (limited to 'gnu/packages/java.scm') diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 7a90bfba00..bc2fb32eba 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -7538,18 +7538,18 @@ to use.") #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")))))))) + (invoke "ant" "compile-tests") + (invoke "java" "-cp" (string-append (getenv "CLASSPATH") + ":build/classes" + ":build/test-classes") + "org.testng.TestNG" "-testclass" + "build/test-classes/com/neilalexander/jnacl/NaclSecretBoxTest.class") + (invoke "java" "-cp" (string-append (getenv "CLASSPATH") + ":build/classes" + ":build/test-classes") + "org.testng.TestNG" "-testclass" + "build/test-classes/com/neilalexander/jnacl/NaClTest.class") + #t))))) (native-inputs `(("java-testng" ,java-testng) ("java-fest-util" ,java-fest-util) -- cgit v1.2.3 From e15864281615d3bc72d772b9bea704accd9262c3 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 27 Feb 2018 20:39:38 +0100 Subject: gnu: java-jnacl: Correct license. * gnu/packages/java.scm (java-jnacl)[license]: Change to BSD-2. --- gnu/packages/java.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'gnu/packages/java.scm') diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index bc2fb32eba..e7715b4b3c 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -7558,7 +7558,7 @@ to use.") (synopsis "Java implementation of NaCl") (description "Pure Java implementation of the NaCl: Networking and Cryptography library.") - (license license:mpl2.0))) + (license license:bsd-2))) (define-public java-mvel2 (package -- cgit v1.2.3 From 8333c206a90977c5080313b1cb85b0513bd8e12d Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 27 Feb 2018 20:40:02 +0100 Subject: gnu: java-jnacl: Simplify build phase. * gnu/packages/java.scm (java-jnacl)[arguments]: Simplify "fix-tests" phase. --- gnu/packages/java.scm | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) (limited to 'gnu/packages/java.scm') diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index e7715b4b3c..a197da819c 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -7531,9 +7531,8 @@ to use.") (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" + (substitute* '("src/test/java/com/neilalexander/jnacl/NaClTest.java" + "src/test/java/com/neilalexander/jnacl/NaclSecretBoxTest.java") (("assertions.Assertions") "assertions.api.Assertions")) #t)) (replace 'check -- cgit v1.2.3 From 3e87923a67bb1352651ee0877633934fa0457f72 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 27 Feb 2018 20:43:05 +0100 Subject: gnu: java-jnacl: Update to 0.1.0-2.094e819. * gnu/packages/java.scm (java-jnacl): Update to 0.1.0-2.094e819. --- gnu/packages/java.scm | 94 ++++++++++++++++++++++++++------------------------- 1 file changed, 48 insertions(+), 46 deletions(-) (limited to 'gnu/packages/java.scm') diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index a197da819c..c527e6898b 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -7511,53 +7511,55 @@ 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" - "src/test/java/com/neilalexander/jnacl/NaclSecretBoxTest.java") - (("assertions.Assertions") "assertions.api.Assertions")) - #t)) - (replace 'check - (lambda _ - (invoke "ant" "compile-tests") - (invoke "java" "-cp" (string-append (getenv "CLASSPATH") - ":build/classes" - ":build/test-classes") - "org.testng.TestNG" "-testclass" - "build/test-classes/com/neilalexander/jnacl/NaclSecretBoxTest.class") - (invoke "java" "-cp" (string-append (getenv "CLASSPATH") - ":build/classes" - ":build/test-classes") - "org.testng.TestNG" "-testclass" - "build/test-classes/com/neilalexander/jnacl/NaClTest.class") - #t))))) - (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 + (let ((commit "094e819afdd63ea81a499b3bcb42a271006bebd9") + (revision "2")) + (package + (name "java-jnacl") + (version (string-append "0.1.0-" revision "." (string-take commit 7))) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/neilalexander/jnacl.git") + (commit commit))) + (sha256 + (base32 + "1d6g6xhn83byv5943n7935wwjsk0ibk0qdvqgr699qqgqqmwisbb")))) + (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" + "src/test/java/com/neilalexander/jnacl/NaclSecretBoxTest.java") + (("assertions.Assertions") "assertions.api.Assertions")) + #t)) + (replace 'check + (lambda _ + (invoke "ant" "compile-tests") + (invoke "java" "-cp" (string-append (getenv "CLASSPATH") + ":build/classes" + ":build/test-classes") + "org.testng.TestNG" "-testclass" + "build/test-classes/com/neilalexander/jnacl/NaclSecretBoxTest.class") + (invoke "java" "-cp" (string-append (getenv "CLASSPATH") + ":build/classes" + ":build/test-classes") + "org.testng.TestNG" "-testclass" + "build/test-classes/com/neilalexander/jnacl/NaClTest.class") + #t))))) + (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:bsd-2))) + (license license:bsd-2)))) (define-public java-mvel2 (package -- cgit v1.2.3 From 8c7d32e07c39df8a0d95c142eb46ecf0f8b65e57 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 27 Feb 2018 20:43:56 +0100 Subject: gnu: java-jnacl: Do not prefix jar with "java-". * gnu/packages/java.scm (java-jnacl)[arguments]: Rename jar to "jnacl.jar". --- gnu/packages/java.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'gnu/packages/java.scm') diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index c527e6898b..6350b57a80 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -7526,7 +7526,7 @@ to use.") "1d6g6xhn83byv5943n7935wwjsk0ibk0qdvqgr699qqgqqmwisbb")))) (build-system ant-build-system) (arguments - `(#:jar-name "java-jnacl.jar" + `(#:jar-name "jnacl.jar" #:source-dir "src/main/java" #:jdk ,icedtea-8 #:phases -- cgit v1.2.3 From 080d0b605aa7cb0dc433d98b24a0bfeea63a2798 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 27 Feb 2018 20:45:53 +0100 Subject: gnu: java-commons-jexl-2: Use invoke. * gnu/packages/java.scm (java-commons-jexl-2)[arguments]: Use invoke. --- gnu/packages/java.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'gnu/packages/java.scm') diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 6350b57a80..830ecaf2ff 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -7654,8 +7654,9 @@ configuration and string construction.") (add-before 'build 'run-javacc (lambda _ (with-directory-excursion "src/main/java/org/apache/commons/jexl2/parser/" - (and (zero? (system* "java" "jjtree" "Parser.jjt")) - (zero? (system* "java" "javacc" "Parser.jj"))))))))) + (invoke "java" "jjtree" "Parser.jjt") + (invoke "java" "javacc" "Parser.jj")) + #t))))) (inputs `(("java-commons-logging-minimal" ,java-commons-logging-minimal))) (native-inputs -- cgit v1.2.3 From 6338ea9a88cb651a9796bdb2a62786d61acd5ad1 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 27 Feb 2018 20:48:49 +0100 Subject: gnu: java-hawtjni: Simplify build phases. * gnu/packages/java.scm (java-hawtjni)[arguments]: Use "invoke" instead of "system*"; use "install-file" instead of "mkdir-p" and "copy-file". --- gnu/packages/java.scm | 25 +++++++++++-------------- 1 file changed, 11 insertions(+), 14 deletions(-) (limited to 'gnu/packages/java.scm') diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 830ecaf2ff..579ab9b41c 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -8384,26 +8384,23 @@ including pre-existing objects that you do not have source-code of.") (modify-phases %standard-phases (add-before 'build 'build-native (lambda* (#:key inputs #:allow-other-keys) - (with-directory-excursion "hawtjni-generator/src/main/resources/" - (and - (system* "gcc" "-c" "hawtjni.c" "-o" "hawtjni.o" - "-fPIC" "-O2" - (string-append "-I" (assoc-ref inputs "jdk") "/include/linux")) - (system* "gcc" "-c" "hawtjni-callback.c" "-o" "hawtjni-callback.o" - "-fPIC" "-O2" - (string-append "-I" (assoc-ref inputs "jdk") "/include/linux")) - (system* "gcc" "-o" "libhawtjni.so" "-shared" - "hawtjni.o" "hawtjni-callback.o"))))) + (let ((include (string-append "-I" (assoc-ref inputs "jdk") "/include/linux"))) + (with-directory-excursion "hawtjni-generator/src/main/resources/" + (invoke "gcc" "-c" "hawtjni.c" "-o" "hawtjni.o" + "-fPIC" "-O2" include) + (invoke "gcc" "-c" "hawtjni-callback.c" "-o" "hawtjni-callback.o" + "-fPIC" "-O2" include) + (invoke "gcc" "-o" "libhawtjni.so" "-shared" + "hawtjni.o" "hawtjni-callback.o"))) + #t)) (add-after 'install 'install-native (lambda* (#:key outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) (lib (string-append out "/lib")) (inc (string-append out "/include"))) - (mkdir-p lib) - (mkdir-p inc) (with-directory-excursion "hawtjni-generator/src/main/resources/" - (copy-file "libhawtjni.so" (string-append lib "/libhawtjni.so")) - (copy-file "hawtjni.h" (string-append inc "/hawtjni.h")))) + (install-file "libhawtjni.so" lib) + (install-file "hawtjni.h" inc))) #t))))) (inputs `(("java-commons-cli" ,java-commons-cli) -- cgit v1.2.3 From 3d6925ef51995cf4aab1c128cfcb6c322c0c5467 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 27 Feb 2018 20:52:00 +0100 Subject: gnu: java-jansi-native: Fix description. * gnu/packages/java.scm (java-jansi-native)[description]: Replace placeholder text with an actual description. --- gnu/packages/java.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'gnu/packages/java.scm') diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 579ab9b41c..1c84358301 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -8465,8 +8465,9 @@ that is part of the SWT Tools project.") `(("java-hawtjni" ,java-hawtjni))) (home-page "https://fusesource.github.io/jansi/") (synopsis "Native library for jansi") - (description "Java-jansi-native contains the native library for the jansi -frobnication library/framework.") + (description "This package provides the native library for jansi, a small +Java library that allows you to use ANSI escape sequences to format your +console output.") (license license:asl2.0))) (define-public java-jansi -- cgit v1.2.3 From e85c1bf6cd72887eb20680ac8ebf578b5831e6f6 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 27 Feb 2018 20:53:15 +0100 Subject: gnu: java-jansi-native: Simplify. * gnu/packages/java.scm (java-jansi-native)[arguments]: Use "invoke"; remove useless "mkdir-p". --- gnu/packages/java.scm | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) (limited to 'gnu/packages/java.scm') diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 1c84358301..3c208ffe64 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -8437,14 +8437,14 @@ that is part of the SWT Tools project.") (with-directory-excursion "src/main/native-package/src" (substitute* "jansi_ttyname.c" (("#include \"jansi_.*") "")) - (and - (system* "gcc" "-c" "jansi_ttyname.c" "-o" "jansi_ttyname.o" - (string-append "-I" (assoc-ref inputs "java-hawtjni") - "/include") - (string-append "-I" (assoc-ref inputs "jdk") - "/include/linux") - "-fPIC" "-O2") - (system* "gcc" "-o" "libjansi.so" "-shared" "jansi_ttyname.o"))))) + (invoke "gcc" "-c" "jansi_ttyname.c" "-o" "jansi_ttyname.o" + (string-append "-I" (assoc-ref inputs "java-hawtjni") + "/include") + (string-append "-I" (assoc-ref inputs "jdk") + "/include/linux") + "-fPIC" "-O2") + (invoke "gcc" "-o" "libjansi.so" "-shared" "jansi_ttyname.o") + #t))) (add-before 'build 'install-native (lambda _ (let ((dir (string-append "build/classes/META-INF/native/" @@ -8457,7 +8457,6 @@ that is part of the SWT Tools project.") #t)) (add-after 'install 'install-native (lambda* (#:key outputs #:allow-other-keys) - (mkdir-p (string-append (assoc-ref outputs "out") "/include")) (install-file "src/main/native-package/src/jansi.h" (string-append (assoc-ref outputs "out") "/include")) #t))))) -- cgit v1.2.3 From 13f38d31a4cf3d3dcc7935c21b3288c65f143f00 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 27 Feb 2018 20:56:02 +0100 Subject: gnu: antlr3-3.1: Use invoke. * gnu/packages/java.scm (antlr3-3.1)[arguments]: Use invoke. --- gnu/packages/java.scm | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'gnu/packages/java.scm') diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 3c208ffe64..b3a0c89366 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -5709,12 +5709,13 @@ import org.antlr.grammar.v2.ANTLRTreePrinter;")) (for-each (lambda (file) (display file) (newline) - (system* "antlr" "-o" dir (string-append dir file))) + (invoke "antlr" "-o" dir (string-append dir file))) '("antlr.g" "antlr.print.g" "assign.types.g" "buildnfa.g" "define.g"))) (format #t "codegen.g\n") - (system* "antlr" "-o" "src/org/antlr/codegen" - "src/org/antlr/codegen/codegen.g"))) + (invoke "antlr" "-o" "src/org/antlr/codegen" + "src/org/antlr/codegen/codegen.g") + #t)) (add-before 'build 'fix-build-xml (lambda _ (substitute* "build.xml" -- cgit v1.2.3 From ec32bc9860fc54b8a4f874f7c67465172b2e1ec2 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 27 Feb 2018 20:56:32 +0100 Subject: gnu: antlr3-3.1: Remove version from package name. * gnu/packages/java.scm (antlr3-3.1)[name]: Remove. [arguments]: Adjust accordingly. --- gnu/packages/java.scm | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'gnu/packages/java.scm') diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index b3a0c89366..9e9c10125c 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -5666,7 +5666,6 @@ import org.antlr.grammar.v2.ANTLRTreePrinter;")) (define antlr3-3.1 (package (inherit antlr3) - (name "antlr3-3.1") (version "3.1") (source (origin (method url-fetch) @@ -5677,7 +5676,7 @@ import org.antlr.grammar.v2.ANTLRTreePrinter;")) (base32 "0sfimc9cpbgrihz4giyygc8afgpma2c93yqpwb951giriri6x66z")))) (arguments - `(#:jar-name (string-append ,name "-" ,version ".jar") + `(#:jar-name (string-append "antlr3-" ,version ".jar") #:source-dir "src:runtime/Java/src" #:tests? #f #:phases -- cgit v1.2.3 From 1b6bc5167519d5c87b87fd4d7e367fbbe54c9b2e Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 27 Feb 2018 21:00:24 +0100 Subject: gnu: java-lz4: Use invoke. * gnu/packages/java.scm (java-lz4)[arguments]: Use invoke. --- gnu/packages/java.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'gnu/packages/java.scm') diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 9e9c10125c..8cc3b7201e 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -7696,7 +7696,8 @@ by technical operatives or consultants working with enterprise platforms.") (add-before 'configure 'generate-source (lambda _ (with-directory-excursion "src/build/source_templates" - (zero? (system* "mvel2" "../gen_sources.mvel" "../../java")))))))) + (invoke "mvel2" "../gen_sources.mvel" "../../java")) + #t))))) (native-inputs `(("mvel" ,java-mvel2))) (home-page "https://jpountz.github.io/lz4-java") -- cgit v1.2.3 From 9be4b9fa582090a74395e18883e9d97c1b1119e2 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 27 Feb 2018 21:02:03 +0100 Subject: gnu: java-bouncycastle-bcprov: Use invoke. * gnu/packages/java.scm (java-bouncycastle-bcprov)[arguments]: Use invoke. --- gnu/packages/java.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'gnu/packages/java.scm') diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 8cc3b7201e..113c75603c 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -7727,7 +7727,8 @@ algorithms and xxHash hashing algorithm.") (lambda _ (mkdir-p "src") (with-directory-excursion "src" - (zero? (system* "unzip" "../src.zip")))))))) + (invoke "unzip" "../src.zip")) + #t))))) (native-inputs `(("unzip" ,unzip) ("junit" ,java-junit))) -- cgit v1.2.3 From 201084ac1ff9cace8350ff820f1b30b1720540fe Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 27 Feb 2018 21:03:37 +0100 Subject: gnu: java-bouncycastle-bcpkix: Use invoke. * gnu/packages/java.scm (java-bouncycastle-bcpkix)[arguments]: Use invoke. --- gnu/packages/java.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'gnu/packages/java.scm') diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 113c75603c..0f8c04e8ba 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -7759,7 +7759,8 @@ for the Java programming language.") (lambda _ (mkdir-p "src") (with-directory-excursion "src" - (zero? (system* "unzip" "../src.zip")))))))) + (invoke "unzip" "../src.zip")) + #t))))) (native-inputs `(("unzip" ,unzip) ("junit" ,java-junit))) -- cgit v1.2.3 From 30d554732a449c9d5dea630a07f687f1c9328393 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 22 Nov 2017 19:25:34 +0100 Subject: gnu: Add java-cisd-base. * gnu/packages/java.scm (java-cisd-base): New variable. --- gnu/packages/java.scm | 149 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 149 insertions(+) (limited to 'gnu/packages/java.scm') diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 0f8c04e8ba..1e2b30d8d9 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -2084,6 +2084,155 @@ Main-Class: org.eclipse.jdt.internal.compiler.batch.Main\n" (native-inputs `(("unzip" ,unzip))))) +(define-public java-cisd-base + (let ((revision 38938) + (base-version "14.12.0")) + (package + (name "java-cisd-base") + (version (string-append base-version "-" (number->string revision))) + (source (origin + (method svn-fetch) + (uri (svn-reference + (url (string-append "http://svnsis.ethz.ch/repos/cisd/" + "base/tags/release/" + (version-major+minor base-version) + ".x/" base-version "/base/")) + (revision revision))) + (file-name (string-append "java-cisd-base-" version "-checkout")) + (sha256 + (base32 + "1i5adyf7nzclb0wydgwa1az04qliid8035vpahaandmkmigbnxiy")) + (modules '((guix build utils))) + (snippet + '(begin + ;; Delete included gradle jar + (delete-file-recursively "gradle/wrapper") + ;; Delete pre-built native libraries + (delete-file-recursively "libs") + #t)))) + (build-system ant-build-system) + (arguments + `(#:make-flags '("-file" "build/build.xml") + #:test-target "jar-test" + #:jdk ,icedtea-8 + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'unpack-build-resources + (lambda* (#:key inputs #:allow-other-keys) + (copy-recursively (assoc-ref inputs "build-resources") + "../build_resources") + #t)) + (add-after 'unpack-build-resources 'fix-dependencies + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "build/build.xml" + (("\\$\\{lib\\}/testng/testng-jdk15.jar") + (string-append (assoc-ref inputs "java-testng") + "/share/java/java-testng.jar")) + (("\\$\\{lib\\}/commons-lang/commons-lang.jar") + (string-append (assoc-ref inputs "java-commons-lang") + "/share/java/commons-lang-" + ,(package-version java-commons-lang) ".jar")) + (("\\$\\{lib\\}/commons-io/commons-io.jar") + (string-append (assoc-ref inputs "java-commons-io") + "/share/java/commons-io-" + ,(package-version java-commons-io) + "-SNAPSHOT.jar")) + ;; Remove dependency on svn + (("string revision)) + (("\\$\\{version.number\\}") ,base-version)) + ;; Remove dependency on classycle + (substitute* "../build_resources/ant/build-common.xml" + ((" Date: Fri, 23 Feb 2018 10:09:50 +0100 Subject: gnu: Add java-cisd-args4j. * gnu/packages/java.scm (java-cisd-args4j): New variable. --- gnu/packages/java.scm | 114 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 114 insertions(+) (limited to 'gnu/packages/java.scm') diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 1e2b30d8d9..7ad0c41268 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -2233,6 +2233,120 @@ libraries from the SIS division at ETH Zurich like jHDF5.") (license (list license:asl2.0 (license:non-copyleft "file://source/c/COPYING")))))) +(define-public java-cisd-args4j + (let ((revision 39162) + (base-version "9.11.2")) + (package + (name "java-cisd-args4j") + (version (string-append base-version "-" (number->string revision))) + (source (origin + (method svn-fetch) + (uri (svn-reference + (url (string-append "http://svnsis.ethz.ch/repos/cisd/" + "args4j/tags/release/" + (version-major+minor base-version) + ".x/" base-version "/args4j/")) + (revision revision))) + (file-name (string-append "java-cisd-args4j-" version "-checkout")) + (sha256 + (base32 + "0hhqznjaivq7ips7mkwas78z42s6djsm20rrs7g1zd59rcsakxn2")))) + (build-system ant-build-system) + (arguments + `(#:make-flags '("-file" "build/build.xml") + #:tests? #f ; there are no tests + ;; There are weird build failures with JDK8, such as: "The type + ;; java.io.ObjectInputStream cannot be resolved. It is indirectly + ;; referenced from required .class files" + #:jdk ,icedtea-7 + #:modules ((guix build ant-build-system) + (guix build utils) + (guix build java-utils) + (sxml simple) + (sxml transform) + (sxml xpath)) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'unpack-build-resources + (lambda* (#:key inputs #:allow-other-keys) + (mkdir-p "../build_resources") + (invoke "tar" "xf" (assoc-ref inputs "build-resources") + "-C" "../build_resources" + "--strip-components=1") + (mkdir-p "../build_resources/lib") + #t)) + (add-after 'unpack-build-resources 'fix-dependencies + (lambda* (#:key inputs #:allow-other-keys) + ;; FIXME: There should be a more convenient abstraction for + ;; editing XML files. + (with-directory-excursion "../build_resources/ant/" + (chmod "build-common.xml" #o664) + (call-with-output-file "build-common.xml.new" + (lambda (port) + (sxml->xml + (pre-post-order + (with-input-from-file "build-common.xml" + (lambda _ (xml->sxml #:trim-whitespace? #t))) + `(;; Remove dependency on classycle and custom ant tasks + (taskdef . ,(lambda (tag . kids) + (let ((name ((sxpath '(name *text*)) kids))) + (if (or (member "build-info" name) + (member "dependency-checker" name) + (member "build-java-subprojects" name) + (member "project-classpath" name)) + '() ; skip + `(,tag ,@kids))))) + (typedef . ,(lambda (tag . kids) + (let ((name ((sxpath '(name *text*)) kids))) + (if (member "recursive-jar" name) + '() ; skip + `(,tag ,@kids))))) + (build-java-subprojects . ,(lambda _ '())) + ;; Ignore everything else + (*default* . ,(lambda (tag . kids) `(,tag ,@kids))) + (*text* . ,(lambda (_ txt) txt)))) + port))) + (rename-file "build-common.xml.new" "build-common.xml")) + (substitute* "build/build.xml" + (("\\$\\{lib\\}/cisd-base/cisd-base.jar") + (string-append (assoc-ref inputs "java-cisd-base") + "/share/java/sis-base.jar")) + ;; Remove dependency on svn + (("string revision)) + (("\\$\\{version.number\\}") ,base-version) + ;; Don't use custom ant tasks. + (("recursive-jar") "jar") + ((" Date: Fri, 23 Feb 2018 10:10:12 +0100 Subject: gnu: Add java-cisd-jhdf5. * gnu/packages/java.scm (java-cisd-jhdf5): New variable. --- gnu/packages/java.scm | 176 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 176 insertions(+) (limited to 'gnu/packages/java.scm') diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 7ad0c41268..298874f757 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -59,6 +59,7 @@ #:use-module (gnu packages image) #:use-module (gnu packages libffi) #:use-module (gnu packages linux) ;alsa + #:use-module (gnu packages maths) #:use-module (gnu packages web) #:use-module (gnu packages wget) #:use-module (gnu packages pkg-config) @@ -2347,6 +2348,181 @@ libraries from the SIS division at ETH Zurich like jHDF5.") (description "This package provides a parser for command line arguments.") (license license:asl2.0)))) +(define-public java-cisd-jhdf5 + (let ((revision 39162) + (base-version "14.12.6")) + (package + (name "java-cisd-jhdf5") + (version (string-append base-version "-" (number->string revision))) + (source (origin + (method svn-fetch) + (uri (svn-reference + (url (string-append "http://svnsis.ethz.ch/repos/cisd/" + "jhdf5/tags/release/" + (version-major+minor base-version) + ".x/" base-version "/jhdf5/")) + (revision revision))) + (file-name (string-append "java-cisd-jhdf5-" version "-checkout")) + (sha256 + (base32 + "13i17s2hn0q9drdqvp8csy7770p3hdbh9rp30ihln2ldkfawdmz0")) + (modules '((guix build utils))) + (snippet + '(begin + ;; Delete included gradle jar + (delete-file-recursively "gradle/wrapper") + ;; Delete pre-built native libraries + (delete-file-recursively "libs") + #t)))) + (build-system ant-build-system) + (arguments + `(#:make-flags '("-file" "build/build.xml") + #:build-target "jar-all" + #:test-target "jar-test" + #:jdk ,icedtea-8 + #:phases + (modify-phases %standard-phases + ;; Don't erase results from the build phase when building tests. + (add-after 'unpack 'separate-test-target-from-clean + (lambda _ + (substitute* "build/build.xml" + (("\"jar-test\" depends=\"clean, ") + "\"jar-test\" depends=\"")) + #t)) + (add-after 'unpack 'unpack-build-resources + (lambda* (#:key inputs #:allow-other-keys) + (copy-recursively (assoc-ref inputs "build-resources") + "../build_resources") + (delete-file-recursively "../build_resources/lib/") + (mkdir-p "../build_resources/lib") + ;; Remove dependency on classycle + (substitute* "../build_resources/ant/build-common.xml" + (("string revision)) + (("\\$\\{version.number\\}") ,base-version)) + #t)) + (add-after 'unpack-build-resources 'fix-dependencies + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "../build_resources/ant/build-common.xml" + (("../libraries/testng/testng-jdk15.jar") + (string-append (assoc-ref inputs "java-testng") + "/share/java/java-testng.jar"))) + (substitute* "build/build.xml" + (("\\$\\{lib\\}/sis-base/sis-base.jar") + (string-append (assoc-ref inputs "java-cisd-base") + "/share/java/sis-base.jar")) + (("\\$\\{lib\\}/cisd-args4j/cisd-args4j.jar") + (string-append (assoc-ref inputs "java-cisd-args4j") + "/share/java/cisd-args4j.jar")) + (("\\$\\{lib\\}/commons-lang/commons-lang.jar") + (string-append (assoc-ref inputs "java-commons-lang") + "/share/java/commons-lang-" + ,(package-version java-commons-lang) ".jar")) + (("\\$\\{lib\\}/commons-io/commons-io.jar") + (string-append (assoc-ref inputs "java-commons-io") + "/share/java/commons-io-" + ,(package-version java-commons-io) + "-SNAPSHOT.jar")) + (("\\$\\{lib\\}/testng/testng-jdk15.jar") + (string-append (assoc-ref inputs "java-testng") + "/share/java/java-testng.jar")) + (("\\$\\{lib\\}/junit4/junit.jar") + (string-append (assoc-ref inputs "java-junit") + "/share/java/junit.jar")) + (("\\$\\{lib\\}/jmock/hamcrest/hamcrest-core.jar") + (string-append (assoc-ref inputs "java-hamcrest-core") + "/share/java/hamcrest-core.jar"))) + ;; Remove dependency on ch.rinn.restrictions + (with-directory-excursion "source/java/ch/systemsx/cisd/hdf5/" + (substitute* '("BitSetConversionUtils.java" + "HDF5Utils.java") + (("import ch.rinn.restrictions.Private;") "") + (("@Private") ""))) + (with-directory-excursion "sourceTest/java/ch/systemsx/cisd/hdf5/" + (substitute* '("BitSetConversionTest.java" + "h5ar/HDF5ArchiverTest.java") + (("import ch.rinn.restrictions.Friend;") "") + (("@Friend.*") "")) + ;; Remove leftovers from removing @Friend + (substitute* "h5ar/HDF5ArchiverTest.java" + (("\\{ HDF5Archiver.class, IdCache.class, LinkRecord.class \\}\\)") + ""))) + #t)) + (add-before 'configure 'build-native-library + (lambda* (#:key inputs #:allow-other-keys) + (let ((jdk (assoc-ref inputs "jdk")) + (hdf5 (assoc-ref inputs "hdf5")) + (dir ,(match (%current-system) + ("i686-linux" + "i386-Linux") + ((or "armhf-linux" "aarch64-linux") + "arm-Linux") + ((or "x86_64-linux") + "amd64-Linux") + (_ "unknown-Linux")))) + (with-directory-excursion "source/c" + (apply invoke `("gcc" "-shared" "-O3" + "-fPIC" + "-Wl,--exclude-libs,ALL" + ,@(find-files "jhdf5" "\\.c$") + ,@(find-files "hdf-java" "\\.c$") + ,(string-append "-I" hdf5 "/include") + ,(string-append "-I" jdk "/include") + ,(string-append "-I" jdk "/include/linux") + ,(string-append hdf5 "/lib/libhdf5.a") + "-o" "libjhdf5.so" "-lz"))) + (install-file "source/c/libjhdf5.so" + (string-append "libs/native/jhdf5/" dir)) + #t))) + ;; In the "check" phase we only build the test executable. + (add-after 'check 'run-tests + (lambda _ + (invoke "java" "-jar" "targets/dist/sis-jhdf5-test.jar") + (delete-file "targets/dist/sis-jhdf5-test.jar") + #t)) + (replace 'install + (install-jars "targets/dist"))))) + (inputs + `(("java-cisd-base" ,java-cisd-base) + ("java-cisd-args4j" ,java-cisd-args4j) + ("java-commons-lang" ,java-commons-lang) + ("java-commons-io" ,java-commons-io) + ("hdf5" ,hdf5) + ("zlib" ,zlib))) + (native-inputs + `(("jdk" ,icedtea-8) + ("java-testng" ,java-testng) + ("java-junit" ,java-junit) + ("java-jmock" ,java-jmock) + ("java-hamcrest-core" ,java-hamcrest-core) + ("build-resources" + ,(origin + (method svn-fetch) + (uri (svn-reference + (url (string-append "http://svnsis.ethz.ch/repos/cisd/" + "jhdf5/tags/release/" + (version-major+minor base-version) + ".x/" base-version + "/build_resources/")) + (revision revision))) + (sha256 + (base32 + "0b6335gkm4x895rac6kfg9d3rpq0sy19ph4zpg2gyw6asfsisjhk")))))) + (home-page "https://wiki-bsse.ethz.ch/display/JHDF5/") + (synopsis "Java binding for HDF5") + (description "JHDF5 is a high-level API in Java for reading and writing +HDF5 files, building on the libraries provided by the HDF Group.") + ;; The C sources are under a non-copyleft license, which looks like a + ;; variant of the BSD licenses. The whole package is under the ASL2.0. + (license (list license:asl2.0 + (license:non-copyleft "file://source/c/COPYING")))))) + (define-public java-classpathx-servletapi (package (name "java-classpathx-servletapi") -- cgit v1.2.3 From 93abc975feca4d877b0a14a0dd8f3613dcbd7c9b Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Thu, 1 Mar 2018 19:41:38 +0100 Subject: gnu: Add java-openchart2. * gnu/packages/java.scm (java-openchart2): New variable. --- gnu/packages/java.scm | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) (limited to 'gnu/packages/java.scm') diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 298874f757..1e671b90bb 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -9292,3 +9292,44 @@ against expected outcomes.") ("java-junit" ,java-junit))) (native-inputs `(("java-mockito-1" ,java-mockito-1))))) + +(define-public java-openchart2 + (package + (name "java-openchart2") + (version "1.4.3") + (source (origin + (method url-fetch) + (uri (string-append "http://download.approximatrix.com/openchart2/" + "openchart2-" version ".source.zip")) + (sha256 + (base32 + "1xq96zm5r02n1blja0072jmmsifmxc40lbyfbnmcnr6mw42frh4g")))) + (build-system ant-build-system) + (arguments + `(#:test-target "test" + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-junit-errors + (lambda _ + (with-directory-excursion "unittest/src/com/approximatrix/charting/" + (substitute* '("coordsystem/ticklocator/NumericXTickLocatorTest.java" + "coordsystem/ticklocator/NumericYTickLocatorTest.java" + "coordsystem/ticklocator/ObjectXTickLocatorTest.java" + "model/DefaultChartDataModelConstraintsTest.java" + "model/MultiScatterDataModelConstraintsTest.java" + "model/threedimensional/DotPlotDataModelConstraintsTest.java") + (("(assertEquals[^;]+);" before _) + (string-append (string-drop-right before 2) ", 1E-6);")))) + #t)) + (replace 'install (install-jars "."))))) + (native-inputs + `(("unzip" ,unzip) + ("java-junit" ,java-junit) + ("java-hamcrest-core" ,java-hamcrest-core))) + (home-page "http://approximatrix.com/products/openchart2/") + (synopsis "Simple plotting for Java") + (description "Openchart2 provides a simple, yet powerful, interface for +Java programmers to create two-dimensional charts and plots. The library +features an assortment of graph styles, including advanced scatter plots, bar +graphs, and pie charts.") + (license license:lgpl2.1+))) -- cgit v1.2.3 From 4c763b4d6792adb0a8d3f61a241e490385cc0683 Mon Sep 17 00:00:00 2001 From: Gábor Boskovits Date: Sun, 4 Mar 2018 14:13:47 +0100 Subject: gnu: antlr3-3.1: Fix java8 issue. * gnu/packages/java.scm (antlr3-3.1)[source]: Add patch. * gnu/packages/patches/antlr3-3_1-fix-java8-compilation.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. Signed-off-by: Danny Milosavljevic --- gnu/local.mk | 1 + gnu/packages/java.scm | 4 ++- .../patches/antlr3-3_1-fix-java8-compilation.patch | 35 ++++++++++++++++++++++ 3 files changed, 39 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/antlr3-3_1-fix-java8-compilation.patch (limited to 'gnu/packages/java.scm') diff --git a/gnu/local.mk b/gnu/local.mk index 9684d949f6..dffecfc7e9 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -553,6 +553,7 @@ dist_patch_DATA = \ %D%/packages/patches/agg-am_c_prototype.patch \ %D%/packages/patches/ansible-wrap-program-hack.patch \ %D%/packages/patches/antiword-CVE-2014-8123.patch \ + %D%/packages/patches/antlr3-3_1-fix-java8-compilation.patch \ %D%/packages/patches/ao-cad-aarch64-support.patch \ %D%/packages/patches/apr-skip-getservbyname-test.patch \ %D%/packages/patches/aspell-default-dict-dir.patch \ diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 1e671b90bb..cda7f0e01f 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -6113,7 +6113,9 @@ import org.antlr.grammar.v2.ANTLRTreePrinter;")) version ".tar.gz")) (sha256 (base32 - "0sfimc9cpbgrihz4giyygc8afgpma2c93yqpwb951giriri6x66z")))) + "0sfimc9cpbgrihz4giyygc8afgpma2c93yqpwb951giriri6x66z")) + (patches + (search-patches "antlr3-3_1-fix-java8-compilation.patch")))) (arguments `(#:jar-name (string-append "antlr3-" ,version ".jar") #:source-dir "src:runtime/Java/src" diff --git a/gnu/packages/patches/antlr3-3_1-fix-java8-compilation.patch b/gnu/packages/patches/antlr3-3_1-fix-java8-compilation.patch new file mode 100644 index 0000000000..0c4deb024b --- /dev/null +++ b/gnu/packages/patches/antlr3-3_1-fix-java8-compilation.patch @@ -0,0 +1,35 @@ +Based on the upstream fix for the java8 compilation issue. +Simplified patch. +Upstream version of patch does not work with this source tree. + +The issue is that in java8 it is an error to pass null to +removeAll. Results in null pointer exception. java7 +behaviour was to return the list unmodified. + +From db2a350c6d90efaa8dde949fa76005c2c5af45c4 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?G=C3=A1bor=20Boskovits?= +Date: Fri, 5 Jan 2018 17:05:31 +0100 +Subject: [PATCH] Fix java8 compilation. + +--- + src/org/antlr/tool/CompositeGrammar.java | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/src/org/antlr/tool/CompositeGrammar.java b/src/org/antlr/tool/CompositeGrammar.java +index f1408e7..7e02431 100644 +--- a/src/org/antlr/tool/CompositeGrammar.java ++++ b/src/org/antlr/tool/CompositeGrammar.java +@@ -218,7 +218,9 @@ public class CompositeGrammar { + public List getIndirectDelegates(Grammar g) { + List direct = getDirectDelegates(g); + List delegates = getDelegates(g); +- delegates.removeAll(direct); ++ if (direct != null) { ++ delegates.removeAll(direct); ++ } + return delegates; + } + +-- +2.15.1 + -- cgit v1.2.3 From 48c8622010bd0cfc7bc82578772993178308a0b7 Mon Sep 17 00:00:00 2001 From: Gábor Boskovits Date: Sun, 4 Mar 2018 14:16:37 +0100 Subject: gnu: antlr3-3.3: Fix java8 issue. * gnu/packages/java.scm (antlr3-3.3)[source]: Add patch. * gnu/packages/patches/antlr3-3_3-fix-java8-compilation.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. Signed-off-by: Danny Milosavljevic --- gnu/local.mk | 1 + gnu/packages/java.scm | 4 ++- .../patches/antlr3-3_3-fix-java8-compilation.patch | 35 ++++++++++++++++++++++ 3 files changed, 39 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/antlr3-3_3-fix-java8-compilation.patch (limited to 'gnu/packages/java.scm') diff --git a/gnu/local.mk b/gnu/local.mk index dffecfc7e9..2ef9b68590 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -554,6 +554,7 @@ dist_patch_DATA = \ %D%/packages/patches/ansible-wrap-program-hack.patch \ %D%/packages/patches/antiword-CVE-2014-8123.patch \ %D%/packages/patches/antlr3-3_1-fix-java8-compilation.patch \ + %D%/packages/patches/antlr3-3_3-fix-java8-compilation.patch \ %D%/packages/patches/ao-cad-aarch64-support.patch \ %D%/packages/patches/apr-skip-getservbyname-test.patch \ %D%/packages/patches/aspell-default-dict-dir.patch \ diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index cda7f0e01f..21e241d0fe 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -6023,7 +6023,9 @@ tree walking, and translation.") version ".tar.gz")) (sha256 (base32 - "0qgg5vgsm4l1d6dj9pfbaa25dpv2ry2gny8ajy4vvgvfklw97b3m")))) + "0qgg5vgsm4l1d6dj9pfbaa25dpv2ry2gny8ajy4vvgvfklw97b3m")) + (patches + (search-patches "antlr3-3_3-fix-java8-compilation.patch")))) (arguments `(#:jar-name (string-append ,name "-" ,version ".jar") #:source-dir (string-join '("tool/src/main/java" diff --git a/gnu/packages/patches/antlr3-3_3-fix-java8-compilation.patch b/gnu/packages/patches/antlr3-3_3-fix-java8-compilation.patch new file mode 100644 index 0000000000..a7d6be9b6b --- /dev/null +++ b/gnu/packages/patches/antlr3-3_3-fix-java8-compilation.patch @@ -0,0 +1,35 @@ +Based on the upstream fix for the java8 compilation issue. +Simplified patch. +Upstream version of patch does not work with this source tree. + +The issue is that in java8 it is an error to pass null to +removeAll. Results in null pointer exception. java7 +behaviour was to return the list unmodified. + +From 43867d50c05d1c06ab7220eb974a8874ae10c308 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?G=C3=A1bor=20Boskovits?= +Date: Fri, 5 Jan 2018 19:08:24 +0100 +Subject: [PATCH] Fix java8 complilation error. + +--- + tool/src/main/java/org/antlr/tool/CompositeGrammar.java | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/tool/src/main/java/org/antlr/tool/CompositeGrammar.java b/tool/src/main/java/org/antlr/tool/CompositeGrammar.java +index f34ea73..63740a6 100644 +--- a/tool/src/main/java/org/antlr/tool/CompositeGrammar.java ++++ b/tool/src/main/java/org/antlr/tool/CompositeGrammar.java +@@ -226,7 +226,9 @@ public class CompositeGrammar { + public List getIndirectDelegates(Grammar g) { + List direct = getDirectDelegates(g); + List delegates = getDelegates(g); +- delegates.removeAll(direct); ++ if(direct != null) { ++ delegates.removeAll(direct); ++ } + return delegates; + } + +-- +2.15.1 + -- cgit v1.2.3 From 0f2778029a536ceac93208f2e66af9d3e1ef44a7 Mon Sep 17 00:00:00 2001 From: Gábor Boskovits Date: Sat, 3 Mar 2018 22:59:05 +0100 Subject: gnu: java-ops4j-pax-tinybundles: Use distribution bndlib version. * gnu/packages/java.scm (java-ops4j-pax-tinybundles)[arguments]<#:phases>: Modify fix-version to use the distibution version of java-aqute-bndlib. --- gnu/packages/java.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'gnu/packages/java.scm') diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 21e241d0fe..5cc4a56f81 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -6980,7 +6980,8 @@ it manages project dependencies, gives diffs jars, and much more.") ;; packaging. It uses the version referenced in pom.xml. We replace ;; it with our own version. (substitute* "src/test/java/org/ops4j/pax/tinybundles/bnd/BndTest.java" - (("2.4.0.201411031534") "3.4.0"))))))) + (("[0-9][0-9]*\\.[0-9][0-9]*\\.[0-9][0-9]*\\.[0-9][0-9]*") + ,(package-version java-aqute-bndlib)))))))) (inputs `(("lang" ,java-ops4j-base-lang) ("io" ,java-ops4j-base-io) -- cgit v1.2.3 From f2785bd657c55cd36f436b1f6ee1af5d72683162 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Sat, 10 Mar 2018 18:35:31 +0100 Subject: gnu: icedtea-8: Build "out" reproducibly. Partially fixes . * gnu/packages/java.scm (icedtea-8)[arguments]: Add phases "patch-keystore" and "strip-jar-timestamps". [source]: Also patch DIST_ID in "configure" script. --- gnu/packages/java.scm | 146 +++++++++++++++++++++++++++++--------------------- 1 file changed, 86 insertions(+), 60 deletions(-) (limited to 'gnu/packages/java.scm') diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 5cc4a56f81..bb20b1d464 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -1591,7 +1591,8 @@ IcedTea build harness.") (modules '((guix build utils))) (snippet '(begin - (substitute* "acinclude.m4" + (substitute* '("configure" + "acinclude.m4") ;; Do not embed build time (("(DIST_ID=\"Custom build).*$" _ prefix) (string-append prefix "\"\n")) @@ -1600,65 +1601,90 @@ IcedTea build harness.") "DIST_NAME=\"guix\"")) #t)))) (arguments - (substitute-keyword-arguments (package-arguments icedtea-7) - ((#:configure-flags flags) - `(let ((jdk (assoc-ref %build-inputs "jdk"))) - `(;;"--disable-bootstrap" - "--enable-bootstrap" - "--enable-nss" - "--disable-downloading" - "--disable-system-pcsc" - "--disable-system-sctp" - "--disable-tests" ;they are run in the check phase instead - "--with-openjdk-src-dir=./openjdk.src" - ,(string-append "--with-jdk-home=" jdk)))) - ((#:phases phases) - `(modify-phases ,phases - (delete 'fix-x11-extension-include-path) - (delete 'patch-paths) - (delete 'set-additional-paths) - (delete 'patch-patches) - (add-after 'unpack 'patch-jni-libs - ;; Hardcode dynamically loaded libraries. - (lambda _ - (let* ((library-path (search-path-as-string->list - (getenv "LIBRARY_PATH"))) - (find-library (lambda (name) - (search-path - library-path - (string-append "lib" name ".so"))))) - (for-each - (lambda (file) - (catch 'decoding-error - (lambda () - (substitute* file - (("VERSIONED_JNI_LIB_NAME\\(\"(.*)\", \"(.*)\"\\)" - _ name version) - (format #f "\"~a\"" (find-library name))) - (("JNI_LIB_NAME\\(\"(.*)\"\\)" _ name) - (format #f "\"~a\"" (find-library name))))) - (lambda _ - ;; Those are safe to skip. - (format (current-error-port) - "warning: failed to substitute: ~a~%" - file)))) - (find-files "openjdk.src/jdk/src/solaris/native" - "\\.c|\\.h")) - #t))) - (replace 'install - (lambda* (#:key outputs #:allow-other-keys) - (let ((doc (string-append (assoc-ref outputs "doc") - "/share/doc/icedtea")) - (jre (assoc-ref outputs "out")) - (jdk (assoc-ref outputs "jdk"))) - (copy-recursively "openjdk.build/docs" doc) - (copy-recursively "openjdk.build/images/j2re-image" jre) - (copy-recursively "openjdk.build/images/j2sdk-image" jdk) - ;; Install the nss.cfg file to JRE to enable SSL/TLS - ;; support via NSS. - (copy-file (string-append jdk "/jre/lib/security/nss.cfg") - (string-append jre "/lib/security/nss.cfg")) - #t))))))) + `(#:imported-modules + ((guix build ant-build-system) + (guix build syscalls) + ,@%gnu-build-system-modules) + ,@(substitute-keyword-arguments (package-arguments icedtea-7) + ((#:modules modules) + `((guix build utils) + (guix build gnu-build-system) + ((guix build ant-build-system) #:prefix ant:) + (ice-9 match) + (ice-9 popen) + (srfi srfi-19) + (srfi srfi-26))) + ((#:configure-flags flags) + `(let ((jdk (assoc-ref %build-inputs "jdk"))) + `( ;;"--disable-bootstrap" + "--enable-bootstrap" + "--enable-nss" + "--disable-downloading" + "--disable-system-pcsc" + "--disable-system-sctp" + "--disable-tests" ;they are run in the check phase instead + "--with-openjdk-src-dir=./openjdk.src" + ,(string-append "--with-jdk-home=" jdk)))) + ((#:phases phases) + `(modify-phases ,phases + (delete 'fix-x11-extension-include-path) + (delete 'patch-paths) + (delete 'set-additional-paths) + (delete 'patch-patches) + ;; Prevent the keytool from recording the current time when + ;; adding certificates at build time. + (add-after 'unpack 'patch-keystore + (lambda _ + (substitute* "openjdk.src/jdk/src/share/classes/sun/security/provider/JavaKeyStore.java" + (("date = new Date\\(\\);") + "\ +date = (System.getenv(\"SOURCE_DATE_EPOCH\") != null) ?\ +new Date(Long.parseLong(System.getenv(\"SOURCE_DATE_EPOCH\"))) :\ +new Date();")) + #t)) + (add-after 'unpack 'patch-jni-libs + ;; Hardcode dynamically loaded libraries. + (lambda _ + (let* ((library-path (search-path-as-string->list + (getenv "LIBRARY_PATH"))) + (find-library (lambda (name) + (search-path + library-path + (string-append "lib" name ".so"))))) + (for-each + (lambda (file) + (catch 'decoding-error + (lambda () + (substitute* file + (("VERSIONED_JNI_LIB_NAME\\(\"(.*)\", \"(.*)\"\\)" + _ name version) + (format #f "\"~a\"" (find-library name))) + (("JNI_LIB_NAME\\(\"(.*)\"\\)" _ name) + (format #f "\"~a\"" (find-library name))))) + (lambda _ + ;; Those are safe to skip. + (format (current-error-port) + "warning: failed to substitute: ~a~%" + file)))) + (find-files "openjdk.src/jdk/src/solaris/native" + "\\.c|\\.h")) + #t))) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let ((doc (string-append (assoc-ref outputs "doc") + "/share/doc/icedtea")) + (jre (assoc-ref outputs "out")) + (jdk (assoc-ref outputs "jdk"))) + (copy-recursively "openjdk.build/docs" doc) + (copy-recursively "openjdk.build/images/j2re-image" jre) + (copy-recursively "openjdk.build/images/j2sdk-image" jdk) + ;; Install the nss.cfg file to JRE to enable SSL/TLS + ;; support via NSS. + (copy-file (string-append jdk "/jre/lib/security/nss.cfg") + (string-append jre "/lib/security/nss.cfg")) + #t))) + (add-after 'install 'strip-jar-timestamps + (assoc-ref ant:%standard-phases 'strip-jar-timestamps))))))) (native-inputs `(("jdk" ,icedtea-7 "jdk") ("openjdk-src" -- cgit v1.2.3 From bfc007e13e055ca2d535a02aa7fc4ba7f6183150 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Sun, 11 Mar 2018 20:02:10 +0100 Subject: gnu: java-hamcrest-all: Build with icedtea-8. * gnu/packages/java.scm (java-hamcrest-all)[arguments]: Build with icedtea-8; do not disable tests. [inputs]: Remove java-hamcrest-core. --- gnu/packages/java.scm | 49 ++++++++++++++++++++----------------------------- 1 file changed, 20 insertions(+), 29 deletions(-) (limited to 'gnu/packages/java.scm') diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index bb20b1d464..43a3a62889 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -3886,39 +3886,30 @@ The jMock library (package (inherit java-hamcrest-core) (name "java-hamcrest-all") (arguments - (substitute-keyword-arguments (package-arguments java-hamcrest-core) - ;; FIXME: a unit test fails because org.hamcrest.SelfDescribing is not - ;; found, although it is part of the hamcrest-core library that has - ;; just been built. - ;; - ;; Fixing this one test is insufficient, though, and upstream confirmed - ;; that the latest hamcrest release fails its unit tests when built - ;; with Java 7. See https://github.com/hamcrest/JavaHamcrest/issues/30 - ((#:tests? _) #f) - ((#:build-target _) "bigjar") - ((#:phases phases) - `(modify-phases ,phases - ;; Some build targets override the classpath, so we need to patch - ;; the build.xml to ensure that required dependencies are on the - ;; classpath. - (add-after 'unpack 'patch-classpath-for-integration - (lambda* (#:key inputs #:allow-other-keys) - (substitute* "build.xml" - ((" build/hamcrest-library-\\$\\{version\\}.jar" line) - (string-join - (cons line - (append - (find-files (assoc-ref inputs "java-hamcrest-core") "\\.jar$") - (find-files (assoc-ref inputs "java-junit") "\\.jar$") - (find-files (assoc-ref inputs "java-jmock") "\\.jar$") - (find-files (assoc-ref inputs "java-easymock") "\\.jar$"))) - ";"))) - #t)))))) + `(#:jdk ,icedtea-8 + ,@(substitute-keyword-arguments (package-arguments java-hamcrest-core) + ((#:build-target _) "bigjar") + ((#:phases phases) + `(modify-phases ,phases + ;; Some build targets override the classpath, so we need to patch + ;; the build.xml to ensure that required dependencies are on the + ;; classpath. + (add-after 'unpack 'patch-classpath-for-integration + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "build.xml" + ((" build/hamcrest-library-\\$\\{version\\}.jar" line) + (string-join + (cons line + (append + (find-files (assoc-ref inputs "java-junit") "\\.jar$") + (find-files (assoc-ref inputs "java-jmock") "\\.jar$") + (find-files (assoc-ref inputs "java-easymock") "\\.jar$"))) + ";"))) + #t))))))) (inputs `(("java-junit" ,java-junit) ("java-jmock" ,java-jmock-1) ("java-easymock" ,java-easymock) - ("java-hamcrest-core" ,java-hamcrest-core) ,@(package-inputs java-hamcrest-core))))) (define-public java-jopt-simple -- cgit v1.2.3 From 594bd3a08aeac24cf4939a4f06f2551ff8f61167 Mon Sep 17 00:00:00 2001 From: Gábor Boskovits Date: Sat, 10 Mar 2018 11:45:36 +0100 Subject: gnu: java-jeromq: Fix tests. * gnu/packages/patches/java-jeromq-fix-tests.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/java.scm (java-jeromq)[source](patches): Add it. [arguments](#test-exclude): Disable more failing tests. --- gnu/local.mk | 1 + gnu/packages/java.scm | 11 +- gnu/packages/patches/java-jeromq-fix-tests.patch | 253 +++++++++++++++++++++++ 3 files changed, 263 insertions(+), 2 deletions(-) create mode 100644 gnu/packages/patches/java-jeromq-fix-tests.patch (limited to 'gnu/packages/java.scm') diff --git a/gnu/local.mk b/gnu/local.mk index fbf7b2a7c7..5c95cdae21 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -785,6 +785,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-jeromq-fix-tests.patch \ %D%/packages/patches/java-powermock-fix-java-files.patch \ %D%/packages/patches/java-xerces-bootclasspath.patch \ %D%/packages/patches/java-xerces-build_dont_unzip.patch \ diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 43a3a62889..bdfd3fd41b 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -8578,7 +8578,8 @@ protocol-independent framework to build mail and messaging applications.") (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "1gxkp7lv2ahymgrqdw94ncq54bmp4m4sw5m1x9gkp7l5bxn0xsyj")))) + "1gxkp7lv2ahymgrqdw94ncq54bmp4m4sw5m1x9gkp7l5bxn0xsyj")) + (patches (search-patches "java-jeromq-fix-tests.patch")))) (build-system ant-build-system) (arguments `(#:jar-name "java-jeromq.jar" @@ -8592,7 +8593,13 @@ protocol-independent framework to build mail and messaging applications.") ;; Failures "**/DealerSpecTest.java" "**/CustomDecoderTest.java" - "**/CustomEncoderTest.java"))) + "**/CustomEncoderTest.java" + "**/ConnectRidTest.java" + "**/ReqSpecTest.java" + "**/PushPullSpecTest.java" + "**/PubSubHwmTest.java" + "**/RouterSpecTest.java" + "**/ProxyTest.java"))) (inputs `(("java-jnacl" ,java-jnacl))) (native-inputs diff --git a/gnu/packages/patches/java-jeromq-fix-tests.patch b/gnu/packages/patches/java-jeromq-fix-tests.patch new file mode 100644 index 0000000000..5466b92707 --- /dev/null +++ b/gnu/packages/patches/java-jeromq-fix-tests.patch @@ -0,0 +1,253 @@ +From 5803aadd3f209eba1ffbb2cf7bf16778019dbee1 Mon Sep 17 00:00:00 2001 +From: fredoboulo +Date: Fri, 23 Feb 2018 23:55:57 +0100 +Subject: [PATCH] Fix #524 : V1 and V2 protocol downgrades handle received data + in handshake buffer + +This patch is upstream pull request, see: +https://gihub.com/zeromq/jeromq/pull/527. + +It is merged on commit c2afa9c, and we can drop it on the +0.4.4 release. + +--- + src/main/java/zmq/io/StreamEngine.java | 21 ++++++++++-- + src/test/java/zmq/io/AbstractProtocolVersion.java | 41 +++++++++++++---------- + src/test/java/zmq/io/V0ProtocolTest.java | 12 +++++++ + src/test/java/zmq/io/V1ProtocolTest.java | 16 +++++++-- + src/test/java/zmq/io/V2ProtocolTest.java | 16 +++++++-- + 5 files changed, 81 insertions(+), 25 deletions(-) + +diff --git a/src/main/java/zmq/io/StreamEngine.java b/src/main/java/zmq/io/StreamEngine.java +index b8933c92..fe2f2d8d 100644 +--- a/src/main/java/zmq/io/StreamEngine.java ++++ b/src/main/java/zmq/io/StreamEngine.java +@@ -816,9 +816,7 @@ private boolean handshake() + assert (bufferSize == headerSize); + + // Make sure the decoder sees the data we have already received. +- greetingRecv.flip(); +- inpos = greetingRecv; +- insize = greetingRecv.limit(); ++ decodeDataAfterHandshake(0); + + // To allow for interoperability with peers that do not forward + // their subscriptions, we inject a phantom subscription message +@@ -846,6 +844,8 @@ else if (greetingRecv.get(revisionPos) == Protocol.V1.revision) { + } + encoder = new V1Encoder(errno, Config.OUT_BATCH_SIZE.getValue()); + decoder = new V1Decoder(errno, Config.IN_BATCH_SIZE.getValue(), options.maxMsgSize, options.allocator); ++ ++ decodeDataAfterHandshake(V2_GREETING_SIZE); + } + else if (greetingRecv.get(revisionPos) == Protocol.V2.revision) { + // ZMTP/2.0 framing. +@@ -859,6 +859,8 @@ else if (greetingRecv.get(revisionPos) == Protocol.V2.revision) { + } + encoder = new V2Encoder(errno, Config.OUT_BATCH_SIZE.getValue()); + decoder = new V2Decoder(errno, Config.IN_BATCH_SIZE.getValue(), options.maxMsgSize, options.allocator); ++ ++ decodeDataAfterHandshake(V2_GREETING_SIZE); + } + else { + zmtpVersion = Protocol.V3; +@@ -904,6 +906,19 @@ else if (greetingRecv.get(revisionPos) == Protocol.V2.revision) { + return true; + } + ++ private void decodeDataAfterHandshake(int greetingSize) ++ { ++ final int pos = greetingRecv.position(); ++ if (pos > greetingSize) { ++ // data is present after handshake ++ greetingRecv.position(greetingSize).limit(pos); ++ ++ // Make sure the decoder sees this extra data. ++ inpos = greetingRecv; ++ insize = greetingRecv.remaining(); ++ } ++ } ++ + private Msg identityMsg() + { + Msg msg = new Msg(options.identitySize); +diff --git a/src/test/java/zmq/io/AbstractProtocolVersion.java b/src/test/java/zmq/io/AbstractProtocolVersion.java +index e60db403..aa06b4a7 100644 +--- a/src/test/java/zmq/io/AbstractProtocolVersion.java ++++ b/src/test/java/zmq/io/AbstractProtocolVersion.java +@@ -18,15 +18,18 @@ + import zmq.SocketBase; + import zmq.ZError; + import zmq.ZMQ; ++import zmq.ZMQ.Event; + import zmq.util.Utils; + + public abstract class AbstractProtocolVersion + { ++ protected static final int REPETITIONS = 1000; ++ + static class SocketMonitor extends Thread + { +- private final Ctx ctx; +- private final String monitorAddr; +- private final List events = new ArrayList<>(); ++ private final Ctx ctx; ++ private final String monitorAddr; ++ private final ZMQ.Event[] events = new ZMQ.Event[1]; + + public SocketMonitor(Ctx ctx, String monitorAddr) + { +@@ -41,15 +44,15 @@ public void run() + boolean rc = s.connect(monitorAddr); + assertThat(rc, is(true)); + // Only some of the exceptional events could fire +- while (true) { +- ZMQ.Event event = ZMQ.Event.read(s); +- if (event == null && s.errno() == ZError.ETERM) { +- break; +- } +- assertThat(event, notNullValue()); +- +- events.add(event); ++ ++ ZMQ.Event event = ZMQ.Event.read(s); ++ if (event == null && s.errno() == ZError.ETERM) { ++ s.close(); ++ return; + } ++ assertThat(event, notNullValue()); ++ ++ events[0] = event; + s.close(); + } + } +@@ -69,11 +72,12 @@ public void run() + boolean rc = ZMQ.setSocketOption(receiver, ZMQ.ZMQ_LINGER, 0); + assertThat(rc, is(true)); + +- SocketMonitor monitor = new SocketMonitor(ctx, "inproc://monitor"); +- monitor.start(); + rc = ZMQ.monitorSocket(receiver, "inproc://monitor", ZMQ.ZMQ_EVENT_HANDSHAKE_PROTOCOL); + assertThat(rc, is(true)); + ++ SocketMonitor monitor = new SocketMonitor(ctx, "inproc://monitor"); ++ monitor.start(); ++ + rc = ZMQ.bind(receiver, host); + assertThat(rc, is(true)); + +@@ -81,17 +85,18 @@ public void run() + OutputStream out = sender.getOutputStream(); + for (ByteBuffer raw : raws) { + out.write(raw.array()); +- ZMQ.msleep(100); + } + + Msg msg = ZMQ.recv(receiver, 0); + assertThat(msg, notNullValue()); + assertThat(new String(msg.data(), ZMQ.CHARSET), is(payload)); + +- ZMQ.msleep(500); +- assertThat(monitor.events.size(), is(1)); +- assertThat(monitor.events.get(0).event, is(ZMQ.ZMQ_EVENT_HANDSHAKE_PROTOCOL)); +- assertThat((Integer) monitor.events.get(0).arg, is(version)); ++ monitor.join(); ++ ++ final Event event = monitor.events[0]; ++ assertThat(event, notNullValue()); ++ assertThat(event.event, is(ZMQ.ZMQ_EVENT_HANDSHAKE_PROTOCOL)); ++ assertThat((Integer) event.arg, is(version)); + + InputStream in = sender.getInputStream(); + byte[] data = new byte[255]; +diff --git a/src/test/java/zmq/io/V0ProtocolTest.java b/src/test/java/zmq/io/V0ProtocolTest.java +index bd547d23..1a5b7aef 100644 +--- a/src/test/java/zmq/io/V0ProtocolTest.java ++++ b/src/test/java/zmq/io/V0ProtocolTest.java +@@ -10,6 +10,18 @@ + + public class V0ProtocolTest extends AbstractProtocolVersion + { ++ @Test ++ public void testFixIssue524() throws IOException, InterruptedException ++ { ++ for (int idx = 0; idx < REPETITIONS; ++idx) { ++ if (idx % 100 == 0) { ++ System.out.print(idx + " "); ++ } ++ testProtocolVersion0short(); ++ } ++ System.out.println(); ++ } ++ + @Test(timeout = 2000) + public void testProtocolVersion0short() throws IOException, InterruptedException + { +diff --git a/src/test/java/zmq/io/V1ProtocolTest.java b/src/test/java/zmq/io/V1ProtocolTest.java +index e1045f34..764159d0 100644 +--- a/src/test/java/zmq/io/V1ProtocolTest.java ++++ b/src/test/java/zmq/io/V1ProtocolTest.java +@@ -10,7 +10,19 @@ + + public class V1ProtocolTest extends AbstractProtocolVersion + { +- @Test(timeout = 2000) ++ @Test ++ public void testFixIssue524() throws IOException, InterruptedException ++ { ++ for (int idx = 0; idx < REPETITIONS; ++idx) { ++ if (idx % 100 == 0) { ++ System.out.print(idx + " "); ++ } ++ testProtocolVersion1short(); ++ } ++ System.out.println(); ++ } ++ ++ @Test + public void testProtocolVersion1short() throws IOException, InterruptedException + { + List raws = raws(0); +@@ -25,7 +37,7 @@ public void testProtocolVersion1short() throws IOException, InterruptedException + assertProtocolVersion(1, raws, "abcdefg"); + } + +- @Test(timeout = 2000) ++ @Test + public void testProtocolVersion1long() throws IOException, InterruptedException + { + List raws = raws(0); +diff --git a/src/test/java/zmq/io/V2ProtocolTest.java b/src/test/java/zmq/io/V2ProtocolTest.java +index d5e64bce..7fda31bc 100644 +--- a/src/test/java/zmq/io/V2ProtocolTest.java ++++ b/src/test/java/zmq/io/V2ProtocolTest.java +@@ -21,7 +21,19 @@ protected ByteBuffer identity() + .put((byte) 0); + } + +- @Test(timeout = 2000) ++ @Test ++ public void testFixIssue524() throws IOException, InterruptedException ++ { ++ for (int idx = 0; idx < REPETITIONS; ++idx) { ++ if (idx % 100 == 0) { ++ System.out.print(idx + " "); ++ } ++ testProtocolVersion2short(); ++ } ++ System.out.println(); ++ } ++ ++ @Test + public void testProtocolVersion2short() throws IOException, InterruptedException + { + List raws = raws(1); +@@ -38,7 +50,7 @@ public void testProtocolVersion2short() throws IOException, InterruptedException + assertProtocolVersion(2, raws, "abcdefg"); + } + +- @Test(timeout = 2000) ++ @Test + public void testProtocolVersion2long() throws IOException, InterruptedException + { + List raws = raws(1); -- cgit v1.2.3 From 6c34ad73d5190b2793a1bb80bb42eeb2850f45c5 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Tue, 13 Mar 2018 20:05:27 +0200 Subject: gnu: java-jnacl: Declare a source file-name. * gnu/packages/java.scm (java-jnacl)[source]: Declare a source file-name. --- gnu/packages/java.scm | 1 + 1 file changed, 1 insertion(+) (limited to 'gnu/packages/java.scm') diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index bdfd3fd41b..e2c4b2c1e6 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -7982,6 +7982,7 @@ to use.") (uri (git-reference (url "https://github.com/neilalexander/jnacl.git") (commit commit))) + (file-name (git-file-name name version)) (sha256 (base32 "1d6g6xhn83byv5943n7935wwjsk0ibk0qdvqgr699qqgqqmwisbb")))) -- cgit v1.2.3 From 307856cdfa58d72434be06de12d79e2dce25189d Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Tue, 13 Mar 2018 20:06:29 +0200 Subject: gnu: java-snakeyaml: Declare a source file-name. * gnu/packages/java.scm (java-snakeyaml)[source]: Declare a source file-name. --- gnu/packages/java.scm | 1 + 1 file changed, 1 insertion(+) (limited to 'gnu/packages/java.scm') diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index e2c4b2c1e6..521293da48 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -7307,6 +7307,7 @@ configuration.") (method url-fetch) (uri (string-append "https://bitbucket.org/asomov/snakeyaml/get/v" version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 "0rf5ha6w0waz50jz2479jsrbgmd0dnx0gs337m126j5z7zlmg7mg")))) -- cgit v1.2.3