From mboxrd@z Thu Jan 1 00:00:00 1970 From: Nikita Karetnikov Subject: Re: MIPS64/N64 support Date: Fri, 27 Sep 2013 06:16:28 +0400 Message-ID: <877ge3c8lf.fsf@karetnikov.org> References: <87vc2o4qwc.fsf@gnu.org> <87y57kljro.fsf@karetnikov.org> <87li3dd844.fsf_-_@karetnikov.org> <87d2opy6qa.fsf@gnu.org> <87r4d577ab.fsf@karetnikov.org> <87zjrswzin.fsf@gnu.org> <87hadygxe8.fsf@karetnikov.org> <87mwnq470w.fsf@gnu.org> <87y5791h9f.fsf@karetnikov.org> <87eh907psx.fsf@gnu.org> <87li37z967.fsf@karetnikov.org> <8761ub143g.fsf@gnu.org> <87k3iqa71l.fsf@karetnikov.org> <87k3iqhrh5.fsf@gnu.org> Mime-Version: 1.0 Content-Type: multipart/signed; boundary="==-=-="; micalg=pgp-sha1; protocol="application/pgp-signature" Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:51089) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VPNX4-00045o-3p for guix-devel@gnu.org; Thu, 26 Sep 2013 22:11:51 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VPNX2-0001wl-7W for guix-devel@gnu.org; Thu, 26 Sep 2013 22:11:50 -0400 In-Reply-To: <87k3iqhrh5.fsf@gnu.org> ("Ludovic =?utf-8?Q?Court=C3=A8s=22'?= =?utf-8?Q?s?= message of "Mon, 09 Sep 2013 18:47:34 +0200") List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org To: Ludovic =?utf-8?Q?Court=C3=A8s?= Cc: guix-devel@gnu.org --==-=-= Content-Type: multipart/mixed; boundary="=-=-=" --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable > 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=E2=80=99m sorry to say that we probably won=E2=80=99t 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=E2=80=99m trying to build =E2=80=98hell= o=E2=80=99. It seems that the code is trying to use a string as a procedure. I can=E2=80=99t spend more time on this issue today, but I=E2=80=99ll try t= o look into it tomorrow. --=-=-= Content-Disposition: attachment; filename=bootstrap-error.txt Backtrace: In guix/packages.scm: 350: 19 [expand-input # # # ...] 313: 18 [cache # "mips64el-linux" #] 388: 17 [thunk] In srfi/srfi-1.scm: 576: 16 [map # (# # # # ...)] In guix/packages.scm: 350: 15 [expand-input # # # ...] 313: 14 [cache # "mips64el-linux" #] 388: 13 [thunk] In srfi/srfi-1.scm: 576: 12 [map # (# # # # ...)] In guix/packages.scm: 350: 11 [expand-input # # # ...] 313: 10 [cache # "mips64el-linux" #] 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" --=-=-= Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename=bootstrap.scm.diff Content-Transfer-Encoding: quoted-printable diff --git a/gnu/packages/bootstrap.scm b/gnu/packages/bootstrap.scm index a1d4c7f..98d01d3 100644 =2D-- a/gnu/packages/bootstrap.scm +++ b/gnu/packages/bootstrap.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright =C2=A9 2012, 2013 Ludovic Court=C3=A8s +;;; Copyright =C2=A9 2013 Nikita Karetnikov ;;; ;;; This file is part of GNU Guix. ;;; @@ -70,14 +71,48 @@ (boot url-fetch)) (else orig-method)))))) =20 =2D(define (package-from-tarball name* source* program-to-test description*) =2D "Return a package that correspond to the extraction of SOURCE*. =2DPROGRAM-TO-TEST is a program to run after extraction of SOURCE*, to =2Dcheck 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.ta= r"))) +;; (zero? (system* (string-append "bin/" ,program-to-tes= t) +;; "--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") =2D (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)))))) =2D (synopsis description*) + (synopsis synopsis*) (description #f) (home-page #f) =2D (license #f))) + (license #f)))=20=20 =20 (define package-with-bootstrap-guile (memoize @@ -170,7 +205,10 @@ check whether everything is alright." (xz (->store "xz")) (mkdir (->store "mkdir")) (bash (->store "bash")) =2D (guile (->store "guile-2.0.7.tar.xz")) + (guile (->store + (if (string=3D? (%current-system) "m= ips64el-linux") + "guile-2.0.9.tar.xz" + "guile-2.0.7.tar.xz"))) (builder (add-text-to-store store "build-bootstrap-guile.s= h" @@ -191,6 +229,7 @@ $out/bin/guile --version~%" (package (name "guile-bootstrap") (version "2.0") + ;; (source "/home/nikita/gnuabi64-tarballs/m7vf579yxmif4fdp2qn1gcilfd= dp2m37-bootstrap-tarballs-0/guile-static-stripped-2.0.9-mips64el-linux-gnua= bi64.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")) =20 +;; (define %bootstrap-coreutils&co +;; (package-from-tarball "bootstrap-binaries" +;; (lambda (system) +;; (origin +;; (method url-fetch) +;; (uri (map (cut string-append <> "/" system +;; "/20130105/static-binaries.ta= r.xz") +;; %bootstrap-base-urls)) +;; (sha256 +;; (match system +;; ("x86_64-linux" +;; (base32 +;; "0md23alzy6nc5f16pric7mkagczdzr8xbh074s= b3rjzrls06j1ls")) +;; ("i686-linux" +;; (base32 +;; "0nzj1lmm9b94g7k737cr4w1dv282w5nmhb5323= 8ikax9r6pkc0yb")) +;; ("mips64el-linux" +;; (base32 +;; "05cbkd38vsd41dbl0lsg3zq9dhiw92dpqck3wb= 3a301vi2m30q3n")))))) +;; "true" ; the program to test +;; "Bootstrap binaries of Coreutils, Awk, etc.")) + (define %bootstrap-coreutils&co =2D (package-from-tarball "bootstrap-binaries" =2D (lambda (system) =2D (origin =2D (method url-fetch) =2D (uri (map (cut string-append <> "/" system =2D "/20130105/static-binaries.tar= .xz") =2D %bootstrap-base-urls)) =2D (sha256 =2D (match system =2D ("x86_64-linux" =2D (base32 =2D "0md23alzy6nc5f16pric7mkagczdzr8xbh074sb= 3rjzrls06j1ls")) =2D ("i686-linux" =2D (base32 =2D "0nzj1lmm9b94g7k737cr4w1dv282w5nmhb53238= ikax9r6pkc0yb")))))) + (install-from-tarball "bootstrap-binaries" + (string-append "/home/nikita/gnuabi64-tarballs/" + "m7vf579yxmif4fdp2qn1gcilfddp2m37-b= ootstrap-tarballs-0/" + "static-binaries-0-mips64el-linux-g= nuabi64.tar.xz") "true" ; the program to test "Bootstrap binaries of Coreutils, Awk, etc.")) =20 +;; (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 +;; "1ffmk2yy2pxvkqgzrkzp3s4jpn4qaaksyk3b5n= sc5cjwfm7qkgzh")) +;; ("i686-linux" +;; (base32 +;; "1rafk6aq4sayvv3r3d2khn93nkyzf002xzh0xa= dlyci4mznr6b0a")) +;; ("mips64el-linux" +;; (base32 +;; "1kmmyfm572awzfrpwq6fgyi30cps8ifm2ibila= dchd4vf8nw2blb")))))) +;; "ld" ; the program to test +;; "Bootstrap binaries of the GNU Binutils")) + (define %bootstrap-binutils =2D (package-from-tarball "binutils-bootstrap" =2D (lambda (system) =2D (origin =2D (method url-fetch) =2D (uri (map (cut string-append <> "/" system =2D "/20130105/binutils-2.22.tar.x= z") =2D %bootstrap-base-urls)) =2D (sha256 =2D (match system =2D ("x86_64-linux" =2D (base32 =2D "1ffmk2yy2pxvkqgzrkzp3s4jpn4qaaksyk3b5ns= c5cjwfm7qkgzh")) =2D ("i686-linux" =2D (base32 =2D "1rafk6aq4sayvv3r3d2khn93nkyzf002xzh0xad= lyci4mznr6b0a")))))) + (install-from-tarball "binutils-bootstrap" + (string-append "/home/nikita/gnuabi64-tarballs/" + "m7vf579yxmif4fdp2qn1gci= lfddp2m37-bootstrap-tarballs-0/" + "binutils-static-strippe= d-2.23.2-mips64el-linux-gnuabi64.tar.xz") "ld" ; the program to test "Bootstrap binaries of the GNU Binutils")) =20 @@ -246,7 +307,10 @@ $out/bin/guile --version~%" (package (name "glibc-bootstrap") (version "0") =2D (source #f) + ;; (source #f) + (source (string-append "/home/nikita/gnuabi64-tarballs/" + "m7vf579yxmif4fdp2qn1gcilfddp2m37-bootstrap-tar= balls-0/" + "glibc-stripped-2.17-mips64el-linux-gnuabi64.ta= r.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))) =2D ("tarball" ,(bootstrap-origin =2D (origin =2D (method url-fetch) =2D (uri (map (cut string-append <> "/" (%current-syste= m) =2D "/20130105/glibc-2.17.tar.xz") =2D %bootstrap-base-urls)) =2D (sha256 =2D (match (%current-system) =2D ("x86_64-linux" =2D (base32 =2D "18kv1z9d8dr1j3hm9w7663kchqw9p6rsx11n1m143jgba= 2jz6jy3")) =2D ("i686-linux" =2D (base32 =2D "08hv8i0axwnihrcgbz19x0a7s6zyv3yx38x8r29liwl8h= 82x9g88"))))))))) + ;; ("tarball" ,(bootstrap-origin + ;; (origin + ;; (method url-fetch) + ;; (uri (map (cut string-append <> "/" (%current-syst= em) + ;; "/20130105/glibc-2.17.tar.xz") + ;; %bootstrap-base-urls)) + ;; (sha256 + ;; (match (%current-system) + ;; ("x86_64-linux" + ;; (base32 + ;; "18kv1z9d8dr1j3hm9w7663kchqw9p6rsx11n1m143jgb= a2jz6jy3")) + ;; ("i686-linux" + ;; (base32 + ;; "08hv8i0axwnihrcgbz19x0a7s6zyv3yx38x8r29liwl8= h82x9g88")) + ;; ("mips64el-linux" + ;; (base32 + ;; "1x88aknahgaba705wv317l1g0dx4qvrym17p7mfn6fzj= zrvspwwn"))))))))) + ("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") =2D (source #f) + ;; (source #f) + (source (string-append "/home/nikita/gnuabi64-tarballs/" + "m7vf579yxmif4fdp2qn1gcilfddp2m37-bootstrap-tar= balls-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) =2D ("tarball" ,(bootstrap-origin =2D (origin =2D (method url-fetch) =2D (uri (map (cut string-append <> "/" (%current-syste= m) =2D "/20130105/gcc-4.7.2.tar.xz") =2D %bootstrap-base-urls)) =2D (sha256 =2D (match (%current-system) =2D ("x86_64-linux" =2D (base32 =2D "1x1p7han5crnbw906iwdifykr6grzm0w27dy9gz75j0q1= b32i4px")) =2D ("i686-linux" =2D (base32 =2D "06wqs0xxnpw3hn0xjb4c9cs0899p1xwkcysa2rvzhvpra= 0c5vsg2"))))))))) + ;; ("tarball" ,(bootstrap-origin + ;; (origin + ;; (method url-fetch) + ;; (uri (map (cut string-append <> "/" (%current-syst= em) + ;; "/20130105/gcc-4.7.2.tar.xz") + ;; %bootstrap-base-urls)) + ;; (sha256 + ;; (match (%current-system) + ;; ("x86_64-linux" + ;; (base32 + ;; "1x1p7han5crnbw906iwdifykr6grzm0w27dy9gz75j0q= 1b32i4px")) + ;; ("i686-linux" + ;; (base32 + ;; "06wqs0xxnpw3hn0xjb4c9cs0899p1xwkcysa2rvzhvpr= a0c5vsg2")) + ;; ("mips64el-linux" + ;; (base32 + ;; "053ainjcyvjp1fdchndannsjvdysk6rcphi9g7p0zr23= q4i3xq9r"))))))))) + ("tarball" ,source))) (native-search-paths (list (search-path-specification (variable "CPATH") --=-=-=-- --==-=-= Content-Type: application/pgp-signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.10 (GNU/Linux) iQIcBAEBAgAGBQJSROp/AAoJEM+IQzI9IQ38HB8P/3CIpoI1XuBUrcIxah0g7r+E tRtPGLtUiNpNtGUnQbl8mb/oVXQTwd76Yybse8Uy1wuZqYYtbY2/AH4VL9x0gx65 3l3wd+tIluJVq9ASbz+i5TA+/VbD75zMtDjxMiHEM31p7YG9IDIr+RypQas64qCa efTyQbCQNI+Naq1dJzqSdawtqA4AOgR4KR1SYwg0jr5WCl2+DsW7gvkkM1bQkz2i fwAC7JVBRrVhrazXBQXWFM2lqXvokKyXHSkv8KofhgMaqNVpo/s+giB4XItOd1TO dIb67Rvs41hoNHAY3b8lIXOieY+Upun+OVrTbJt87qL7CiN4ggki7enX+soooKda 58hI/A4nIE2T0291Racg2Wi+3dYgecHu6ldkn0VYpDbeAE1xcn0QBTvo5nqnevlt 2JOq1q2yiTpyUujnkXG/msLOutWMJKqc4LzTaWDgxjq1dzeJW0U0KL3UrediBvUb WKKHjbJXgIA6T+MNfz9kFbb4zkBmhdcBGkcYW8NdARX7Ue+AWz6OaHLPI+Xu2dQj upP2v1aiwUSvfew6Ma6k2waRAo6LNexy0NjTsBx8WhKjoukl731/kbG3n8rIqYwi pNrm5ASJ8n8+89gyKzPjM5jNZHiFBvA5XehkvyllHqIriqq+e/9VY/zZjFAfqd6t 5BCLhGn/nkrK21sg6ocm =6ST9 -----END PGP SIGNATURE----- --==-=-=--