[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
09/11: bootstrap: Add %bootstrap-guile+guild.
From: |
guix-commits |
Subject: |
09/11: bootstrap: Add %bootstrap-guile+guild. |
Date: |
Wed, 11 Dec 2019 18:21:52 -0500 (EST) |
civodul pushed a commit to branch wip-system-bootstrap
in repository guix.
commit 259d19899d7af1858e60271cd5f839e6fa10a5fb
Author: Jan Nieuwenhuizen <address@hidden>
Date: Mon Dec 2 19:11:23 2019 +0100
bootstrap: Add %bootstrap-guile+guild.
* gnu/packages/commencement.scm (%bootstrap-guile+guild): New variable.
---
gnu/packages/commencement.scm | 51 +++++++++++++++++++++++++++++++++++++++++++
1 file changed, 51 insertions(+)
diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm
index 6803037..31f0361 100644
--- a/gnu/packages/commencement.scm
+++ b/gnu/packages/commencement.scm
@@ -84,6 +84,57 @@
;;;
;;; Code:
+(define %bootstrap-guile+guild
+ ;; This package combines %bootstrap-guile with guild, which is not included
+ ;; in %bootstrap-guile. Guild is needed to build gash-boot and
+ ;; gash-core-utils-boot because it is dependency of the Guile build system.
+ (package
+ (name "guile-bootstrap+guild")
+ (version "2.0")
+ (source (bootstrap-origin (package-source guile-2.0)))
+ (native-inputs `(("bash" ,(bootstrap-executable "bash" (%current-system)))
+ ("tar" ,(bootstrap-executable "tar" (%current-system)))
+ ("xz" ,(bootstrap-executable "xz" (%current-system)))
+ ("guile" ,%bootstrap-guile)))
+ (build-system trivial-build-system)
+ (arguments
+ `(#:guile ,%bootstrap-guile
+ #:modules ((guix build utils))
+ #:builder (begin
+ (use-modules (guix build utils))
+ (let ((guile-source (assoc-ref %build-inputs "source"))
+ (bin (string-append (getcwd) "/bin"))
+ (tar (assoc-ref %build-inputs "tar"))
+ (xz (assoc-ref %build-inputs "xz")))
+ (mkdir-p bin)
+ (setenv "PATH" bin)
+ (with-directory-excursion bin
+ (copy-file tar "tar")
+ (copy-file xz "xz")
+ (setenv "PATH" bin))
+ (let* ((out (assoc-ref %outputs "out"))
+ (out-bin (string-append out "/bin"))
+ (guile (assoc-ref %build-inputs "guile"))
+ (bash (assoc-ref %build-inputs "bash")))
+ (mkdir-p out-bin)
+ (with-directory-excursion out-bin
+ (symlink (string-append guile "/bin/guile")
+ "guile")
+ (invoke "tar" "--strip-components=2"
+ "-xvf" guile-source
+ (string-append "guile-"
+ ,(package-version guile-2.0)
+ "/meta/guild.in"))
+ (copy-file "guild.in" "guild")
+ (substitute* "guild"
+ (("#!/bin/sh") (string-append "#! " bash))
+ (("@installed_guile@") (string-append out-bin
"/guile")))
+ (chmod "guild" #o555)))))))
+ (synopsis "Bootstrap Guile plus Guild")
+ (description "Bootstrap Guile with added Guild")
+ (home-page #f)
+ (license (package-license guile-2.0))))
+
(define mes-boot
(package
(inherit mes)
- branch wip-system-bootstrap created (now f97e759), guix-commits, 2019/12/11
- 01/11: utils: 'version-compare' delays 'dynamic-link' code., guix-commits, 2019/12/11
- 03/11: DRAFT gexp: Add 'raw-derivation-file'., guix-commits, 2019/12/11
- 02/11: monads: Add portability to Guile 2.0., guix-commits, 2019/12/11
- 04/11: DRAFT gexp: Add 'raw-derivation-closure'., guix-commits, 2019/12/11
- 07/11: guile-build-system: Add #:implicit-inputs., guix-commits, 2019/12/11
- 08/11: gnu: Add guile-hashing., guix-commits, 2019/12/11
- 10/11: DRAFT serialization: Avoid 'define-values', for the sake of Guile 2.0., guix-commits, 2019/12/11
- 05/11: DRAFT gexp: Add 'object-sources'., guix-commits, 2019/12/11
- 09/11: bootstrap: Add %bootstrap-guile+guild.,
guix-commits <=
- 11/11: system: bootstrap: Compute and print the result's hash., guix-commits, 2019/12/11
- 06/11: DRAFT system: Add (gnu system bootstrap)., guix-commits, 2019/12/11