guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

05/05: guix: opam: Add coq support in the importer.


From: guix-commits
Subject: 05/05: guix: opam: Add coq support in the importer.
Date: Tue, 8 Dec 2020 10:57:06 -0500 (EST)

roptat pushed a commit to branch master
in repository guix.

commit ccc4d287b7bd2a3ddea7b7f2c1ea2a722e68115c
Author: Julien Lepiller <julien@lepiller.eu>
AuthorDate: Tue Dec 8 15:03:47 2020 +0100

    guix: opam: Add coq support in the importer.
    
    * guix/import/opam.scm (get-opam-repository): Add support for coq
    repositories.
    (ocaml-name->guix-name): Properly name coq package.
    * doc/guix.texi (Invoking guix import): Document it.
---
 doc/guix.texi        | 19 +++++++++++++++++++
 guix/import/opam.scm |  8 ++++++++
 2 files changed, 27 insertions(+)

diff --git a/doc/guix.texi b/doc/guix.texi
index 0e647a2..7960143 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -11291,6 +11291,25 @@ in Guix.
 @cindex OCaml
 Import metadata from the @uref{https://opam.ocaml.org/, OPAM} package
 repository used by the OCaml community.
+
+Additional options include:
+
+@table @code
+@item --recursive
+@itemx -r
+Traverse the dependency graph of the given upstream package recursively
+and generate package expressions for all those packages that are not yet
+in Guix.
+@item --repo
+Select the given repository (a repository name).  Possible values include:
+@itemize
+@item @code{opam}, the default opam repository,
+@item @code{coq} or @code{coq-released}, the stable repository for coq 
packages,
+@item @code{coq-core-dev}, the repository that contains development versions 
of coq,
+@item @code{coq-extra-dev}, the repository that contains development versions
+      of coq packages.
+@end itemize
+@end table
 @end table
 
 The structure of the @command{guix import} code is modular.  It would be
diff --git a/guix/import/opam.scm b/guix/import/opam.scm
index 6f5c95d..54143f8 100644
--- a/guix/import/opam.scm
+++ b/guix/import/opam.scm
@@ -126,12 +126,19 @@ path to the repository."
   (let ((url (cond
                ((or (not repo) (equal? repo 'opam))
                 "https://github.com/ocaml/opam-repository";)
+               ((string-prefix? "coq-" (symbol->string repo))
+                "https://github.com/coq/opam-coq-archive";)
+               ((equal? repo 'coq) "https://github.com/coq/opam-coq-archive";)
                (else (throw 'unknown-repository repo)))))
     (receive (location commit _)
       (update-cached-checkout url)
       (cond
         ((or (not repo) (equal? repo 'opam))
          location)
+        ((equal? repo 'coq)
+         (string-append location "/released"))
+        ((string-prefix? "coq-" (symbol->string repo))
+         (string-append location "/" (substring (symbol->string repo) 4)))
         (else location)))))
 
 (define (latest-version versions)
@@ -168,6 +175,7 @@ path to the repository."
   (substitute-char
     (cond
       ((equal? name "ocamlfind") "ocaml-findlib")
+      ((equal? name "coq") name)
       ((string-prefix? "ocaml" name) name)
       ((string-prefix? "conf-" name) (substring name 5))
       (else (string-append "ocaml-" name)))



reply via email to

[Prev in Thread] Current Thread [Next in Thread]