diff options
author | Julien Lepiller <julien@lepiller.eu> | 2017-09-21 20:44:57 +0200 |
---|---|---|
committer | Julien Lepiller <julien@lepiller.eu> | 2017-09-27 21:26:12 +0200 |
commit | 9c5dbbf0cebe8aea9892ebdf24eb8f19db8e13fa (patch) | |
tree | 93b84a6dc8fc23205306e2a972a52450d4244fbf /gnu/packages/ocaml.scm | |
parent | b5c0217c719b87ba21abc3910e1069e62590a070 (diff) | |
download | guix-9c5dbbf0cebe8aea9892ebdf24eb8f19db8e13fa.tar.gz |
gnu: Add ocaml-piqilib.
* gnu/packages/ocaml.scm (ocaml-piqilib): New variable.
Diffstat (limited to 'gnu/packages/ocaml.scm')
-rw-r--r-- | gnu/packages/ocaml.scm | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm index 4cb66bd2be..0ba236414c 100644 --- a/gnu/packages/ocaml.scm +++ b/gnu/packages/ocaml.scm @@ -3303,6 +3303,64 @@ Format module of the OCaml standard library.") cpp-like directives.") (license license:bsd-3))) +(define-public ocaml-piqilib + (package + (name "ocaml-piqilib") + (version "0.6.13") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/alavrik/piqi/archive/v" + version ".tar.gz")) + (sha256 + (base32 + "1whqr2bb3gds2zmrzqnv8vqka9928w4lx6mi6g244kmbwb2h8d8l")) + (file-name (string-append name "-" version ".tar.gz")))) + (build-system ocaml-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-before 'configure 'fix-ocamlpath + (lambda _ + (substitute* '("Makefile" "make/Makefile.ocaml") + (("OCAMLPATH := ") "OCAMLPATH := $(OCAMLPATH):")) + #t)) + (replace 'configure + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (substitute* "make/OCamlMakefile" + (("/bin/sh") (which "bash"))) + (zero? (system* "./configure" "--prefix" out "--ocaml-libdir" + (string-append out "/lib/ocaml/site-lib")))))) + (add-after 'build 'build-ocaml + (lambda* (#:key outputs #:allow-other-keys) + (zero? (system* "make" "ocaml")))) + (add-after 'install 'install-ocaml + (lambda* (#:key outputs #:allow-other-keys) + (zero? (system* "make" "ocaml-install")))) + (add-after 'install-ocaml 'link-stubs + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (stubs (string-append out "/lib/ocaml/site-lib/stubslibs")) + (lib (string-append out "/lib/ocaml/site-lib/piqilib"))) + (mkdir-p stubs) + (symlink (string-append lib "/dllpiqilib_stubs.so") + (string-append stubs "/dllpiqilib_stubs.so")) + #t)))))) + (native-inputs + `(("which" ,which) + ("camlp4" ,camlp4))) + (propagated-inputs + `(("xmlm" ,ocaml-xmlm) + ("ulex" ,ocaml-ulex) + ("optcomp" ,optcomp) + ("easy-format" ,ocaml-easy-format) + ("base64" ,ocaml-base64))) + (home-page "http://piqi.org") + (synopsis "Data serialization and conversion library") + (description "Piqilib is the common library used by the piqi command-line +tool and piqi-ocaml.") + (license license:asl2.0))) + (define-public coq-flocq (package (name "coq-flocq") |