aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul A. Patience <paul@apatience.com>2024-02-14 17:04:12 +0000
committerNicolas Goaziou <mail@nicolasgoaziou.fr>2025-03-01 14:55:56 +0100
commit7a9c854197c02e414ecc52901fa6686c5637c26b (patch)
tree60c67698f83b3d57b5a23101bf1f754b4fda1769
parent6de235da59abfc22bb72ae4b910f43f5380080b5 (diff)
downloadguix-7a9c854197c02e414ecc52901fa6686c5637c26b.tar.gz
guix-7a9c854197c02e414ecc52901fa6686c5637c26b.zip
gnu: Add lexy.
* gnu/packages/cpp.scm (lexy): New variable. Change-Id: I77d896570999d639f223eb014fcfb48b911c8cc8 Signed-off-by: Nicolas Goaziou <mail@nicolasgoaziou.fr>
-rw-r--r--gnu/packages/cpp.scm38
1 files changed, 38 insertions, 0 deletions
diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm
index 0a610075a1..d6dc070756 100644
--- a/gnu/packages/cpp.scm
+++ b/gnu/packages/cpp.scm
@@ -1800,6 +1800,44 @@ a zero-dependency C++ header-only parser combinator library for creating
parsers according to a Parsing Expression Grammar (PEG).")
(license license:expat)))
+(define-public lexy
+ ;; Bug fixes since last release.
+ (let ((commit "34d2adf74a2b25b6bdd760a3bbb931f3fd5e60cd")
+ (revision "0"))
+ (package
+ (name "lexy")
+ (version (git-version "2022.12.1" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/foonathan/lexy")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1ywcy3wdmqjj5z1w64hk0dwf8iv6p62s48m7l6vn881hfzc8hcxz"))))
+ (build-system cmake-build-system)
+ (arguments
+ (list #:configure-flags #~(list "-DLEXY_BUILD_DOCS=OFF") ; needs Hugo
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'fix-dependencies
+ (lambda _
+ (substitute* "tests/CMakeLists.txt"
+ (("^message\\(STATUS \"Fetching doctest\"\\).*") "")
+ (("^include\\(FetchContent\\).*") "")
+ (("^FetchContent_Declare\\(doctest .*") "")
+ (("^FetchContent_MakeAvailable\\(doctest\\)")
+ "find_package(doctest REQUIRED)")
+ (("^(target_link_libraries\\(lexy_test_base .*) doctest\\)"
+ _ prefix)
+ (string-append prefix ")"))))))))
+ (native-inputs (list doctest))
+ (home-page "https://lexy.foonathan.net/")
+ (synopsis "C++ parser combinator library")
+ (description "lexy is a parser combinator library for C++17 and later.")
+ (license license:boost1.0))))
+
(define-public psascan
(package
(name "psascan")