gnu: Add java-jline-terminal.
This is part of JLine 3. I was able to get this working properly under Guix by providing ncurses' infocmp, as well as ensuring the *.caps files were present in the JAR, but similar methods didn't work for the tests; if you have Java knowledge, I'd appreciate the help getting those tests enabled. * gnu/packages/java.scm (java-jline-terminal): New variable. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
This commit is contained in:
parent
e28ea14693
commit
1700dfefbe
1 changed files with 58 additions and 0 deletions
|
@ -71,6 +71,7 @@
|
||||||
#:use-module (gnu packages maths)
|
#:use-module (gnu packages maths)
|
||||||
#:use-module (gnu packages maven)
|
#:use-module (gnu packages maven)
|
||||||
#:use-module (gnu packages maven-parent-pom)
|
#:use-module (gnu packages maven-parent-pom)
|
||||||
|
#:use-module (gnu packages ncurses)
|
||||||
#:use-module (gnu packages nss)
|
#:use-module (gnu packages nss)
|
||||||
#:use-module (gnu packages onc-rpc)
|
#:use-module (gnu packages onc-rpc)
|
||||||
#:use-module (gnu packages web)
|
#:use-module (gnu packages web)
|
||||||
|
@ -12503,6 +12504,63 @@ features that bring it on par with the Z shell line editor.")
|
||||||
("java-junit" ,java-junit)
|
("java-junit" ,java-junit)
|
||||||
("java-hawtjni" ,java-hawtjni)))))
|
("java-hawtjni" ,java-hawtjni)))))
|
||||||
|
|
||||||
|
(define-public java-jline-terminal
|
||||||
|
(package
|
||||||
|
(name "java-jline-terminal")
|
||||||
|
(version "3.14.1")
|
||||||
|
(source (origin
|
||||||
|
(method git-fetch)
|
||||||
|
(uri (git-reference
|
||||||
|
(url "https://github.com/jline/jline3")
|
||||||
|
(commit (string-append "jline-parent-" version))))
|
||||||
|
(file-name (git-file-name name version))
|
||||||
|
(sha256
|
||||||
|
(base32
|
||||||
|
"0ilhk9ljp0pivl1rn0bb06syshc67p6imcjhrg6vr7kv15p3w4lr"))))
|
||||||
|
(build-system ant-build-system)
|
||||||
|
(arguments
|
||||||
|
`(#:jar-name "jline-terminal.jar"
|
||||||
|
#:jdk ,openjdk11
|
||||||
|
#:tests? #f; TODO: tests fail on *.caps resource lookups
|
||||||
|
#:source-dir "terminal/src/main/java"
|
||||||
|
#:test-dir "terminal/src/test"
|
||||||
|
#:phases
|
||||||
|
(modify-phases %standard-phases
|
||||||
|
(add-after 'unpack 'remove-build-file
|
||||||
|
(lambda _
|
||||||
|
;; Conflicts with build directory generated by ant-build-system.
|
||||||
|
(delete-file "build")))
|
||||||
|
(add-after 'unpack 'patch-paths
|
||||||
|
(lambda* (#:key inputs #:allow-other-keys)
|
||||||
|
(substitute* "terminal/src/main/java/org/jline/utils/OSUtils.java"
|
||||||
|
(("= \"infocmp\"")
|
||||||
|
(string-append "= \"" (assoc-ref inputs "ncurses")
|
||||||
|
"/bin/infocmp\""))
|
||||||
|
(("= \"(s?tty)\"" _ cmd)
|
||||||
|
(string-append "= \"" (assoc-ref inputs "coreutils")
|
||||||
|
"/bin/" cmd "\"")))))
|
||||||
|
;; Resources are not added to the JAR by ant-build-system.
|
||||||
|
(add-after 'build 'add-resources
|
||||||
|
(lambda* (#:key jar-name source-dir #:allow-other-keys)
|
||||||
|
(let ((build (string-append (getcwd) "/build")))
|
||||||
|
(with-directory-excursion
|
||||||
|
(string-append source-dir "/../resources")
|
||||||
|
(apply invoke "jar" "-uvf"
|
||||||
|
(string-append build "/jar/" jar-name)
|
||||||
|
(find-files ".")))))))))
|
||||||
|
(inputs
|
||||||
|
`(("ncurses" ,ncurses))); infocmp
|
||||||
|
(home-page "https://github.com/jline/jline3")
|
||||||
|
(synopsis "Java JLine Terminal API and implementations")
|
||||||
|
(description "JLine is a Java library for handling console input. It is
|
||||||
|
similar in functionality to BSD editline and GNU readline but with additional
|
||||||
|
features that bring it in par with ZSH line editor. People familiar with the
|
||||||
|
readline/editline capabilities for modern shells (such as bash and tcsh) will
|
||||||
|
find most of the command editing features of JLine to be familiar.
|
||||||
|
|
||||||
|
This package includes the @var{Terminal} API and implementations.")
|
||||||
|
(license license:bsd-3)))
|
||||||
|
|
||||||
(define-public java-xmlunit
|
(define-public java-xmlunit
|
||||||
(package
|
(package
|
||||||
(name "java-xmlunit")
|
(name "java-xmlunit")
|
||||||
|
|
Reference in a new issue