From patchwork Wed Feb 13 11:35:29 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Dan Frumin X-Patchwork-Id: 1074 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 7A99F16C0D; Wed, 13 Feb 2019 11:36:15 +0000 (GMT) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.0 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTP id E708816C0B for ; Wed, 13 Feb 2019 11:36:14 +0000 (GMT) Received: from localhost ([127.0.0.1]:55274 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gtspq-0008JH-AM for patchwork@mira.cbaines.net; Wed, 13 Feb 2019 06:36:14 -0500 Received: from eggs.gnu.org ([209.51.188.92]:57037) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gtsph-0008Ix-9J for guix-patches@gnu.org; Wed, 13 Feb 2019 06:36:07 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gtspe-0005Bz-G2 for guix-patches@gnu.org; Wed, 13 Feb 2019 06:36:05 -0500 Received: from debbugs.gnu.org ([209.51.188.43]:46517) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1gtspe-0005BC-4u for guix-patches@gnu.org; Wed, 13 Feb 2019 06:36:02 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1gtspd-0000nr-J2 for guix-patches@gnu.org; Wed, 13 Feb 2019 06:36:01 -0500 X-Loop: help-debbugs@gnu.org Subject: [bug#34466] [PATCH] gnu: Add coq-equations. Resent-From: Dan Frumin Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Wed, 13 Feb 2019 11:36:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 34466 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Julien Lepiller Received: via spool by 34466-submit@debbugs.gnu.org id=B34466.15500577353044 (code B ref 34466); Wed, 13 Feb 2019 11:36:01 +0000 Received: (at 34466) by debbugs.gnu.org; 13 Feb 2019 11:35:35 +0000 Received: from localhost ([127.0.0.1]:45798 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gtspC-0000n2-Vk for submit@debbugs.gnu.org; Wed, 13 Feb 2019 06:35:35 -0500 Received: from smtp1.science.ru.nl ([131.174.16.143]:44266) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gtsp9-0000mq-FL for 34466@debbugs.gnu.org; Wed, 13 Feb 2019 06:35:33 -0500 Received: from [131.174.142.220] (n142220.science.ru.nl [131.174.142.220]) (authen=dfrumin) by smtp1.science.ru.nl (8.14.4/5.32) with ESMTP id x1DBZTkW015602; Wed, 13 Feb 2019 12:35:29 +0100 References: <20190213104024.1963-1-dfrumin@cs.ru.nl> From: Dan Frumin Message-ID: <7a093050-4495-7650-7b9b-2abf73a2efc7@cs.ru.nl> Date: Wed, 13 Feb 2019 12:35:29 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.2.1 MIME-Version: 1.0 In-Reply-To: Content-Language: en-US X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 209.51.188.43 X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: 34466@debbugs.gnu.org Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: "Guix-patches" X-getmail-retrieved-from-mailbox: Patches Hi Julien. Thank you for your thorough comments, I really appreciate it! I hope that the quality of my patches increase in time so please bear with me for a bit :) On 13-02-19 12:04, Julien Lepiller wrote: > Le 2019-02-13 11:40, Dan Frumin a écrit : >> --- >>  gnu/packages/coq.scm | 40 ++++++++++++++++++++++++++++++++++++++++ >>  1 file changed, 40 insertions(+) >> >> diff --git a/gnu/packages/coq.scm b/gnu/packages/coq.scm >> index fa02f85cd..494c3404b 100644 >> --- a/gnu/packages/coq.scm >> +++ b/gnu/packages/coq.scm >> @@ -500,3 +500,43 @@ work on a decision procedure for the equational >> theory of an extension of the >>  sigma-calculus by Abadi et al.  The library is completely written in Coq and >>  uses Ltac to synthesize the substitution operation.") >>        (license license:bsd-3)))) > > Hi Dan, thanks for this patch! I have some comments below to help improve the > quality of future patches, as well as two questions you need to answer before > I can push that patch. > >> + >> +(define-public coq-equations >> +  (package >> +    (name "coq-equations") >> +    (synopsis "Equations - a function definition plugin") > > Could you put this just before the description field, so this package definition > looks more like the rest of guix? A better synopsis would be "Function definiton > plugin for coq" I think. I've reordered the fields to match the rest of the package definitions in guix. > >> +    (version "1.2-beta") > > Why a beta version? We try to stick to stable releases in Guix. Please add a > comment explaining the reason. > Oh, I just wanted to use the latest released version. I can replace it with the version 1.1 while I wait for the non-beta 1.2 releas. >> +    (source (origin >> +              (method url-fetch) >> +              (uri (string-append >> + "https://github.com/mattam82/Coq-Equations/archive/v" >> +                    version "-8.8.tar.gz")) >> +              (file-name (string-append name "-v" version "8.8.tar.gz")) > > We cannot use auto-generated tarballs from github, because we found that > they sometimes get regenerated in an unreproducible way, so it breaks the > checksum test. You can use this instead: > > (method git-fetch) > (uri (git-reference >        (url "https://githu.com/mattam82/Coq-Equations.git") >        (commit (string-append "v" version "-8.8")))) > > and update the sha256 accordingly. As an added bonus, this means that we > can always fetch from the software heritage in case the repo disappears > one day :) I was not aware of that. How can I get the sha256 hash in this case? Normally I would do `guix download `. > >> +              (sha256 >> +               (base32 >> "1j7yarhddk2c2l4b6h8g5n0xz5vfy1bqmgh832g01di5gjwshy3f")))) >> +    (build-system gnu-build-system) >> +    (native-inputs >> +     `(("findlib" ,ocaml) > > ocaml doesn't provide findlib directly, ocaml-findlib does. What do you > want to do here? Sorry, I think I was confused here. I've corrected this in the updated patch. > >> +       ("coq"     ,coq) >> +       ("camlp5"  ,camlp5))) >> +    (arguments >> +     `(#:test-target "test-suite" >> +       #:phases >> +       (modify-phases %standard-phases >> +         (replace 'configure >> +           (lambda* (#:key outputs #:allow-other-keys) >> +             (invoke "coq_makefile" "-f" "_CoqProject" "-o" "Makefile"))) >> +         (replace 'install >> +           (lambda* (#:key outputs #:allow-other-keys) >> +             (setenv "COQLIB" (string-append (assoc-ref outputs >> "out") "/lib/coq/")) >> +             (invoke "make" >> +                     (string-append "COQLIB=" (assoc-ref outputs "out") >> +                                    "/lib/coq/") >> +                     "install")))))) > > Please make sure that these two phases both return #t. I thought that `invoke' automatically checks that the return code is correct? > >> +    (description "Equations provides a notation for writing programs >> +by dependent pattern-matching and (well-founded) recursion in Coq. It >> +compiles everything down to eliminators for inductive types, equality >> +and accessibility, providing a definitional extension to the Coq >> +kernel.") > > Please make sure that each sentence is separated by two spaces. > `guix lint coq-equations` should be able to tell you about it. > >> +    (home-page "https://mattam82.github.io/Coq-Equations/") >> +    (license license:lgpl2.1))) > > Thanks again! I really only need an answer for the beta version and > ocaml/findlib questions. I can take care of the rest, but I would > appreciate it if you could do it yourself ;) From ebbb6e1cb1f667f33cc4e4320fdb91edf33264dc Mon Sep 17 00:00:00 2001 From: Dan Frumin Date: Wed, 13 Feb 2019 12:34:40 +0100 Subject: [PATCH] gnu: Add coq-equations. --- gnu/packages/coq.scm | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/gnu/packages/coq.scm b/gnu/packages/coq.scm index fa02f85cd..b7eadc2fd 100644 --- a/gnu/packages/coq.scm +++ b/gnu/packages/coq.scm @@ -500,3 +500,43 @@ work on a decision procedure for the equational theory of an extension of the sigma-calculus by Abadi et al. The library is completely written in Coq and uses Ltac to synthesize the substitution operation.") (license license:bsd-3)))) + +(define-public coq-equations + (package + (name "coq-equations") + (version "1.1") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/mattam82/Coq-Equations.git") + (commit (string-append "v" version "-8.8")))) + (file-name (git-file-name name version)) + (sha256 + (base32 "129rxsdsf88vjcw0xhm74yax1hmnk6f8n9ksg0hcyyjq1ijddiwa")))) + (build-system gnu-build-system) + (native-inputs + `(("ocaml" ,ocaml) + ("coq" ,coq) + ("camlp5" ,camlp5))) + (arguments + `(#:test-target "test-suite" + #:phases + (modify-phases %standard-phases + (replace 'configure + (lambda* (#:key outputs #:allow-other-keys) + (invoke "coq_makefile" "-f" "_CoqProject" "-o" "Makefile"))) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (setenv "COQLIB" (string-append (assoc-ref outputs "out") "/lib/coq/")) + (invoke "make" + (string-append "COQLIB=" (assoc-ref outputs "out") + "/lib/coq/") + "install")))))) + (home-page "https://mattam82.github.io/Coq-Equations/") + (synopsis "Function definition plugin for Coq") + (description "Equations provides a notation for writing programs +by dependent pattern-matching and (well-founded) recursion in Coq. It +compiles everything down to eliminators for inductive types, equality +and accessibility, providing a definitional extension to the Coq +kernel.") + (license license:lgpl2.1))) -- 2.17.1