> Instead of a URL, you can also change bootstrap.scm to refer directly to > a local file name, like this:
> (package > ... > (source "/home/nikita/my-guile-that-works.tar.gz") > ...) I’m sorry to say that we probably won’t be able to include the MIPS binaries in 0.4 because it takes like three days to build everything. The attached error is raised when I’m trying to build ‘hello’. It seems that the code is trying to use a string as a procedure. I can’t spend more time on this issue today, but I’ll try to look into it tomorrow.
Backtrace: In guix/packages.scm: 350: 19 [expand-input # # # ...] 313: 18 [cache # "mips64el-linux" #<procedure thunk ()>] 388: 17 [thunk] In srfi/srfi-1.scm: 576: 16 [map #<procedure a0e720 at guix/packages.scm:389:39 (t-5742)> (# # # # ...)] In guix/packages.scm: 350: 15 [expand-input # # # ...] 313: 14 [cache # "mips64el-linux" #<procedure thunk ()>] 388: 13 [thunk] In srfi/srfi-1.scm: 576: 12 [map #<procedure a445d0 at guix/packages.scm:389:39 (t-5742)> (# # # # ...)] In guix/packages.scm: 350: 11 [expand-input # # # ...] 313: 10 [cache # "mips64el-linux" #<procedure thunk ()>] 388: 9 [thunk] 280: 8 [package-transitive-inputs #] In gnu/packages/bootstrap.scm: 163: 7 [inputs] 163: 6 [inputs] 163: 5 [inputs] 163: 4 [inputs] 163: 3 [inputs] 163: 2 [inputs] 139: 1 [inputs] In unknown file: ?: 0 ["/home/nikita/gnuabi64-tarballs/m7vf579yxmif4fdp2qn1gcilfddp2m37-bootstrap-tarballs-0/binutils-static-stripped-2.23.2-mips64el-linux-gnuabi64.tar.xz" "mips64el-linux"] ERROR: In procedure /home/nikita/gnuabi64-tarballs/m7vf579yxmif4fdp2qn1gcilfddp2m37-bootstrap-tarballs-0/binutils-static-stripped-2.23.2-mips64el-linux-gnuabi64.tar.xz: ERROR: Wrong type to apply: "/home/nikita/gnuabi64-tarballs/m7vf579yxmif4fdp2qn1gcilfddp2m37-bootstrap-tarballs-0/binutils-static-stripped-2.23.2-mips64el-linux-gnuabi64.tar.xz"
diff --git a/gnu/packages/bootstrap.scm b/gnu/packages/bootstrap.scm index a1d4c7f..98d01d3 100644 --- a/gnu/packages/bootstrap.scm +++ b/gnu/packages/bootstrap.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2012, 2013 Ludovic Courtès <l...@gnu.org> +;;; Copyright © 2013 Nikita Karetnikov <nik...@karetnikov.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -70,14 +71,48 @@ (boot url-fetch)) (else orig-method)))))) -(define (package-from-tarball name* source* program-to-test description*) - "Return a package that correspond to the extraction of SOURCE*. -PROGRAM-TO-TEST is a program to run after extraction of SOURCE*, to -check whether everything is alright." +;; (define (package-from-tarball name* source* program-to-test description*) +;; "Return a package that correspond to the extraction of SOURCE*. +;; PROGRAM-TO-TEST is a program to run after extraction of SOURCE*, to +;; check whether everything is alright." +;; (package +;; (name name*) +;; (version "0") +;; (source #f) +;; (build-system trivial-build-system) +;; (arguments +;; `(#:guile ,%bootstrap-guile +;; #:modules ((guix build utils)) +;; #:builder +;; (let ((out (assoc-ref %outputs "out")) +;; (tar (assoc-ref %build-inputs "tar")) +;; (xz (assoc-ref %build-inputs "xz")) +;; (tarball (assoc-ref %build-inputs "tarball"))) +;; (use-modules (guix build utils)) + +;; (mkdir out) +;; (copy-file tarball "binaries.tar.xz") +;; (system* xz "-d" "binaries.tar.xz") +;; (let ((builddir (getcwd))) +;; (with-directory-excursion out +;; (and (zero? (system* tar "xvf" +;; (string-append builddir "/binaries.tar"))) +;; (zero? (system* (string-append "bin/" ,program-to-test) +;; "--version")))))))) +;; (inputs +;; `(("tar" ,(search-bootstrap-binary "tar" (%current-system))) +;; ("xz" ,(search-bootstrap-binary "xz" (%current-system))) +;; ("tarball" ,(bootstrap-origin (source* (%current-system)))))) +;; (synopsis description*) +;; (description #f) +;; (home-page #f) +;; (license #f))) + +(define (install-from-tarball name* source* program-to-test synopsis*) (package (name name*) (version "0") - (source #f) + (source source*) (build-system trivial-build-system) (arguments `(#:guile ,%bootstrap-guile @@ -102,10 +137,10 @@ check whether everything is alright." `(("tar" ,(search-bootstrap-binary "tar" (%current-system))) ("xz" ,(search-bootstrap-binary "xz" (%current-system))) ("tarball" ,(bootstrap-origin (source* (%current-system)))))) - (synopsis description*) + (synopsis synopsis*) (description #f) (home-page #f) - (license #f))) + (license #f))) (define package-with-bootstrap-guile (memoize @@ -170,7 +205,10 @@ check whether everything is alright." (xz (->store "xz")) (mkdir (->store "mkdir")) (bash (->store "bash")) - (guile (->store "guile-2.0.7.tar.xz")) + (guile (->store + (if (string=? (%current-system) "mips64el-linux") + "guile-2.0.9.tar.xz" + "guile-2.0.7.tar.xz"))) (builder (add-text-to-store store "build-bootstrap-guile.sh" @@ -191,6 +229,7 @@ $out/bin/guile --version~%" (package (name "guile-bootstrap") (version "2.0") + ;; (source "/home/nikita/gnuabi64-tarballs/m7vf579yxmif4fdp2qn1gcilfddp2m37-bootstrap-tarballs-0/guile-static-stripped-2.0.9-mips64el-linux-gnuabi64.tar.xz") (source #f) (build-system raw) (synopsis "Bootstrap Guile") @@ -203,41 +242,63 @@ $out/bin/guile --version~%" '("http://alpha.gnu.org/gnu/guix/bootstrap" "http://www.fdn.fr/~lcourtes/software/guix/packages")) +;; (define %bootstrap-coreutils&co +;; (package-from-tarball "bootstrap-binaries" +;; (lambda (system) +;; (origin +;; (method url-fetch) +;; (uri (map (cut string-append <> "/" system +;; "/20130105/static-binaries.tar.xz") +;; %bootstrap-base-urls)) +;; (sha256 +;; (match system +;; ("x86_64-linux" +;; (base32 +;; "0md23alzy6nc5f16pric7mkagczdzr8xbh074sb3rjzrls06j1ls")) +;; ("i686-linux" +;; (base32 +;; "0nzj1lmm9b94g7k737cr4w1dv282w5nmhb53238ikax9r6pkc0yb")) +;; ("mips64el-linux" +;; (base32 +;; "05cbkd38vsd41dbl0lsg3zq9dhiw92dpqck3wb3a301vi2m30q3n")))))) +;; "true" ; the program to test +;; "Bootstrap binaries of Coreutils, Awk, etc.")) + (define %bootstrap-coreutils&co - (package-from-tarball "bootstrap-binaries" - (lambda (system) - (origin - (method url-fetch) - (uri (map (cut string-append <> "/" system - "/20130105/static-binaries.tar.xz") - %bootstrap-base-urls)) - (sha256 - (match system - ("x86_64-linux" - (base32 - "0md23alzy6nc5f16pric7mkagczdzr8xbh074sb3rjzrls06j1ls")) - ("i686-linux" - (base32 - "0nzj1lmm9b94g7k737cr4w1dv282w5nmhb53238ikax9r6pkc0yb")))))) + (install-from-tarball "bootstrap-binaries" + (string-append "/home/nikita/gnuabi64-tarballs/" + "m7vf579yxmif4fdp2qn1gcilfddp2m37-bootstrap-tarballs-0/" + "static-binaries-0-mips64el-linux-gnuabi64.tar.xz") "true" ; the program to test "Bootstrap binaries of Coreutils, Awk, etc.")) +;; (define %bootstrap-binutils +;; (package-from-tarball "binutils-bootstrap" +;; (lambda (system) +;; (origin +;; (method url-fetch) +;; (uri (map (cut string-append <> "/" system +;; "/20130105/binutils-2.22.tar.xz") +;; %bootstrap-base-urls)) +;; (sha256 +;; (match system +;; ("x86_64-linux" +;; (base32 +;; "1ffmk2yy2pxvkqgzrkzp3s4jpn4qaaksyk3b5nsc5cjwfm7qkgzh")) +;; ("i686-linux" +;; (base32 +;; "1rafk6aq4sayvv3r3d2khn93nkyzf002xzh0xadlyci4mznr6b0a")) +;; ("mips64el-linux" +;; (base32 +;; "1kmmyfm572awzfrpwq6fgyi30cps8ifm2ibiladchd4vf8nw2blb")))))) +;; "ld" ; the program to test +;; "Bootstrap binaries of the GNU Binutils")) + (define %bootstrap-binutils - (package-from-tarball "binutils-bootstrap" - (lambda (system) - (origin - (method url-fetch) - (uri (map (cut string-append <> "/" system - "/20130105/binutils-2.22.tar.xz") - %bootstrap-base-urls)) - (sha256 - (match system - ("x86_64-linux" - (base32 - "1ffmk2yy2pxvkqgzrkzp3s4jpn4qaaksyk3b5nsc5cjwfm7qkgzh")) - ("i686-linux" - (base32 - "1rafk6aq4sayvv3r3d2khn93nkyzf002xzh0xadlyci4mznr6b0a")))))) + (install-from-tarball "binutils-bootstrap" + (string-append "/home/nikita/gnuabi64-tarballs/" + "m7vf579yxmif4fdp2qn1gcilfddp2m37-bootstrap-tarballs-0/" + "binutils-static-stripped-2.23.2-mips64el-linux-gnuabi64.tar.xz") "ld" ; the program to test "Bootstrap binaries of the GNU Binutils")) @@ -246,7 +307,10 @@ $out/bin/guile --version~%" (package (name "glibc-bootstrap") (version "0") - (source #f) + ;; (source #f) + (source (string-append "/home/nikita/gnuabi64-tarballs/" + "m7vf579yxmif4fdp2qn1gcilfddp2m37-bootstrap-tarballs-0/" + "glibc-stripped-2.17-mips64el-linux-gnuabi64.tar.xz")) (build-system trivial-build-system) (arguments `(#:guile ,%bootstrap-guile @@ -275,20 +339,24 @@ $out/bin/guile --version~%" (inputs `(("tar" ,(search-bootstrap-binary "tar" (%current-system))) ("xz" ,(search-bootstrap-binary "xz" (%current-system))) - ("tarball" ,(bootstrap-origin - (origin - (method url-fetch) - (uri (map (cut string-append <> "/" (%current-system) - "/20130105/glibc-2.17.tar.xz") - %bootstrap-base-urls)) - (sha256 - (match (%current-system) - ("x86_64-linux" - (base32 - "18kv1z9d8dr1j3hm9w7663kchqw9p6rsx11n1m143jgba2jz6jy3")) - ("i686-linux" - (base32 - "08hv8i0axwnihrcgbz19x0a7s6zyv3yx38x8r29liwl8h82x9g88"))))))))) + ;; ("tarball" ,(bootstrap-origin + ;; (origin + ;; (method url-fetch) + ;; (uri (map (cut string-append <> "/" (%current-system) + ;; "/20130105/glibc-2.17.tar.xz") + ;; %bootstrap-base-urls)) + ;; (sha256 + ;; (match (%current-system) + ;; ("x86_64-linux" + ;; (base32 + ;; "18kv1z9d8dr1j3hm9w7663kchqw9p6rsx11n1m143jgba2jz6jy3")) + ;; ("i686-linux" + ;; (base32 + ;; "08hv8i0axwnihrcgbz19x0a7s6zyv3yx38x8r29liwl8h82x9g88")) + ;; ("mips64el-linux" + ;; (base32 + ;; "1x88aknahgaba705wv317l1g0dx4qvrym17p7mfn6fzjzrvspwwn"))))))))) + ("tarball" ,source))) (synopsis "Bootstrap binaries and headers of the GNU C Library") (description #f) (home-page #f) @@ -300,7 +368,10 @@ $out/bin/guile --version~%" (package (name "gcc-bootstrap") (version "0") - (source #f) + ;; (source #f) + (source (string-append "/home/nikita/gnuabi64-tarballs/" + "m7vf579yxmif4fdp2qn1gcilfddp2m37-bootstrap-tarballs-0/" + "gcc-stripped-4.7.3-mips64el-linux-gnuabi64.tar.xz")) (build-system trivial-build-system) (arguments `(#:guile ,%bootstrap-guile @@ -343,20 +414,24 @@ exec ~a/bin/.gcc-wrapped -B~a/lib \ ("xz" ,(search-bootstrap-binary "xz" (%current-system))) ("bash" ,(search-bootstrap-binary "bash" (%current-system))) ("libc" ,%bootstrap-glibc) - ("tarball" ,(bootstrap-origin - (origin - (method url-fetch) - (uri (map (cut string-append <> "/" (%current-system) - "/20130105/gcc-4.7.2.tar.xz") - %bootstrap-base-urls)) - (sha256 - (match (%current-system) - ("x86_64-linux" - (base32 - "1x1p7han5crnbw906iwdifykr6grzm0w27dy9gz75j0q1b32i4px")) - ("i686-linux" - (base32 - "06wqs0xxnpw3hn0xjb4c9cs0899p1xwkcysa2rvzhvpra0c5vsg2"))))))))) + ;; ("tarball" ,(bootstrap-origin + ;; (origin + ;; (method url-fetch) + ;; (uri (map (cut string-append <> "/" (%current-system) + ;; "/20130105/gcc-4.7.2.tar.xz") + ;; %bootstrap-base-urls)) + ;; (sha256 + ;; (match (%current-system) + ;; ("x86_64-linux" + ;; (base32 + ;; "1x1p7han5crnbw906iwdifykr6grzm0w27dy9gz75j0q1b32i4px")) + ;; ("i686-linux" + ;; (base32 + ;; "06wqs0xxnpw3hn0xjb4c9cs0899p1xwkcysa2rvzhvpra0c5vsg2")) + ;; ("mips64el-linux" + ;; (base32 + ;; "053ainjcyvjp1fdchndannsjvdysk6rcphi9g7p0zr23q4i3xq9r"))))))))) + ("tarball" ,source))) (native-search-paths (list (search-path-specification (variable "CPATH")
pgpaMh1YpqeLw.pgp
Description: PGP signature