From 2c1e262e549b928a624513e2c91b059b88b8e822 Mon Sep 17 00:00:00 2001 From: Raghav Gururajan Date: Thu, 18 Mar 2021 14:33:34 -0400 Subject: [PATCH 41/53] gnu: Add cli. * gnu/packages/codesynthesis.scm (cli): New variable. --- gnu/packages/codesynthesis.scm | 45 ++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) diff --git a/gnu/packages/codesynthesis.scm b/gnu/packages/codesynthesis.scm index f24fb760de..b70e53cd7c 100644 --- a/gnu/packages/codesynthesis.scm +++ b/gnu/packages/codesynthesis.scm @@ -151,3 +151,48 @@ XML Schema definition language. It includes a parser, semantic graph types 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 "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"))) + (substitute* (find-files "." "\\.?xx$") + (("add \\(typeid \\(type\\), \\*this\\);") + "traverser_map::add (typeid (type), *this);") + (("iterate_and_dispatch \\(s\\.names_begin \\(\\), s\\.names_end \\(\\), d\\);") + "edge_dispatcher::iterate_and_dispatch (s.names_begin (), s.names_end (), d);")) + #t)) + (delete 'configure)))) + (native-inputs + `(("build" ,build) + ("pkg-config" ,pkg-config))) + (inputs + `(("libcutl" ,libcutl))) + (synopsis "Command Line Interface (CLI) definition language") + (description "@package{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))) -- 2.31.0