mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2025-01-26 12:39:36 -05:00
gnu: Add cli.
* gnu/packages/cpp.scm (cli): New variable. Modified-by: Maxim Cournoyer <maxim.cournoyer@gmail.com> Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
This commit is contained in:
parent
111004cc58
commit
f649a0a557
1 changed files with 48 additions and 0 deletions
|
@ -1105,3 +1105,51 @@ (define-public libxsd-frontend
|
|||
and a traversal mechanism.")
|
||||
(home-page "https://www.codesynthesis.com/projects/libxsd-frontend/")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public cli
|
||||
(package
|
||||
(name "cli")
|
||||
(version "1.1.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://www.codesynthesis.com/download/"
|
||||
"cli/" (version-major+minor version)
|
||||
"/cli-" version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32 "0bg0nsai2q4h3mldpnj0jz4iy4svs0bcfvmq0v0c9cdyknny606g"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:test-target "test"
|
||||
#:make-flags (list (string-append "--include-dir="
|
||||
(assoc-ref %build-inputs "build")
|
||||
"/include")
|
||||
(string-append "install_prefix="
|
||||
(assoc-ref %outputs "out")))
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'patch
|
||||
(lambda _
|
||||
(substitute* (find-files "." "\\.make$")
|
||||
(("build-0\\.3")
|
||||
(string-append (assoc-ref %build-inputs "build")
|
||||
"/include/build-0.3")))
|
||||
;; Add the namespace prefix, to avoid errors such as "error:
|
||||
;; ‘iterate_and_dispatch’ was not declared in this scope".
|
||||
(substitute* (find-files "." "\\.?xx$")
|
||||
(("add \\(typeid \\(type\\), \\*this\\);" all)
|
||||
(string-append "traverser_map<B>::" all))
|
||||
(("iterate_and_dispatch \\(s\\.names_begin.*;" all)
|
||||
(string-append "edge_dispatcher::" all)))))
|
||||
(delete 'configure))))
|
||||
(native-inputs
|
||||
`(("build" ,build)))
|
||||
(inputs
|
||||
`(("libcutl" ,libcutl)))
|
||||
(synopsis "C++ Command Line Interface (CLI) definition language")
|
||||
(description "@code{cli} is a domain-specific language (DSL) for defining
|
||||
command line interfaces of C++ programs. It allows you to describe the
|
||||
options that your program supports, their types, default values, and
|
||||
documentation.")
|
||||
(home-page "https://codesynthesis.com/projects/cli/")
|
||||
(license license:expat)))
|
||||
|
|
Loading…
Reference in a new issue