gnu: Add java-hawtjni.
* gnu/packages/java.scm (java-hawtjni): New variable.
This commit is contained in:
parent
8d510f65ec
commit
335aa20b96
|
@ -7858,3 +7858,55 @@ Objects into their JSON representation. It can also be used to convert a JSON
|
|||
string to an equivalent Java object. Gson can work with arbitrary Java objects
|
||||
including pre-existing objects that you do not have source-code of.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public java-hawtjni
|
||||
(package
|
||||
(name "java-hawtjni")
|
||||
(version "1.15")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/fusesource/hawtjni/archive/"
|
||||
"hawtjni-project-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1bqfd732rmh6svyx17fpw9175gc9gzkcbyps2yyrf50c3zzjas6g"))))
|
||||
(build-system ant-build-system)
|
||||
(arguments
|
||||
`(#:jar-name "hawtjni.jar"
|
||||
#:source-dir "hawtjni-generator/src/main/java:hawtjni-runtime/src/main/java"
|
||||
#:tests? #f; no tests
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-before 'build 'build-native
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(with-directory-excursion "hawtjni-generator/src/main/resources/"
|
||||
(and
|
||||
(system* "gcc" "-c" "hawtjni.c" "-o" "hawtjni.o"
|
||||
"-fPIC" "-O2"
|
||||
(string-append "-I" (assoc-ref inputs "jdk") "/include/linux"))
|
||||
(system* "gcc" "-c" "hawtjni-callback.c" "-o" "hawtjni-callback.o"
|
||||
"-fPIC" "-O2"
|
||||
(string-append "-I" (assoc-ref inputs "jdk") "/include/linux"))
|
||||
(system* "gcc" "-o" "libhawtjni.so" "-shared"
|
||||
"hawtjni.o" "hawtjni-callback.o")))))
|
||||
(add-after 'install 'install-native
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(lib (string-append out "/lib"))
|
||||
(inc (string-append out "/include")))
|
||||
(mkdir-p lib)
|
||||
(mkdir-p inc)
|
||||
(with-directory-excursion "hawtjni-generator/src/main/resources/"
|
||||
(copy-file "libhawtjni.so" (string-append lib "/libhawtjni.so"))
|
||||
(copy-file "hawtjni.h" (string-append inc "/hawtjni.h"))))
|
||||
#t)))))
|
||||
(inputs
|
||||
`(("java-commons-cli" ,java-commons-cli)
|
||||
("java-asm" ,java-asm)
|
||||
("java-geronimo-xbean-finder" ,java-geronimo-xbean-finder)))
|
||||
(home-page "https://fusesource.github.io/hawtjni/")
|
||||
(synopsis "JNI code generator")
|
||||
(description "HawtJNI is a code generator that produces the JNI code needed
|
||||
to implement Java native methods. It is based on the jnigen code generator
|
||||
that is part of the SWT Tools project.")
|
||||
(license license:asl2.0)))
|
||||
|
|
Loading…
Reference in New Issue