me
/
guix
Archived
1
0
Fork 0

gnu: Add cli11.

* gnu/packages/cpp.scm (cli11): New variable.

Signed-off-by: Nicolas Goaziou <mail@nicolasgoaziou.fr>
master
Milkey Mouse 2021-02-20 17:17:28 -08:00 committed by Nicolas Goaziou
parent ae1f36f2a8
commit f129ca0b18
No known key found for this signature in database
GPG Key ID: DA00B4F048E92F2D
1 changed files with 50 additions and 0 deletions

View File

@ -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)))