From 06755dca1143174ddf6b511f7d60462817730402 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Tue, 26 Mar 2024 17:18:54 -0400 Subject: gnu: Add syscmdline. * gnu/packages/cpp.scm (syscmdline): New variable. Change-Id: I721b0eb5358cf41eade23c093b506b4750c53082 --- gnu/packages/cpp.scm | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) 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 @@ (define-public spscqueue 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") -- cgit v1.2.3