summary refs log tree commit diff
diff options
context:
space:
mode:
authorEric Bavier <bavier@cray.com>2018-10-10 13:33:15 -0500
committerEric Bavier <bavier@member.fsf.org>2018-10-16 17:09:15 -0500
commit6f1ce09d79fa6148459c90120881e825551651b2 (patch)
treeddd3a4a12df3fadeefd13f417f560a016e59f371
parentc8e3651a824bbc28915802265d9a5e7cc6405eea (diff)
downloadguix-6f1ce09d79fa6148459c90120881e825551651b2.tar.gz
gnu: Add guix-minimal.
* gnu/packages/guile.scm (guile-2.0.13): New variable.
* gnu/packages/package-management.scm (guix)[arguments]: Adjust 'wrap-program'
phase to handle "missing" inputs.
(guix-minimal): New variable.
-rw-r--r--gnu/packages/guile.scm14
-rw-r--r--gnu/packages/package-management.scm22
2 files changed, 34 insertions, 2 deletions
diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm
index 912b0218ef..9e33003375 100644
--- a/gnu/packages/guile.scm
+++ b/gnu/packages/guile.scm
@@ -226,6 +226,20 @@ without requiring the source code to be rewritten.")
    (home-page "https://www.gnu.org/software/guile/")
    (license license:lgpl3+)))
 
+(define-public guile-2.0.13
+  ;; For testing a "minimal" Guix
+  (hidden-package
+   (package (inherit guile-2.0)
+     (name "guile")
+     (version "2.0.13")
+     (source (origin
+               (method url-fetch)
+               (uri (string-append "mirror://gnu/guile/guile-" version
+                                   ".tar.xz"))
+               (sha256
+                (base32
+                 "12yqkr974y91ylgw6jnmci2v90i90s7h9vxa4zk0sai8vjnz4i1p")))))))
+
 (define-public guile-2.2
   (package (inherit guile-2.0)
     (name "guile")
diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm
index f06a39ddd6..fd01545082 100644
--- a/gnu/packages/package-management.scm
+++ b/gnu/packages/package-management.scm
@@ -8,6 +8,7 @@
 ;;; Copyright © 2018 Julien Lepiller <julien@lepiller.eu>
 ;;; Copyright © 2018 Rutger Helling <rhelling@mykolab.com>
 ;;; Copyright © 2018 Sou Bunnbu <iyzsong@member.fsf.org>
+;;; Copyright © 2018 Eric Bavier <bavier@member.fsf.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -232,13 +233,13 @@
                                         (map (cut string-append <>
                                                   "/share/guile/site/"
                                                   effective)
-                                             deps)
+                                             (delete #f deps))
                                         ":"))
                                (gopath (string-join
                                         (map (cut string-append <>
                                                   "/lib/guile/" effective
                                                   "/site-ccache")
-                                             deps)
+                                             (delete #f deps))
                                         ":")))
 
                           (wrap-program (string-append out "/bin/guix")
@@ -373,6 +374,23 @@ the Nix package manager.")
        ("guile-ssh" ,guile2.0-ssh)
        ("guile-git" ,guile2.0-git)))))
 
+(define-public guix-minimal
+  ;; A version of Guix which is built with the minimal set of dependencies, as
+  ;; outlined in the README "Requirements" section.  Intended as a CI job, so
+  ;; marked as hidden.
+  (let ((guix guile2.0-guix))
+    (hidden-package
+     (package
+       (inherit guix)
+       (name "guix-minimal")
+       (inputs
+        `(("guile" ,guile-2.0.13)
+          ,@(alist-delete "guile" (package-inputs guix))))
+       (propagated-inputs
+        (fold alist-delete
+              (package-propagated-inputs guix)
+              '("guile-json" "guile-ssh")))))))
+
 (define (source-file? file stat)
   "Return true if FILE is likely a source file, false if it is a typical
 generated file."