[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
08/10: bootstrap: Add %bootstrap-guile+guild.
From: |
guix-commits |
Subject: |
08/10: bootstrap: Add %bootstrap-guile+guild. |
Date: |
Sun, 5 Jan 2020 05:51:32 -0500 (EST) |
civodul pushed a commit to branch wip-system-bootstrap
in repository guix.
commit eb8eba95dab5005c16895648b8f7c4838290d26b
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 14ecf24..34584fb 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 3bccc5e), guix-commits, 2020/01/05
- 03/10: store: Add #:cut? parameter to 'topologically-sorted'., guix-commits, 2020/01/05
- 01/10: utils: 'version-compare' delays 'dynamic-link' code., guix-commits, 2020/01/05
- 04/10: derivations: Add #:skip-dependencies? parameter to 'derivation-input-fold'., guix-commits, 2020/01/05
- 05/10: DRAFT gexp: Add 'raw-derivation-closure'., guix-commits, 2020/01/05
- 02/10: monads: Add portability to Guile 2.0., guix-commits, 2020/01/05
- 06/10: DRAFT gexp: Add 'object-sources'., guix-commits, 2020/01/05
- 09/10: DRAFT serialization: Avoid 'define-values', for the sake of Guile 2.0., guix-commits, 2020/01/05
- 08/10: bootstrap: Add %bootstrap-guile+guild.,
guix-commits <=
- 10/10: system: bootstrap: Compute and print the result's hash., guix-commits, 2020/01/05
- 07/10: DRAFT system: Add (gnu system bootstrap)., guix-commits, 2020/01/05