[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
05/10: gnu: Add ocaml-piqilib.
From: |
julien lepiller |
Subject: |
05/10: gnu: Add ocaml-piqilib. |
Date: |
Wed, 27 Sep 2017 15:28:11 -0400 (EDT) |
roptat pushed a commit to branch master
in repository guix.
commit 9c5dbbf0cebe8aea9892ebdf24eb8f19db8e13fa
Author: Julien Lepiller <address@hidden>
Date: Thu Sep 21 20:44:57 2017 +0200
gnu: Add ocaml-piqilib.
* gnu/packages/ocaml.scm (ocaml-piqilib): New variable.
---
gnu/packages/ocaml.scm | 58 ++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 58 insertions(+)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 4cb66bd..0ba2364 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")
- branch master updated (cb1e0cf -> 408091d), julien lepiller, 2017/09/27
- 01/10: gnu: Add ocaml-ezjsonm., julien lepiller, 2017/09/27
- 02/10: gnu: Add ocaml-uri., julien lepiller, 2017/09/27
- 05/10: gnu: Add ocaml-piqilib.,
julien lepiller <=
- 06/10: gnu: Add ocaml-uuidm., julien lepiller, 2017/09/27
- 03/10: gnu: Add ocaml-easy-format., julien lepiller, 2017/09/27
- 08/10: gnu: Add ocaml-piqi., julien lepiller, 2017/09/27
- 09/10: gnu: Add bap., julien lepiller, 2017/09/27
- 10/10: gnu: Add ocaml-camomile., julien lepiller, 2017/09/27
- 07/10: gnu: Add ocaml-graph., julien lepiller, 2017/09/27
- 04/10: gnu: Add ocaml-optcomp., julien lepiller, 2017/09/27