gnu: Add classpath-jamvm-wrappers.

* gnu/packages/java.scm (classpath-jamvm-wrappers): New variable.
This commit is contained in:
Ricardo Wurmus 2017-05-14 00:30:18 +02:00
parent 5f4402c7a3
commit 04d7cae2c4
No known key found for this signature in database
GPG key ID: 197A5888235FACAC

View file

@ -491,6 +491,51 @@ (define jamvm-bootstrap
JNI.")
(license license:gpl2+)))
;; We need this because the tools provided by the latest release of GNU
;; Classpath don't actually work with sablevm.
(define classpath-jamvm-wrappers
(package (inherit classpath-on-sablevm)
(name "classpath-jamvm-wrappers")
(source #f)
(build-system trivial-build-system)
(arguments
`(#:modules ((guix build utils))
#:builder
(begin
(use-modules (guix build utils))
(let* ((bash (assoc-ref %build-inputs "bash"))
(jamvm (assoc-ref %build-inputs "jamvm"))
(classpath (assoc-ref %build-inputs "classpath"))
(bin (string-append (assoc-ref %outputs "out")
"/bin/")))
(mkdir-p bin)
(for-each (lambda (tool)
(with-output-to-file (string-append bin tool)
(lambda _
(format #t "#!~a/bin/sh
~a/bin/jamvm -classpath ~a/share/classpath/tools.zip \
gnu.classpath.tools.~a.~a $@"
bash jamvm classpath tool
(if (string=? "native2ascii" tool)
"Native2ASCII" "Main"))))
(chmod (string-append bin tool) #o755))
(list "javah"
"rmic"
"rmid"
"orbd"
"rmiregistry"
"native2ascii"))
#t))))
(native-inputs
`(("bash" ,bash)
("jamvm" ,jamvm-bootstrap)
("classpath" ,classpath-on-sablevm)))
(inputs '())
(synopsis "Executables from GNU Classpath")
(description "This package provides wrappers around the tools provided by
the GNU Classpath library. They are executed by the JamVM virtual
machine.")))
(define-public java-swt
(package
(name "java-swt")