From unknown Sat Jun 21 03:07:36 2025 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.509 (Entity 5.509) Content-Type: text/plain; charset=utf-8 From: bug#28546 <28546@debbugs.gnu.org> To: bug#28546 <28546@debbugs.gnu.org> Subject: Status: Add some ocaml packages Reply-To: bug#28546 <28546@debbugs.gnu.org> Date: Sat, 21 Jun 2025 10:07:36 +0000 retitle 28546 Add some ocaml packages reassign 28546 guix-patches submitter 28546 Julien Lepiller severity 28546 normal thanks From debbugs-submit-bounces@debbugs.gnu.org Thu Sep 21 16:48:41 2017 Received: (at submit) by debbugs.gnu.org; 21 Sep 2017 20:48:41 +0000 Received: from localhost ([127.0.0.1]:51908 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dv8Oh-0001hE-37 for submit@debbugs.gnu.org; Thu, 21 Sep 2017 16:48:41 -0400 Received: from eggs.gnu.org ([208.118.235.92]:34165) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dv8Oe-0001gy-49 for submit@debbugs.gnu.org; Thu, 21 Sep 2017 16:48:33 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dv8OW-0000ap-FG for submit@debbugs.gnu.org; Thu, 21 Sep 2017 16:48:26 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_50,URIBL_BLOCKED autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([2001:4830:134:3::11]:57380) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1dv8OW-0000ae-7f for submit@debbugs.gnu.org; Thu, 21 Sep 2017 16:48:24 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:53360) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dv8OS-0002cq-UG for guix-patches@gnu.org; Thu, 21 Sep 2017 16:48:23 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dv8OO-0000Xh-Lf for guix-patches@gnu.org; Thu, 21 Sep 2017 16:48:20 -0400 Received: from lepiller.eu ([89.234.186.109]:56898 helo=localhost) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1dv8OO-0000WH-2h for guix-patches@gnu.org; Thu, 21 Sep 2017 16:48:16 -0400 Received: from localhost (static-176-182-42-79.ncc.abo.bbox.fr [176.182.42.79]) by localhost (OpenSMTPD) with ESMTPSA id 6c2b6bd1 (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256:NO) for ; Thu, 21 Sep 2017 20:48:12 +0000 (UTC) Date: Thu, 21 Sep 2017 22:46:51 +0200 From: Julien Lepiller To: guix-patches@gnu.org Subject: Add some ocaml packages Message-ID: <20170921224545.1e5e3d7f@lepiller.eu> X-Mailer: Claws Mail 3.15.1-dirty (GTK+ 2.24.31; x86_64-unknown-linux-gnu) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="MP_/5Zx7DXvnqE7C0_K.echOEYq" X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Received-From: 2001:4830:134:3::11 X-Spam-Score: -3.5 (---) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.5 (+) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: Hi, here are 10 new ocaml packages. It adds bap, a binary static analyzer, that I worked so hard to add the dependencies of, and camomile, a dependency of utop, the next thing I want in guix. After this, there will be a small series of patches to add utop, and I will be done with the ocaml packages. Then I'll try to update our ocaml packages and the compiler itself. From d177cda39184fd1a1a879feb93f133eecd3bbcc4 Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Thu, 21 Sep 2017 20:32:27 +0200 Subject: [PATCH 01/10] gnu: Add ocaml-ezjsonm. [...] Content analysis details: (1.5 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 0.0 URIBL_BLOCKED ADMINISTRATOR NOTICE: The query to URIBL was blocked. See http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block for more information. [URIs: piqi.org] 1.0 SPF_SOFTFAIL SPF: sender does not match SPF record (softfail) 0.5 URI_NOVOWEL URI: URI hostname has long non-vowel sequence --MP_/5Zx7DXvnqE7C0_K.echOEYq Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Content-Disposition: inline Hi, here are 10 new ocaml packages. It adds bap, a binary static analyzer, that I worked so hard to add the dependencies of, and camomile, a dependency of utop, the next thing I want in guix. After this, there will be a small series of patches to add utop, and I will be done with the ocaml packages. Then I'll try to update our ocaml packages and the compiler itself. --MP_/5Zx7DXvnqE7C0_K.echOEYq Content-Type: text/x-patch Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=0001-gnu-Add-ocaml-ezjsonm.patch >From d177cda39184fd1a1a879feb93f133eecd3bbcc4 Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Thu, 21 Sep 2017 20:32:27 +0200 Subject: [PATCH 01/10] gnu: Add ocaml-ezjsonm. * gnu/packages/ocaml.scm (ocaml-ezjsonm): New variable. --- gnu/packages/ocaml.scm | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm index 700c5698e..d765a085a 100644 --- a/gnu/packages/ocaml.scm +++ b/gnu/packages/ocaml.scm @@ -3197,6 +3197,36 @@ writing to these structures, and they are accessed via the Bigarray module.") (description "Hex is a minimal library providing hexadecimal converters.") (license license:isc))) +(define-public ocaml-ezjsonm + (package + (name "ocaml-ezjsonm") + (version "0.4.3") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/mirage/ezjsonm/archive/" + version ".tar.gz")) + (sha256 + (base32 + "1kag0z2xlk4rw73a240dmkxh9rj6psxxcxkm7d7z0rrj6hzjajgq")) + (file-name (string-append name "-" version ".tar.gz")))) + (build-system ocaml-build-system) + (native-inputs + `(("alcotest" ,ocaml-alcotest))) + (propagated-inputs + `(("hex" ,ocaml-hex) + ("jsonm" ,ocaml-jsonm) + ("lwt" ,ocaml-lwt) + ("sexplib" ,ocaml-sexplib))) + (arguments + `(#:configure-flags (list "--enable-lwt"))) + (home-page "https://github.com/mirage/ezjsonm/") + (synopsis "Easy interface on top of the Jsonm library") + (description "Ezjsonm provides more convenient (but far less flexible) input +and output functions that go to and from [string] values than jsonm. This avoids +the need to write signal code, which is useful for quick scripts that manipulate +JSON.") + (license license:isc))) + (define-public coq-flocq (package (name "coq-flocq") -- 2.14.1 --MP_/5Zx7DXvnqE7C0_K.echOEYq Content-Type: text/x-patch Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=0002-gnu-Add-ocaml-uri.patch >From 395199079f38b96299dbc02b14a945236ef7d6fe Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Thu, 21 Sep 2017 20:33:33 +0200 Subject: [PATCH 02/10] gnu: Add ocaml-uri. * gnu/packages/ocaml.scm (ocaml-uri): New variable. --- gnu/packages/ocaml.scm | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm index d765a085a..c2932634a 100644 --- a/gnu/packages/ocaml.scm +++ b/gnu/packages/ocaml.scm @@ -3227,6 +3227,32 @@ the need to write signal code, which is useful for quick scripts that manipulate JSON.") (license license:isc))) +(define-public ocaml-uri + (package + (name "ocaml-uri") + (version "1.9.2") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/mirage/ocaml-uri/archive/v" + version ".tar.gz")) + (sha256 + (base32 + "02bzrag79prx261rxf9mlak749pwf4flpfl8p012x1xznv9m0clc")) + (file-name (string-append name "-" version ".tar.gz")))) + (build-system ocaml-build-system) + (native-inputs + `(("ounit" ,ocaml-ounit))) + (propagated-inputs + `(("ppx-sexp-conv" ,ocaml-ppx-sexp-conv) + ("re" ,ocaml-re) + ("ppx-deriving" ,ocaml-ppx-deriving) + ("sexplib" ,ocaml-sexplib) + ("stringext" ,ocaml-stringext))) + (home-page "https://github.com/mirage/ocaml-uri") + (synopsis "RFC3986 URI/URL parsing library") + (description "OCaml-uri is a library for parsing URI/URL in the RFC3986 format.") + (license license:isc))) + (define-public coq-flocq (package (name "coq-flocq") -- 2.14.1 --MP_/5Zx7DXvnqE7C0_K.echOEYq Content-Type: text/x-patch Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=0003-gnu-Add-ocaml-easy-format.patch >From cce3c981b31586a0cf334f4f21f650649212e505 Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Thu, 21 Sep 2017 20:34:27 +0200 Subject: [PATCH 03/10] gnu: Add ocaml-easy-format. * gnu/packages/ocaml.scm (ocaml-easy-format): New variable. --- gnu/packages/ocaml.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm index c2932634a..b07a8ba7d 100644 --- a/gnu/packages/ocaml.scm +++ b/gnu/packages/ocaml.scm @@ -3253,6 +3253,29 @@ JSON.") (description "OCaml-uri is a library for parsing URI/URL in the RFC3986 format.") (license license:isc))) +(define-public ocaml-easy-format + (package + (name "ocaml-easy-format") + (version "1.2.0") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/mjambon/easy-format/" + "archive/v" version ".tar.gz")) + (sha256 + (base32 + "1zcz682y9figa84k7lgdjcab5qbzk3yy14ygfqp2dhhrvjygm252")) + (file-name (string-append name "-" version ".tar.gz")))) + (build-system ocaml-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (delete 'configure)))) + (home-page "https://github.com/mjambon/easy-format") + (synopsis "Interface to the Format module") + (description "Easy-format is a high-level and functional interface to the +Format module of the OCaml standard library.") + (license license:bsd-3))) + (define-public coq-flocq (package (name "coq-flocq") -- 2.14.1 --MP_/5Zx7DXvnqE7C0_K.echOEYq Content-Type: text/x-patch Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=0004-gnu-Add-ocaml-optcomp.patch >From 8a8f1bedad93fe403df7d374515340f7f2462b2a Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Thu, 21 Sep 2017 20:35:17 +0200 Subject: [PATCH 04/10] gnu: Add ocaml-optcomp. * gnu/packages/ocaml.scm (ocaml-optcomp): New variable. --- gnu/packages/ocaml.scm | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm index b07a8ba7d..910c892d6 100644 --- a/gnu/packages/ocaml.scm +++ b/gnu/packages/ocaml.scm @@ -3276,6 +3276,33 @@ JSON.") Format module of the OCaml standard library.") (license license:bsd-3))) +(define-public ocaml-optcomp + (package + (name "ocaml-optcomp") + (version "1.6") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/diml/optcomp/archive/" + version ".tar.gz")) + (sha256 + (base32 + "0hhhb2gisah1h22zlg5iszbgqxdd7x85cwd57bd4mfkx9l7dh8jh")) + (file-name (string-append name "-" version ".tar.gz")))) + (build-system ocaml-build-system) + (arguments + `(#:use-make? #t + #:make-flags + (list (string-append "BUILDFLAGS=\"-cflags -I," + (assoc-ref %build-inputs "camlp4") + "/lib/ocaml/site-lib/camlp4/Camlp4Parsers\"")))) + (native-inputs `(("camlp4" ,camlp4))) + (propagated-inputs `(("camlp4" ,camlp4))) + (home-page "https://github.com/diml/optcomp") + (synopsis "Optional compilation with cpp-like directives") + (description "Optcomp provides an optional compilation facility with +cpp-like directives.") + (license license:bsd-3))) + (define-public coq-flocq (package (name "coq-flocq") -- 2.14.1 --MP_/5Zx7DXvnqE7C0_K.echOEYq Content-Type: text/x-patch Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=0005-gnu-Add-ocaml-piqilib.patch >From 3887a8aa6b8610f4ccfece291d7c8bc12a3966bf Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Thu, 21 Sep 2017 20:44:57 +0200 Subject: [PATCH 05/10] gnu: Add ocaml-piqilib. * gnu/packages/ocaml.scm (ocaml-piqilib): New variable. --- gnu/packages/ocaml.scm | 53 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm index 910c892d6..86fe1a9e4 100644 --- a/gnu/packages/ocaml.scm +++ b/gnu/packages/ocaml.scm @@ -3303,6 +3303,59 @@ 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")) + (patches (search-patches "ocaml-piqilib-fix-makefile.patch")))) + (build-system ocaml-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (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")))))))) + (native-inputs + `(("which" ,which) + ("camlp4" ,camlp4))) + (propagated-inputs + `(("xmlm" ,ocaml-xmlm) + ("ulex" ,ocaml-ulex) + ("optcomp" ,ocaml-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") -- 2.14.1 --MP_/5Zx7DXvnqE7C0_K.echOEYq Content-Type: text/x-patch Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=0006-gnu-Add-ocaml-uuidm.patch >From 4afbe64878f1b047ba936015e005f7d48a847afa Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Thu, 21 Sep 2017 20:45:47 +0200 Subject: [PATCH 06/10] gnu: Add ocaml-uuidm. * gnu/packages/ocaml.scm (ocaml-uuidm): New variable. --- gnu/packages/ocaml.scm | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm index 86fe1a9e4..039033dc0 100644 --- a/gnu/packages/ocaml.scm +++ b/gnu/packages/ocaml.scm @@ -3356,6 +3356,36 @@ cpp-like directives.") tool and piqi-ocaml.") (license license:asl2.0))) +(define-public ocaml-uuidm + (package + (name "ocaml-uuidm") + (version "0.9.6") + (source (origin + (method url-fetch) + (uri (string-append "http://erratique.ch/software/uuidm/" + "releases/uuidm-" version ".tbz")) + (sha256 + (base32 + "0hz4fdx0x16k0pw9995vkz5d1hmzz6b16wck9li399rcbfnv5jlc")))) + (build-system ocaml-build-system) + (arguments + `(#:build-flags + (list "build" "--tests" "true" "--with-cmdliner" "true") + #:phases + (modify-phases %standard-phases + (delete 'configure)))) + (native-inputs + `(("opam" ,opam))) + (propagated-inputs + `(("cmdliner" ,ocaml-cmdliner) + ("topkg" ,ocaml-topkg))) + (home-page "http://erratique.ch/software/uuidm") + (synopsis "Universally unique identifiers (UUIDs) for OCaml") + (description "Uuidm is an OCaml module implementing 128 bits universally +unique identifiers version 3, 5 (named based with MD5, SHA-1 hashing) and 4 +(random based) according to RFC 4122.") + (license license:isc))) + (define-public coq-flocq (package (name "coq-flocq") -- 2.14.1 --MP_/5Zx7DXvnqE7C0_K.echOEYq Content-Type: text/x-patch Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=0007-gnu-Add-ocamlgraph.patch >From 3756da5e60dae4a109c18e552c6d07233ddfb5b9 Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Thu, 21 Sep 2017 20:46:37 +0200 Subject: [PATCH 07/10] gnu: Add ocamlgraph. * gnu/packages/ocaml.scm (ocamlgraph): New variable. --- gnu/packages/ocaml.scm | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm index 039033dc0..364ccd99a 100644 --- a/gnu/packages/ocaml.scm +++ b/gnu/packages/ocaml.scm @@ -3386,6 +3386,34 @@ unique identifiers version 3, 5 (named based with MD5, SHA-1 hashing) and 4 (random based) according to RFC 4122.") (license license:isc))) +(define-public ocamlgraph + (package + (name "ocamlgraph") + (version "1.8.7") + (source (origin + (method url-fetch) + (uri (string-append "http://ocamlgraph.lri.fr/download/" + "ocamlgraph-" version ".tar.gz")) + (sha256 + (base32 + "1845r537swjil2fcj7lgbibc2zybfwqqasrd2s7bncajs83cl1nz")) + (patches (search-patches "ocamlgraph-honor-source-date-epoch.patch")))) + (build-system ocaml-build-system) + (arguments + `(#:install-target "install-findlib" + #:phases + (modify-phases %standard-phases + (add-before 'configure 'fix-/bin/sh + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "configure" + (("-/bin/sh") (string-append "-" (assoc-ref inputs "bash") + "/bin/sh")))))))) + (inputs `(("lablgtk" ,lablgtk))) + (home-page "http://ocamlgraph.lri.fr/") + (synopsis "A generic graph library for OCaml") + (description "A generic graph library for OCaml.") + (license license:lgpl2.1))) + (define-public coq-flocq (package (name "coq-flocq") -- 2.14.1 --MP_/5Zx7DXvnqE7C0_K.echOEYq Content-Type: text/x-patch Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=0008-gnu-Add-ocaml-piqi.patch >From aa994f7c4ca830f6b3834fd100d7395fcb83dbf5 Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Thu, 21 Sep 2017 20:47:40 +0200 Subject: [PATCH 08/10] gnu: Add ocaml-piqi. * gnu/packages/ocaml.scm (ocaml-piqi): New variable. --- gnu/packages/ocaml.scm | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm index 364ccd99a..7f65ce859 100644 --- a/gnu/packages/ocaml.scm +++ b/gnu/packages/ocaml.scm @@ -3414,6 +3414,41 @@ unique identifiers version 3, 5 (named based with MD5, SHA-1 hashing) and 4 (description "A generic graph library for OCaml.") (license license:lgpl2.1))) +(define-public ocaml-piqi + (package + (name "ocaml-piqi") + (version "0.7.5") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/alavrik/piqi-ocaml/" + "archive/v" version ".tar.gz")) + (sha256 + (base32 + "0ngz6y8i98i5v2ma8nk6mc83pdsmf2z0ks7m3xi6clfg3zqbddrv")))) + (build-system ocaml-build-system) + (arguments + `(#:make-flags + (list (string-append "DESTDIR=" (assoc-ref %outputs "out"))) + #:phases + (modify-phases %standard-phases + (delete 'configure) + (add-before 'build 'patch-/bin/sh + (lambda _ + (substitute* "make/OCamlMakefile" + (("/bin/sh") (which "sh"))) + #t))))) + (native-inputs + `(("which" ,which) + ("protobuf" ,protobuf))) ; for tests + (propagated-inputs + `(("piqilib" ,ocaml-piqilib))) + (home-page "https://github.com/alavrik/piqi-ocaml") + (synopsis "Protocol serialization system for OCaml") + (description "Piqi is a multi-format data serialization system for OCaml. +It provides a uniform interface for serializing OCaml data structures to JSON, +XML and Protocol Buffers formats.") + (license license:asl2.0))) + (define-public coq-flocq (package (name "coq-flocq") -- 2.14.1 --MP_/5Zx7DXvnqE7C0_K.echOEYq Content-Type: text/x-patch Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=0009-gnu-Add-ocaml-bap.patch >From 2e4a7549a148e56d5d4fe7a869b56e1524dafcb6 Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Thu, 21 Sep 2017 20:49:29 +0200 Subject: [PATCH 09/10] gnu: Add ocaml-bap. * gnu/packages/ocaml.scm (ocaml-bap): New variable. --- gnu/packages/ocaml.scm | 78 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 78 insertions(+) diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm index 7f65ce859..2e7001c4c 100644 --- a/gnu/packages/ocaml.scm +++ b/gnu/packages/ocaml.scm @@ -3449,6 +3449,84 @@ It provides a uniform interface for serializing OCaml data structures to JSON, XML and Protocol Buffers formats.") (license license:asl2.0))) +(define-public ocaml-bap + (package + (name "ocaml-bap") + (version "1.1.0") + (home-page "https://github.com/BinaryAnalysisPlatform/bap") + (source (origin + (method url-fetch) + (uri (string-append home-page "/archive/v" version ".tar.gz")) + (sha256 + (base32 + "1ms95m4j1qrmy7zqmsn2izh7gq68lnmssl7chyhk977kd3sxj66m")) + (file-name (string-append name "-" version ".tar.gz")))) + (build-system ocaml-build-system) + (native-inputs + `(("oasis" ,ocaml-oasis) + ("clang" ,clang) + ("ounit" ,ocaml-ounit))) + (propagated-inputs + `(("core-kernel" ,ocaml-core-kernel) + ("ppx-driver" ,ocaml-ppx-driver) + ("uri" ,ocaml-uri) + ("llvm" ,llvm) + ("gmp" ,gmp) + ("clang-runtime" ,clang-runtime) + ("fileutils" ,ocaml-fileutils) + ("cmdliner" ,ocaml-cmdliner) + ("zarith" ,ocaml-zarith) + ("uuidm" ,ocaml-uuidm) + ("camlzip" ,camlzip) + ("frontc" ,ocaml-frontc) + ("ezjsonm" ,ocaml-ezjsonm) + ("ocurl" ,ocaml-ocurl) + ("piqi" ,ocaml-piqi) + ("ocamlgraph" ,ocamlgraph) + ("bitstring" ,ocaml-bitstring) + ("ppx-jane" ,ocaml-ppx-jane) + ("re" ,ocaml-re))) + (inputs `(("llvm" ,llvm))) + (arguments + `(#:use-make? #t + #:phases + (modify-phases %standard-phases + (replace 'configure + (lambda* (#:key outputs #:allow-other-keys) + (zero? (system* "./configure" "--prefix" + (assoc-ref outputs "out") + "--libdir" + (string-append + (assoc-ref outputs "out") + "/lib/ocaml/site-lib") + "--with-llvm-version=3.8" + "--with-llvm-config=llvm-config" + "--enable-everything")))) + (add-before 'install 'fix-ocamlpath + (lambda* (#:key outputs #:allow-other-keys) + (setenv "OCAMLPATH" + (string-append + (getenv "OCAMLPATH") ":" + (assoc-ref outputs "out") + "/lib/ocaml/site-lib")) + (setenv "PATH" + (string-append (getenv "PATH") ":" + (assoc-ref outputs "out") "/bin")))) + (add-after 'install '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/bap-plugin-llvm"))) + (mkdir-p stubs) + (symlink (string-append lib "/dllllvm_plugin_stubs.so") + (string-append stubs "/dllllvm_plugin_stubs.so")))))))) + (synopsis "Binary Analysis Platform") + (description "Binary Analysis Platform is a framework for writing program +analysis tools, that target binary files. The framework consists of a plethora +of libraries, plugins, and frontends. The libraries provide code reusability, +the plugins facilitate extensibility, and the frontends serve as entry points.") + (license license:expat))) + (define-public coq-flocq (package (name "coq-flocq") -- 2.14.1 --MP_/5Zx7DXvnqE7C0_K.echOEYq Content-Type: text/x-patch Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=0010-gnu-Add-ocaml-camomile.patch >From 553a30b6fd292a7b69a271e61e7a64a1ad9bcbf5 Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Thu, 21 Sep 2017 20:51:14 +0200 Subject: [PATCH 10/10] gnu: Add ocaml-camomile. * gnu/packages/ocaml.scm (ocaml-camomile): New variable. --- gnu/packages/ocaml.scm | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm index 2e7001c4c..31dde1952 100644 --- a/gnu/packages/ocaml.scm +++ b/gnu/packages/ocaml.scm @@ -3527,6 +3527,36 @@ of libraries, plugins, and frontends. The libraries provide code reusability, the plugins facilitate extensibility, and the frontends serve as entry points.") (license license:expat))) +(define-public ocaml-camomile + (package + (name "ocaml-camomile") + (version "0.8.5") + (home-page "https://github.com/yoriyuki/Camomile") + (source (origin + (method url-fetch) + (uri (string-append home-page "/releases/download/rel-" version + "/camomile-" version ".tar.bz2")) + (sha256 + (base32 + "003ikpvpaliy5hblhckfmln34zqz0mk3y2m1fqvbjngh3h2np045")))) + (build-system ocaml-build-system) + (native-inputs `(("camlp4" ,camlp4))) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-before 'configure 'fix-bin/sh + (lambda* (#:key #:allow-other-keys) + (substitute* "configure" + (("CONFIG_SHELL-/bin/sh") + (string-append "CONFIG_SHELL-" (which "bash"))))))))) + (synopsis "Comprehensive Unicode library") + (description "Camomile is a Unicode library for OCaml. Camomile provides +Unicode character type, UTF-8, UTF-16, UTF-32 strings, conversion to/from about +200 encodings, collation and locale-sensitive case mappings, and more. The +library is currently designed for Unicode Standard 3.2.") + ;; with an exception for linked libraries to use a different license + (license license:lgpl2.0+))) + (define-public coq-flocq (package (name "coq-flocq") -- 2.14.1 --MP_/5Zx7DXvnqE7C0_K.echOEYq-- From debbugs-submit-bounces@debbugs.gnu.org Fri Sep 22 00:09:41 2017 Received: (at 28546) by debbugs.gnu.org; 22 Sep 2017 04:09:41 +0000 Received: from localhost ([127.0.0.1]:52086 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dvFHY-0001Qy-Er for submit@debbugs.gnu.org; Fri, 22 Sep 2017 00:09:41 -0400 Received: from mail.centurylink.net ([205.219.233.9]:28250 helo=smtp.centurylink.net) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dvFHW-0001Qk-9g for 28546@debbugs.gnu.org; Fri, 22 Sep 2017 00:09:39 -0400 DKIM-Signature: v=1; a=rsa-sha1; d=centurylink.net; s=ctl201402; c=relaxed/simple; q=dns/txt; i=@centurylink.net; t=1506053372; h=From:Subject:Date:To:MIME-Version:Content-Type; bh=CZ1aHN2Th3AV0p8iD7OFzIgs7vc=; b=BttPbERJU+IJfMhh2OcE9/6o9ZMMewemCPF+xlZ2RblEDqNsHac2Egfnk87ic34x 5ACn73SAX/Go9xxp67R8XUnd1djpbnMTD80HwtiYmmKvvlwptfCiRpOARhbF+Md5 UapbmdyYbPPbZREVMig6QENtXbHgngAn2vu1BpHkn9K9vU+Szw7F20KCw45W3gxf mPeZzdHdugRbwe3FtuDDkg9bDo81I2dY2PrVt4uzQdI/KPnVyhI8n9doWfqC9kHI 78GUt3IZP9+SEo8O7xjLI9ZQXiDmLokN5fmLYIJwPjMLpk/C+BitFB8SerQnjHLI dM3LcKpxdMPp2aMLyJelxg==; X_CMAE_Category: , , X-CNFS-Analysis: v=2.2 cv=IbDFYiia c=1 sm=1 tr=0 a=ARzDMtKCDfUPnxl3IFpf3A==:117 a=ARzDMtKCDfUPnxl3IFpf3A==:17 a=kj9zAlcOel0A:10 a=-qF2q5d5AAAA:8 a=NEAV23lmAAAA:8 a=sUxTU90mAAAA:8 a=gFRRyMUwI00JInpzoMcA:9 a=CjuIK1q_8ugA:10 a=TfCw1JrTLSVVxuiwPTES:22 a=Ddx-bKcW3tmQGv4w-2jq:22 X-CM-Score: 0 X-Scanned-by: Cloudmark Authority Engine X-Authed-Username: ZXJpY2JhdmllckBjZW50dXJ5bGluay5uZXQ= Authentication-Results: smtp01.agate.dfw.synacor.com smtp.user=ericbavier@centurylink.net; auth=pass (LOGIN) Received: from [97.116.118.163] ([97.116.118.163:31184] helo=localhost) by smtp.centurylink.net (envelope-from ) (ecelerity 3.5.1.37854 r(Momo-dev:3.5.1.0)) with ESMTPSA (cipher=AES256-GCM-SHA384) id 33/A0-19435-AFC84C95; Fri, 22 Sep 2017 00:09:30 -0400 Date: Thu, 21 Sep 2017 23:09:28 -0500 From: Eric Bavier To: Julien Lepiller Subject: Re: [bug#28546] Add some ocaml packages Message-ID: <20170921230928.586b592a@centurylink.net> In-Reply-To: <20170921224545.1e5e3d7f@lepiller.eu> References: <20170921224545.1e5e3d7f@lepiller.eu> X-Mailer: Claws Mail 3.15.0-dirty (GTK+ 2.24.31; x86_64-unknown-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 28546 Cc: 28546@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) Hi Julien, Thanks for the patches. Just a few comments below: On Thu, 21 Sep 2017 22:46:51 +0200 Julien Lepiller wrote: > From d177cda39184fd1a1a879feb93f133eecd3bbcc4 Mon Sep 17 00:00:00 2001 > From: Julien Lepiller > Date: Thu, 21 Sep 2017 20:32:27 +0200 > Subject: [PATCH 01/10] gnu: Add ocaml-ezjsonm. > > * gnu/packages/ocaml.scm (ocaml-ezjsonm): New variable. > --- > gnu/packages/ocaml.scm | 30 ++++++++++++++++++++++++++++++ > 1 file changed, 30 insertions(+) > > diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm > index 700c5698e..d765a085a 100644 > --- a/gnu/packages/ocaml.scm > +++ b/gnu/packages/ocaml.scm > @@ -3197,6 +3197,36 @@ writing to these structures, and they are accessed via the Bigarray module.") > (description "Hex is a minimal library providing hexadecimal converters.") > (license license:isc))) > > +(define-public ocaml-ezjsonm > + (package > + (name "ocaml-ezjsonm") > + (version "0.4.3") > + (source (origin > + (method url-fetch) > + (uri (string-append "https://github.com/mirage/ezjsonm/archive/" > + version ".tar.gz")) In a few of the later patches, you declared 'home-page' before 'source' so that it could be used in the uri. That seams reasonable to me. Did you want to do that in all these patches? > + (home-page "https://github.com/mirage/ezjsonm/") > + (synopsis "Easy interface on top of the Jsonm library") How about some more widely meaningful, like: "Read and write JSON data"? IDK, see section 6.7.5 in the manual. > From 395199079f38b96299dbc02b14a945236ef7d6fe Mon Sep 17 00:00:00 2001 > From: Julien Lepiller > Date: Thu, 21 Sep 2017 20:33:33 +0200 > Subject: [PATCH 02/10] gnu: Add ocaml-uri. > > * gnu/packages/ocaml.scm (ocaml-uri): New variable. > --- > + (synopsis "RFC3986 URI/URL parsing library") Similarly, I think we can leave out reference to the RFC in the synopsis, since its in the description already. "URI/URL parsing library" seems enough. > From 8a8f1bedad93fe403df7d374515340f7f2462b2a Mon Sep 17 00:00:00 2001 > From: Julien Lepiller > Date: Thu, 21 Sep 2017 20:35:17 +0200 > Subject: [PATCH 04/10] gnu: Add ocaml-optcomp. > > * gnu/packages/ocaml.scm (ocaml-optcomp): New variable. > --- > +(define-public ocaml-optcomp > + (package > + (name "ocaml-optcomp") Since this is a tool/application in its own right, rather than a library, I think this package could be named "optcomp". This would be in line with other packages like "starman", "scons", "behave", "snakemake", etc. > + (version "1.6") > + (source (origin > + (method url-fetch) > + (uri (string-append "https://github.com/diml/optcomp/archive/" > + version ".tar.gz")) > + (sha256 > + (base32 > + "0hhhb2gisah1h22zlg5iszbgqxdd7x85cwd57bd4mfkx9l7dh8jh")) > + (file-name (string-append name "-" version ".tar.gz")))) > + (build-system ocaml-build-system) > + (arguments > + `(#:use-make? #t > + #:make-flags ^ Remove the tab and align with spaces to '#:' on previous line. > + (native-inputs `(("camlp4" ,camlp4))) > + (propagated-inputs `(("camlp4" ,camlp4))) > + (home-page "https://github.com/diml/optcomp") > + (synopsis "Optional compilation with cpp-like directives") Maybe: "Optional compilation for Ocaml"? > From 3887a8aa6b8610f4ccfece291d7c8bc12a3966bf Mon Sep 17 00:00:00 2001 > From: Julien Lepiller > Date: Thu, 21 Sep 2017 20:44:57 +0200 > Subject: [PATCH 05/10] gnu: Add ocaml-piqilib. > > * gnu/packages/ocaml.scm (ocaml-piqilib): New variable. > --- > gnu/packages/ocaml.scm | 53 ++++++++++++++++++++++++++++++++++++++++++++++++++ > 1 file changed, 53 insertions(+) > > diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm > index 910c892d6..86fe1a9e4 100644 > --- a/gnu/packages/ocaml.scm > +++ b/gnu/packages/ocaml.scm > @@ -3303,6 +3303,59 @@ 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")) > + (patches (search-patches "ocaml-piqilib-fix-makefile.patch")))) ^ This patch is missing. > + (build-system ocaml-build-system) > + (arguments > + `(#:phases > + (modify-phases %standard-phases > + (replace 'configure > + (lambda* (#:key outputs #:allow-other-keys) > + (let ((out (assoc-ref outputs "out"))) > + (substitute* "make/OCamlMakefile" > + (("/bin/sh") (which "bash"))) Does setting the "SHELL" environment variable work instead? > + (zero? (system* "./configure" "--prefix" out "--ocaml-libdir" > + (string-append out "/lib/ocaml/site-lib")))))) Is passing '#:configure-flags' not enough? > + (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")))))))) Is there some sort of configuration flag that can be used to install these library into the right place? Is this package to avoid having to build the entire piqi tool? > From 4afbe64878f1b047ba936015e005f7d48a847afa Mon Sep 17 00:00:00 2001 > From: Julien Lepiller > Date: Thu, 21 Sep 2017 20:45:47 +0200 > Subject: [PATCH 06/10] gnu: Add ocaml-uuidm. > > * gnu/packages/ocaml.scm (ocaml-uuidm): New variable. > --- > +(define-public ocaml-uuidm > + (package ... > + (synopsis "Universally unique identifiers (UUIDs) for OCaml") I think we'd rather leave the acronym out of the synopsis, and place it in the description instead. > + (description "Uuidm is an OCaml module implementing 128 bits universally > +unique identifiers version 3, 5 (named based with MD5, SHA-1 hashing) and 4 > +(random based) according to RFC 4122.") > From 3756da5e60dae4a109c18e552c6d07233ddfb5b9 Mon Sep 17 00:00:00 2001 > From: Julien Lepiller > Date: Thu, 21 Sep 2017 20:46:37 +0200 > Subject: [PATCH 07/10] gnu: Add ocamlgraph. > > * gnu/packages/ocaml.scm (ocamlgraph): New variable. > --- > +(define-public ocamlgraph > + (package > + (name "ocamlgraph") I think we can name this packages "ocaml-graph". Similar to python modules whose names begins with "python". > + (version "1.8.7") > + (source (origin > + (method url-fetch) > + (uri (string-append "http://ocamlgraph.lri.fr/download/" > + "ocamlgraph-" version ".tar.gz")) > + (sha256 > + (base32 > + "1845r537swjil2fcj7lgbibc2zybfwqqasrd2s7bncajs83cl1nz")) > + (patches (search-patches "ocamlgraph-honor-source-date-epoch.patch")))) ^ This patch is missing. > + (build-system ocaml-build-system) > + (arguments > + `(#:install-target "install-findlib" > + #:phases > + (modify-phases %standard-phases > + (add-before 'configure 'fix-/bin/sh > + (lambda* (#:key inputs #:allow-other-keys) > + (substitute* "configure" > + (("-/bin/sh") (string-append "-" (assoc-ref inputs "bash") > + "/bin/sh")))))))) > + (inputs `(("lablgtk" ,lablgtk))) > + (home-page "http://ocamlgraph.lri.fr/") > + (synopsis "A generic graph library for OCaml") Synopses should not start with 'A'. 'guix lint' will warn about this. > + (description "A generic graph library for OCaml.") Rather: "OCamlgraph is a generic graph library for OCaml." > From aa994f7c4ca830f6b3834fd100d7395fcb83dbf5 Mon Sep 17 00:00:00 2001 > From: Julien Lepiller > Date: Thu, 21 Sep 2017 20:47:40 +0200 > Subject: [PATCH 08/10] gnu: Add ocaml-piqi. > > * gnu/packages/ocaml.scm (ocaml-piqi): New variable. > --- > +(define-public ocaml-piqi > + (package > + (name "ocaml-piqi") > + (version "0.7.5") > + (source (origin > + (method url-fetch) > + (uri (string-append "https://github.com/alavrik/piqi-ocaml/" > + "archive/v" version ".tar.gz")) > + (sha256 > + (base32 > + "0ngz6y8i98i5v2ma8nk6mc83pdsmf2z0ks7m3xi6clfg3zqbddrv")))) > + (build-system ocaml-build-system) > + (arguments > + `(#:make-flags > + (list (string-append "DESTDIR=" (assoc-ref %outputs "out"))) Too bad this is so different from GNU's DESTDIR semantics... > + #:phases > + (modify-phases %standard-phases > + (delete 'configure) > + (add-before 'build 'patch-/bin/sh > + (lambda _ > + (substitute* "make/OCamlMakefile" > + (("/bin/sh") (which "sh"))) Again, I wonder if setting "SHELL" in the environment would suffice. It would be less heavy-handed. > From 2e4a7549a148e56d5d4fe7a869b56e1524dafcb6 Mon Sep 17 00:00:00 2001 > From: Julien Lepiller > Date: Thu, 21 Sep 2017 20:49:29 +0200 > Subject: [PATCH 09/10] gnu: Add ocaml-bap. > > * gnu/packages/ocaml.scm (ocaml-bap): New variable. > --- > gnu/packages/ocaml.scm | 78 ++++++++++++++++++++++++++++++++++++++++++++++++++ > 1 file changed, 78 insertions(+) > > diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm > index 7f65ce859..2e7001c4c 100644 > --- a/gnu/packages/ocaml.scm > +++ b/gnu/packages/ocaml.scm > @@ -3449,6 +3449,84 @@ It provides a uniform interface for serializing OCaml data structures to JSON, > XML and Protocol Buffers formats.") > (license license:asl2.0))) > > +(define-public ocaml-bap > + (package > + (name "ocaml-bap") This package should be simply named "bap". > + (version "1.1.0") > + (home-page "https://github.com/BinaryAnalysisPlatform/bap") > + (source (origin > + (method url-fetch) > + (uri (string-append home-page "/archive/v" version ".tar.gz")) > + (sha256 > + (base32 > + "1ms95m4j1qrmy7zqmsn2izh7gq68lnmssl7chyhk977kd3sxj66m")) > + (file-name (string-append name "-" version ".tar.gz")))) > + (build-system ocaml-build-system) > + (native-inputs > + `(("oasis" ,ocaml-oasis) > + ("clang" ,clang) > + ("ounit" ,ocaml-ounit))) > + (propagated-inputs > + `(("core-kernel" ,ocaml-core-kernel) > + ("ppx-driver" ,ocaml-ppx-driver) > + ("uri" ,ocaml-uri) > + ("llvm" ,llvm) > + ("gmp" ,gmp) > + ("clang-runtime" ,clang-runtime) > + ("fileutils" ,ocaml-fileutils) > + ("cmdliner" ,ocaml-cmdliner) > + ("zarith" ,ocaml-zarith) > + ("uuidm" ,ocaml-uuidm) > + ("camlzip" ,camlzip) > + ("frontc" ,ocaml-frontc) > + ("ezjsonm" ,ocaml-ezjsonm) > + ("ocurl" ,ocaml-ocurl) > + ("piqi" ,ocaml-piqi) > + ("ocamlgraph" ,ocamlgraph) > + ("bitstring" ,ocaml-bitstring) > + ("ppx-jane" ,ocaml-ppx-jane) > + ("re" ,ocaml-re))) > + (inputs `(("llvm" ,llvm))) > + (arguments > + `(#:use-make? #t > + #:phases > + (modify-phases %standard-phases > + (replace 'configure > + (lambda* (#:key outputs #:allow-other-keys) > + (zero? (system* "./configure" "--prefix" > + (assoc-ref outputs "out") > + "--libdir" > + (string-append > + (assoc-ref outputs "out") > + "/lib/ocaml/site-lib") > + "--with-llvm-version=3.8" > + "--with-llvm-config=llvm-config" > + "--enable-everything")))) Could you put these flags in '#:configure-flags' instead? > + (add-before 'install 'fix-ocamlpath A short comment on why this phase is needed might be useful. > + (lambda* (#:key outputs #:allow-other-keys) > + (setenv "OCAMLPATH" > + (string-append > + (getenv "OCAMLPATH") ":" > + (assoc-ref outputs "out") > + "/lib/ocaml/site-lib")) > + (setenv "PATH" > + (string-append (getenv "PATH") ":" > + (assoc-ref outputs "out") "/bin")))) > From 553a30b6fd292a7b69a271e61e7a64a1ad9bcbf5 Mon Sep 17 00:00:00 2001 > From: Julien Lepiller > Date: Thu, 21 Sep 2017 20:51:14 +0200 > Subject: [PATCH 10/10] gnu: Add ocaml-camomile. > > * gnu/packages/ocaml.scm (ocaml-camomile): New variable. > --- > gnu/packages/ocaml.scm | 30 ++++++++++++++++++++++++++++++ > 1 file changed, 30 insertions(+) > > diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm > index 2e7001c4c..31dde1952 100644 > --- a/gnu/packages/ocaml.scm > +++ b/gnu/packages/ocaml.scm > @@ -3527,6 +3527,36 @@ of libraries, plugins, and frontends. The libraries provide code reusability, > the plugins facilitate extensibility, and the frontends serve as entry points.") > (license license:expat))) > > +(define-public ocaml-camomile > + (package > + (name "ocaml-camomile") > + (version "0.8.5") > + (home-page "https://github.com/yoriyuki/Camomile") > + (source (origin > + (method url-fetch) > + (uri (string-append home-page "/releases/download/rel-" version > + "/camomile-" version ".tar.bz2")) > + (sha256 > + (base32 > + "003ikpvpaliy5hblhckfmln34zqz0mk3y2m1fqvbjngh3h2np045")))) > + (build-system ocaml-build-system) > + (native-inputs `(("camlp4" ,camlp4))) > + (arguments > + `(#:phases > + (modify-phases %standard-phases > + (add-before 'configure 'fix-bin/sh > + (lambda* (#:key #:allow-other-keys) > + (substitute* "configure" > + (("CONFIG_SHELL-/bin/sh") > + (string-append "CONFIG_SHELL-" (which "bash"))))))))) Maybe our ocaml-build-system should be defining SHELL and CONFIG_SHELL in the flags passed to configure, like gnu-build-system does. Or does that not work for some ocaml projects? Otherwise looks good to me. Sorry for long reply and all the questions, `~Eric From debbugs-submit-bounces@debbugs.gnu.org Fri Sep 22 15:06:25 2017 Received: (at 28546) by debbugs.gnu.org; 22 Sep 2017 19:06:26 +0000 Received: from localhost ([127.0.0.1]:53231 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dvTHF-0003km-QP for submit@debbugs.gnu.org; Fri, 22 Sep 2017 15:06:25 -0400 Received: from lepiller.eu ([89.234.186.109]:48912 helo=localhost) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dvTHD-0003kc-Ng for 28546@debbugs.gnu.org; Fri, 22 Sep 2017 15:06:17 -0400 Received: from localhost (static-176-182-42-79.ncc.abo.bbox.fr [176.182.42.79]) by localhost (OpenSMTPD) with ESMTPSA id 609e284c (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256:NO) for <28546@debbugs.gnu.org>; Fri, 22 Sep 2017 19:06:12 +0000 (UTC) Date: Fri, 22 Sep 2017 21:04:48 +0200 From: Julien Lepiller To: 28546@debbugs.gnu.org Subject: Re: [bug#28546] Add some ocaml packages Message-ID: <20170922210448.1bdb90c2@lepiller.eu> In-Reply-To: <20170921230928.586b592a@centurylink.net> References: <20170921224545.1e5e3d7f@lepiller.eu> <20170921230928.586b592a@centurylink.net> X-Mailer: Claws Mail 3.15.1-dirty (GTK+ 2.24.31; x86_64-unknown-linux-gnu) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="MP_/8Qr2Cuo/.CI+KO_Q_r8roP+" X-Spam-Score: 4.1 (++++) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: Le Thu, 21 Sep 2017 23:09:28 -0500, Eric Bavier a écrit : > Hi Julien, > > Thanks for the patches. Just a few comments below: Thank you for this very detailed review :) [...] Content analysis details: (4.1 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 0.0 URIBL_BLOCKED ADMINISTRATOR NOTICE: The query to URIBL was blocked. See http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block for more information. [URIs: github.com] 0.0 FSL_HELO_NON_FQDN_1 No description available. 3.6 HELO_LOCALHOST No description available. -0.0 SPF_PASS SPF: sender matches SPF record -0.0 RP_MATCHES_RCVD Envelope sender domain matches handover relay domain 0.0 WEIRD_QUOTING BODY: Weird repeated double-quotation marks 0.5 URI_NOVOWEL URI: URI hostname has long non-vowel sequence X-Debbugs-Envelope-To: 28546 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 4.1 (++++) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: Le Thu, 21 Sep 2017 23:09:28 -0500, Eric Bavier a écrit : > Hi Julien, > > Thanks for the patches. Just a few comments below: Thank you for this very detailed review :) [...] Content analysis details: (4.1 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 0.0 URIBL_BLOCKED ADMINISTRATOR NOTICE: The query to URIBL was blocked. See http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block for more information. [URIs: piqi.org] 0.0 FSL_HELO_NON_FQDN_1 No description available. 3.6 HELO_LOCALHOST No description available. -0.0 SPF_PASS SPF: sender matches SPF record -0.0 RP_MATCHES_RCVD Envelope sender domain matches handover relay domain 0.0 WEIRD_QUOTING BODY: Weird repeated double-quotation marks 0.5 URI_NOVOWEL URI: URI hostname has long non-vowel sequence --MP_/8Qr2Cuo/.CI+KO_Q_r8roP+ Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Content-Disposition: inline Le Thu, 21 Sep 2017 23:09:28 -0500, Eric Bavier a =C3=A9crit : > Hi Julien, >=20 > Thanks for the patches. Just a few comments below: Thank you for this very detailed review :) I think I addressed all your comments in the attached new patches, and I will answer your other questions below: >=20 > On Thu, 21 Sep 2017 22:46:51 +0200 > Julien Lepiller wrote: >=20 > In a few of the later patches, you declared 'home-page' before > 'source' so that it could be used in the uri. That seams reasonable > to me. Did you want to do that in all these patches? It seems this is not the way it is done elsewhere, and I was asked to stick with this style. > > "1whqr2bb3gds2zmrzqnv8vqka9928w4lx6mi6g244kmbwb2h8d8l")) > > + (file-name (string-append name "-" version > > ".tar.gz")) > > + (patches (search-patches > > "ocaml-piqilib-fix-makefile.patch")))) =20 > ^ > This patch is missing. Indeed, I use GUIX_PACKAGE_PATH, so it was actually fetching the package and the patch from that other directory... I should remember to unset this variable before testing a patch. >=20 > > + (build-system ocaml-build-system) > > + (arguments > > + `(#:phases > > + (modify-phases %standard-phases > > + (replace 'configure > > + (lambda* (#:key outputs #:allow-other-keys) > > + (let ((out (assoc-ref outputs "out"))) > > + (substitute* "make/OCamlMakefile" > > + (("/bin/sh") (which "bash"))) =20 >=20 > Does setting the "SHELL" environment variable work instead? Yes it does, thank you for spotting this. It also works for most of the other packages. >=20 > > + (zero? (system* "./configure" "--prefix" out > > "--ocaml-libdir" > > + (string-append out > > "/lib/ocaml/site-lib")))))) =20 >=20 > Is passing '#:configure-flags' not enough? The configure script of OCaml packages is usually not an autotools one. The all have a different set of options they require. Our ocaml-build-system passes "-prefix" out and then configure-flags. Setting configure-flags only would therefore fail, because the "-prefix" option would not be recognized (one dash, when it expects two). The ocaml-build-system is made that way because it seems most configure scripts for ocaml packages require only one dash. >=20 > > + (add-after 'build 'build-ocaml > > + (lambda* (#:key outputs #:allow-other-keys) > > + (zero? (system* "make" "ocaml"))))=20 > > + (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")))))))) =20 >=20 > Is there some sort of configuration flag that can be used to install > these library into the right place? Unfortunately, I didn't find any. >=20 > Is this package to avoid having to build the entire piqi tool? This package doesn't come from the same source as piqi-ocaml. I don't know exactly how it works, though, because I added it only as a dependency. > > + (inputs `(("llvm" ,llvm))) > > + (arguments > > + `(#:use-make? #t > > + #:phases > > + (modify-phases %standard-phases > > + (replace 'configure > > + (lambda* (#:key outputs #:allow-other-keys) > > + (zero? (system* "./configure" "--prefix" > > + (assoc-ref outputs "out") > > + "--libdir" > > + (string-append > > + (assoc-ref outputs "out") > > + "/lib/ocaml/site-lib") > > + "--with-llvm-version=3D3.8" > > + "--with-llvm-config=3Dllvm-config" > > + "--enable-everything")))) =20 >=20 > Could you put these flags in '#:configure-flags' instead? Again, --prefix vs -prefix >=20 > Maybe our ocaml-build-system should be defining SHELL and CONFIG_SHELL > in the flags passed to configure, like gnu-build-system does. Or does > that not work for some ocaml projects? Since most configure scripts are not autotools one, they don't recognize variables passed as arguments. >=20 >=20 > Otherwise looks good to me. >=20 > Sorry for long reply and all the questions, > `~Eric --MP_/8Qr2Cuo/.CI+KO_Q_r8roP+ Content-Type: text/x-patch Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=0001-gnu-Add-ocaml-ezjsonm.patch >From 5344f2cb8f8661fbc5c8ddb039ce9e2578790e71 Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Thu, 21 Sep 2017 20:32:27 +0200 Subject: [PATCH 01/10] gnu: Add ocaml-ezjsonm. * gnu/packages/ocaml.scm (ocaml-ezjsonm): New variable. --- gnu/packages/ocaml.scm | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm index 700c5698e..f3ebb2854 100644 --- a/gnu/packages/ocaml.scm +++ b/gnu/packages/ocaml.scm @@ -3197,6 +3197,36 @@ writing to these structures, and they are accessed via the Bigarray module.") (description "Hex is a minimal library providing hexadecimal converters.") (license license:isc))) +(define-public ocaml-ezjsonm + (package + (name "ocaml-ezjsonm") + (version "0.4.3") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/mirage/ezjsonm/archive/" + version ".tar.gz")) + (sha256 + (base32 + "1kag0z2xlk4rw73a240dmkxh9rj6psxxcxkm7d7z0rrj6hzjajgq")) + (file-name (string-append name "-" version ".tar.gz")))) + (build-system ocaml-build-system) + (native-inputs + `(("alcotest" ,ocaml-alcotest))) + (propagated-inputs + `(("hex" ,ocaml-hex) + ("jsonm" ,ocaml-jsonm) + ("lwt" ,ocaml-lwt) + ("sexplib" ,ocaml-sexplib))) + (arguments + `(#:configure-flags (list "--enable-lwt"))) + (home-page "https://github.com/mirage/ezjsonm/") + (synopsis "Read and write JSON data") + (description "Ezjsonm provides more convenient (but far less flexible) input +and output functions that go to and from [string] values than jsonm. This avoids +the need to write signal code, which is useful for quick scripts that manipulate +JSON.") + (license license:isc))) + (define-public coq-flocq (package (name "coq-flocq") -- 2.14.1 --MP_/8Qr2Cuo/.CI+KO_Q_r8roP+ Content-Type: text/x-patch Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=0002-gnu-Add-ocaml-uri.patch >From bde4818c65208765febb9407b6c7e524a171a3d8 Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Thu, 21 Sep 2017 20:33:33 +0200 Subject: [PATCH 02/10] gnu: Add ocaml-uri. * gnu/packages/ocaml.scm (ocaml-uri): New variable. --- gnu/packages/ocaml.scm | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm index f3ebb2854..b4b4f2333 100644 --- a/gnu/packages/ocaml.scm +++ b/gnu/packages/ocaml.scm @@ -3227,6 +3227,32 @@ the need to write signal code, which is useful for quick scripts that manipulate JSON.") (license license:isc))) +(define-public ocaml-uri + (package + (name "ocaml-uri") + (version "1.9.2") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/mirage/ocaml-uri/archive/v" + version ".tar.gz")) + (sha256 + (base32 + "02bzrag79prx261rxf9mlak749pwf4flpfl8p012x1xznv9m0clc")) + (file-name (string-append name "-" version ".tar.gz")))) + (build-system ocaml-build-system) + (native-inputs + `(("ounit" ,ocaml-ounit))) + (propagated-inputs + `(("ppx-sexp-conv" ,ocaml-ppx-sexp-conv) + ("re" ,ocaml-re) + ("ppx-deriving" ,ocaml-ppx-deriving) + ("sexplib" ,ocaml-sexplib) + ("stringext" ,ocaml-stringext))) + (home-page "https://github.com/mirage/ocaml-uri") + (synopsis "RFC3986 URI/URL parsing library") + (description "OCaml-uri is a library for parsing URI/URL in the RFC3986 format.") + (license license:isc))) + (define-public coq-flocq (package (name "coq-flocq") -- 2.14.1 --MP_/8Qr2Cuo/.CI+KO_Q_r8roP+ Content-Type: text/x-patch Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=0003-gnu-Add-ocaml-easy-format.patch >From e99d48de514e98bf9c1e862f35df406eda9c4a60 Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Thu, 21 Sep 2017 20:34:27 +0200 Subject: [PATCH 03/10] gnu: Add ocaml-easy-format. * gnu/packages/ocaml.scm (ocaml-easy-format): New variable. --- gnu/packages/ocaml.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm index b4b4f2333..35a5a10e4 100644 --- a/gnu/packages/ocaml.scm +++ b/gnu/packages/ocaml.scm @@ -3253,6 +3253,29 @@ JSON.") (description "OCaml-uri is a library for parsing URI/URL in the RFC3986 format.") (license license:isc))) +(define-public ocaml-easy-format + (package + (name "ocaml-easy-format") + (version "1.2.0") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/mjambon/easy-format/" + "archive/v" version ".tar.gz")) + (sha256 + (base32 + "1zcz682y9figa84k7lgdjcab5qbzk3yy14ygfqp2dhhrvjygm252")) + (file-name (string-append name "-" version ".tar.gz")))) + (build-system ocaml-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (delete 'configure)))) + (home-page "https://github.com/mjambon/easy-format") + (synopsis "Interface to the Format module") + (description "Easy-format is a high-level and functional interface to the +Format module of the OCaml standard library.") + (license license:bsd-3))) + (define-public coq-flocq (package (name "coq-flocq") -- 2.14.1 --MP_/8Qr2Cuo/.CI+KO_Q_r8roP+ Content-Type: text/x-patch Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=0004-gnu-Add-ocaml-optcomp.patch >From ba5861d55b9749978aa7191798afc87417c67c59 Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Thu, 21 Sep 2017 20:35:17 +0200 Subject: [PATCH 04/10] gnu: Add ocaml-optcomp. * gnu/packages/ocaml.scm (ocaml-optcomp): New variable. --- gnu/packages/ocaml.scm | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm index 35a5a10e4..4cb66bd2b 100644 --- a/gnu/packages/ocaml.scm +++ b/gnu/packages/ocaml.scm @@ -3276,6 +3276,33 @@ JSON.") Format module of the OCaml standard library.") (license license:bsd-3))) +(define-public optcomp + (package + (name "optcomp") + (version "1.6") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/diml/optcomp/archive/" + version ".tar.gz")) + (sha256 + (base32 + "0hhhb2gisah1h22zlg5iszbgqxdd7x85cwd57bd4mfkx9l7dh8jh")) + (file-name (string-append name "-" version ".tar.gz")))) + (build-system ocaml-build-system) + (arguments + `(#:use-make? #t + #:make-flags + (list (string-append "BUILDFLAGS=\"-cflags -I," + (assoc-ref %build-inputs "camlp4") + "/lib/ocaml/site-lib/camlp4/Camlp4Parsers\"")))) + (native-inputs `(("camlp4" ,camlp4))) + (propagated-inputs `(("camlp4" ,camlp4))) + (home-page "https://github.com/diml/optcomp") + (synopsis "Optional compilation for OCaml") + (description "Optcomp provides an optional compilation facility with +cpp-like directives.") + (license license:bsd-3))) + (define-public coq-flocq (package (name "coq-flocq") -- 2.14.1 --MP_/8Qr2Cuo/.CI+KO_Q_r8roP+ Content-Type: text/x-patch Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=0005-gnu-Add-ocaml-piqilib.patch >From 3647f7d8e330e1f6fbb60596739a21ccd1bd85f3 Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Thu, 21 Sep 2017 20:44:57 +0200 Subject: [PATCH 05/10] gnu: Add ocaml-piqilib. * gnu/packages/ocaml.scm (ocaml-piqilib): New variable. --- gnu/packages/ocaml.scm | 53 ++++++++++++++++++++++ .../patches/ocaml-piqilib-fix-makefile.patch | 47 +++++++++++++++++++ 2 files changed, 100 insertions(+) create mode 100644 gnu/packages/patches/ocaml-piqilib-fix-makefile.patch diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm index 4cb66bd2b..00665959a 100644 --- a/gnu/packages/ocaml.scm +++ b/gnu/packages/ocaml.scm @@ -3303,6 +3303,59 @@ 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")) + (patches (search-patches "ocaml-piqilib-fix-makefile.patch")))) + (build-system ocaml-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (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")))))))) + (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") diff --git a/gnu/packages/patches/ocaml-piqilib-fix-makefile.patch b/gnu/packages/patches/ocaml-piqilib-fix-makefile.patch new file mode 100644 index 000000000..a21b21983 --- /dev/null +++ b/gnu/packages/patches/ocaml-piqilib-fix-makefile.patch @@ -0,0 +1,47 @@ +From 336e69d6882a1b8d725c43f1c2e340ef4464bac5 Mon Sep 17 00:00:00 2001 +From: Julien Lepiller +Date: Sat, 31 Dec 2016 11:21:14 +0100 +Subject: [PATCH] fix OCAMLPATH in makefile + +--- + Makefile | 2 +- + make/Makefile.ocaml | 3 ++- + 2 files changed, 3 insertions(+), 2 deletions(-) + +diff --git a/Makefile b/Makefile +index 4db87da..9315887 100644 +--- a/Makefile ++++ b/Makefile +@@ -23,7 +23,7 @@ OCAMLFIND_DESTDIR := $(shell cygpath -w $(OCAMLFIND_DESTDIR)) + endif + export OCAMLFIND_DESTDIR + +-OCAMLPATH := $(PIQI_ROOT)/deps ++OCAMLPATH := $(OCAMLPATH):$(PIQI_ROOT)/deps + ifeq ($(SYSTEM),$(filter $(SYSTEM),mingw mingw64)) + OCAMLPATH := $(shell cygpath -w $(OCAMLPATH)) + endif +diff --git a/make/Makefile.ocaml b/make/Makefile.ocaml +index 2b6324d..b82c041 100644 +--- a/make/Makefile.ocaml ++++ b/make/Makefile.ocaml +@@ -1,7 +1,7 @@ + OCAMLMAKEFILE := $(PIQI_ROOT)/make/OCamlMakefile + + +-OCAMLPATH := $(PIQI_BUILD)/lib/ocaml ++OCAMLPATH := $(OCAMLPATH):$(PIQI_BUILD)/lib/ocaml + ifeq ($(SYSTEM),$(filter $(SYSTEM),mingw mingw64)) + OCAMLPATH := $(shell cygpath -w $(OCAMLPATH)) + endif +@@ -23,6 +23,7 @@ post_target:: + + + .ml.mli: $(EXTRADEPS) ++ echo $(OCAMLPATH) + $(QUIET)pp=`sed -n -e '/^#/d' -e 's/(\*pp \([^*]*\) \*)/\1/p;q' $<`; \ + if [ -z "$$pp" ]; then \ + $(ECHO) $(REAL_OCAMLFIND) $(INTF_OCAMLC) $(OCAML_FIND_PACKAGES) \ +-- +2.11.0 + -- 2.14.1 --MP_/8Qr2Cuo/.CI+KO_Q_r8roP+ Content-Type: text/x-patch Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=0006-gnu-Add-ocaml-uuidm.patch >From c0a16c103b6fd2336183e6e3677af5ba61bcbf64 Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Thu, 21 Sep 2017 20:45:47 +0200 Subject: [PATCH 06/10] gnu: Add ocaml-uuidm. * gnu/packages/ocaml.scm (ocaml-uuidm): New variable. --- gnu/packages/ocaml.scm | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm index 00665959a..d8b43a2bc 100644 --- a/gnu/packages/ocaml.scm +++ b/gnu/packages/ocaml.scm @@ -3356,6 +3356,36 @@ cpp-like directives.") tool and piqi-ocaml.") (license license:asl2.0))) +(define-public ocaml-uuidm + (package + (name "ocaml-uuidm") + (version "0.9.6") + (source (origin + (method url-fetch) + (uri (string-append "http://erratique.ch/software/uuidm/" + "releases/uuidm-" version ".tbz")) + (sha256 + (base32 + "0hz4fdx0x16k0pw9995vkz5d1hmzz6b16wck9li399rcbfnv5jlc")))) + (build-system ocaml-build-system) + (arguments + `(#:build-flags + (list "build" "--tests" "true" "--with-cmdliner" "true") + #:phases + (modify-phases %standard-phases + (delete 'configure)))) + (native-inputs + `(("opam" ,opam))) + (propagated-inputs + `(("cmdliner" ,ocaml-cmdliner) + ("topkg" ,ocaml-topkg))) + (home-page "http://erratique.ch/software/uuidm") + (synopsis "Universally unique identifiers for OCaml") + (description "Uuidm is an OCaml module implementing 128 bits universally +unique identifiers (UUIDs) version 3, 5 (named based with MD5, SHA-1 hashing) +and 4 (random based) according to RFC 4122.") + (license license:isc))) + (define-public coq-flocq (package (name "coq-flocq") -- 2.14.1 --MP_/8Qr2Cuo/.CI+KO_Q_r8roP+ Content-Type: text/x-patch Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=0007-gnu-Add-ocaml-graph.patch >From 11841bf1700fada87a4a747130543ce8de4930f5 Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Thu, 21 Sep 2017 20:46:37 +0200 Subject: [PATCH 07/10] gnu: Add ocaml-graph. * gnu/packages/ocaml.scm (ocaml-graph): New variable. --- gnu/packages/ocaml.scm | 27 +++++++++++++++++ .../ocaml-graph-honor-source-date-epoch.patch | 34 ++++++++++++++++++++++ 2 files changed, 61 insertions(+) create mode 100644 gnu/packages/patches/ocaml-graph-honor-source-date-epoch.patch diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm index d8b43a2bc..1d4c95730 100644 --- a/gnu/packages/ocaml.scm +++ b/gnu/packages/ocaml.scm @@ -3386,6 +3386,33 @@ unique identifiers (UUIDs) version 3, 5 (named based with MD5, SHA-1 hashing) and 4 (random based) according to RFC 4122.") (license license:isc))) +(define-public ocaml-graph + (package + (name "ocaml-graph") + (version "1.8.7") + (source (origin + (method url-fetch) + (uri (string-append "http://ocamlgraph.lri.fr/download/" + "ocamlgraph-" version ".tar.gz")) + (sha256 + (base32 + "1845r537swjil2fcj7lgbibc2zybfwqqasrd2s7bncajs83cl1nz")) + (patches (search-patches "ocaml-graph-honor-source-date-epoch.patch")))) + (build-system ocaml-build-system) + (arguments + `(#:install-target "install-findlib" + #:phases + (modify-phases %standard-phases + (add-before 'configure 'set-shell + (lambda* (#:key inputs #:allow-other-keys) + (setenv "CONFIG_SHELL" (string-append (assoc-ref inputs "bash") + "/bin/sh"))))))) + (inputs `(("lablgtk" ,lablgtk))) + (home-page "http://ocamlgraph.lri.fr/") + (synopsis "Graph library for OCaml") + (description "OCamlgraph is a generic graph library for OCaml.") + (license license:lgpl2.1))) + (define-public coq-flocq (package (name "coq-flocq") diff --git a/gnu/packages/patches/ocaml-graph-honor-source-date-epoch.patch b/gnu/packages/patches/ocaml-graph-honor-source-date-epoch.patch new file mode 100644 index 000000000..9f8713e3d --- /dev/null +++ b/gnu/packages/patches/ocaml-graph-honor-source-date-epoch.patch @@ -0,0 +1,34 @@ +From 354ef78aac0b887fae3c10b28eb2b0d83f66bdfe Mon Sep 17 00:00:00 2001 +From: Julien Lepiller +Date: Mon, 2 Jan 2017 17:05:24 +0100 +Subject: [PATCH] Honor SOURCE_DATE_EPOCH + +--- + Makefile.in | 7 ++++++- + 1 file changed, 6 insertions(+), 1 deletion(-) + +diff --git a/Makefile.in b/Makefile.in +index a32b4b8..ef4c174 100644 +--- a/Makefile.in ++++ b/Makefile.in +@@ -113,11 +113,16 @@ graph.cmx: $(CMI) $(CMX) + $(OCAMLOPT) $(INCLUDES) -pack -o $@ $^ + + VERSION=1.8.7 ++ifdef SOURCE_DATE_EPOCH ++BUILD_DATE=$(shell date -u -d "@$(SOURCE_DATE_EPOCH)" 2>/dev/null || date -u -r "$(SOURCE_DATE_EPOCH)" 2>/dev/null || date) ++else ++BUILD_DATE=$(shell date) ++endif + + src/version.ml: Makefile + rm -f $@ + echo "let version = \""$(VERSION)"\"" > $@ +- echo "let date = \""`date`"\"" >> $@ ++ echo "let date = \""$(BUILD_DATE)"\"" >> $@ + + # gtk2 graph editor + ################### +-- +2.11.0 + -- 2.14.1 --MP_/8Qr2Cuo/.CI+KO_Q_r8roP+ Content-Type: text/x-patch Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=0008-gnu-Add-ocaml-piqi.patch >From 28c4c8ce2d5f8b0975b96a578ebbd05002db7774 Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Thu, 21 Sep 2017 20:47:40 +0200 Subject: [PATCH 08/10] gnu: Add ocaml-piqi. * gnu/packages/ocaml.scm (ocaml-piqi): New variable. --- gnu/packages/ocaml.scm | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm index 1d4c95730..27ec8354b 100644 --- a/gnu/packages/ocaml.scm +++ b/gnu/packages/ocaml.scm @@ -47,6 +47,7 @@ #:use-module (gnu packages pcre) #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) + #:use-module (gnu packages protobuf) #:use-module (gnu packages python) #:use-module (gnu packages tex) #:use-module (gnu packages texinfo) @@ -3413,6 +3414,38 @@ and 4 (random based) according to RFC 4122.") (description "OCamlgraph is a generic graph library for OCaml.") (license license:lgpl2.1))) +(define-public ocaml-piqi + (package + (name "ocaml-piqi") + (version "0.7.5") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/alavrik/piqi-ocaml/" + "archive/v" version ".tar.gz")) + (sha256 + (base32 + "0ngz6y8i98i5v2ma8nk6mc83pdsmf2z0ks7m3xi6clfg3zqbddrv")))) + (build-system ocaml-build-system) + (arguments + `(#:make-flags + (list (string-append "DESTDIR=" (assoc-ref %outputs "out")) + (string-append "SHELL=" (assoc-ref %build-inputs "bash") + "/bin/sh")) + #:phases + (modify-phases %standard-phases + (delete 'configure)))) + (native-inputs + `(("which" ,which) + ("protobuf" ,protobuf))) ; for tests + (propagated-inputs + `(("piqilib" ,ocaml-piqilib))) + (home-page "https://github.com/alavrik/piqi-ocaml") + (synopsis "Protocol serialization system for OCaml") + (description "Piqi is a multi-format data serialization system for OCaml. +It provides a uniform interface for serializing OCaml data structures to JSON, +XML and Protocol Buffers formats.") + (license license:asl2.0))) + (define-public coq-flocq (package (name "coq-flocq") -- 2.14.1 --MP_/8Qr2Cuo/.CI+KO_Q_r8roP+ Content-Type: text/x-patch Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=0009-gnu-Add-bap.patch >From 9859961c3ab90b8bc5d94689c9bb6e0f657f88c4 Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Thu, 21 Sep 2017 20:49:29 +0200 Subject: [PATCH 09/10] gnu: Add bap. * gnu/packages/ocaml.scm (bap): New variable. --- gnu/packages/ocaml.scm | 69 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 69 insertions(+) diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm index 27ec8354b..61ebbd937 100644 --- a/gnu/packages/ocaml.scm +++ b/gnu/packages/ocaml.scm @@ -41,6 +41,7 @@ #:use-module (gnu packages gnome) #:use-module (gnu packages gtk) #:use-module (gnu packages libevent) + #:use-module (gnu packages llvm) #:use-module (gnu packages m4) #:use-module (gnu packages multiprecision) #:use-module (gnu packages ncurses) @@ -3446,6 +3447,74 @@ It provides a uniform interface for serializing OCaml data structures to JSON, XML and Protocol Buffers formats.") (license license:asl2.0))) +(define-public bap + (package + (name "bap") + (version "1.1.0") + (home-page "https://github.com/BinaryAnalysisPlatform/bap") + (source (origin + (method url-fetch) + (uri (string-append home-page "/archive/v" version ".tar.gz")) + (sha256 + (base32 + "1ms95m4j1qrmy7zqmsn2izh7gq68lnmssl7chyhk977kd3sxj66m")) + (file-name (string-append name "-" version ".tar.gz")))) + (build-system ocaml-build-system) + (native-inputs + `(("oasis" ,ocaml-oasis) + ("clang" ,clang) + ("ounit" ,ocaml-ounit))) + (propagated-inputs + `(("core-kernel" ,ocaml-core-kernel) + ("ppx-driver" ,ocaml-ppx-driver) + ("uri" ,ocaml-uri) + ("llvm" ,llvm) + ("gmp" ,gmp) + ("clang-runtime" ,clang-runtime) + ("fileutils" ,ocaml-fileutils) + ("cmdliner" ,ocaml-cmdliner) + ("zarith" ,ocaml-zarith) + ("uuidm" ,ocaml-uuidm) + ("camlzip" ,camlzip) + ("frontc" ,ocaml-frontc) + ("ezjsonm" ,ocaml-ezjsonm) + ("ocurl" ,ocaml-ocurl) + ("piqi" ,ocaml-piqi) + ("ocamlgraph" ,ocaml-graph) + ("bitstring" ,ocaml-bitstring) + ("ppx-jane" ,ocaml-ppx-jane) + ("re" ,ocaml-re))) + (inputs `(("llvm" ,llvm))) + (arguments + `(#:use-make? #t + #:phases + (modify-phases %standard-phases + (replace 'configure + (lambda* (#:key outputs #:allow-other-keys) + (zero? (system* "./configure" "--prefix" + (assoc-ref outputs "out") + "--libdir" + (string-append + (assoc-ref outputs "out") + "/lib/ocaml/site-lib") + "--with-llvm-version=3.8" + "--with-llvm-config=llvm-config" + "--enable-everything")))) + (add-after 'install '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/bap-plugin-llvm"))) + (mkdir-p stubs) + (symlink (string-append lib "/dllllvm_plugin_stubs.so") + (string-append stubs "/dllllvm_plugin_stubs.so")))))))) + (synopsis "Binary Analysis Platform") + (description "Binary Analysis Platform is a framework for writing program +analysis tools, that target binary files. The framework consists of a plethora +of libraries, plugins, and frontends. The libraries provide code reusability, +the plugins facilitate extensibility, and the frontends serve as entry points.") + (license license:expat))) + (define-public coq-flocq (package (name "coq-flocq") -- 2.14.1 --MP_/8Qr2Cuo/.CI+KO_Q_r8roP+ Content-Type: text/x-patch Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=0010-gnu-Add-ocaml-camomile.patch >From 0a638c17bda12cc16def3c94946f9a065e014949 Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Thu, 21 Sep 2017 20:51:14 +0200 Subject: [PATCH 10/10] gnu: Add ocaml-camomile. * gnu/packages/ocaml.scm (ocaml-camomile): New variable. --- gnu/packages/ocaml.scm | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm index 61ebbd937..61cad7c48 100644 --- a/gnu/packages/ocaml.scm +++ b/gnu/packages/ocaml.scm @@ -3515,6 +3515,34 @@ of libraries, plugins, and frontends. The libraries provide code reusability, the plugins facilitate extensibility, and the frontends serve as entry points.") (license license:expat))) +(define-public ocaml-camomile + (package + (name "ocaml-camomile") + (version "0.8.5") + (home-page "https://github.com/yoriyuki/Camomile") + (source (origin + (method url-fetch) + (uri (string-append home-page "/releases/download/rel-" version + "/camomile-" version ".tar.bz2")) + (sha256 + (base32 + "003ikpvpaliy5hblhckfmln34zqz0mk3y2m1fqvbjngh3h2np045")))) + (build-system ocaml-build-system) + (native-inputs `(("camlp4" ,camlp4))) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-before 'configure 'fix-bin/sh + (lambda _ + (setenv "CONFIG_SHELL" (which "bash"))))))) + (synopsis "Comprehensive Unicode library") + (description "Camomile is a Unicode library for OCaml. Camomile provides +Unicode character type, UTF-8, UTF-16, UTF-32 strings, conversion to/from about +200 encodings, collation and locale-sensitive case mappings, and more. The +library is currently designed for Unicode Standard 3.2.") + ;; with an exception for linked libraries to use a different license + (license license:lgpl2.0+))) + (define-public coq-flocq (package (name "coq-flocq") -- 2.14.1 --MP_/8Qr2Cuo/.CI+KO_Q_r8roP+-- From debbugs-submit-bounces@debbugs.gnu.org Tue Sep 26 04:21:26 2017 Received: (at 28546) by debbugs.gnu.org; 26 Sep 2017 08:21:26 +0000 Received: from localhost ([127.0.0.1]:59627 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dwl7O-0004o8-LY for submit@debbugs.gnu.org; Tue, 26 Sep 2017 04:21:26 -0400 Received: from eggs.gnu.org ([208.118.235.92]:48881) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dwl7N-0004nl-2K for 28546@debbugs.gnu.org; Tue, 26 Sep 2017 04:21:25 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dwl76-0001c9-D1 for 28546@debbugs.gnu.org; Tue, 26 Sep 2017 04:21:13 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,RP_MATCHES_RCVD autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:55296) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dwl76-0001c5-92; Tue, 26 Sep 2017 04:21:08 -0400 Received: from [193.50.110.164] (port=58932 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1dwl75-00040V-OD; Tue, 26 Sep 2017 04:21:08 -0400 From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) To: Julien Lepiller Subject: Re: [bug#28546] Add some ocaml packages References: <20170921224545.1e5e3d7f@lepiller.eu> <20170921230928.586b592a@centurylink.net> <20170922210448.1bdb90c2@lepiller.eu> Date: Tue, 26 Sep 2017 10:21:06 +0200 In-Reply-To: <20170922210448.1bdb90c2@lepiller.eu> (Julien Lepiller's message of "Fri, 22 Sep 2017 21:04:48 +0200") Message-ID: <87vak527m5.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: 28546 Cc: 28546@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.0 (-----) Hello Julien, Julien Lepiller skribis: > Le Thu, 21 Sep 2017 23:09:28 -0500, > Eric Bavier a =C3=A9crit : [...] >> Otherwise looks good to me. If you addressed Eric=E2=80=99s concerns and it works for you, you can prob= ably go ahead and push this series. Thanks, Ludo=E2=80=99. From debbugs-submit-bounces@debbugs.gnu.org Wed Sep 27 15:29:50 2017 Received: (at 28546-done) by debbugs.gnu.org; 27 Sep 2017 19:29:50 +0000 Received: from localhost ([127.0.0.1]:35386 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dxI1m-0008WM-1T for submit@debbugs.gnu.org; Wed, 27 Sep 2017 15:29:50 -0400 Received: from lepiller.eu ([89.234.186.109]:49036) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dxI1k-0008WD-MG for 28546-done@debbugs.gnu.org; Wed, 27 Sep 2017 15:29:49 -0400 Received: from localhost (static-176-182-42-79.ncc.abo.bbox.fr [176.182.42.79]) by lepiller.eu (OpenSMTPD) with ESMTPSA id acf93b3e (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256:NO) for <28546-done@debbugs.gnu.org>; Wed, 27 Sep 2017 19:29:46 +0000 (UTC) Date: Wed, 27 Sep 2017 21:28:21 +0200 From: Julien Lepiller To: 28546-done@debbugs.gnu.org Subject: Re: [bug#28546] Add some ocaml packages Message-ID: <20170927212821.7148a627@lepiller.eu> In-Reply-To: <87vak527m5.fsf@gnu.org> References: <20170921224545.1e5e3d7f@lepiller.eu> <20170921230928.586b592a@centurylink.net> <20170922210448.1bdb90c2@lepiller.eu> <87vak527m5.fsf@gnu.org> X-Mailer: Claws Mail 3.15.1-dirty (GTK+ 2.24.31; x86_64-unknown-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 28546-done X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.0 (/) Le Tue, 26 Sep 2017 10:21:06 +0200, ludo@gnu.org (Ludovic Court=C3=A8s) a =C3=A9crit : > Hello Julien, >=20 > Julien Lepiller skribis: >=20 > > Le Thu, 21 Sep 2017 23:09:28 -0500, > > Eric Bavier a =C3=A9crit : =20 >=20 > [...] >=20 > >> Otherwise looks good to me. =20 >=20 > If you addressed Eric=E2=80=99s concerns and it works for you, you can > probably go ahead and push this series. >=20 > Thanks, > Ludo=E2=80=99. OK, pushed as bf7bc0d6bb8e549f1b05dae3fe4f325311db8310 - 408091d5a58801f88f8a5269387ce5efa701508b. From unknown Sat Jun 21 03:07:36 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Thu, 26 Oct 2017 11:24:05 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator