[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#58261] [PATCH 05/11] gnu: Add optionparser.
From: |
David Elsing |
Subject: |
[bug#58261] [PATCH 05/11] gnu: Add optionparser. |
Date: |
Mon, 3 Oct 2022 00:19:50 +0000 |
* gnu/packages/cpp.scm (optionparser): New variable.
---
gnu/packages/cpp.scm | 50 ++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 50 insertions(+)
diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm
index 4819f36052..b30205109e 100644
--- a/gnu/packages/cpp.scm
+++ b/gnu/packages/cpp.scm
@@ -2058,3 +2058,53 @@ (define-public tinydir
(description "tinydir is a header-only C library to portably read files
and directories.")
(license license:bsd-2)))
+
+(define-public optionparser
+ (package
+ (name "optionparser")
+ (version "1.7")
+ (source (origin
+ (method url-fetch)
+ (uri
+ (string-append "mirror://sourceforge/optionparser/optionparser-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "04gfxrdzwacaynb8scsz6rr7nh64n6yk6w9dh2qdhrxw4caqr0dk"))))
+ (build-system gnu-build-system)
+ (arguments
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (delete 'configure)
+ (add-before 'build 'chdir
+ (lambda _ (chdir "src") #t))
+ (replace 'build
+ (lambda _
+ (invoke "make" "-j" (number->string (parallel-job-count))
+ "example_arg" "testparse" "testprintusage" "testodr"
+ "example")
+ #t))
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (if tests?
+ (begin
+ (invoke "./example_arg")
+ (invoke "./testparse")
+ (invoke "./testprintusage")
+ (invoke "./testodr")
+ (invoke "./example"))
+ (format #t "test suite not run~%"))))
+ (replace 'install
+ (lambda _
+ (install-file "optionparser.h" (string-append #$output
"/include"))
+ #t))
+ (add-after 'install 'chdir-back
+ (lambda _ (chdir "..") #t)))))
+ (home-page "https://optionparser.sourceforge.net/")
+ (synopsis "Header-only C++ library to parse command line options")
+ (description "The Lean Mean C++ Option Parser handles the program's
+command line arguments (argc, argv). It supports the short and long option
+formats of getopt(), getopt_long() and getopt_long_only() but has a more
+convenient interface.")
+ (license license:expat)))
--
2.37.0
[bug#58261] [PATCH 05/11] gnu: Add optionparser.,
David Elsing <=
[bug#58261] [PATCH 06/11] gnu: Add gemmi., David Elsing, 2022/10/02
[bug#58261] [PATCH v2 00/13] Add rdkit v2., David Elsing, 2022/10/07