mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2025-01-13 06:36:37 -05:00
gnu: commencement: Add %bootstrap-guile+guild.
* gnu/packages/commencement.scm (%bootstrap-guile+guild): New variable.
This commit is contained in:
parent
6fc09bd74f
commit
899c8f3afa
1 changed files with 51 additions and 0 deletions
|
@ -81,6 +81,57 @@ (define-module (gnu packages commencement)
|
|||
;;;
|
||||
;;; 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)
|
||||
|
|
Loading…
Reference in a new issue