diff options
author | Maxim Cournoyer <maxim.cournoyer@gmail.com> | 2024-03-26 17:18:54 -0400 |
---|---|---|
committer | Maxim Cournoyer <maxim.cournoyer@gmail.com> | 2024-04-03 18:05:11 -0400 |
commit | 06755dca1143174ddf6b511f7d60462817730402 (patch) | |
tree | f78fbae8712100da395907a6e449a33f902f0876 /gnu | |
parent | af1000a9bfa54e9ac844075c1d84804eb1820d80 (diff) | |
download | guix-06755dca1143174ddf6b511f7d60462817730402.tar.gz guix-06755dca1143174ddf6b511f7d60462817730402.zip |
gnu: Add syscmdline.
* gnu/packages/cpp.scm (syscmdline): New variable.
Change-Id: I721b0eb5358cf41eade23c093b506b4750c53082
Diffstat (limited to 'gnu')
-rw-r--r-- | gnu/packages/cpp.scm | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm index acbe3e4836..65aa717c3d 100644 --- a/gnu/packages/cpp.scm +++ b/gnu/packages/cpp.scm @@ -924,6 +924,49 @@ concurrent queue for C++11.") lock-free fixed size queue written in C++11.") (license license:expat))) +(define-public syscmdline + (package + (name "syscmdline") + (version "0.0.1.4") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/SineStriker/syscmdline") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "00n9vkyymp1dzixxl93f6pkpd3ndsk1vib7shhlxv4zvy5hjqhqw")))) + (build-system cmake-build-system) + (arguments + (list #:configure-flags + #~(list "-DSYSCMDLINE_BUILD_STATIC=OFF" ;build a shared library + "-DSYSCMDLINE_BUILD_TESTS=ON") + #:phases #~(modify-phases %standard-phases + (replace 'check + ;; There isn't currently any exposed test target. + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (invoke "bin/tst_basic"))))))) + (home-page "https://github.com/SineStriker/syscmdline") + (synopsis "C++ advanced command line parser") + (description "SysCmdLine is a C++ command line parser that is inspired by +@code{QCommandLineParser} from Qt and @code{System.CommandLine} from C#. It +has features such as: +@itemize +@item Support sub-commands +@item Support case-insensitive parsing +@item Support global options +@item Support mutually exclusive options +@item Support short options and group flags +@item Support help text customization +@item Support localization +@item Simple tips for typo correction +@item Highly configurable +@item Friendly interface +@end itemize") + (license license:expat))) + (define-public gperftools (package (name "gperftools") |