From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([209.51.188.92]:52908) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gtsVi-0001Tt-Sb for guix-patches@gnu.org; Wed, 13 Feb 2019 06:15:28 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gtsMd-00031o-Db for guix-patches@gnu.org; Wed, 13 Feb 2019 06:06:05 -0500 Received: from debbugs.gnu.org ([209.51.188.43]:46505) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1gtsMc-0002zm-Sb for guix-patches@gnu.org; Wed, 13 Feb 2019 06:06:03 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1gtsMc-0008QK-Ly for guix-patches@gnu.org; Wed, 13 Feb 2019 06:06:02 -0500 Subject: [bug#34466] [PATCH] gnu: Add coq-equations. Resent-Message-ID: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Date: Wed, 13 Feb 2019 12:04:48 +0100 From: Julien Lepiller In-Reply-To: <20190213104024.1963-1-dfrumin@cs.ru.nl> References: <20190213104024.1963-1-dfrumin@cs.ru.nl> Message-ID: List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+kyle=kyleam.com@gnu.org Sender: "Guix-patches" To: Dan Frumin Cc: 34466@debbugs.gnu.org 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. > + (version "1.2-beta") Why a beta version? We try to stick to stable releases in Guix. Please add a comment explaining the reason. > + (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 :) > + (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? > + ("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. > + (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 ;)