Package: guix-patches;
Reported by: Julien Lepiller <julien <at> lepiller.eu>
Date: Sun, 1 Oct 2017 17:47:01 UTC
Severity: normal
Tags: patch
Done: Julien Lepiller <julien <at> lepiller.eu>
Bug is archived. No further changes may be made.
To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 28663 in the body.
You can then email your comments to 28663 AT debbugs.gnu.org in the normal way.
Toggle the display of automated, internal messages from the tracker.
View this report as an mbox folder, status mbox, maintainer mbox
guix-patches <at> gnu.org
:bug#28663
; Package guix-patches
.
(Sun, 01 Oct 2017 17:47:01 GMT) Full text and rfc822 format available.Julien Lepiller <julien <at> lepiller.eu>
:guix-patches <at> gnu.org
.
(Sun, 01 Oct 2017 17:47:01 GMT) Full text and rfc822 format available.Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
From: Julien Lepiller <julien <at> lepiller.eu> To: guix-patches <at> gnu.org Subject: [PATCH] New java packages Date: Sun, 1 Oct 2017 19:44:18 +0200
Hi! Here is a very good news: I have successfully built maven from source, and I will try to get all my work into patches. Here is the first part: the first two patches add more functionnalities to the ant-build-system: the first adds support for adding a Main-Class entry in the manifest, which can be useful to call jar files directly. The second adds #:test-include and #:test-exclude parameters to the build system. They can be used to manage what tests is run and what test is not. It currently defaults to including *Test.java, but excluding Abstract*.java. Abstract classes are not meant to be run by junit, and it caused issues with other packages. I think the next 20 packages are independent of the change in the build system, so we can merge them before the build system patches if there are discussions about that. The next 20 patches are the beginning of the (very, very) long list of maven dependencies. These new packages are all of the packages I needed from the OSGI project.
guix-patches <at> gnu.org
:bug#28663
; Package guix-patches
.
(Sun, 01 Oct 2017 17:56:02 GMT) Full text and rfc822 format available.Message #8 received at 28663 <at> debbugs.gnu.org (full text, mbox):
From: julien <at> lepiller.eu To: 28663 <at> debbugs.gnu.org Cc: Julien Lepiller <julien <at> lepiller.eu> Subject: [PATCH 01/22] guix: ant-build-system: Add main-class support. Date: Sun, 1 Oct 2017 19:53:13 +0200
From: Julien Lepiller <julien <at> lepiller.eu> * guix/build-system/ant.scm: New #:main-class argument * guix/build/ant-build-system.scm: Generate a manifest file with additional properties. --- guix/build-system/ant.scm | 2 ++ guix/build/ant-build-system.scm | 27 ++++++++++++++++++++++----- 2 files changed, 24 insertions(+), 5 deletions(-) diff --git a/guix/build-system/ant.scm b/guix/build-system/ant.scm index e0870a605..a700230ec 100644 --- a/guix/build-system/ant.scm +++ b/guix/build-system/ant.scm @@ -99,6 +99,7 @@ (make-flags ''()) (build-target "jar") (jar-name #f) + (main-class #f) (source-dir "src") (test-dir "src/test") (phases '(@ (guix build ant-build-system) @@ -130,6 +131,7 @@ #:test-target ,test-target #:build-target ,build-target #:jar-name ,jar-name + #:main-class ,main-class #:source-dir ,source-dir #:test-dir ,test-dir #:phases ,phases diff --git a/guix/build/ant-build-system.scm b/guix/build/ant-build-system.scm index 4042630a1..727d3a3b2 100644 --- a/guix/build/ant-build-system.scm +++ b/guix/build/ant-build-system.scm @@ -36,7 +36,7 @@ ;; Code: (define* (default-build.xml jar-name prefix #:optional - (source-dir ".") (test-dir "./test")) + (source-dir ".") (test-dir "./test") (main-class #f)) "Create a simple build.xml with standard targets for Ant." (call-with-output-file "build.xml" (lambda (port) @@ -44,6 +44,10 @@ `(project (@ (basedir ".")) (property (@ (name "classes.dir") (value "${basedir}/build/classes"))) + (property (@ (name "manifest.dir") + (value "${basedir}/build/manifest"))) + (property (@ (name "manifest.file") + (value "${manifest.dir}/MANIFEST.MF"))) (property (@ (name "jar.dir") (value "${basedir}/build/jar"))) (property (@ (name "dist.dir") @@ -60,6 +64,17 @@ (path (@ (id "classpath")) (pathelement (@ (location "${env.CLASSPATH}")))) + (target (@ (name "manifest")) + (mkdir (@ (dir "${manifest.dir}"))) + (echo (@ (file "${manifest.file}") + (message ,(string-append + (if main-class + (string-append + "Main-Class: " main-class + "${line.separator}") + "") + ""))))) + (target (@ (name "compile")) (mkdir (@ (dir "${classes.dir}"))) (javac (@ (includeantruntime "false") @@ -97,10 +112,11 @@ (include (@ (name "**/*Test.java" ))))))) (target (@ (name "jar") - (depends "compile")) + (depends "compile, manifest")) (mkdir (@ (dir "${jar.dir}"))) (exec (@ (executable "jar")) - (arg (@ (line ,(string-append "-cf ${jar.dir}/" jar-name + (arg (@ (line ,(string-append "-cmf ${manifest.file} " + "${jar.dir}/" jar-name " -C ${classes.dir} .")))))) (target (@ (name "install")) @@ -133,12 +149,13 @@ to the default GNU unpack strategy." (define* (configure #:key inputs outputs (jar-name #f) (source-dir "src") - (test-dir "src/test") #:allow-other-keys) + (test-dir "src/test") + (main-class #f) #:allow-other-keys) (when jar-name (default-build.xml jar-name (string-append (assoc-ref outputs "out") "/share/java") - source-dir test-dir)) + source-dir test-dir main-class)) (setenv "JAVA_HOME" (assoc-ref inputs "jdk")) (setenv "CLASSPATH" (generate-classpath inputs))) -- 2.14.1
guix-patches <at> gnu.org
:bug#28663
; Package guix-patches
.
(Sun, 01 Oct 2017 17:56:02 GMT) Full text and rfc822 format available.Message #11 received at 28663 <at> debbugs.gnu.org (full text, mbox):
From: julien <at> lepiller.eu To: 28663 <at> debbugs.gnu.org Cc: Julien Lepiller <julien <at> lepiller.eu> Subject: [PATCH 02/22] guix: ant-build-system: Add #:test-include and #:test-exclude arguments. Date: Sun, 1 Oct 2017 19:53:14 +0200
From: Julien Lepiller <julien <at> lepiller.eu> * guix/build-system/ant.scm: Add #:test-include and #:test-exclude arguments. * guix/build/ant-build-system.scm: Generate test list from arguments. --- guix/build-system/ant.scm | 4 ++++ guix/build/ant-build-system.scm | 17 +++++++++++++---- 2 files changed, 17 insertions(+), 4 deletions(-) diff --git a/guix/build-system/ant.scm b/guix/build-system/ant.scm index a700230ec..b5626bd42 100644 --- a/guix/build-system/ant.scm +++ b/guix/build-system/ant.scm @@ -100,6 +100,8 @@ (build-target "jar") (jar-name #f) (main-class #f) + (test-include (list "**/*Test.java")) + (test-exclude (list "**/Abstract*.java")) (source-dir "src") (test-dir "src/test") (phases '(@ (guix build ant-build-system) @@ -132,6 +134,8 @@ #:build-target ,build-target #:jar-name ,jar-name #:main-class ,main-class + #:test-include (list ,@test-include) + #:test-exclude (list ,@test-exclude) #:source-dir ,source-dir #:test-dir ,test-dir #:phases ,phases diff --git a/guix/build/ant-build-system.scm b/guix/build/ant-build-system.scm index 727d3a3b2..a440daf05 100644 --- a/guix/build/ant-build-system.scm +++ b/guix/build/ant-build-system.scm @@ -36,7 +36,9 @@ ;; Code: (define* (default-build.xml jar-name prefix #:optional - (source-dir ".") (test-dir "./test") (main-class #f)) + (source-dir ".") (test-dir "./test") (main-class #f) + (test-include '("**/*Test.java")) + (test-exclude '("**/Abstract*Test.java"))) "Create a simple build.xml with standard targets for Ant." (call-with-output-file "build.xml" (lambda (port) @@ -109,7 +111,12 @@ (batchtest (@ (fork "yes") (todir "${test.home}/test-reports")) (fileset (@ (dir "${test.home}/java")) - (include (@ (name "**/*Test.java" ))))))) + ,@(map (lambda (file) + `(include (@ (name ,file)))) + test-include) + ,@(map (lambda (file) + `(exclude (@ (name ,file)))) + test-exclude))))) (target (@ (name "jar") (depends "compile, manifest")) @@ -150,12 +157,14 @@ to the default GNU unpack strategy." (define* (configure #:key inputs outputs (jar-name #f) (source-dir "src") (test-dir "src/test") - (main-class #f) #:allow-other-keys) + (main-class #f) + (test-include '("**/*Test.java")) + (test-exclude '("**/Abstract*.java")) #:allow-other-keys) (when jar-name (default-build.xml jar-name (string-append (assoc-ref outputs "out") "/share/java") - source-dir test-dir main-class)) + source-dir test-dir main-class test-include test-exclude)) (setenv "JAVA_HOME" (assoc-ref inputs "jdk")) (setenv "CLASSPATH" (generate-classpath inputs))) -- 2.14.1
guix-patches <at> gnu.org
:bug#28663
; Package guix-patches
.
(Sun, 01 Oct 2017 17:56:03 GMT) Full text and rfc822 format available.Message #14 received at 28663 <at> debbugs.gnu.org (full text, mbox):
From: julien <at> lepiller.eu To: 28663 <at> debbugs.gnu.org Cc: Julien Lepiller <julien <at> lepiller.eu> Subject: [PATCH 03/22] gnu: Add java-microemulator. Date: Sun, 1 Oct 2017 19:53:15 +0200
From: Julien Lepiller <julien <at> lepiller.eu> * gnu/packages/java.scm (java-microemulator): New variable. --- gnu/packages/java.scm | 58 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 806f13ab8..6973840c1 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -4716,3 +4716,61 @@ complex transformations and code analysis tools.") #t))))) (native-inputs `(("java-junit" ,java-junit))))) + +(define java-asm-old + (package + (inherit java-asm) + (version "3.3.1") + (source (origin + (method url-fetch) + (uri (string-append "http://download.forge.ow2.org/asm/asm-" + version ".tar.gz")) + (sha256 + (base32 + "1xcp06wbqqq4jm93pafjw5jc08vy30qiw9s7kff9gmw23ka279b9")))))) + +;; FIXME: This is an old project, and the sourceforge page says it moved to +;; googlecode, which is dead... +(define-public java-microemulator + (package + (name "java-microemulator") + (version "2.0.4") + (source (origin + (method url-fetch) + (uri (string-append "mirror://sourceforge/microemulator/microemulator/" + version "/microemulator-" version ".zip")) + (sha256 + (base32 + "0x9a4xqw6747c130y2znfwg945jgpjnd4bzj5gdamxmi7848dslb")))) + (build-system ant-build-system) + (arguments + `(#:jar-name "microemulator.jar" + #:source-dir "src" + #:tests? #f; no tests + #:phases + (modify-phases %standard-phases + ;; The archive contains the sources as a jar file + (add-before 'configure 'unpack-jar + (lambda _ + (mkdir-p "src") + (with-directory-excursion "src" + (zero? (system* "jar" "xf" "../microemulator-sources.jar"))))) + (add-before 'configure 'remove-old-dep + (lambda _ + ;; requires netscape.javascript for which I can't find a free implementation + (delete-file "src/org/microemu/applet/CookieRecordStoreManager.java") + ;; requires an old version of swt + (delete-file "src/org/microemu/app/Swt.java")))))) + (inputs + `(("java-swt" ,java-swt) + ("asm" ,java-asm-old))) + (native-inputs + `(("unzip" ,unzip))) + (home-page "https://sourceforge.net/projects/microemulator/") + (synopsis "J2ME CLDC/MIDP emulator") + (description "Microemulator is a Java 2 Micro Edition (J2ME) CLDC/MIDP +Emulator. It allows to demonstrate MIDlet based applications in web browser +applet and can be run as a standalone java application.") + (license (list license:asl2.0 + ;; or altenatively: + license:lgpl2.1+))) -- 2.14.1
guix-patches <at> gnu.org
:bug#28663
; Package guix-patches
.
(Sun, 01 Oct 2017 17:56:03 GMT) Full text and rfc822 format available.Message #17 received at 28663 <at> debbugs.gnu.org (full text, mbox):
From: julien <at> lepiller.eu To: 28663 <at> debbugs.gnu.org Cc: Julien Lepiller <julien <at> lepiller.eu> Subject: [PATCH 04/22] gnu: Add java-datanucleus-javax-persistence. Date: Sun, 1 Oct 2017 19:53:16 +0200
From: Julien Lepiller <julien <at> lepiller.eu> * gnu/packages/java.scm (java-datanucleus-javax-persistence): New variable. --- gnu/packages/java.scm | 28 +++++++++++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 6973840c1..854d617d5 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -4773,4 +4773,30 @@ Emulator. It allows to demonstrate MIDlet based applications in web browser applet and can be run as a standalone java application.") (license (list license:asl2.0 ;; or altenatively: - license:lgpl2.1+))) + license:lgpl2.1+)))) + +(define-public java-datanucleus-javax-persistence + (package + (name "java-datanucleus-javax-persistence") + (version "2.2.0") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/datanucleus/" + "javax.persistence/archive/javax.persistence-" + version "-release.tar.gz")) + (sha256 + (base32 + "11jx0fjwgc2hhbqqgdd6m1pf2fplf9vslppygax0y1z5csnqjhpx")))) + (build-system ant-build-system) + (arguments + `(#:jar-name "java-datanucleus-javax-persistence.jar" + #:jdk ,icedtea-8 + #:source-dir "src/main/java" + #:tests? #f)); no tests + (home-page "https://github.com/datanucleus/javax.persistence") + (synopsis "JPA API") + (description "This package contains a clean definition of JPA API intended +for use with DataNucleus JPA since the JCP haven't provided an official JPA API +jar. See @url{http://java.net/projects/jpa-spec/downloads} for the specification +used to generate this API.") + (license (list license:edl1.0 license:epl1.0)))) -- 2.14.1
guix-patches <at> gnu.org
:bug#28663
; Package guix-patches
.
(Sun, 01 Oct 2017 17:56:04 GMT) Full text and rfc822 format available.Message #20 received at 28663 <at> debbugs.gnu.org (full text, mbox):
From: julien <at> lepiller.eu To: 28663 <at> debbugs.gnu.org Cc: Julien Lepiller <julien <at> lepiller.eu> Subject: [PATCH 05/22] gnu: Add java-osgi-cmpn. Date: Sun, 1 Oct 2017 19:53:17 +0200
From: Julien Lepiller <julien <at> lepiller.eu> * gnu/packages/java.scm (java-osgi-cmpn): 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 854d617d5..227ccf5e0 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -4800,3 +4800,34 @@ for use with DataNucleus JPA since the JCP haven't provided an official JPA API jar. See @url{http://java.net/projects/jpa-spec/downloads} for the specification used to generate this API.") (license (list license:edl1.0 license:epl1.0)))) + +(define-public java-osgi-cmpn + (package + (name "java-osgi-cmpn") + (version "6.0.0") + (source (origin + (method url-fetch) + (uri (string-append "http://central.maven.org/maven2/" + "org/osgi/osgi.cmpn/" version "/osgi.cmpn-" + version "-sources.jar")) + (sha256 + (base32 + "1lmb6xyrmkqdhv1kayf0514rlwq6ypvs4m44ibrck3snp8241wys")))) + (build-system ant-build-system) + (arguments + `(#:jar-name "osgi-cmpn.jar" + #:tests? #f)); no tests + (inputs + `(("annotation" ,java-osgi-annotation) + ("core" ,java-osgi-core) + ("java-datanucleus-javax-persistence" ,java-datanucleus-javax-persistence) + ("microemulator" ,java-microemulator) + ("servlet" ,java-classpathx-servletapi))) + (home-page "http://www.osgi.org") + (synopsis "Compendium specification module of OSGi framework") + (description + "OSGi, for Open Services Gateway initiative framework, is a module system +and service platform for the Java programming language. This package contains +the compendium specification module, providing interfaces and classes for use +in compiling bundles.") + (license license:asl2.0))) -- 2.14.1
guix-patches <at> gnu.org
:bug#28663
; Package guix-patches
.
(Sun, 01 Oct 2017 17:56:04 GMT) Full text and rfc822 format available.Message #23 received at 28663 <at> debbugs.gnu.org (full text, mbox):
From: julien <at> lepiller.eu To: 28663 <at> debbugs.gnu.org Cc: Julien Lepiller <julien <at> lepiller.eu> Subject: [PATCH 07/22] gnu: Add java-osgi-dto. Date: Sun, 1 Oct 2017 19:53:19 +0200
From: Julien Lepiller <julien <at> lepiller.eu> * gnu/packages/java.scm (java-osgi-dto): New variable. --- gnu/packages/java.scm | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 7e6fcaff9..0454a8d26 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -4858,3 +4858,32 @@ in compiling bundles.") and service platform for the Java programming language. This package contains the support annotations for osgi-service-component.") (license license:asl2.0))) + +(define-public java-osgi-dto + (package + (name "java-osgi-dto") + (version "1.0.0") + (source (origin + (method url-fetch) + (uri (string-append "http://central.maven.org/maven2/org/osgi/" + "org.osgi.dto/" version "/org.osgi.dto-" + version "-sources.jar")) + (sha256 + (base32 + "0f4bqjzadn0hwk6sd3h5gvbyfp3yci1s6r0v770cc15p0pg627yr")))) + (build-system ant-build-system) + (arguments + `(#:jar-name "osgi-dto.jar" + #:tests? #f)); no tests + (inputs + `(("annotation" ,java-osgi-annotation))) + (home-page "http://www.osgi.org") + (synopsis "Data Transfer Objects") + (description + "OSGi, for Open Services Gateway initiative framework, is a module system +and service platform for the Java programming language. This package contains +the Data Transfer Objects. It is easily serializable having only public fields +of primitive types and their wrapper classes, Strings, and DTOs. List, Set, +Map and array aggregates may also be used. The aggregates must only hold +objects of the listed types or aggregates.") + (license license:asl2.0))) -- 2.14.1
guix-patches <at> gnu.org
:bug#28663
; Package guix-patches
.
(Sun, 01 Oct 2017 17:56:05 GMT) Full text and rfc822 format available.Message #26 received at 28663 <at> debbugs.gnu.org (full text, mbox):
From: julien <at> lepiller.eu To: 28663 <at> debbugs.gnu.org Cc: Julien Lepiller <julien <at> lepiller.eu> Subject: [PATCH 06/22] gnu: Add java-osgi-service-component-annotations. Date: Sun, 1 Oct 2017 19:53:18 +0200
From: Julien Lepiller <julien <at> lepiller.eu> * gnu/packages/java.scm (java-osgi-service-component-annotations): 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 227ccf5e0..7e6fcaff9 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -4831,3 +4831,30 @@ and service platform for the Java programming language. This package contains the compendium specification module, providing interfaces and classes for use in compiling bundles.") (license license:asl2.0))) + +(define-public java-osgi-service-component-annotations + (package + (name "java-osgi-service-component-annotations") + (version "1.3.0") + (source (origin + (method url-fetch) + (uri (string-append "http://central.maven.org/maven2/org/osgi/" + "org.osgi.service.component.annotations/" + version "/org.osgi.service.component.annotations-" + version "-sources.jar")) + (sha256 + (base32 + "15rq9cmp4fpn74q44m4j35qsqmjf5lx3hcrk6pzvbhc08igic2f0")))) + (build-system ant-build-system) + (arguments + `(#:jar-name "osgi-service-component-annotations.jar" + #:tests? #f)); no tests + (inputs + `(("annotation" ,java-osgi-annotation))) + (home-page "http://www.osgi.org") + (synopsis "Support annotations for osgi-service-component") + (description + "OSGi, for Open Services Gateway initiative framework, is a module system +and service platform for the Java programming language. This package contains +the support annotations for osgi-service-component.") + (license license:asl2.0))) -- 2.14.1
guix-patches <at> gnu.org
:bug#28663
; Package guix-patches
.
(Sun, 01 Oct 2017 17:56:05 GMT) Full text and rfc822 format available.Message #29 received at 28663 <at> debbugs.gnu.org (full text, mbox):
From: julien <at> lepiller.eu To: 28663 <at> debbugs.gnu.org Cc: Julien Lepiller <julien <at> lepiller.eu> Subject: [PATCH 08/22] gnu: Add java-osgi-resource. Date: Sun, 1 Oct 2017 19:53:20 +0200
From: Julien Lepiller <julien <at> lepiller.eu> * gnu/packages/java.scm (java-osgi-resource): New variable. --- gnu/packages/java.scm | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 0454a8d26..c3ad83178 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -4887,3 +4887,31 @@ of primitive types and their wrapper classes, Strings, and DTOs. List, Set, Map and array aggregates may also be used. The aggregates must only hold objects of the listed types or aggregates.") (license license:asl2.0))) + +(define-public java-osgi-resource + (package + (name "java-osgi-resource") + (version "1.0.0") + (source (origin + (method url-fetch) + (uri (string-append "http://central.maven.org/maven2/org/osgi/" + "org.osgi.resource/" + version "/org.osgi.resource-" + version "-sources.jar")) + (sha256 + (base32 + "0hi0fsc5v99q22bd7lrkvpz1y0ds4w9arjldpwsrcpqvz2js7q2d")))) + (build-system ant-build-system) + (arguments + `(#:jar-name "osgi-resource.jar" + #:tests? #f)); no tests + (inputs + `(("annotation" ,java-osgi-annotation) + ("dto" ,java-osgi-dto))) + (home-page "http://www.osgi.org") + (synopsis "OSGI Resource") + (description + "OSGi, for Open Services Gateway initiative framework, is a module system +and service platform for the Java programming language. This package contains +the definition of common types in osgi packages.") + (license license:asl2.0))) -- 2.14.1
guix-patches <at> gnu.org
:bug#28663
; Package guix-patches
.
(Sun, 01 Oct 2017 17:56:06 GMT) Full text and rfc822 format available.Message #32 received at 28663 <at> debbugs.gnu.org (full text, mbox):
From: julien <at> lepiller.eu To: 28663 <at> debbugs.gnu.org Cc: Julien Lepiller <julien <at> lepiller.eu> Subject: [PATCH 09/22] gnu: Add java-osgi-namespace-contract. Date: Sun, 1 Oct 2017 19:53:21 +0200
From: Julien Lepiller <julien <at> lepiller.eu> * gnu/packages/java.scm (java-osgi-namespace-contract): New variable. --- gnu/packages/java.scm | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index c3ad83178..a3651149f 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -4915,3 +4915,31 @@ objects of the listed types or aggregates.") and service platform for the Java programming language. This package contains the definition of common types in osgi packages.") (license license:asl2.0))) + +(define-public java-osgi-namespace-contract + (package + (name "java-osgi-namespace-contract") + (version "1.0.0") + (source (origin + (method url-fetch) + (uri (string-append "http://central.maven.org/maven2/org/osgi/" + "org.osgi.namespace.contract/" + version "/org.osgi.namespace.contract-" + version "-sources.jar")) + (sha256 + (base32 + "1iz4f2i0fvqrlq90ki9nfzcfpvy2av434ri25bglywqssx8mmp36")))) + (build-system ant-build-system) + (inputs + `(("resource" ,java-osgi-resource) + ("annotation" ,java-osgi-annotation))) + (arguments + `(#:jar-name "osgi-namespace-contract.jar" + #:tests? #f)); no tests + (home-page "http://www.osgi.org") + (synopsis "Contract Capability and Requirement Namespace") + (description + "OSGi, for Open Services Gateway initiative framework, is a module system +and service platform for the Java programming language. This package contains +the names for the attributes and directives for a namespace with contracts.") + (license license:asl2.0))) -- 2.14.1
guix-patches <at> gnu.org
:bug#28663
; Package guix-patches
.
(Sun, 01 Oct 2017 17:56:06 GMT) Full text and rfc822 format available.Message #35 received at 28663 <at> debbugs.gnu.org (full text, mbox):
From: julien <at> lepiller.eu To: 28663 <at> debbugs.gnu.org Cc: Julien Lepiller <julien <at> lepiller.eu> Subject: [PATCH 10/22] gnu: Add java-osgi-namespace-extender. Date: Sun, 1 Oct 2017 19:53:22 +0200
From: Julien Lepiller <julien <at> lepiller.eu> * gnu/packages/java.scm (java-osgi-namespace-extender): New variable. --- gnu/packages/java.scm | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index a3651149f..54ca931c0 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -4943,3 +4943,31 @@ the definition of common types in osgi packages.") and service platform for the Java programming language. This package contains the names for the attributes and directives for a namespace with contracts.") (license license:asl2.0))) + +(define-public java-osgi-namespace-extender + (package + (name "java-osgi-namespace-extender") + (version "1.0.1") + (source (origin + (method url-fetch) + (uri (string-append "http://central.maven.org/maven2/org/osgi/" + "org.osgi.namespace.extender/" + version "/org.osgi.namespace.extender-" + version "-sources.jar")) + (sha256 + (base32 + "0jgqiak2i05qv6j3gd33xlaifzzc0ylxxk376v2x0apfg3vvixmz")))) + (build-system ant-build-system) + (inputs + `(("resource" ,java-osgi-resource) + ("annotation" ,java-osgi-annotation))) + (arguments + `(#:jar-name "osgi-namespace-extendent.jar" + #:tests? #f)); no tests + (home-page "http://www.osgi.org") + (synopsis "Extender Capability and Requirement Namespace") + (description + "OSGi, for Open Services Gateway initiative framework, is a module system +and service platform for the Java programming language. This package contains +the names for the attributes and directives for a namespace with extensions.") + (license license:asl2.0))) -- 2.14.1
guix-patches <at> gnu.org
:bug#28663
; Package guix-patches
.
(Sun, 01 Oct 2017 17:56:07 GMT) Full text and rfc822 format available.Message #38 received at 28663 <at> debbugs.gnu.org (full text, mbox):
From: julien <at> lepiller.eu To: 28663 <at> debbugs.gnu.org Cc: Julien Lepiller <julien <at> lepiller.eu> Subject: [PATCH 11/22] gnu: Add java-osgi-namespace-service. Date: Sun, 1 Oct 2017 19:53:23 +0200
From: Julien Lepiller <julien <at> lepiller.eu> * gnu/packages/java.scm (java-osgi-namespace-service): New variable. --- gnu/packages/java.scm | 30 +++++++++++++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 54ca931c0..64267034b 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -4969,5 +4969,33 @@ the names for the attributes and directives for a namespace with contracts.") (description "OSGi, for Open Services Gateway initiative framework, is a module system and service platform for the Java programming language. This package contains -the names for the attributes and directives for a namespace with extensions.") +the names for the attributes and directives for an extender namespace.") + (license license:asl2.0))) + +(define-public java-osgi-namespace-service + (package + (name "java-osgi-namespace-service") + (version "1.0.0") + (source (origin + (method url-fetch) + (uri (string-append "http://central.maven.org/maven2/org/osgi/" + "org.osgi.namespace.service/" + version "/org.osgi.namespace.service-" + version "-sources.jar")) + (sha256 + (base32 + "0qmw8n2449nkmm56d1znz9zhazb6ya3vsimd5bf5jg23zzhgl8c8")))) + (build-system ant-build-system) + (inputs + `(("resource" ,java-osgi-resource) + ("annotation" ,java-osgi-annotation))) + (arguments + `(#:jar-name "osgi-namespace-service.jar" + #:tests? #f)); no tests + (home-page "http://www.osgi.org") + (synopsis "Service Capability and Requirement Namespace") + (description + "OSGi, for Open Services Gateway initiative framework, is a module system +and service platform for the Java programming language. This package contains +the names for the attributes and directives for a service namespace.") (license license:asl2.0))) -- 2.14.1
guix-patches <at> gnu.org
:bug#28663
; Package guix-patches
.
(Sun, 01 Oct 2017 17:56:07 GMT) Full text and rfc822 format available.Message #41 received at 28663 <at> debbugs.gnu.org (full text, mbox):
From: julien <at> lepiller.eu To: 28663 <at> debbugs.gnu.org Cc: Julien Lepiller <julien <at> lepiller.eu> Subject: [PATCH 12/22] gnu: Add java-osgi-util-function. Date: Sun, 1 Oct 2017 19:53:24 +0200
From: Julien Lepiller <julien <at> lepiller.eu> * gnu/packages/java.scm (java-osgi-util-function): 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 64267034b..74bf2e3fa 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -4999,3 +4999,30 @@ the names for the attributes and directives for an extender namespace.") and service platform for the Java programming language. This package contains the names for the attributes and directives for a service namespace.") (license license:asl2.0))) + +(define-public java-osgi-util-function + (package + (name "java-osgi-util-function") + (version "1.0.0") + (source (origin + (method url-fetch) + (uri (string-append "http://central.maven.org/maven2/org/osgi/" + "org.osgi.util.function/" + version "/org.osgi.util.function-" + version "-sources.jar")) + (sha256 + (base32 + "04l7j3hwmmj28w23m7paca0afzncs42j2mdr3liqq8kvp548sc6x")))) + (build-system ant-build-system) + (arguments + `(#:jar-name "osgi-util-function.jar" + #:tests? #f)); no tests + (inputs + `(("annotation" ,java-osgi-annotation))) + (home-page "http://www.osgi.org") + (synopsis "OSGI Util Function") + (description + "OSGi, for Open Services Gateway initiative framework, is a module system +and service platform for the Java programming language. This package contains +an interface for a function that accepts a single argument and produces a result.") + (license license:asl2.0))) -- 2.14.1
guix-patches <at> gnu.org
:bug#28663
; Package guix-patches
.
(Sun, 01 Oct 2017 17:56:08 GMT) Full text and rfc822 format available.Message #44 received at 28663 <at> debbugs.gnu.org (full text, mbox):
From: julien <at> lepiller.eu To: 28663 <at> debbugs.gnu.org Cc: Julien Lepiller <julien <at> lepiller.eu> Subject: [PATCH 13/22] gnu: Add java-osgi-util-promise. Date: Sun, 1 Oct 2017 19:53:25 +0200
From: Julien Lepiller <julien <at> lepiller.eu> * gnu/packages/java.scm (java-osgi-util-promise): New variable. --- gnu/packages/java.scm | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 74bf2e3fa..27db95c25 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -5026,3 +5026,32 @@ the names for the attributes and directives for a service namespace.") and service platform for the Java programming language. This package contains an interface for a function that accepts a single argument and produces a result.") (license license:asl2.0))) + +(define-public java-osgi-util-promise + (package + (name "java-osgi-util-promise") + (version "1.0.0") + (source (origin + (method url-fetch) + (uri (string-append "http://central.maven.org/maven2/org/osgi/" + "org.osgi.util.promise/" + version "/org.osgi.util.promise-" + version "-sources.jar")) + (sha256 + (base32 + "0y34dwiflg1c4ahvkswpf9z02xph2sr9fm04ia5493x3lshpw22c")))) + (build-system ant-build-system) + (arguments + `(#:jar-name "osgi-util-promise.jar" + #:tests? #f)); no tests + (inputs + `(("annotation" ,java-osgi-annotation) + ("function" ,java-osgi-util-function))) + (home-page "http://www.osgi.org") + (synopsis "Promise of a value") + (description + "OSGi, for Open Services Gateway initiative framework, is a module system +and service platform for the Java programming language. This package contains +an interface and utilitary classes for promises. A Promise represents a future +value. It handles the interactions for asynchronous processing.") + (license license:asl2.0))) -- 2.14.1
guix-patches <at> gnu.org
:bug#28663
; Package guix-patches
.
(Sun, 01 Oct 2017 17:56:08 GMT) Full text and rfc822 format available.Message #47 received at 28663 <at> debbugs.gnu.org (full text, mbox):
From: julien <at> lepiller.eu To: 28663 <at> debbugs.gnu.org Cc: Julien Lepiller <julien <at> lepiller.eu> Subject: [PATCH 14/22] gnu: Add java-osgi-service-metatype-annotations. Date: Sun, 1 Oct 2017 19:53:26 +0200
From: Julien Lepiller <julien <at> lepiller.eu> * gnu/packages/java.scm (java-osgi-service-metatype-annotations): 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 27db95c25..fc43e11a7 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -5055,3 +5055,30 @@ and service platform for the Java programming language. This package contains an interface and utilitary classes for promises. A Promise represents a future value. It handles the interactions for asynchronous processing.") (license license:asl2.0))) + +(define-public java-osgi-service-metatype-annotations + (package + (name "java-osgi-service-metatype-annotations") + (version "1.3.0") + (source (origin + (method url-fetch) + (uri (string-append "http://central.maven.org/maven2/org/osgi/" + "org.osgi.service.metatype.annotations/" + version "/org.osgi.service.metatype.annotations-" + version "-sources.jar")) + (sha256 + (base32 + "12rwm3349wk80vm88rcdgs4435m4jxkpkj5mrx326skkz2c6hyw6")))) + (build-system ant-build-system) + (arguments + `(#:jar-name "osgi-service-metatype-annotations.jar" + #:tests? #f)); no tests + (inputs + `(("annotation" ,java-osgi-annotation))) + (home-page "http://www.osgi.org") + (synopsis "Support annotations for metatype") + (description + "OSGi, for Open Services Gateway initiative framework, is a module system +and service platform for the Java programming language. This package contains +the support annotations for metatype.") + (license license:asl2.0))) -- 2.14.1
guix-patches <at> gnu.org
:bug#28663
; Package guix-patches
.
(Sun, 01 Oct 2017 17:56:09 GMT) Full text and rfc822 format available.Message #50 received at 28663 <at> debbugs.gnu.org (full text, mbox):
From: julien <at> lepiller.eu To: 28663 <at> debbugs.gnu.org Cc: Julien Lepiller <julien <at> lepiller.eu> Subject: [PATCH 15/22] gnu: Add java-osgi-service-repository. Date: Sun, 1 Oct 2017 19:53:27 +0200
From: Julien Lepiller <julien <at> lepiller.eu> * gnu/packages/java.scm (java-osgi-service-repository): New variable. --- gnu/packages/java.scm | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index fc43e11a7..c0d10e46a 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -5082,3 +5082,32 @@ value. It handles the interactions for asynchronous processing.") and service platform for the Java programming language. This package contains the support annotations for metatype.") (license license:asl2.0))) + +(define-public java-osgi-service-repository + (package + (name "java-osgi-service-repository") + (version "1.1.0") + (source (origin + (method url-fetch) + (uri (string-append "http://central.maven.org/maven2/org/osgi/" + "org.osgi.service.repository/" + version "/org.osgi.service.repository-" + version "-sources.jar")) + (sha256 + (base32 + "1k41mhg7b58pd8nsghr2qwcjrxdnf1p9spsw9v11k4257g6rl06n")))) + (build-system ant-build-system) + (arguments + `(#:jar-name "osgi-service-repository.jar" + #:tests? #f)); no tests + (inputs + `(("annotation" ,java-osgi-annotation) + ("promise" ,java-osgi-util-promise) + ("resource" ,java-osgi-resource))) + (home-page "http://www.osgi.org") + (synopsis "OSGI service repository") + (description + "OSGi, for Open Services Gateway initiative framework, is a module system +and service platform for the Java programming language. This package contains +a repository service that contains resources.") + (license license:asl2.0))) -- 2.14.1
guix-patches <at> gnu.org
:bug#28663
; Package guix-patches
.
(Sun, 01 Oct 2017 17:56:09 GMT) Full text and rfc822 format available.Message #53 received at 28663 <at> debbugs.gnu.org (full text, mbox):
From: julien <at> lepiller.eu To: 28663 <at> debbugs.gnu.org Cc: Julien Lepiller <julien <at> lepiller.eu> Subject: [PATCH 16/22] gnu: Add java-osgi-framework. Date: Sun, 1 Oct 2017 19:53:28 +0200
From: Julien Lepiller <julien <at> lepiller.eu> * gnu/packages/java.scm (java-osgi-framework): 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 c0d10e46a..b6cc90018 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -5111,3 +5111,30 @@ the support annotations for metatype.") and service platform for the Java programming language. This package contains a repository service that contains resources.") (license license:asl2.0))) + +(define-public java-osgi-framework + (package + (name "java-osgi-framework") + (version "1.8.0") + (source (origin + (method url-fetch) + (uri (string-append "http://central.maven.org/maven2/org/osgi/" + "org.osgi.framework/" version "/org.osgi.framework-" + version "-sources.jar")) + (sha256 + (base32 + "1lwp2zfad3rybcc6q9bwz8xsgkc92ypzy5p6x54387f1qj65m73s")))) + (build-system ant-build-system) + (arguments + `(#:jar-name "osgi-framework.jar" + #:tests? #f)); no tests + (inputs + `(("annotation" ,java-osgi-annotation) + ("resource" ,java-osgi-resource) + ("dto" ,java-osgi-dto))) + (home-page "http://www.osgi.org") + (synopsis "OSGi framework") + (description + "OSGi, for Open Services Gateway initiative framework, is a module system +and service platform for the Java programming language.") + (license license:asl2.0))) -- 2.14.1
guix-patches <at> gnu.org
:bug#28663
; Package guix-patches
.
(Sun, 01 Oct 2017 17:56:10 GMT) Full text and rfc822 format available.Message #56 received at 28663 <at> debbugs.gnu.org (full text, mbox):
From: julien <at> lepiller.eu To: 28663 <at> debbugs.gnu.org Cc: Julien Lepiller <julien <at> lepiller.eu> Subject: [PATCH 17/22] gnu: Add java-osgi-service-log. Date: Sun, 1 Oct 2017 19:53:29 +0200
From: Julien Lepiller <julien <at> lepiller.eu> * gnu/packages/java.scm (java-osgi-service-log): 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 b6cc90018..16e39c150 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -5138,3 +5138,30 @@ a repository service that contains resources.") "OSGi, for Open Services Gateway initiative framework, is a module system and service platform for the Java programming language.") (license license:asl2.0))) + +(define-public java-osgi-service-log + (package + (name "java-osgi-service-log") + (version "1.3.0") + (source (origin + (method url-fetch) + (uri (string-append "http://central.maven.org/maven2/org/osgi/" + "org.osgi.service.log/" + version "/org.osgi.service.log-" + version "-sources.jar")) + (sha256 + (base32 + "1029j30dzcwializzca0j3fkhwwz08kmmsha5agw1iccscimj6r0")))) + (build-system ant-build-system) + (arguments + `(#:jar-name "osgi-service-log.jar" + #:tests? #f)); no tests + (inputs + `(("java-osgi-framework" ,java-osgi-framework))) + (home-page "http://www.osgi.org") + (synopsis "Provides methods for bundles to write messages to the log") + (description + "OSGi, for Open Services Gateway initiative framework, is a module system +and service platform for the Java programming language. This package contains +the log service.") + (license license:asl2.0))) -- 2.14.1
guix-patches <at> gnu.org
:bug#28663
; Package guix-patches
.
(Sun, 01 Oct 2017 17:56:10 GMT) Full text and rfc822 format available.Message #59 received at 28663 <at> debbugs.gnu.org (full text, mbox):
From: julien <at> lepiller.eu To: 28663 <at> debbugs.gnu.org Cc: Julien Lepiller <julien <at> lepiller.eu> Subject: [PATCH 18/22] gnu: Add java-osgi-service-jdbc. Date: Sun, 1 Oct 2017 19:53:30 +0200
From: Julien Lepiller <julien <at> lepiller.eu> * gnu/packages/java.scm (java-osgi-service-jdbc): New variable. --- gnu/packages/java.scm | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 16e39c150..9e588e520 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -5165,3 +5165,35 @@ and service platform for the Java programming language.") and service platform for the Java programming language. This package contains the log service.") (license license:asl2.0))) + +(define-public java-osgi-service-jdbc + (package + (name "java-osgi-service-jdbc") + (version "1.0.0") + (source (origin + (method url-fetch) + (uri (string-append "http://central.maven.org/maven2/org/osgi/" + "org.osgi.service.jdbc/" + version "/org.osgi.service.jdbc-" + version "-sources.jar")) + (sha256 + (base32 + "11iln5v7bk469cgb9ddkrz9sa95b3733gqgaqw9xf5g6wq652yjz")))) + (build-system ant-build-system) + (arguments + `(#:jar-name "osgi-service-jdbc.jar" + #:tests? #f)); no tests + (home-page "http://www.osgi.org") + (synopsis "Factory for JDBC connection factories") + (description + "OSGi, for Open Services Gateway initiative framework, is a module system +and service platform for the Java programming language. This package contains +A factory for JDBC connection factories. There are 3 preferred connection +factories for getting JDBC connections: + +@begin{itemize} +@item @code{javax.sql.DataSource}; +@item @code{javax.sql.ConnectionPoolDataSource}; +@item @code{javax.sql.XADataSource}. +@end{itemize}") + (license license:asl2.0))) -- 2.14.1
guix-patches <at> gnu.org
:bug#28663
; Package guix-patches
.
(Sun, 01 Oct 2017 17:56:10 GMT) Full text and rfc822 format available.Message #62 received at 28663 <at> debbugs.gnu.org (full text, mbox):
From: julien <at> lepiller.eu To: 28663 <at> debbugs.gnu.org Cc: Julien Lepiller <julien <at> lepiller.eu> Subject: [PATCH 19/22] gnu: Add java-osgi-service-resolver. Date: Sun, 1 Oct 2017 19:53:31 +0200
From: Julien Lepiller <julien <at> lepiller.eu> * gnu/packages/java.scm (java-osgi-service-resolver): New variable. --- gnu/packages/java.scm | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 9e588e520..facdebc5f 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -5197,3 +5197,32 @@ factories for getting JDBC connections: @item @code{javax.sql.XADataSource}. @end{itemize}") (license license:asl2.0))) + +(define-public java-osgi-service-resolver + (package + (name "java-osgi-service-resolver") + (version "1.0.1") + (source (origin + (method url-fetch) + (uri (string-append "http://central.maven.org/maven2/org/osgi/" + "org.osgi.service.resolver/" + version "/org.osgi.service.resolver-" + version "-sources.jar")) + (sha256 + (base32 + "1dzqn1ryfi2rq4zwsgp44bmj2wlfydjg1qbxw2b0z4xdjjy55vxd")))) + (build-system ant-build-system) + (arguments + `(#:jar-name "osgi-service-resolver.jar" + #:tests? #f)); no tests + (inputs + `(("annotation" ,java-osgi-annotation) + ("resource" ,java-osgi-resource))) + (home-page "http://www.osgi.org") + (synopsis "OSGI Resolver service") + (description + "OSGi, for Open Services Gateway initiative framework, is a module system +and service platform for the Java programming language. This package contains +a resolver service that resolves the specified resources in the context supplied +by the caller.") + (license license:asl2.0))) -- 2.14.1
guix-patches <at> gnu.org
:bug#28663
; Package guix-patches
.
(Sun, 01 Oct 2017 17:56:11 GMT) Full text and rfc822 format available.Message #65 received at 28663 <at> debbugs.gnu.org (full text, mbox):
From: julien <at> lepiller.eu To: 28663 <at> debbugs.gnu.org Cc: Julien Lepiller <julien <at> lepiller.eu> Subject: [PATCH 20/22] gnu: Add java-osgi-util-tracker. Date: Sun, 1 Oct 2017 19:53:32 +0200
From: Julien Lepiller <julien <at> lepiller.eu> * gnu/packages/java.scm (java-osgi-util-tracker): New variable. --- gnu/packages/java.scm | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index facdebc5f..ddb53be0f 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -5226,3 +5226,31 @@ and service platform for the Java programming language. This package contains a resolver service that resolves the specified resources in the context supplied by the caller.") (license license:asl2.0))) + +(define-public java-osgi-util-tracker + (package + (name "java-osgi-util-tracker") + (version "1.5.1") + (source (origin + (method url-fetch) + (uri (string-append "http://central.maven.org/maven2/org/osgi/" + "org.osgi.util.tracker/" + version "/org.osgi.util.tracker-" + version "-sources.jar")) + (sha256 + (base32 + "0c4fh9vxwzsx59r8dygda0gq2gx3z5vfhc3jsphlqwf5w0h403lz")))) + (build-system ant-build-system) + (arguments + `(#:jar-name "osgi-util-tracker.jar" + #:tests? #f)); no tests + (inputs + `(("framework" ,java-osgi-framework) + ("annotation" ,java-osgi-annotation))) + (home-page "http://www.osgi.org") + (synopsis "Bundle tracking") + (description + "OSGi, for Open Services Gateway initiative framework, is a module system +and service platform for the Java programming language. This package contains +bundle tracking utility classes.") + (license license:asl2.0))) -- 2.14.1
guix-patches <at> gnu.org
:bug#28663
; Package guix-patches
.
(Sun, 01 Oct 2017 17:56:11 GMT) Full text and rfc822 format available.Message #68 received at 28663 <at> debbugs.gnu.org (full text, mbox):
From: julien <at> lepiller.eu To: 28663 <at> debbugs.gnu.org Cc: Julien Lepiller <julien <at> lepiller.eu> Subject: [PATCH 22/22] gnu: Add java-osgi-service-packageadmin. Date: Sun, 1 Oct 2017 19:53:34 +0200
From: Julien Lepiller <julien <at> lepiller.eu> * gnu/packages/java.scm (java-osgi-service-packageadmin): 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 747bf3271..cb2331b8c 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -5282,3 +5282,30 @@ bundle tracking utility classes.") and service platform for the Java programming language. This package contains utility classes for the configuration of services.") (license license:asl2.0))) + +(define-public java-osgi-service-packageadmin + (package + (name "java-osgi-service-packageadmin") + (version "1.2.0") + (source (origin + (method url-fetch) + (uri (string-append "http://central.maven.org/maven2/org/osgi/" + "org.osgi.service.packageadmin/" + version "/org.osgi.service.packageadmin-" + version "-sources.jar")) + (sha256 + (base32 + "041mpxzi7g36wmcily6y4ccn3jx15akpdy8gmhyb7m98x7qfvn52")))) + (build-system ant-build-system) + (arguments + `(#:jar-name "osgi-service-packageadmin.jar" + #:tests? #f)); no tests + (inputs + `(("framework" ,java-osgi-framework))) + (home-page "http://www.osgi.org") + (synopsis "OSGI Package Administration") + (description + "OSGi, for Open Services Gateway initiative framework, is a module system +and service platform for the Java programming language. This package contains +the packageadmin service.") + (license license:asl2.0))) -- 2.14.1
guix-patches <at> gnu.org
:bug#28663
; Package guix-patches
.
(Sun, 01 Oct 2017 18:00:02 GMT) Full text and rfc822 format available.Message #71 received at 28663 <at> debbugs.gnu.org (full text, mbox):
From: julien <at> lepiller.eu To: 28663 <at> debbugs.gnu.org Cc: Julien Lepiller <julien <at> lepiller.eu> Subject: [PATCH 21/22] gnu: Add java-osgi-service-cm. Date: Sun, 1 Oct 2017 19:53:33 +0200
From: Julien Lepiller <julien <at> lepiller.eu> * gnu/packages/java.scm (java-osgi-service-cm): New variable. --- gnu/packages/java.scm | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index ddb53be0f..747bf3271 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -5254,3 +5254,31 @@ by the caller.") and service platform for the Java programming language. This package contains bundle tracking utility classes.") (license license:asl2.0))) + +(define-public java-osgi-service-cm + (package + (name "java-osgi-service-cm") + (version "1.5.0") + (source (origin + (method url-fetch) + (uri (string-append "http://central.maven.org/maven2/org/osgi/" + "org.osgi.service.cm/" + version "/org.osgi.service.cm-" + version "-sources.jar")) + (sha256 + (base32 + "1z8kap48y3xi0ggj8v6czglfnpnd94mmismgi2wbqhj1nl5fzbp6")))) + (build-system ant-build-system) + (arguments + `(#:jar-name "osgi-service-cm.jar" + #:tests? #f)); no tests + (inputs + `(("framework" ,java-osgi-framework) + ("annotation" ,java-osgi-annotation))) + (home-page "http://www.osgi.org") + (synopsis "OSGI Configuration Management") + (description + "OSGi, for Open Services Gateway initiative framework, is a module system +and service platform for the Java programming language. This package contains +utility classes for the configuration of services.") + (license license:asl2.0))) -- 2.14.1
guix-patches <at> gnu.org
:bug#28663
; Package guix-patches
.
(Tue, 03 Oct 2017 07:45:02 GMT) Full text and rfc822 format available.Message #74 received at 28663 <at> debbugs.gnu.org (full text, mbox):
From: Roel Janssen <roel <at> gnu.org> To: julien <at> lepiller.eu Cc: 28663 <at> debbugs.gnu.org Subject: Re: [bug#28663] [PATCH 01/22] guix: ant-build-system: Add main-class support. Date: Tue, 03 Oct 2017 09:44:22 +0200
Hi Julien, Thanks for these patches! I will try to look all of them. julien <at> lepiller.eu writes: > From: Julien Lepiller <julien <at> lepiller.eu> > > * guix/build-system/ant.scm: New #:main-class argument > * guix/build/ant-build-system.scm: Generate a manifest file with > additional properties. > --- > guix/build-system/ant.scm | 2 ++ > guix/build/ant-build-system.scm | 27 ++++++++++++++++++++++----- > 2 files changed, 24 insertions(+), 5 deletions(-) > > diff --git a/guix/build-system/ant.scm b/guix/build-system/ant.scm > index e0870a605..a700230ec 100644 > --- a/guix/build-system/ant.scm > +++ b/guix/build-system/ant.scm > @@ -99,6 +99,7 @@ > (make-flags ''()) > (build-target "jar") > (jar-name #f) > + (main-class #f) > (source-dir "src") > (test-dir "src/test") > (phases '(@ (guix build ant-build-system) > @@ -130,6 +131,7 @@ > #:test-target ,test-target > #:build-target ,build-target > #:jar-name ,jar-name > + #:main-class ,main-class > #:source-dir ,source-dir > #:test-dir ,test-dir > #:phases ,phases > diff --git a/guix/build/ant-build-system.scm b/guix/build/ant-build-system.scm > index 4042630a1..727d3a3b2 100644 > --- a/guix/build/ant-build-system.scm > +++ b/guix/build/ant-build-system.scm > @@ -36,7 +36,7 @@ > ;; Code: > > (define* (default-build.xml jar-name prefix #:optional > - (source-dir ".") (test-dir "./test")) > + (source-dir ".") (test-dir "./test") (main-class #f)) > "Create a simple build.xml with standard targets for Ant." > (call-with-output-file "build.xml" > (lambda (port) > @@ -44,6 +44,10 @@ > `(project (@ (basedir ".")) > (property (@ (name "classes.dir") > (value "${basedir}/build/classes"))) > + (property (@ (name "manifest.dir") > + (value "${basedir}/build/manifest"))) > + (property (@ (name "manifest.file") > + (value "${manifest.dir}/MANIFEST.MF"))) > (property (@ (name "jar.dir") > (value "${basedir}/build/jar"))) > (property (@ (name "dist.dir") > @@ -60,6 +64,17 @@ > (path (@ (id "classpath")) > (pathelement (@ (location "${env.CLASSPATH}")))) > > + (target (@ (name "manifest")) > + (mkdir (@ (dir "${manifest.dir}"))) > + (echo (@ (file "${manifest.file}") > + (message ,(string-append > + (if main-class > + (string-append > + "Main-Class: " main-class > + "${line.separator}") > + "") > + ""))))) I think this ----------------------------------> ^^ is not needed. Otherwise LGTM. > (target (@ (name "compile")) > (mkdir (@ (dir "${classes.dir}"))) > (javac (@ (includeantruntime "false") > @@ -97,10 +112,11 @@ > (include (@ (name "**/*Test.java" ))))))) > > (target (@ (name "jar") > - (depends "compile")) > + (depends "compile, manifest")) > (mkdir (@ (dir "${jar.dir}"))) > (exec (@ (executable "jar")) > - (arg (@ (line ,(string-append "-cf ${jar.dir}/" jar-name > + (arg (@ (line ,(string-append "-cmf ${manifest.file} " > + "${jar.dir}/" jar-name > " -C ${classes.dir} .")))))) > > (target (@ (name "install")) > @@ -133,12 +149,13 @@ to the default GNU unpack strategy." > > (define* (configure #:key inputs outputs (jar-name #f) > (source-dir "src") > - (test-dir "src/test") #:allow-other-keys) > + (test-dir "src/test") > + (main-class #f) #:allow-other-keys) > (when jar-name > (default-build.xml jar-name > (string-append (assoc-ref outputs "out") > "/share/java") > - source-dir test-dir)) > + source-dir test-dir main-class)) > (setenv "JAVA_HOME" (assoc-ref inputs "jdk")) > (setenv "CLASSPATH" (generate-classpath inputs))) LGTM! Kind regards, Roel Janssen
guix-patches <at> gnu.org
:bug#28663
; Package guix-patches
.
(Tue, 03 Oct 2017 07:53:02 GMT) Full text and rfc822 format available.Message #77 received at 28663 <at> debbugs.gnu.org (full text, mbox):
From: julien lepiller <julien <at> lepiller.eu> To: 28663 <at> debbugs.gnu.org Subject: Re: [PATCH 18/22] gnu: Add java-osgi-service-jdbc. Date: Tue, 03 Oct 2017 09:52:07 +0200
Le 2017-10-01 19:53, julien <at> lepiller.eu a écrit : > From: Julien Lepiller <julien <at> lepiller.eu> > > * gnu/packages/java.scm (java-osgi-service-jdbc): New variable. > --- > gnu/packages/java.scm | 32 ++++++++++++++++++++++++++++++++ > 1 file changed, 32 insertions(+) > > diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm > index 16e39c150..9e588e520 100644 > --- a/gnu/packages/java.scm > +++ b/gnu/packages/java.scm > @@ -5165,3 +5165,35 @@ and service platform for the Java programming > language.") > and service platform for the Java programming language. This package > contains > the log service.") > (license license:asl2.0))) > + > +(define-public java-osgi-service-jdbc > + (package > + (name "java-osgi-service-jdbc") > + (version "1.0.0") > + (source (origin > + (method url-fetch) > + (uri (string-append > "http://central.maven.org/maven2/org/osgi/" > + "org.osgi.service.jdbc/" > + version "/org.osgi.service.jdbc-" > + version "-sources.jar")) > + (sha256 > + (base32 > + > "11iln5v7bk469cgb9ddkrz9sa95b3733gqgaqw9xf5g6wq652yjz")))) > + (build-system ant-build-system) > + (arguments > + `(#:jar-name "osgi-service-jdbc.jar" > + #:tests? #f)); no tests > + (home-page "http://www.osgi.org") > + (synopsis "Factory for JDBC connection factories") > + (description > + "OSGi, for Open Services Gateway initiative framework, is a > module system > +and service platform for the Java programming language. This package > contains > +A factory for JDBC connection factories. There are 3 preferred > connection > +factories for getting JDBC connections: > + > +@begin{itemize} > +@item @code{javax.sql.DataSource}; > +@item @code{javax.sql.ConnectionPoolDataSource}; > +@item @code{javax.sql.XADataSource}. > +@end{itemize}") Whoops, that's not proper texinfo, will fix ;) > + (license license:asl2.0)))
guix-patches <at> gnu.org
:bug#28663
; Package guix-patches
.
(Tue, 03 Oct 2017 07:55:01 GMT) Full text and rfc822 format available.Message #80 received at 28663 <at> debbugs.gnu.org (full text, mbox):
From: Roel Janssen <roel <at> gnu.org> To: julien <at> lepiller.eu Cc: 28663 <at> debbugs.gnu.org Subject: Re: [bug#28663] [PATCH 03/22] gnu: Add java-microemulator. Date: Tue, 03 Oct 2017 09:54:05 +0200
julien <at> lepiller.eu writes: > From: Julien Lepiller <julien <at> lepiller.eu> > > * gnu/packages/java.scm (java-microemulator): New variable. > --- > gnu/packages/java.scm | 58 +++++++++++++++++++++++++++++++++++++++++++++++++++ > 1 file changed, 58 insertions(+) > > diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm > index 806f13ab8..6973840c1 100644 > --- a/gnu/packages/java.scm > +++ b/gnu/packages/java.scm > @@ -4716,3 +4716,61 @@ complex transformations and code analysis tools.") > #t))))) > (native-inputs > `(("java-junit" ,java-junit))))) > + > +(define java-asm-old > + (package > + (inherit java-asm) > + (version "3.3.1") > + (source (origin > + (method url-fetch) > + (uri (string-append "http://download.forge.ow2.org/asm/asm-" > + version ".tar.gz")) > + (sha256 > + (base32 > + "1xcp06wbqqq4jm93pafjw5jc08vy30qiw9s7kff9gmw23ka279b9")))))) > + > +;; FIXME: This is an old project, and the sourceforge page says it moved to > +;; googlecode, which is dead... It looks like it's on Github now: https://github.com/barteo/microemu The last commit there was in May 2013, while the last commit on Sourceforge was in November 2009. > +(define-public java-microemulator > + (package > + (name "java-microemulator") > + (version "2.0.4") > + (source (origin > + (method url-fetch) > + (uri (string-append "mirror://sourceforge/microemulator/microemulator/" > + version "/microemulator-" version ".zip")) > + (sha256 > + (base32 > + "0x9a4xqw6747c130y2znfwg945jgpjnd4bzj5gdamxmi7848dslb")))) > + (build-system ant-build-system) > + (arguments > + `(#:jar-name "microemulator.jar" > + #:source-dir "src" > + #:tests? #f; no tests > + #:phases > + (modify-phases %standard-phases > + ;; The archive contains the sources as a jar file > + (add-before 'configure 'unpack-jar > + (lambda _ > + (mkdir-p "src") > + (with-directory-excursion "src" > + (zero? (system* "jar" "xf" "../microemulator-sources.jar"))))) > + (add-before 'configure 'remove-old-dep > + (lambda _ > + ;; requires netscape.javascript for which I can't find a free implementation > + (delete-file "src/org/microemu/applet/CookieRecordStoreManager.java") > + ;; requires an old version of swt > + (delete-file "src/org/microemu/app/Swt.java")))))) > + (inputs > + `(("java-swt" ,java-swt) > + ("asm" ,java-asm-old))) > + (native-inputs > + `(("unzip" ,unzip))) > + (home-page "https://sourceforge.net/projects/microemulator/") > + (synopsis "J2ME CLDC/MIDP emulator") > + (description "Microemulator is a Java 2 Micro Edition (J2ME) CLDC/MIDP > +Emulator. It allows to demonstrate MIDlet based applications in web browser > +applet and can be run as a standalone java application.") > + (license (list license:asl2.0 > + ;; or altenatively: > + license:lgpl2.1+))) So maybe we can try the latest version as can be found on Github? Kind regards, Roel Janssen
guix-patches <at> gnu.org
:bug#28663
; Package guix-patches
.
(Tue, 03 Oct 2017 08:28:01 GMT) Full text and rfc822 format available.Message #83 received at 28663 <at> debbugs.gnu.org (full text, mbox):
From: julien lepiller <julien <at> lepiller.eu> To: 28663 <at> debbugs.gnu.org Subject: Re: [bug#28663] [PATCH 03/22] gnu: Add java-microemulator. Date: Tue, 03 Oct 2017 10:27:05 +0200
Le 2017-10-03 09:54, Roel Janssen a écrit : > julien <at> lepiller.eu writes: > >> From: Julien Lepiller <julien <at> lepiller.eu> >> >> * gnu/packages/java.scm (java-microemulator): New variable. >> --- >> gnu/packages/java.scm | 58 >> +++++++++++++++++++++++++++++++++++++++++++++++++++ >> 1 file changed, 58 insertions(+) >> >> diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm >> index 806f13ab8..6973840c1 100644 >> --- a/gnu/packages/java.scm >> +++ b/gnu/packages/java.scm >> @@ -4716,3 +4716,61 @@ complex transformations and code analysis >> tools.") >> #t))))) >> (native-inputs >> `(("java-junit" ,java-junit))))) >> + >> +(define java-asm-old >> + (package >> + (inherit java-asm) >> + (version "3.3.1") >> + (source (origin >> + (method url-fetch) >> + (uri (string-append >> "http://download.forge.ow2.org/asm/asm-" >> + version ".tar.gz")) >> + (sha256 >> + (base32 >> + >> "1xcp06wbqqq4jm93pafjw5jc08vy30qiw9s7kff9gmw23ka279b9")))))) >> + >> +;; FIXME: This is an old project, and the sourceforge page says it >> moved to >> +;; googlecode, which is dead... > > It looks like it's on Github now: > https://github.com/barteo/microemu > > The last commit there was in May 2013, while the last commit on > Sourceforge was in November 2009. > >> +(define-public java-microemulator >> + (package >> + (name "java-microemulator") >> + (version "2.0.4") >> + (source (origin >> + (method url-fetch) >> + (uri (string-append >> "mirror://sourceforge/microemulator/microemulator/" >> + version "/microemulator-" version >> ".zip")) >> + (sha256 >> + (base32 >> + >> "0x9a4xqw6747c130y2znfwg945jgpjnd4bzj5gdamxmi7848dslb")))) >> + (build-system ant-build-system) >> + (arguments >> + `(#:jar-name "microemulator.jar" >> + #:source-dir "src" >> + #:tests? #f; no tests >> + #:phases >> + (modify-phases %standard-phases >> + ;; The archive contains the sources as a jar file >> + (add-before 'configure 'unpack-jar >> + (lambda _ >> + (mkdir-p "src") >> + (with-directory-excursion "src" >> + (zero? (system* "jar" "xf" >> "../microemulator-sources.jar"))))) >> + (add-before 'configure 'remove-old-dep >> + (lambda _ >> + ;; requires netscape.javascript for which I can't find a >> free implementation >> + (delete-file >> "src/org/microemu/applet/CookieRecordStoreManager.java") >> + ;; requires an old version of swt >> + (delete-file "src/org/microemu/app/Swt.java")))))) >> + (inputs >> + `(("java-swt" ,java-swt) >> + ("asm" ,java-asm-old))) >> + (native-inputs >> + `(("unzip" ,unzip))) >> + (home-page "https://sourceforge.net/projects/microemulator/") >> + (synopsis "J2ME CLDC/MIDP emulator") >> + (description "Microemulator is a Java 2 Micro Edition (J2ME) >> CLDC/MIDP >> +Emulator. It allows to demonstrate MIDlet based applications in web >> browser >> +applet and can be run as a standalone java application.") >> + (license (list license:asl2.0 >> + ;; or altenatively: >> + license:lgpl2.1+))) > > So maybe we can try the latest version as can be found on Github? Looking at github, I can see the latest version is still 2.0.4, but I guess it's more future-proof to use the github url. Will update accordingly. Thank you for the review! > > Kind regards, > Roel Janssen
guix-patches <at> gnu.org
:bug#28663
; Package guix-patches
.
(Tue, 03 Oct 2017 08:32:01 GMT) Full text and rfc822 format available.Message #86 received at 28663 <at> debbugs.gnu.org (full text, mbox):
From: Roel Janssen <roel <at> gnu.org> To: julien <at> lepiller.eu Cc: Ricardo Wurmus <rekado <at> elephly.net>, 28663 <at> debbugs.gnu.org Subject: Re: [bug#28663] [PATCH 02/22] guix: ant-build-system: Add #:test-include and #:test-exclude arguments. Date: Tue, 03 Oct 2017 10:31:05 +0200
julien <at> lepiller.eu writes: > From: Julien Lepiller <julien <at> lepiller.eu> > > * guix/build-system/ant.scm: Add #:test-include and #:test-exclude > arguments. > * guix/build/ant-build-system.scm: Generate test list from arguments. > --- > guix/build-system/ant.scm | 4 ++++ > guix/build/ant-build-system.scm | 17 +++++++++++++---- > 2 files changed, 17 insertions(+), 4 deletions(-) > > diff --git a/guix/build-system/ant.scm b/guix/build-system/ant.scm > index a700230ec..b5626bd42 100644 > --- a/guix/build-system/ant.scm > +++ b/guix/build-system/ant.scm > @@ -100,6 +100,8 @@ > (build-target "jar") > (jar-name #f) > (main-class #f) > + (test-include (list "**/*Test.java")) > + (test-exclude (list "**/Abstract*.java")) > (source-dir "src") > (test-dir "src/test") > (phases '(@ (guix build ant-build-system) > @@ -132,6 +134,8 @@ > #:build-target ,build-target > #:jar-name ,jar-name > #:main-class ,main-class > + #:test-include (list ,@test-include) > + #:test-exclude (list ,@test-exclude) > #:source-dir ,source-dir > #:test-dir ,test-dir > #:phases ,phases > diff --git a/guix/build/ant-build-system.scm b/guix/build/ant-build-system.scm > index 727d3a3b2..a440daf05 100644 > --- a/guix/build/ant-build-system.scm > +++ b/guix/build/ant-build-system.scm > @@ -36,7 +36,9 @@ > ;; Code: > > (define* (default-build.xml jar-name prefix #:optional > - (source-dir ".") (test-dir "./test") (main-class #f)) > + (source-dir ".") (test-dir "./test") (main-class #f) > + (test-include '("**/*Test.java")) > + (test-exclude '("**/Abstract*Test.java"))) > "Create a simple build.xml with standard targets for Ant." > (call-with-output-file "build.xml" > (lambda (port) > @@ -109,7 +111,12 @@ > (batchtest (@ (fork "yes") > (todir "${test.home}/test-reports")) > (fileset (@ (dir "${test.home}/java")) > - (include (@ (name "**/*Test.java" ))))))) > + ,@(map (lambda (file) > + `(include (@ (name ,file)))) > + test-include) > + ,@(map (lambda (file) > + `(exclude (@ (name ,file)))) > + test-exclude))))) > > (target (@ (name "jar") > (depends "compile, manifest")) > @@ -150,12 +157,14 @@ to the default GNU unpack strategy." > (define* (configure #:key inputs outputs (jar-name #f) > (source-dir "src") > (test-dir "src/test") > - (main-class #f) #:allow-other-keys) > + (main-class #f) > + (test-include '("**/*Test.java")) > + (test-exclude '("**/Abstract*.java")) #:allow-other-keys) > (when jar-name > (default-build.xml jar-name > (string-append (assoc-ref outputs "out") > "/share/java") > - source-dir test-dir main-class)) > + source-dir test-dir main-class test-include test-exclude)) > (setenv "JAVA_HOME" (assoc-ref inputs "jdk")) > (setenv "CLASSPATH" (generate-classpath inputs))) This seems useful, but maybe Ricardo can comment on this, because he is definitely more knowledgeable on the ant-build-system. Kind regards, Roel Janssen
guix-patches <at> gnu.org
:bug#28663
; Package guix-patches
.
(Tue, 03 Oct 2017 08:39:02 GMT) Full text and rfc822 format available.Message #89 received at 28663 <at> debbugs.gnu.org (full text, mbox):
From: Roel Janssen <roel <at> gnu.org> To: Julien Lepiller <julien <at> lepiller.eu> Cc: 28663 <at> debbugs.gnu.org Subject: Re: [bug#28663] [PATCH] New java packages Date: Tue, 03 Oct 2017 10:38:16 +0200
Julien Lepiller writes: > Hi! > > Here is a very good news: I have successfully built maven from source, > and I will try to get all my work into patches. Here is the first part: > > the first two patches add more functionnalities to the > ant-build-system: the first adds support for adding a Main-Class entry > in the manifest, which can be useful to call jar files directly. The > second adds #:test-include and #:test-exclude parameters to the build > system. They can be used to manage what tests is run and what test is > not. It currently defaults to including *Test.java, but excluding > Abstract*.java. Abstract classes are not meant to be run by junit, and > it caused issues with other packages. > > I think the next 20 packages are independent of the change in the build > system, so we can merge them before the build system patches if there > are discussions about that. > > The next 20 patches are the beginning of the (very, very) long list of > maven dependencies. These new packages are all of the packages I needed > from the OSGI project. Thanks a lot for working on this. It's pretty exciting to read that you've built maven from source! Patch 4 to 22 look good to me. They are all fairly trivial (very nice job!). For patch 3 (java-microemulator) there is a newer version available on Github. Maybe we can use that version instead? And for patch 1 and 2 I'd like to call on Ricardo to have a look. Once again, thanks a lot! Kind regards, Roel Janssen
guix-patches <at> gnu.org
:bug#28663
; Package guix-patches
.
(Tue, 03 Oct 2017 09:10:02 GMT) Full text and rfc822 format available.Message #92 received at 28663 <at> debbugs.gnu.org (full text, mbox):
From: Ricardo Wurmus <rekado <at> elephly.net> To: julien <at> lepiller.eu Cc: 28663 <at> debbugs.gnu.org Subject: Re: [bug#28663] [PATCH 01/22] guix: ant-build-system: Add main-class support. Date: Tue, 03 Oct 2017 11:09:07 +0200
julien <at> lepiller.eu writes: > From: Julien Lepiller <julien <at> lepiller.eu> > > * guix/build-system/ant.scm: New #:main-class argument > * guix/build/ant-build-system.scm: Generate a manifest file with > additional properties. > --- […] > + (target (@ (name "manifest")) > + (mkdir (@ (dir "${manifest.dir}"))) > + (echo (@ (file "${manifest.file}") > + (message ,(string-append > + (if main-class > + (string-append > + "Main-Class: " main-class > + "${line.separator}") > + "") > + ""))))) > + > (target (@ (name "compile")) > (mkdir (@ (dir "${classes.dir}"))) > (javac (@ (includeantruntime "false") > @@ -97,10 +112,11 @@ > (include (@ (name "**/*Test.java" ))))))) > > (target (@ (name "jar") > - (depends "compile")) > + (depends "compile, manifest")) > (mkdir (@ (dir "${jar.dir}"))) > (exec (@ (executable "jar")) > - (arg (@ (line ,(string-append "-cf ${jar.dir}/" jar-name > + (arg (@ (line ,(string-append "-cmf ${manifest.file} " > + "${jar.dir}/" jar-name > " -C ${classes.dir} .")))))) This is good, thank you. Could you please also document this in the manual in section “Build Systems”? One question remains, though: will this affect the timestamps inside the jar file? If so, can we reset the timestamp to ensure reproducibility? -- Ricardo GPG: BCA6 89B6 3655 3801 C3C6 2150 197A 5888 235F ACAC https://elephly.net
guix-patches <at> gnu.org
:bug#28663
; Package guix-patches
.
(Tue, 03 Oct 2017 09:15:02 GMT) Full text and rfc822 format available.Message #95 received at 28663 <at> debbugs.gnu.org (full text, mbox):
From: Ricardo Wurmus <rekado <at> elephly.net> To: julien <at> lepiller.eu Cc: 28663 <at> debbugs.gnu.org Subject: Re: [bug#28663] [PATCH 02/22] guix: ant-build-system: Add #:test-include and #:test-exclude arguments. Date: Tue, 03 Oct 2017 11:14:34 +0200
julien <at> lepiller.eu writes: > From: Julien Lepiller <julien <at> lepiller.eu> > > * guix/build-system/ant.scm: Add #:test-include and #:test-exclude > arguments. > * guix/build/ant-build-system.scm: Generate test list from arguments. > --- > guix/build-system/ant.scm | 4 ++++ > guix/build/ant-build-system.scm | 17 +++++++++++++---- > 2 files changed, 17 insertions(+), 4 deletions(-) > > diff --git a/guix/build-system/ant.scm b/guix/build-system/ant.scm > index a700230ec..b5626bd42 100644 > --- a/guix/build-system/ant.scm > +++ b/guix/build-system/ant.scm > @@ -100,6 +100,8 @@ > (build-target "jar") > (jar-name #f) > (main-class #f) > + (test-include (list "**/*Test.java")) > + (test-exclude (list "**/Abstract*.java")) > (source-dir "src") > (test-dir "src/test") > (phases '(@ (guix build ant-build-system) > @@ -132,6 +134,8 @@ > #:build-target ,build-target > #:jar-name ,jar-name > #:main-class ,main-class > + #:test-include (list ,@test-include) > + #:test-exclude (list ,@test-exclude) > #:source-dir ,source-dir > #:test-dir ,test-dir > #:phases ,phases > diff --git a/guix/build/ant-build-system.scm b/guix/build/ant-build-system.scm > index 727d3a3b2..a440daf05 100644 > --- a/guix/build/ant-build-system.scm > +++ b/guix/build/ant-build-system.scm > @@ -36,7 +36,9 @@ > ;; Code: > > (define* (default-build.xml jar-name prefix #:optional > - (source-dir ".") (test-dir "./test") (main-class #f)) > + (source-dir ".") (test-dir "./test") (main-class #f) > + (test-include '("**/*Test.java")) > + (test-exclude '("**/Abstract*Test.java"))) > "Create a simple build.xml with standard targets for Ant." > (call-with-output-file "build.xml" > (lambda (port) > @@ -109,7 +111,12 @@ > (batchtest (@ (fork "yes") > (todir "${test.home}/test-reports")) > (fileset (@ (dir "${test.home}/java")) > - (include (@ (name "**/*Test.java" ))))))) > + ,@(map (lambda (file) > + `(include (@ (name ,file)))) > + test-include) > + ,@(map (lambda (file) > + `(exclude (@ (name ,file)))) > + test-exclude))))) > > (target (@ (name "jar") > (depends "compile, manifest")) > @@ -150,12 +157,14 @@ to the default GNU unpack strategy." > (define* (configure #:key inputs outputs (jar-name #f) > (source-dir "src") > (test-dir "src/test") > - (main-class #f) #:allow-other-keys) > + (main-class #f) > + (test-include '("**/*Test.java")) > + (test-exclude '("**/Abstract*.java")) #:allow-other-keys) > (when jar-name > (default-build.xml jar-name > (string-append (assoc-ref outputs "out") > "/share/java") > - source-dir test-dir main-class)) > + source-dir test-dir main-class test-include test-exclude)) > (setenv "JAVA_HOME" (assoc-ref inputs "jdk")) > (setenv "CLASSPATH" (generate-classpath inputs))) Excellent! This probably is enough to fix the tests of java-cglib. Please also quickly mention it in the documentation of the ant-build-system. -- Ricardo GPG: BCA6 89B6 3655 3801 C3C6 2150 197A 5888 235F ACAC https://elephly.net
guix-patches <at> gnu.org
:bug#28663
; Package guix-patches
.
(Tue, 03 Oct 2017 09:51:02 GMT) Full text and rfc822 format available.Message #98 received at 28663 <at> debbugs.gnu.org (full text, mbox):
From: julien lepiller <julien <at> lepiller.eu> To: 28663 <at> debbugs.gnu.org Subject: Re: [bug#28663] [PATCH 01/22] guix: ant-build-system: Add main-class support. Date: Tue, 03 Oct 2017 11:50:18 +0200
Le 2017-10-03 11:09, Ricardo Wurmus a écrit : > julien <at> lepiller.eu writes: > >> From: Julien Lepiller <julien <at> lepiller.eu> >> >> * guix/build-system/ant.scm: New #:main-class argument >> * guix/build/ant-build-system.scm: Generate a manifest file with >> additional properties. >> --- > […] >> + (target (@ (name "manifest")) >> + (mkdir (@ (dir "${manifest.dir}"))) >> + (echo (@ (file "${manifest.file}") >> + (message ,(string-append >> + (if main-class >> + (string-append >> + "Main-Class: " >> main-class >> + >> "${line.separator}") >> + "") >> + ""))))) >> + >> (target (@ (name "compile")) >> (mkdir (@ (dir "${classes.dir}"))) >> (javac (@ (includeantruntime "false") >> @@ -97,10 +112,11 @@ >> (include (@ (name >> "**/*Test.java" ))))))) >> >> (target (@ (name "jar") >> - (depends "compile")) >> + (depends "compile, manifest")) >> (mkdir (@ (dir "${jar.dir}"))) >> (exec (@ (executable "jar")) >> - (arg (@ (line ,(string-append "-cf >> ${jar.dir}/" jar-name >> + (arg (@ (line ,(string-append "-cmf >> ${manifest.file} " >> + >> "${jar.dir}/" jar-name >> " -C >> ${classes.dir} .")))))) > > This is good, thank you. Could you please also document this in the > manual in section “Build Systems”? Is something like this OK? I will divide that paragraph in the two commits of course. +The @code{#:main-class} parameter can be used with the minimal ant build +file to specify the main class of the resulting jar. This makes the jar +file executable. The @code{#:test-include} parameter can be used to specify the +list of junit tests to run. It defaults to @code{(list "**/*Test.java")}. +The @code{#:test-exclude} can be used to disable some tests. It defaults to +@code{(list "**/Abstract*.java")}, because abstract classes cannot be run as +tests. > > One question remains, though: will this affect the timestamps inside > the > jar file? If so, can we reset the timestamp to ensure reproducibility? I think it's taken care of by the strip-jar-timestamps phase, but I will check. I also have a side-question: Some of the maven packages use three or four different generators, and some dependencies (such as java-eclipse-sisu-plexus) have a lot of runtime dependencies that are not discovered by java. The issue here is that including java-eclipse-sisu-plexus in the inputs field of a package is enough to build it, but not to run it. We could use propagated-inputs for that, as in the python world, but it doesn't feel right. This issue is also present for test dependencies where I would get a lot of runtime error because java cannot find a dependency of a dependency. I see that there is a Class-Path entry that can be added to the MANIFEST.MF file, and that could be a way java could find the dependencies of a package. The jar file is actually a zip archive. Would the grafter be able to graft it? Do you know whether Class-Path is transitive? Is there a way to programmatically filter inputs from native- and propagated- inputs? Or should we ask the packager to give a list of dependencies in a build argument, effectively duplicating some code? I had this issue with the antlr tools too, but I found a solution: I added a shell wrapper that uses the correct classpath, but it only works because antlr is not a library. Thank for your review and sorry for the unexpected questions.
Julien Lepiller <julien <at> lepiller.eu>
:Julien Lepiller <julien <at> lepiller.eu>
:Message #103 received at 28663-done <at> debbugs.gnu.org (full text, mbox):
From: Julien Lepiller <julien <at> lepiller.eu> To: 28663-done <at> debbugs.gnu.org Subject: Re: [bug#28663] [PATCH] New java packages Date: Tue, 3 Oct 2017 21:48:51 +0200
Pushed as 8df1faa047870c51954275664e8e7efc94e6fc56 - 500aac750ee133a774d39b463eabe51758c048d8. Thank you for your review, I will send another 20 or so patches very soon (200 left before maven).
Debbugs Internal Request <help-debbugs <at> gnu.org>
to internal_control <at> debbugs.gnu.org
.
(Wed, 01 Nov 2017 11:24:04 GMT) Full text and rfc822 format available.
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.