From 6f1ce09d79fa6148459c90120881e825551651b2 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Wed, 10 Oct 2018 13:33:15 -0500 Subject: [PATCH] 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. --- gnu/packages/guile.scm | 14 ++++++++++++++ gnu/packages/package-management.scm | 22 ++++++++++++++++++++-- 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 ;;; Copyright © 2018 Rutger Helling ;;; Copyright © 2018 Sou Bunnbu +;;; Copyright © 2018 Eric Bavier ;;; ;;; 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."