From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:38979) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eGTu1-0007S1-VH for guix-patches@gnu.org; Sun, 19 Nov 2017 13:01:12 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1eGTtx-0003hc-EW for guix-patches@gnu.org; Sun, 19 Nov 2017 13:01:10 -0500 Received: from debbugs.gnu.org ([208.118.235.43]:39193) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1eGTtx-0003hW-Ae for guix-patches@gnu.org; Sun, 19 Nov 2017 13:01:05 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1eGTtx-0006Oa-2o for guix-patches@gnu.org; Sun, 19 Nov 2017 13:01:05 -0500 Subject: [bug#29359] [PATCH 07/31] gnu: Add java-jansi-native. Resent-Message-ID: From: Julien Lepiller Date: Sun, 19 Nov 2017 18:57:41 +0100 Message-Id: <20171119175805.902-7-julien@lepiller.eu> In-Reply-To: <20171119175805.902-1-julien@lepiller.eu> References: <20171119175805.902-1-julien@lepiller.eu> List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+kyle=kyleam.com@gnu.org Sender: "Guix-patches" To: 29359@debbugs.gnu.org * gnu/packages/java.scm (java-jansi-native): New variable. --- gnu/packages/java.scm | 51 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index d517e4928..3811dcdc8 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -7663,3 +7663,54 @@ best of DOM, CSS, and jquery-like methods.") 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))) + +(define-public java-jansi-native + (package + (name "java-jansi-native") + (version "1.7") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/fusesource/jansi-native/" + "archive/jansi-native-" version ".tar.gz")) + (sha256 + (base32 + "0j2ydlgxbzbgshqkwghbxxxnbnx1mmjgd6k5fw6xfvxw1z956yqf")))) + (build-system ant-build-system) + (arguments + `(#:jar-name "jansi-native.jar" + #:source-dir "src/main/java" + #:tests? #f; no tests + #:phases + (modify-phases %standard-phases + (add-before 'build 'build-native + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "src/main/native-package/src/jansi_ttyname.c" + (("#include \"jansi_.*") "")) + ;; there are more required files for windows in windows/ + (with-directory-excursion "src/main/native-package/src" + (system* "gcc" "-c" "jansi_ttyname.c" "-o" "jansi_ttyname.o" + (string-append "-I" (assoc-ref inputs "java-hawtjni") + "/include") + (string-append "-I" (assoc-ref inputs "jdk") + "/include/linux") + "-fPIC" "-O2") + (system* "gcc" "-o" "libjansi.so" "-shared" "jansi_ttyname.o")) + ;; FIXME: detect one of linux{32,64}, freebsd{32,64}, osx, windows{32,64} + ;; This package will only work on x86_64 + (mkdir-p "build/classes/META-INF/native/linux64") + (copy-file "src/main/native-package/src/libjansi.so" + "build/classes/META-INF/native/linux64/libjansi.so") + #t)) + (add-after 'install 'install-native + (lambda* (#:key outputs #:allow-other-keys) + (mkdir-p (string-append (assoc-ref outputs "out") "/include")) + (copy-file "src/main/native-package/src/jansi.h" + (string-append (assoc-ref outputs "out") + "/include/jansi.h")) + #t))))) + (inputs + `(("java-hawtjni" ,java-hawtjni))) + (home-page "https://fusesource.github.io/jansi/") + (synopsis "Native library for jansi") + (description "Java-jansi-native contains the native library for jansi.") + (license license:asl2.0))) -- 2.15.0