guix-patches
[Top][All Lists]
Advanced

[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





reply via email to

[Prev in Thread] Current Thread [Next in Thread]