[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#26966: [PATCH 09/22] gnu: Add classpath-jamvm-wrappers.
From: |
Roel Janssen |
Subject: |
bug#26966: [PATCH 09/22] gnu: Add classpath-jamvm-wrappers. |
Date: |
Mon, 22 May 2017 10:05:13 +0200 |
User-agent: |
mu4e 0.9.18; emacs 25.2.1 |
Ricardo Wurmus writes:
> * gnu/packages/java.scm (classpath-jamvm-wrappers): New variable.
> ---
> gnu/packages/java.scm | 45 +++++++++++++++++++++++++++++++++++++++++++++
> 1 file changed, 45 insertions(+)
>
> diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
> index f2df5b9f1..ae9a5b3d7 100644
> --- a/gnu/packages/java.scm
> +++ b/gnu/packages/java.scm
> @@ -497,6 +497,51 @@ other small VMs it supports the full spec, including
> object finalisation and
> 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")
LGTM!
Kind regards,
Roel Janssen
- bug#26966: [PATCH 06/22] gnu: Add ecj-javac-wrapper., (continued)
bug#26966: [PATCH 08/22] gnu: Add jamvm-bootstrap., Ricardo Wurmus, 2017/05/17
bug#26966: [PATCH 07/22] gnu: Add classpath., Ricardo Wurmus, 2017/05/17
bug#26966: [PATCH 09/22] gnu: Add classpath-jamvm-wrappers., Ricardo Wurmus, 2017/05/17
- bug#26966: [PATCH 09/22] gnu: Add classpath-jamvm-wrappers.,
Roel Janssen <=
bug#26966: [PATCH 11/22] gnu: Add classpath-devel., Ricardo Wurmus, 2017/05/17
bug#26966: [PATCH 13/22] gnu: Add ecj-javac-on-jamvm-wrapper-final., Ricardo Wurmus, 2017/05/17
bug#26966: [PATCH 05/22] gnu: Add ecj-bootstrap., Ricardo Wurmus, 2017/05/17
bug#26966: [PATCH 14/22] gnu: Add icedtea-6., Ricardo Wurmus, 2017/05/17
bug#26966: [PATCH 15/22] gnu: icedtea-7: Use icedtea-6 for bootstrapping., Ricardo Wurmus, 2017/05/17