aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/ocaml.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/ocaml.scm')
-rw-r--r--gnu/packages/ocaml.scm42
1 files changed, 42 insertions, 0 deletions
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 6907b1a652..3750399caf 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -192,6 +192,48 @@ Git-friendly development workflow.")
;; The 'LICENSE' file waives some requirements compared to LGPLv3.
(license lgpl3)))
+(define-public camlp4
+ (package
+ (name "camlp4")
+ (version "4.02.0+1")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/ocaml/camlp4/archive/"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "0055f4jiz82rgn581xhq3mr4qgq2qgdxqppmp8i2x1xnsim4h9pn"))
+ (file-name (string-append name "-" version ".tar.gz"))))
+ (build-system gnu-build-system)
+ (native-inputs `(("ocaml" ,ocaml)
+ ("which" ,which)))
+ (inputs `(("ocaml" ,ocaml)))
+ (arguments
+ '(#:tests? #f ;no documented test target
+ #:phases (modify-phases %standard-phases
+ (replace
+ 'configure
+ (lambda* (#:key outputs #:allow-other-keys)
+ ;; This is a home-made 'configure' script.
+ (let ((out (assoc-ref outputs "out")))
+ (zero? (system* "./configure"
+ (string-append "--libdir=" out "/lib")
+ (string-append "--bindir=" out "/bin")
+ (string-append "--pkgdir=" out)))))))))
+ (home-page "https://github.com/ocaml/camlp4")
+ (synopsis "Write parsers in OCaml")
+ (description
+ "Camlp4 is a software system for writing extensible parsers for
+programming languages. It provides a set of OCaml libraries that are used to
+define grammars as well as loadable syntax extensions of such grammars.
+Camlp4 stands for Caml Preprocessor and Pretty-Printer and one of its most
+important applications is the definition of domain-specific extensions of the
+syntax of OCaml.")
+
+ ;; This is LGPLv2 with an exception that allows packages statically-linked
+ ;; against the library to be released under any terms.
+ (license lgpl2.0)))
+
(define-public camlp5
(package
(name "camlp5")