* [bug#28663] [PATCH] New java packages
@ 2017-10-01 17:44 Julien Lepiller
2017-10-01 17:53 ` [bug#28663] [PATCH 01/22] guix: ant-build-system: Add main-class support julien
2017-10-03 8:38 ` [bug#28663] [PATCH] New java packages Roel Janssen
0 siblings, 2 replies; 33+ messages in thread
From: Julien Lepiller @ 2017-10-01 17:44 UTC (permalink / raw)
To: 28663
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.
^ permalink raw reply [flat|nested] 33+ messages in thread
* [bug#28663] [PATCH 01/22] guix: ant-build-system: Add main-class support.
2017-10-01 17:44 [bug#28663] [PATCH] New java packages Julien Lepiller
@ 2017-10-01 17:53 ` julien
2017-10-01 17:53 ` [bug#28663] [PATCH 02/22] guix: ant-build-system: Add #:test-include and #:test-exclude arguments julien
` (22 more replies)
2017-10-03 8:38 ` [bug#28663] [PATCH] New java packages Roel Janssen
1 sibling, 23 replies; 33+ messages in thread
From: julien @ 2017-10-01 17:53 UTC (permalink / raw)
To: 28663
From: Julien Lepiller <julien@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
^ permalink raw reply related [flat|nested] 33+ messages in thread
* [bug#28663] [PATCH 02/22] guix: ant-build-system: Add #:test-include and #:test-exclude arguments.
2017-10-01 17:53 ` [bug#28663] [PATCH 01/22] guix: ant-build-system: Add main-class support julien
@ 2017-10-01 17:53 ` julien
2017-10-03 8:31 ` Roel Janssen
2017-10-03 9:14 ` Ricardo Wurmus
2017-10-01 17:53 ` [bug#28663] [PATCH 03/22] gnu: Add java-microemulator julien
` (21 subsequent siblings)
22 siblings, 2 replies; 33+ messages in thread
From: julien @ 2017-10-01 17:53 UTC (permalink / raw)
To: 28663
From: Julien Lepiller <julien@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
^ permalink raw reply related [flat|nested] 33+ messages in thread
* [bug#28663] [PATCH 03/22] gnu: Add java-microemulator.
2017-10-01 17:53 ` [bug#28663] [PATCH 01/22] guix: ant-build-system: Add main-class support julien
2017-10-01 17:53 ` [bug#28663] [PATCH 02/22] guix: ant-build-system: Add #:test-include and #:test-exclude arguments julien
@ 2017-10-01 17:53 ` julien
2017-10-03 7:54 ` Roel Janssen
2017-10-01 17:53 ` [bug#28663] [PATCH 04/22] gnu: Add java-datanucleus-javax-persistence julien
` (20 subsequent siblings)
22 siblings, 1 reply; 33+ messages in thread
From: julien @ 2017-10-01 17:53 UTC (permalink / raw)
To: 28663
From: Julien Lepiller <julien@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
^ permalink raw reply related [flat|nested] 33+ messages in thread
* [bug#28663] [PATCH 04/22] gnu: Add java-datanucleus-javax-persistence.
2017-10-01 17:53 ` [bug#28663] [PATCH 01/22] guix: ant-build-system: Add main-class support julien
2017-10-01 17:53 ` [bug#28663] [PATCH 02/22] guix: ant-build-system: Add #:test-include and #:test-exclude arguments julien
2017-10-01 17:53 ` [bug#28663] [PATCH 03/22] gnu: Add java-microemulator julien
@ 2017-10-01 17:53 ` julien
2017-10-01 17:53 ` [bug#28663] [PATCH 05/22] gnu: Add java-osgi-cmpn julien
` (19 subsequent siblings)
22 siblings, 0 replies; 33+ messages in thread
From: julien @ 2017-10-01 17:53 UTC (permalink / raw)
To: 28663
From: Julien Lepiller <julien@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
^ permalink raw reply related [flat|nested] 33+ messages in thread
* [bug#28663] [PATCH 05/22] gnu: Add java-osgi-cmpn.
2017-10-01 17:53 ` [bug#28663] [PATCH 01/22] guix: ant-build-system: Add main-class support julien
` (2 preceding siblings ...)
2017-10-01 17:53 ` [bug#28663] [PATCH 04/22] gnu: Add java-datanucleus-javax-persistence julien
@ 2017-10-01 17:53 ` julien
2017-10-01 17:53 ` [bug#28663] [PATCH 06/22] gnu: Add java-osgi-service-component-annotations julien
` (18 subsequent siblings)
22 siblings, 0 replies; 33+ messages in thread
From: julien @ 2017-10-01 17:53 UTC (permalink / raw)
To: 28663
From: Julien Lepiller <julien@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
^ permalink raw reply related [flat|nested] 33+ messages in thread
* [bug#28663] [PATCH 06/22] gnu: Add java-osgi-service-component-annotations.
2017-10-01 17:53 ` [bug#28663] [PATCH 01/22] guix: ant-build-system: Add main-class support julien
` (3 preceding siblings ...)
2017-10-01 17:53 ` [bug#28663] [PATCH 05/22] gnu: Add java-osgi-cmpn julien
@ 2017-10-01 17:53 ` julien
2017-10-01 17:53 ` [bug#28663] [PATCH 07/22] gnu: Add java-osgi-dto julien
` (17 subsequent siblings)
22 siblings, 0 replies; 33+ messages in thread
From: julien @ 2017-10-01 17:53 UTC (permalink / raw)
To: 28663
From: Julien Lepiller <julien@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
^ permalink raw reply related [flat|nested] 33+ messages in thread
* [bug#28663] [PATCH 07/22] gnu: Add java-osgi-dto.
2017-10-01 17:53 ` [bug#28663] [PATCH 01/22] guix: ant-build-system: Add main-class support julien
` (4 preceding siblings ...)
2017-10-01 17:53 ` [bug#28663] [PATCH 06/22] gnu: Add java-osgi-service-component-annotations julien
@ 2017-10-01 17:53 ` julien
2017-10-01 17:53 ` [bug#28663] [PATCH 08/22] gnu: Add java-osgi-resource julien
` (16 subsequent siblings)
22 siblings, 0 replies; 33+ messages in thread
From: julien @ 2017-10-01 17:53 UTC (permalink / raw)
To: 28663
From: Julien Lepiller <julien@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
^ permalink raw reply related [flat|nested] 33+ messages in thread
* [bug#28663] [PATCH 08/22] gnu: Add java-osgi-resource.
2017-10-01 17:53 ` [bug#28663] [PATCH 01/22] guix: ant-build-system: Add main-class support julien
` (5 preceding siblings ...)
2017-10-01 17:53 ` [bug#28663] [PATCH 07/22] gnu: Add java-osgi-dto julien
@ 2017-10-01 17:53 ` julien
2017-10-01 17:53 ` [bug#28663] [PATCH 09/22] gnu: Add java-osgi-namespace-contract julien
` (15 subsequent siblings)
22 siblings, 0 replies; 33+ messages in thread
From: julien @ 2017-10-01 17:53 UTC (permalink / raw)
To: 28663
From: Julien Lepiller <julien@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
^ permalink raw reply related [flat|nested] 33+ messages in thread
* [bug#28663] [PATCH 09/22] gnu: Add java-osgi-namespace-contract.
2017-10-01 17:53 ` [bug#28663] [PATCH 01/22] guix: ant-build-system: Add main-class support julien
` (6 preceding siblings ...)
2017-10-01 17:53 ` [bug#28663] [PATCH 08/22] gnu: Add java-osgi-resource julien
@ 2017-10-01 17:53 ` julien
2017-10-01 17:53 ` [bug#28663] [PATCH 10/22] gnu: Add java-osgi-namespace-extender julien
` (14 subsequent siblings)
22 siblings, 0 replies; 33+ messages in thread
From: julien @ 2017-10-01 17:53 UTC (permalink / raw)
To: 28663
From: Julien Lepiller <julien@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
^ permalink raw reply related [flat|nested] 33+ messages in thread
* [bug#28663] [PATCH 10/22] gnu: Add java-osgi-namespace-extender.
2017-10-01 17:53 ` [bug#28663] [PATCH 01/22] guix: ant-build-system: Add main-class support julien
` (7 preceding siblings ...)
2017-10-01 17:53 ` [bug#28663] [PATCH 09/22] gnu: Add java-osgi-namespace-contract julien
@ 2017-10-01 17:53 ` julien
2017-10-01 17:53 ` [bug#28663] [PATCH 11/22] gnu: Add java-osgi-namespace-service julien
` (13 subsequent siblings)
22 siblings, 0 replies; 33+ messages in thread
From: julien @ 2017-10-01 17:53 UTC (permalink / raw)
To: 28663
From: Julien Lepiller <julien@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
^ permalink raw reply related [flat|nested] 33+ messages in thread
* [bug#28663] [PATCH 11/22] gnu: Add java-osgi-namespace-service.
2017-10-01 17:53 ` [bug#28663] [PATCH 01/22] guix: ant-build-system: Add main-class support julien
` (8 preceding siblings ...)
2017-10-01 17:53 ` [bug#28663] [PATCH 10/22] gnu: Add java-osgi-namespace-extender julien
@ 2017-10-01 17:53 ` julien
2017-10-01 17:53 ` [bug#28663] [PATCH 12/22] gnu: Add java-osgi-util-function julien
` (12 subsequent siblings)
22 siblings, 0 replies; 33+ messages in thread
From: julien @ 2017-10-01 17:53 UTC (permalink / raw)
To: 28663
From: Julien Lepiller <julien@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
^ permalink raw reply related [flat|nested] 33+ messages in thread
* [bug#28663] [PATCH 12/22] gnu: Add java-osgi-util-function.
2017-10-01 17:53 ` [bug#28663] [PATCH 01/22] guix: ant-build-system: Add main-class support julien
` (9 preceding siblings ...)
2017-10-01 17:53 ` [bug#28663] [PATCH 11/22] gnu: Add java-osgi-namespace-service julien
@ 2017-10-01 17:53 ` julien
2017-10-01 17:53 ` [bug#28663] [PATCH 13/22] gnu: Add java-osgi-util-promise julien
` (11 subsequent siblings)
22 siblings, 0 replies; 33+ messages in thread
From: julien @ 2017-10-01 17:53 UTC (permalink / raw)
To: 28663
From: Julien Lepiller <julien@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
^ permalink raw reply related [flat|nested] 33+ messages in thread
* [bug#28663] [PATCH 13/22] gnu: Add java-osgi-util-promise.
2017-10-01 17:53 ` [bug#28663] [PATCH 01/22] guix: ant-build-system: Add main-class support julien
` (10 preceding siblings ...)
2017-10-01 17:53 ` [bug#28663] [PATCH 12/22] gnu: Add java-osgi-util-function julien
@ 2017-10-01 17:53 ` julien
2017-10-01 17:53 ` [bug#28663] [PATCH 14/22] gnu: Add java-osgi-service-metatype-annotations julien
` (10 subsequent siblings)
22 siblings, 0 replies; 33+ messages in thread
From: julien @ 2017-10-01 17:53 UTC (permalink / raw)
To: 28663
From: Julien Lepiller <julien@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
^ permalink raw reply related [flat|nested] 33+ messages in thread
* [bug#28663] [PATCH 14/22] gnu: Add java-osgi-service-metatype-annotations.
2017-10-01 17:53 ` [bug#28663] [PATCH 01/22] guix: ant-build-system: Add main-class support julien
` (11 preceding siblings ...)
2017-10-01 17:53 ` [bug#28663] [PATCH 13/22] gnu: Add java-osgi-util-promise julien
@ 2017-10-01 17:53 ` julien
2017-10-01 17:53 ` [bug#28663] [PATCH 15/22] gnu: Add java-osgi-service-repository julien
` (9 subsequent siblings)
22 siblings, 0 replies; 33+ messages in thread
From: julien @ 2017-10-01 17:53 UTC (permalink / raw)
To: 28663
From: Julien Lepiller <julien@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
^ permalink raw reply related [flat|nested] 33+ messages in thread
* [bug#28663] [PATCH 15/22] gnu: Add java-osgi-service-repository.
2017-10-01 17:53 ` [bug#28663] [PATCH 01/22] guix: ant-build-system: Add main-class support julien
` (12 preceding siblings ...)
2017-10-01 17:53 ` [bug#28663] [PATCH 14/22] gnu: Add java-osgi-service-metatype-annotations julien
@ 2017-10-01 17:53 ` julien
2017-10-01 17:53 ` [bug#28663] [PATCH 16/22] gnu: Add java-osgi-framework julien
` (8 subsequent siblings)
22 siblings, 0 replies; 33+ messages in thread
From: julien @ 2017-10-01 17:53 UTC (permalink / raw)
To: 28663
From: Julien Lepiller <julien@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
^ permalink raw reply related [flat|nested] 33+ messages in thread
* [bug#28663] [PATCH 16/22] gnu: Add java-osgi-framework.
2017-10-01 17:53 ` [bug#28663] [PATCH 01/22] guix: ant-build-system: Add main-class support julien
` (13 preceding siblings ...)
2017-10-01 17:53 ` [bug#28663] [PATCH 15/22] gnu: Add java-osgi-service-repository julien
@ 2017-10-01 17:53 ` julien
2017-10-01 17:53 ` [bug#28663] [PATCH 17/22] gnu: Add java-osgi-service-log julien
` (7 subsequent siblings)
22 siblings, 0 replies; 33+ messages in thread
From: julien @ 2017-10-01 17:53 UTC (permalink / raw)
To: 28663
From: Julien Lepiller <julien@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
^ permalink raw reply related [flat|nested] 33+ messages in thread
* [bug#28663] [PATCH 17/22] gnu: Add java-osgi-service-log.
2017-10-01 17:53 ` [bug#28663] [PATCH 01/22] guix: ant-build-system: Add main-class support julien
` (14 preceding siblings ...)
2017-10-01 17:53 ` [bug#28663] [PATCH 16/22] gnu: Add java-osgi-framework julien
@ 2017-10-01 17:53 ` julien
2017-10-01 17:53 ` [bug#28663] [PATCH 18/22] gnu: Add java-osgi-service-jdbc julien
` (6 subsequent siblings)
22 siblings, 0 replies; 33+ messages in thread
From: julien @ 2017-10-01 17:53 UTC (permalink / raw)
To: 28663
From: Julien Lepiller <julien@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
^ permalink raw reply related [flat|nested] 33+ messages in thread
* [bug#28663] [PATCH 18/22] gnu: Add java-osgi-service-jdbc.
2017-10-01 17:53 ` [bug#28663] [PATCH 01/22] guix: ant-build-system: Add main-class support julien
` (15 preceding siblings ...)
2017-10-01 17:53 ` [bug#28663] [PATCH 17/22] gnu: Add java-osgi-service-log julien
@ 2017-10-01 17:53 ` julien
2017-10-03 7:52 ` julien lepiller
2017-10-01 17:53 ` [bug#28663] [PATCH 19/22] gnu: Add java-osgi-service-resolver julien
` (5 subsequent siblings)
22 siblings, 1 reply; 33+ messages in thread
From: julien @ 2017-10-01 17:53 UTC (permalink / raw)
To: 28663
From: Julien Lepiller <julien@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
^ permalink raw reply related [flat|nested] 33+ messages in thread
* [bug#28663] [PATCH 19/22] gnu: Add java-osgi-service-resolver.
2017-10-01 17:53 ` [bug#28663] [PATCH 01/22] guix: ant-build-system: Add main-class support julien
` (16 preceding siblings ...)
2017-10-01 17:53 ` [bug#28663] [PATCH 18/22] gnu: Add java-osgi-service-jdbc julien
@ 2017-10-01 17:53 ` julien
2017-10-01 17:53 ` [bug#28663] [PATCH 20/22] gnu: Add java-osgi-util-tracker julien
` (4 subsequent siblings)
22 siblings, 0 replies; 33+ messages in thread
From: julien @ 2017-10-01 17:53 UTC (permalink / raw)
To: 28663
From: Julien Lepiller <julien@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
^ permalink raw reply related [flat|nested] 33+ messages in thread
* [bug#28663] [PATCH 20/22] gnu: Add java-osgi-util-tracker.
2017-10-01 17:53 ` [bug#28663] [PATCH 01/22] guix: ant-build-system: Add main-class support julien
` (17 preceding siblings ...)
2017-10-01 17:53 ` [bug#28663] [PATCH 19/22] gnu: Add java-osgi-service-resolver julien
@ 2017-10-01 17:53 ` julien
2017-10-01 17:53 ` [bug#28663] [PATCH 21/22] gnu: Add java-osgi-service-cm julien
` (3 subsequent siblings)
22 siblings, 0 replies; 33+ messages in thread
From: julien @ 2017-10-01 17:53 UTC (permalink / raw)
To: 28663
From: Julien Lepiller <julien@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
^ permalink raw reply related [flat|nested] 33+ messages in thread
* [bug#28663] [PATCH 21/22] gnu: Add java-osgi-service-cm.
2017-10-01 17:53 ` [bug#28663] [PATCH 01/22] guix: ant-build-system: Add main-class support julien
` (18 preceding siblings ...)
2017-10-01 17:53 ` [bug#28663] [PATCH 20/22] gnu: Add java-osgi-util-tracker julien
@ 2017-10-01 17:53 ` julien
2017-10-01 17:53 ` [bug#28663] [PATCH 22/22] gnu: Add java-osgi-service-packageadmin julien
` (2 subsequent siblings)
22 siblings, 0 replies; 33+ messages in thread
From: julien @ 2017-10-01 17:53 UTC (permalink / raw)
To: 28663
From: Julien Lepiller <julien@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
^ permalink raw reply related [flat|nested] 33+ messages in thread
* [bug#28663] [PATCH 22/22] gnu: Add java-osgi-service-packageadmin.
2017-10-01 17:53 ` [bug#28663] [PATCH 01/22] guix: ant-build-system: Add main-class support julien
` (19 preceding siblings ...)
2017-10-01 17:53 ` [bug#28663] [PATCH 21/22] gnu: Add java-osgi-service-cm julien
@ 2017-10-01 17:53 ` julien
2017-10-03 7:44 ` [bug#28663] [PATCH 01/22] guix: ant-build-system: Add main-class support Roel Janssen
2017-10-03 9:09 ` Ricardo Wurmus
22 siblings, 0 replies; 33+ messages in thread
From: julien @ 2017-10-01 17:53 UTC (permalink / raw)
To: 28663
From: Julien Lepiller <julien@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
^ permalink raw reply related [flat|nested] 33+ messages in thread
* [bug#28663] [PATCH 01/22] guix: ant-build-system: Add main-class support.
2017-10-01 17:53 ` [bug#28663] [PATCH 01/22] guix: ant-build-system: Add main-class support julien
` (20 preceding siblings ...)
2017-10-01 17:53 ` [bug#28663] [PATCH 22/22] gnu: Add java-osgi-service-packageadmin julien
@ 2017-10-03 7:44 ` Roel Janssen
2017-10-03 9:09 ` Ricardo Wurmus
22 siblings, 0 replies; 33+ messages in thread
From: Roel Janssen @ 2017-10-03 7:44 UTC (permalink / raw)
To: julien; +Cc: 28663
Hi Julien,
Thanks for these patches! I will try to look all of them.
julien@lepiller.eu writes:
> From: Julien Lepiller <julien@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
^ permalink raw reply [flat|nested] 33+ messages in thread
* [bug#28663] [PATCH 18/22] gnu: Add java-osgi-service-jdbc.
2017-10-01 17:53 ` [bug#28663] [PATCH 18/22] gnu: Add java-osgi-service-jdbc julien
@ 2017-10-03 7:52 ` julien lepiller
0 siblings, 0 replies; 33+ messages in thread
From: julien lepiller @ 2017-10-03 7:52 UTC (permalink / raw)
To: 28663
Le 2017-10-01 19:53, julien@lepiller.eu a écrit :
> From: Julien Lepiller <julien@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)))
^ permalink raw reply [flat|nested] 33+ messages in thread
* [bug#28663] [PATCH 03/22] gnu: Add java-microemulator.
2017-10-01 17:53 ` [bug#28663] [PATCH 03/22] gnu: Add java-microemulator julien
@ 2017-10-03 7:54 ` Roel Janssen
2017-10-03 8:27 ` julien lepiller
0 siblings, 1 reply; 33+ messages in thread
From: Roel Janssen @ 2017-10-03 7:54 UTC (permalink / raw)
To: julien; +Cc: 28663
julien@lepiller.eu writes:
> From: Julien Lepiller <julien@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
^ permalink raw reply [flat|nested] 33+ messages in thread
* [bug#28663] [PATCH 03/22] gnu: Add java-microemulator.
2017-10-03 7:54 ` Roel Janssen
@ 2017-10-03 8:27 ` julien lepiller
0 siblings, 0 replies; 33+ messages in thread
From: julien lepiller @ 2017-10-03 8:27 UTC (permalink / raw)
To: 28663
Le 2017-10-03 09:54, Roel Janssen a écrit :
> julien@lepiller.eu writes:
>
>> From: Julien Lepiller <julien@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
^ permalink raw reply [flat|nested] 33+ messages in thread
* [bug#28663] [PATCH 02/22] guix: ant-build-system: Add #:test-include and #:test-exclude arguments.
2017-10-01 17:53 ` [bug#28663] [PATCH 02/22] guix: ant-build-system: Add #:test-include and #:test-exclude arguments julien
@ 2017-10-03 8:31 ` Roel Janssen
2017-10-03 9:14 ` Ricardo Wurmus
1 sibling, 0 replies; 33+ messages in thread
From: Roel Janssen @ 2017-10-03 8:31 UTC (permalink / raw)
To: julien; +Cc: Ricardo Wurmus, 28663
julien@lepiller.eu writes:
> From: Julien Lepiller <julien@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
^ permalink raw reply [flat|nested] 33+ messages in thread
* [bug#28663] [PATCH] New java packages
2017-10-01 17:44 [bug#28663] [PATCH] New java packages Julien Lepiller
2017-10-01 17:53 ` [bug#28663] [PATCH 01/22] guix: ant-build-system: Add main-class support julien
@ 2017-10-03 8:38 ` Roel Janssen
2017-10-03 19:48 ` bug#28663: " Julien Lepiller
1 sibling, 1 reply; 33+ messages in thread
From: Roel Janssen @ 2017-10-03 8:38 UTC (permalink / raw)
To: Julien Lepiller; +Cc: 28663
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
^ permalink raw reply [flat|nested] 33+ messages in thread
* [bug#28663] [PATCH 01/22] guix: ant-build-system: Add main-class support.
2017-10-01 17:53 ` [bug#28663] [PATCH 01/22] guix: ant-build-system: Add main-class support julien
` (21 preceding siblings ...)
2017-10-03 7:44 ` [bug#28663] [PATCH 01/22] guix: ant-build-system: Add main-class support Roel Janssen
@ 2017-10-03 9:09 ` Ricardo Wurmus
2017-10-03 9:50 ` julien lepiller
22 siblings, 1 reply; 33+ messages in thread
From: Ricardo Wurmus @ 2017-10-03 9:09 UTC (permalink / raw)
To: julien; +Cc: 28663
julien@lepiller.eu writes:
> From: Julien Lepiller <julien@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
^ permalink raw reply [flat|nested] 33+ messages in thread
* [bug#28663] [PATCH 02/22] guix: ant-build-system: Add #:test-include and #:test-exclude arguments.
2017-10-01 17:53 ` [bug#28663] [PATCH 02/22] guix: ant-build-system: Add #:test-include and #:test-exclude arguments julien
2017-10-03 8:31 ` Roel Janssen
@ 2017-10-03 9:14 ` Ricardo Wurmus
1 sibling, 0 replies; 33+ messages in thread
From: Ricardo Wurmus @ 2017-10-03 9:14 UTC (permalink / raw)
To: julien; +Cc: 28663
julien@lepiller.eu writes:
> From: Julien Lepiller <julien@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
^ permalink raw reply [flat|nested] 33+ messages in thread
* [bug#28663] [PATCH 01/22] guix: ant-build-system: Add main-class support.
2017-10-03 9:09 ` Ricardo Wurmus
@ 2017-10-03 9:50 ` julien lepiller
0 siblings, 0 replies; 33+ messages in thread
From: julien lepiller @ 2017-10-03 9:50 UTC (permalink / raw)
To: 28663
Le 2017-10-03 11:09, Ricardo Wurmus a écrit :
> julien@lepiller.eu writes:
>
>> From: Julien Lepiller <julien@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.
^ permalink raw reply [flat|nested] 33+ messages in thread
* bug#28663: [PATCH] New java packages
2017-10-03 8:38 ` [bug#28663] [PATCH] New java packages Roel Janssen
@ 2017-10-03 19:48 ` Julien Lepiller
0 siblings, 0 replies; 33+ messages in thread
From: Julien Lepiller @ 2017-10-03 19:48 UTC (permalink / raw)
To: 28663-done
Pushed as
8df1faa047870c51954275664e8e7efc94e6fc56
- 500aac750ee133a774d39b463eabe51758c048d8.
Thank you for your review, I will send another 20 or so patches very
soon (200 left before maven).
^ permalink raw reply [flat|nested] 33+ messages in thread
end of thread, other threads:[~2017-10-03 19:51 UTC | newest]
Thread overview: 33+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-10-01 17:44 [bug#28663] [PATCH] New java packages Julien Lepiller
2017-10-01 17:53 ` [bug#28663] [PATCH 01/22] guix: ant-build-system: Add main-class support julien
2017-10-01 17:53 ` [bug#28663] [PATCH 02/22] guix: ant-build-system: Add #:test-include and #:test-exclude arguments julien
2017-10-03 8:31 ` Roel Janssen
2017-10-03 9:14 ` Ricardo Wurmus
2017-10-01 17:53 ` [bug#28663] [PATCH 03/22] gnu: Add java-microemulator julien
2017-10-03 7:54 ` Roel Janssen
2017-10-03 8:27 ` julien lepiller
2017-10-01 17:53 ` [bug#28663] [PATCH 04/22] gnu: Add java-datanucleus-javax-persistence julien
2017-10-01 17:53 ` [bug#28663] [PATCH 05/22] gnu: Add java-osgi-cmpn julien
2017-10-01 17:53 ` [bug#28663] [PATCH 06/22] gnu: Add java-osgi-service-component-annotations julien
2017-10-01 17:53 ` [bug#28663] [PATCH 07/22] gnu: Add java-osgi-dto julien
2017-10-01 17:53 ` [bug#28663] [PATCH 08/22] gnu: Add java-osgi-resource julien
2017-10-01 17:53 ` [bug#28663] [PATCH 09/22] gnu: Add java-osgi-namespace-contract julien
2017-10-01 17:53 ` [bug#28663] [PATCH 10/22] gnu: Add java-osgi-namespace-extender julien
2017-10-01 17:53 ` [bug#28663] [PATCH 11/22] gnu: Add java-osgi-namespace-service julien
2017-10-01 17:53 ` [bug#28663] [PATCH 12/22] gnu: Add java-osgi-util-function julien
2017-10-01 17:53 ` [bug#28663] [PATCH 13/22] gnu: Add java-osgi-util-promise julien
2017-10-01 17:53 ` [bug#28663] [PATCH 14/22] gnu: Add java-osgi-service-metatype-annotations julien
2017-10-01 17:53 ` [bug#28663] [PATCH 15/22] gnu: Add java-osgi-service-repository julien
2017-10-01 17:53 ` [bug#28663] [PATCH 16/22] gnu: Add java-osgi-framework julien
2017-10-01 17:53 ` [bug#28663] [PATCH 17/22] gnu: Add java-osgi-service-log julien
2017-10-01 17:53 ` [bug#28663] [PATCH 18/22] gnu: Add java-osgi-service-jdbc julien
2017-10-03 7:52 ` julien lepiller
2017-10-01 17:53 ` [bug#28663] [PATCH 19/22] gnu: Add java-osgi-service-resolver julien
2017-10-01 17:53 ` [bug#28663] [PATCH 20/22] gnu: Add java-osgi-util-tracker julien
2017-10-01 17:53 ` [bug#28663] [PATCH 21/22] gnu: Add java-osgi-service-cm julien
2017-10-01 17:53 ` [bug#28663] [PATCH 22/22] gnu: Add java-osgi-service-packageadmin julien
2017-10-03 7:44 ` [bug#28663] [PATCH 01/22] guix: ant-build-system: Add main-class support Roel Janssen
2017-10-03 9:09 ` Ricardo Wurmus
2017-10-03 9:50 ` julien lepiller
2017-10-03 8:38 ` [bug#28663] [PATCH] New java packages Roel Janssen
2017-10-03 19:48 ` bug#28663: " Julien Lepiller
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/guix.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.