summaryrefslogtreecommitdiff
path: root/gnu
diff options
context:
space:
mode:
authorMaxim Cournoyer <maxim.cournoyer@gmail.com>2022-04-07 11:30:15 -0400
committerMaxim Cournoyer <maxim.cournoyer@gmail.com>2022-05-12 12:45:37 -0400
commit7eb8ab941211f9bff8148beccc1baf784372604b (patch)
treeac920dc909180aacd2c34bc14cb3c5ee729a51e4 /gnu
parentcddedb9c5b0b8417a2afcead164040787e6e1cde (diff)
gnu: Add java-antlr4-runtime-cpp.
* gnu/packages/java.scm (java-antlr4-runtime-cpp): New variable.
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/java.scm35
1 files changed, 34 insertions, 1 deletions
diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index 97eae386de..36baefaa7a 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -13,7 +13,7 @@
;;; Copyright © 2019, 2020, 2021 Björn Höfling <bjoern.hoefling@bjoernhoefling.de>
;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2020 Raghav Gururajan <raghavgururajan@disroot.org>
-;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com>
+;;; Copyright © 2020, 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2021 Vincent Legoll <vincent.legoll@gmail.com>
;;; Copyright © 2021 Mike Gerwitz <mtg@gnu.org>
;;; Copyright © 2021 Pierre Langlois <pierre.langlois@gmx.com>
@@ -45,6 +45,7 @@
#:use-module (guix utils)
#:use-module (guix gexp)
#:use-module (guix build-system ant)
+ #:use-module (guix build-system cmake)
#:use-module (guix build-system gnu)
#:use-module (guix build-system maven)
#:use-module (guix build-system trivial)
@@ -8629,6 +8630,38 @@ actual rendering.")
sources by ANTLR.")
(license license:bsd-3)))
+(define-public java-antlr4-runtime-cpp
+ (package
+ (inherit java-antlr4-runtime)
+ (name "java-antlr4-runtime-cpp")
+ (outputs '("out" "static"))
+ (build-system cmake-build-system)
+ (arguments
+ (list
+ ;; TODO: try to run the tests under
+ ;; runtime-testsuite/test/org/antlr/v4/test/runtime/cpp with antlr4.
+ #:tests? #f ;no CMake test target
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'chdir
+ (lambda _
+ (chdir "runtime/Cpp")))
+ (add-after 'install 'move-static-library
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((static (assoc-ref outputs "static"))
+ (libantlr4-runtime.a (search-input-file
+ outputs "lib/libantlr4-runtime.a")))
+ (mkdir-p (string-append static "/lib"))
+ (rename-file
+ libantlr4-runtime.a
+ (string-append static "/lib/"
+ (basename libantlr4-runtime.a)))))))))
+ (native-inputs (list pkg-config))
+ (inputs (list `(,util-linux "lib"))) ;libuuid
+ (synopsis "ANTL C++ runtime library")
+ (description "This package contains the C++ runtime library used with C++
+generated sources by ANTLR.")))
+
(define-public antlr4
(package
(inherit java-antlr4-runtime)