gnu: Add ocaml-frontc.

* gnu/packages/ocaml.scm (ocaml-frontc): New variable.

Signed-off-by: David Craven <david@craven.ch>
This commit is contained in:
Julien Lepiller 2016-12-30 10:56:00 +01:00 committed by David Craven
parent b96a0640a3
commit ff891f10ed
No known key found for this signature in database
GPG key ID: C5E051C79C0BECDB

View file

@ -864,3 +864,45 @@ (define-public ocaml-zarith
over big integers. Small integers are represented as Caml unboxed integers,
for speed and space economy.")
(license license:lgpl2.1+))) ; with an exception
(define-public ocaml-frontc
(package
(name "ocaml-frontc")
(version "3.4")
(source (origin
(method url-fetch)
(uri (string-append "https://www.irit.fr/recherches/ARCHI/MARCH/"
"frontc/Frontc-" version ".tgz"))
(sha256
(base32
"16dz153s92dgbw1rrfwbhscy73did87kfmjwyh3qpvs748h1sc4g"))))
(build-system ocaml-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(delete 'configure)
(add-after 'install 'install-meta
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(with-output-to-file
(string-append out "/lib/ocaml/frontc/META")
(lambda _
(display
(string-append
"description = \"Parser for the C language\"
version = \"" ,version "\"
requires = \"unix\"
archive(byte) = \"frontc.cma\"
archive(native) = \"frontc.cmxa\""))))
(symlink (string-append out "/lib/ocaml/frontc")
(string-append out "/lib/ocaml/FrontC"))))))
#:make-flags (list (string-append "PREFIX="
(assoc-ref %outputs "out"))
"OCAML_SITE=$(LIB_DIR)/ocaml/")))
(home-page "https://www.irit.fr/FrontC")
(synopsis "C parser and lexer library")
(description "FrontC is an OCAML library providing a C parser and lexer.
The result is a syntactic tree easy to process with usual OCAML tree management.
It provides support for ANSI C syntax, old-C K&R style syntax and the standard
GNU CC attributes. It provides also a C pretty printer as an example of use.")
(license license:lgpl2.1)))