diff options
author | Milkey Mouse <milkeymouse@meme.institute> | 2021-02-20 17:17:28 -0800 |
---|---|---|
committer | Nicolas Goaziou <mail@nicolasgoaziou.fr> | 2021-02-21 10:14:28 +0100 |
commit | f129ca0b181f2f08e8b7c9c263ad2520a4ef717d (patch) | |
tree | fd297eb9082fa5e17e83745558bb3370478171cb | |
parent | ae1f36f2a8b78dfac9ee1aaf7d9aa9f0e7ce8e51 (diff) | |
download | guix-f129ca0b181f2f08e8b7c9c263ad2520a4ef717d.tar guix-f129ca0b181f2f08e8b7c9c263ad2520a4ef717d.tar.gz |
gnu: Add cli11.
* gnu/packages/cpp.scm (cli11): New variable.
Signed-off-by: Nicolas Goaziou <mail@nicolasgoaziou.fr>
-rw-r--r-- | gnu/packages/cpp.scm | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm index 331afc2e3e..abb50d81b2 100644 --- a/gnu/packages/cpp.scm +++ b/gnu/packages/cpp.scm @@ -16,6 +16,7 @@ ;;; Copyright © 2020 Alexandros Theodotou <alex@zrythm.org> ;;; Copyright © 2020, 2021 Greg Hogan <code@greghogan.com> ;;; Copyright © 2020 Brett Gilio <brettg@gnu.org> +;;; Copyright © 2020 Milkey Mouse <milkeymouse@meme.institute> ;;; ;;; This file is part of GNU Guix. ;;; @@ -40,6 +41,7 @@ #:use-module (guix build-system cmake) #:use-module (guix build-system gnu) #:use-module (guix build-system python) + #:use-module (guix modules) #:use-module (gnu packages) #:use-module (gnu packages autotools) #:use-module (gnu packages boost) @@ -903,3 +905,51 @@ provides a number of utilities to make coding with expected cleaner.") (description "Magic Enum offers static reflection of enums, with conversions to and from strings, iteration and related functionality.") (license license:expat))) + +(define-public cli11 + (package + (name "cli11") + (version "1.9.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/CLIUtils/CLI11") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0hbch0vk8irgmiaxnfqlqys65v1770rxxdfn3d23m2vqyjh0j9l6")) + (modules '((guix build utils))) + (snippet + '(begin (delete-file-recursively "extern") + #t)))) + (build-system cmake-build-system) + (arguments + `(#:configure-flags + '("-DCLI11_SINGLE_FILE=OFF" + "-DCLI11_BUILD_EXAMPLES=OFF") + #:imported-modules ,(append %cmake-build-system-modules + (source-module-closure '((guix utils)))) + #:phases + (modify-phases %standard-phases + (add-before 'configure 'no-vendor-gtest + (lambda _ + (use-modules (guix utils)) + (substitute* "tests/CMakeLists.txt" + ;; We provide our own googletest, so this is not really a problem. + (("message\\(FATAL_ERROR \"You have requested tests be built, but googletest is not downloaded." msg) + (string-replace-substring msg "FATAL_ERROR" "TRACE"))) + (substitute* "cmake/AddGoogletest.cmake" + (("^add_subdirectory\\(.*googletest.*$") "find_package(GTest REQUIRED)") + (("^set_target_properties\\(gtest gtest_main gmock gmock_main") "") + (("^ PROPERTIES FOLDER \"Extern\"\\)") "")) + #t))))) + (native-inputs + `(("doxygen" ,doxygen) + ("googletest" ,googletest))) + (synopsis "Command line parser for C++11") + (description + "CLI11 is a command line parser for C++11 and beyond that provides a rich +feature set with a simple and intuitive interface.") + (home-page "https://cliutils.github.io/CLI11/book/") + (license license:bsd-3))) |