From mboxrd@z Thu Jan 1 00:00:00 1970 From: Efraim Flashner Subject: Re: Port Guix to my Apple Aluminum PowerBook G4 Date: Thu, 13 Feb 2020 09:36:35 +0200 Message-ID: <20200213073635.GB26473@E5400> References: Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="0/kgSOzhNoDC5T3a" Return-path: Received: from eggs.gnu.org ([2001:470:142:3::10]:56671) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1j294A-0003Yu-EL for guix-devel@gnu.org; Thu, 13 Feb 2020 02:37:45 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1j2947-0005Uq-09 for guix-devel@gnu.org; Thu, 13 Feb 2020 02:37:42 -0500 Received: from flashner.co.il ([178.62.234.194]:43742) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1j2946-0005Il-Gi for guix-devel@gnu.org; Thu, 13 Feb 2020 02:37:38 -0500 Content-Disposition: inline In-Reply-To: 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-mx.org@gnu.org Sender: "Guix-devel" To: "Scott C. MacCallum" Cc: "guix-devel@gnu.org" --0/kgSOzhNoDC5T3a Content-Type: multipart/mixed; boundary="1ccMZA6j1vT5UqiK" Content-Disposition: inline --1ccMZA6j1vT5UqiK Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Wed, Feb 12, 2020 at 06:49:59PM +0000, Scott C. MacCallum wrote: > From: Carlos S=C3=A1nchez de La Lama > Subject: Re: [PATCH] gnu: bootstrap-tarballs: Cross-compile for powerpc-l= inux-gnu. > Date: Tue, 29 Nov 2016 08:38:17 +0100 > User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux) > --------------------------------------------------------------- >=20 > Hi! >=20 > I finally found some time to clean-up my work. This patch is for > core-updates branch, and allows bootstrap tarball generation by >=20 > guix build --target=3Dpowerpc-linux-gnu bootstrap-tarballs >=20 > I think the best way to proceed is integrate this onto core-updates > (once reviewed & approved), then generate a bootstrap binaries on hydra, > making them available for download on the bootstrap binaries URL. At > that point I can update the rest of the powerpc-linux-gnu patches (which > use this binaries) with the correct hashes, and send them to the list. >=20 > As Ludo suggested, I am also preparing a tutorial/blog on the porting > process. >=20 > BR >=20 > Carlos >=20 > Does anyone know if Carlos ever produced a tutorial/blog post on how he d= id this? I'd like to port Guix to my Apple Aluminum PowerBook G4 for freedo= m/knowledge sake but the documentation that I've read, http://guix.gnu.org/= manual/devel/en/html_node/Porting.html#Porting and http://guix.gnu.org/manu= al/devel/en/html_node/Preparing-to-Use-the-Bootstrap-Binaries.html#Building= -the-Bootstrap-Binaries has left me with more questions than answers. >=20 > Thank you, >=20 > Scott > scmguru - irc.freenode.net I reached out to Carlos a few years ago and he said he had moved on and was pretty sure he didn't have his code or bootstrap binaries anymore.o I've attached a few patches to this email, which is about where I am right now on working on the 32-bit PowerPC bootstrap. So far it looks promising. The change to bootstrap-guile I applied to master and the other 3 on core-updates, but I suspect they should all apply on top of master. --=20 Efraim Flashner =D7=90=D7=A4=D7=A8=D7=99=D7=9D = =D7=A4=D7=9C=D7=A9=D7=A0=D7=A8 GPG key =3D A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351 Confidentiality cannot be guaranteed on emails sent or received unencrypted --1ccMZA6j1vT5UqiK Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0001-gnu-Use-guile-2.0-for-make-bootstrap.patch" Content-Transfer-Encoding: quoted-printable =46rom e1f761e9969a39190177fda48d60f42d63423ab7 Mon Sep 17 00:00:00 2001 =46rom: Efraim Flashner Date: Thu, 13 Feb 2020 08:30:13 +0100 Subject: [PATCH] gnu: Use guile-2.0 for make-bootstrap. * gnu/packages/make-bootstrap.scm (%guile-static): Inherit from guile-2.0. [source]: Update patch set. (%guile-static-stripped): Adjust for guile-2.0. * gnu/packages/patches/guile-2.0-relocatable.patch: New file. * gnu/local.mk (dist_patch_DATA): Register it. --- gnu/local.mk | 1 + gnu/packages/make-bootstrap.scm | 30 ++++---- .../patches/guile-2.0-relocatable.patch | 68 +++++++++++++++++++ 3 files changed, 84 insertions(+), 15 deletions(-) create mode 100644 gnu/packages/patches/guile-2.0-relocatable.patch diff --git a/gnu/local.mk b/gnu/local.mk index 3f8fa2ed7b..2cd799dca4 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -980,6 +980,7 @@ dist_patch_DATA =3D \ %D%/packages/patches/guile-finalization-crash.patch \ %D%/packages/patches/guile-linux-syscalls.patch \ %D%/packages/patches/guile-present-coding.patch \ + %D%/packages/patches/guile-2.0-relocatable.patch \ %D%/packages/patches/guile-relocatable.patch \ %D%/packages/patches/guile-rsvg-pkgconfig.patch \ %D%/packages/patches/guile-emacs-fix-configure.patch \ diff --git a/gnu/packages/make-bootstrap.scm b/gnu/packages/make-bootstrap.= scm index b8d1b2af3e..2c08e31a97 100644 --- a/gnu/packages/make-bootstrap.scm +++ b/gnu/packages/make-bootstrap.scm @@ -699,14 +699,14 @@ for `sh' in $PATH, and without nscd, and with static = NSS modules." ;; A statically-linked Guile that is relocatable--i.e., it can search ;; .scm and .go files relative to its installation directory, rather ;; than in hard-coded configure-time paths. - (let* ((patches (cons* (search-patch "guile-relocatable.patch") - (search-patch "guile-2.2-default-utf8.patch") + (let* ((patches (cons* (search-patch "guile-2.0-relocatable.patch") + (search-patch "guile-default-utf8.patch") (search-patch "guile-linux-syscalls.patch") - (origin-patches (package-source guile-2.2)))) - (source (origin (inherit (package-source guile-2.2)) + (origin-patches (package-source guile-2.0)))) + (source (origin (inherit (package-source guile-2.0)) (patches patches))) - (guile (package (inherit guile-2.2) - (name (string-append (package-name guile-2.2) "-static")) + (guile (package (inherit guile-2.0) + (name (string-append (package-name guile-2.0) "-static")) (source source) (synopsis "Statically-linked and relocatable Guile") =20 @@ -715,14 +715,14 @@ for `sh' in $PATH, and without nscd, and with static = NSS modules." =20 (inputs `(("libunistring:static" ,libunistring "static") - ,@(package-inputs guile-2.2))) + ,@(package-inputs guile-2.0))) =20 (propagated-inputs `(("bdw-gc" ,libgc) ,@(alist-delete "bdw-gc" - (package-propagated-inputs guile-2.2)= ))) + (package-propagated-inputs guile-2.0)= ))) (arguments - (substitute-keyword-arguments (package-arguments guile-= 2.2) + (substitute-keyword-arguments (package-arguments guile-= 2.0) ((#:configure-flags flags '()) ;; When `configure' checks for ltdl availability, it ;; doesn't try to link using libtool, and thus fails @@ -777,13 +777,13 @@ for `sh' in $PATH, and without nscd, and with static = NSS modules." (out (assoc-ref %outputs "out")) (guile1 (string-append in "/bin/guile")) (guile2 (string-append out "/bin/guile"))) - (mkdir-p (string-append out "/share/guile/2.2")) - (copy-recursively (string-append in "/share/guile/2.2") - (string-append out "/share/guile/2.2")) + (mkdir-p (string-append out "/share/guile/2.0")) + (copy-recursively (string-append in "/share/guile/2.0") + (string-append out "/share/guile/2.0")) =20 - (mkdir-p (string-append out "/lib/guile/2.2/ccache")) - (copy-recursively (string-append in "/lib/guile/2.2/ccache") - (string-append out "/lib/guile/2.2/ccache")) + (mkdir-p (string-append out "/lib/guile/2.0/ccache")) + (copy-recursively (string-append in "/lib/guile/2.0/ccache") + (string-append out "/lib/guile/2.0/ccache")) =20 (mkdir (string-append out "/bin")) (copy-file guile1 guile2) diff --git a/gnu/packages/patches/guile-2.0-relocatable.patch b/gnu/package= s/patches/guile-2.0-relocatable.patch new file mode 100644 index 0000000000..95bddcce88 --- /dev/null +++ b/gnu/packages/patches/guile-2.0-relocatable.patch @@ -0,0 +1,68 @@ +This patch changes Guile to use a default search path relative to the +location of the `guile' binary, allowing it to be relocated. + +--- a/libguile/load.c ++++ b/libguile/load.c +@@ -26,6 +26,7 @@ +=20 + #include + #include ++#include +=20 + #include "libguile/_scm.h" + #include "libguile/alist.h" +@@ -325,6 +326,32 @@ + SCM cpath =3D SCM_EOL; +=20 + #ifdef SCM_LIBRARY_DIR ++ char *program, *bin_dir, *prefix, *module_dir, *ccache_dir; ++ ++ /* Determine the source and compiled module directories at run-time, ++ relative to the executable's location. ++ ++ Note: Use /proc/self/exe instead of argv[0] because the latter is ++ not necessarily an absolute, nor a valid file name. */ ++ ++ program =3D scm_gc_malloc_pointerless (256, "string"); ++ readlink ("/proc/self/exe", program, 256); ++ ++ bin_dir =3D dirname (strdupa (program)); ++ ++ prefix =3D scm_gc_malloc_pointerless (strlen (bin_dir) + 4, "string"); ++ strcpy (prefix, bin_dir); ++ strcat (prefix, "/.."); ++ prefix =3D canonicalize_file_name (prefix); ++ ++ module_dir =3D scm_gc_malloc_pointerless (strlen (prefix) + 50, "string= "); ++ strcpy (module_dir, prefix); ++ strcat (module_dir, "/share/guile/" SCM_EFFECTIVE_VERSION); ++ ++ ccache_dir =3D scm_gc_malloc_pointerless (strlen (prefix) + 50, "string= "); ++ strcpy (ccache_dir, prefix); ++ strcat (ccache_dir, "/lib/guile/" SCM_EFFECTIVE_VERSION "/ccache"); ++ + env =3D scm_i_mirror_backslashes (getenv ("GUILE_SYSTEM_PATH")); + if (env && strcmp (env, "") =3D=3D 0) + /* special-case interpret system-path=3D=3D"" as meaning no system pa= th instead +@@ -333,10 +360,7 @@ + else if (env) + path =3D scm_parse_path (scm_from_locale_string (env), path); + else +- path =3D scm_list_4 (scm_from_locale_string (SCM_LIBRARY_DIR), +- scm_from_locale_string (SCM_SITE_DIR), +- scm_from_locale_string (SCM_GLOBAL_SITE_DIR), +- scm_from_locale_string (SCM_PKGDATA_DIR)); ++ path =3D scm_list_1 (scm_from_locale_string (module_dir)); +=20 + env =3D scm_i_mirror_backslashes (getenv ("GUILE_SYSTEM_COMPILED_PATH")= ); + if (env && strcmp (env, "") =3D=3D 0) +@@ -346,8 +370,7 @@ + cpath =3D scm_parse_path (scm_from_locale_string (env), cpath); + else + { +- cpath =3D scm_list_2 (scm_from_locale_string (SCM_CCACHE_DIR), +- scm_from_locale_string (SCM_SITE_CCACHE_DIR)); ++ cpath =3D scm_list_1 (scm_from_locale_string (ccache_dir)); + } +=20 + #endif /* SCM_LIBRARY_DIR */ --=20 2.25.0 --1ccMZA6j1vT5UqiK Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0001-WIP-add-powerpc-support.patch" Content-Transfer-Encoding: quoted-printable =46rom a3585c5432e11d2518ae84c4a9871256d2619330 Mon Sep 17 00:00:00 2001 =46rom: Efraim Flashner Date: Sun, 9 Feb 2020 09:15:36 +0200 Subject: [PATCH 1/3] WIP add powerpc support --- gnu/packages/bootstrap.scm | 59 +++++++++++++++++++++++++++++++------- guix/packages.scm | 4 +-- 2 files changed, 51 insertions(+), 12 deletions(-) diff --git a/gnu/packages/bootstrap.scm b/gnu/packages/bootstrap.scm index d6995f104c..6c6150397c 100644 --- a/gnu/packages/bootstrap.scm +++ b/gnu/packages/bootstrap.scm @@ -2,6 +2,7 @@ ;;; Copyright =C2=A9 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovi= c Court=C3=A8s ;;; Copyright =C2=A9 2014, 2015, 2018, 2019 Mark H Weaver ;;; Copyright =C2=A9 2017 Efraim Flashner +;;; Copyright =C2=A9 2017, 2019 Efraim Flashner ;;; Copyright =C2=A9 2018 Jan (janneke) Nieuwenhuizen ;;; Copyright =C2=A9 2019 Carl Dong ;;; @@ -86,6 +87,15 @@ ,(base32 "1j51gv08sfg277yxj73xd564wjq3f8xwd6s9rbcg8v9gms47m4cx")) ("xz" ,(base32 "1d779rwsrasphg5g3r37qppcqy3p7ay1jb1y83w7x4i3qsc7zjy2"))) + ("powerpc-linux" + ("bash" + ,(base32 "00g9mp51jk4gy1hszx6dz5dqhnhxzn7hh31hakyxhyv6xqiw74fx")) + ("mkdir" + ,(base32 "1s6p31sq5k5fqv5x548vq7l7z481qh93k0fyhqmkzjf2vvkgd1xm")) + ("tar" + ,(base32 "1ci1lj5zpq2fj1h1r1svyi4qw45h6qc93rq715ps9b2ikm7d9nhd")) + ("xz" + ,(base32 "17jfrc0kn8qgckxynjaidl9xsz6g7sms1k3hdll0lbxrjnwayha9"))) ("armhf-linux" ("bash" ,(base32 "0s6f1s26g4dsrrkl39zblvwpxmbzi6n9mgqf6vxsqz42gik6bgyn")) @@ -117,9 +127,12 @@ (define (bootstrap-executable-url program system) "Return the URL where PROGRAM can be found for SYSTEM." (string-append - "https://git.savannah.gnu.org/cgit/guix.git/plain/gnu/packages/bootstra= p/" - system "/" program - "?id=3D44f07d1dc6806e97c4e9ee3e6be883cc59dc666e")) + ;; For powerpc and other new targets. + "http://flashner.co.il/guix/bootstrap/powerpc-linux/20191103/powerpc-l= inux/" + program)) + ;"https://git.savannah.gnu.org/cgit/guix.git/plain/gnu/packages/bootst= rap/" + ;system "/" program + ;"?id=3D44f07d1dc6806e97c4e9ee3e6be883cc59dc666e")) =20 (define bootstrap-executable (mlambda (program system) @@ -309,6 +322,8 @@ or false to signal an error." (match system ("aarch64-linux" "/20170217/guile-2.0.14.tar.xz") + ("powerpc-linux" + "/20191103/guile-2.2.6.tar.xz") ("armhf-linux" "/20150101/guile-2.0.11.tar.xz") (_ @@ -326,7 +341,9 @@ or false to signal an error." ("armhf-linux" (base32 "1mi3brl7l58aww34rawhvja84xc7l1b4hmwdmc36fp9q9mfx0lg5")) ("aarch64-linux" - (base32 "1giy2aprjmn5fp9c4s9r125fljw4wv6ixy5739i5bffw4jgr0f9r")))) + (base32 "1giy2aprjmn5fp9c4s9r125fljw4wv6ixy5739i5bffw4jgr0f9r")) + ("powerpc-linux" + (base32 "1y7ymjhd7g0w27198xxia1sskjp07r4bxfq261i0lj4ff4amkif6")))) =20 (define (bootstrap-guile-origin system) "Return an object for the Guile tarball of SYSTEM." @@ -379,10 +396,11 @@ or false to signal an error." (lambda (p) (format p "\ #!~a -export GUILE_SYSTEM_PATH=3D~a/share/guile/2.0 -export GUILE_SYSTEM_COMPILED_PATH=3D~a/lib/guile/2.0/ccache +export GUILE_SYSTEM_PATH=3D~a/share/guile/2.2 +export GUILE_SYSTEM_COMPILED_PATH=3D\"\" +export GUILE_AUTO_COMPILE=3D0 exec -a \"~a0\" ~a \"~a@\"\n" - bash out out dollar guile-real dollar))) + bash out dollar guile-real dollar))) (chmod guile #o555) (chmod bin-dir #o555)))))) (builder @@ -395,8 +413,9 @@ cd $out ~a -dc < $GUILE_TARBALL | ~a xv =20 # Use the bootstrap guile to create its own wrapper to set the load path. -GUILE_SYSTEM_PATH=3D$out/share/guile/2.0 \ -GUILE_SYSTEM_COMPILED_PATH=3D$out/lib/guile/2.0/ccache \ +GUILE_SYSTEM_PATH=3D$out/share/guile/2.2 \ +GUILE_SYSTEM_COMPILED_PATH=3D\"\" \ +GUILE_AUTO_COMPILE=3D0 \ $out/bin/guile -c ~s $out ~a =20 # Sanity check. @@ -437,7 +456,7 @@ $out/bin/guile --version~%" (lower make-raw-bag)))) (package (name "guile-bootstrap") - (version "2.0") + (version "2.2") (source #f) (build-system raw) (synopsis "Bootstrap Guile") @@ -456,6 +475,8 @@ $out/bin/guile --version~%" "/20150101/static-binaries.ta= r.xz") ("aarch64-linux" "/20170217/static-binaries.ta= r.xz") + ("powerpc-linux" + "/20191103/static-binaries.ta= r.xz") (_ "/20131110/static-binaries.ta= r.xz"))) %bootstrap-base-urls)) @@ -473,6 +494,9 @@ $out/bin/guile --version~%" ("aarch64-linux" (base32 "18dfiq6c6xhsdpbidigw6480wh0vdgsxqq3xindq4= lpdgqlccpfh")) + ("powerpc-linux" + (base32 + "1nmfc0dchsng03zzbkpp1w8zwrw6mdrjw08nj87k8= b0cr9arvl73")) ("mips64el-linux" (base32 "072y4wyfsj1bs80r6vbybbafy8ya4vfy7qj25dklw= k97m6g71753")))))) @@ -519,6 +543,8 @@ $out/bin/guile --version~%" "/20150101/binutils-2.25.tar.= xz") ("aarch64-linux" "/20170217/binutils-2.27.tar.= xz") + ("powerpc-linux" + "/20191103/binutils-2.32.tar.= xz") (_ "/20131110/binutils-2.23.2.ta= r.xz"))) %bootstrap-base-urls)) @@ -536,6 +562,9 @@ $out/bin/guile --version~%" ("aarch64-linux" (base32 "111s7ilfiby033rczc71797xrmaa3qlv179wdvsaq= 132pd51xv3n")) + ("powerpc-linux" + (base32 + "16q4b03z6cn17fw8sy97xrcqjqlpmq943n7lz1dy7= y97f8apxrcq")) ("mips64el-linux" (base32 "1x8kkhcxmfyzg1ddpz2pxs6fbdl6412r7x0nzbmi5= n7mj8zw2gy7")))))) @@ -589,6 +618,8 @@ $out/bin/guile --version~%" "/20150101/glibc-2.20.tar.xz") ("aarch64-linux" "/20170217/glibc-2.25.tar.xz") + ("powerpc-linux" + "/20191103/glibc-2.29.tar.xz") (_ "/20131110/glibc-2.18.tar.xz"))) %bootstrap-base-urls)) @@ -606,6 +637,9 @@ $out/bin/guile --version~%" ("aarch64-linux" (base32 "07nx3x8598i2924rjnlrncg6rm61c9bmcczbbcpbx0fb742= nvv5c")) + ("powerpc-linux" + (base32 + "0xl1ygqzvqf6xan63qv3ksz32h436b2mfp1x6s2lq96vvh2= 8m2ar")) ("mips64el-linux" (base32 "0k97a3whzx3apsi9n2cbsrr79ad6lh00klxph9hw4fqyp1a= bkdsg"))))))))) @@ -675,6 +709,8 @@ exec ~a/bin/.gcc-wrapped -B~a/lib \ "/20150101/gcc-4.8.4.tar.xz") ("aarch64-linux" "/20170217/gcc-5.4.0.tar.xz") + ("powerpc-linux" + "/20191103/gcc-7.4.0.tar.xz") (_ "/20131110/gcc-4.8.2.tar.xz"))) %bootstrap-base-urls)) @@ -692,6 +728,9 @@ exec ~a/bin/.gcc-wrapped -B~a/lib \ ("aarch64-linux" (base32 "1ar3vdzyqbfm0z36kmvazvfswxhcihlacl2dzdjgiq25cq= nq9ih1")) + ("powerpc-linux" + (base32 + "02fkgfx098wi9lr7x0lpjvzmxnmlksl7ibzrzhrd1vdi0i= f5hcyc")) ("mips64el-linux" (base32 "1m5miqkyng45l745n0sfafdpjkqv9225xf44jqkygwsipj= 2cv9ks"))))))))) diff --git a/guix/packages.scm b/guix/packages.scm index d925e754a3..c0ed500617 100644 --- a/guix/packages.scm +++ b/guix/packages.scm @@ -232,7 +232,7 @@ name of its URI." (define %supported-systems ;; This is the list of system types that are supported. By default, we ;; expect all packages to build successfully here. - '("x86_64-linux" "i686-linux" "armhf-linux" "aarch64-linux" "mips64el-li= nux")) + '("x86_64-linux" "i686-linux" "armhf-linux" "aarch64-linux" "mips64el-li= nux" "powerpc-linux")) =20 (define %hurd-systems ;; The GNU/Hurd systems for which support is being developed. @@ -243,7 +243,7 @@ name of its URI." ;; ;; XXX: MIPS is unavailable in CI: ;; . - (fold delete %supported-systems '("mips64el-linux"))) + (fold delete %supported-systems '("mips64el-linux" "powerpc-linux"))) =20 =20 ;; A package. --=20 2.25.0 --1ccMZA6j1vT5UqiK Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0002-Try-with-guile-2.0.patch" Content-Transfer-Encoding: quoted-printable =46rom b734af582ba6d37a185f7797a7adbb2c368842bd Mon Sep 17 00:00:00 2001 =46rom: Efraim Flashner Date: Wed, 12 Feb 2020 22:32:43 +0200 Subject: [PATCH 2/3] Try with guile-2.0 --- gnu/packages/bootstrap.scm | 28 +++++++++++++--------------- 1 file changed, 13 insertions(+), 15 deletions(-) diff --git a/gnu/packages/bootstrap.scm b/gnu/packages/bootstrap.scm index 6c6150397c..f68917d23e 100644 --- a/gnu/packages/bootstrap.scm +++ b/gnu/packages/bootstrap.scm @@ -128,7 +128,7 @@ "Return the URL where PROGRAM can be found for SYSTEM." (string-append ;; For powerpc and other new targets. - "http://flashner.co.il/guix/bootstrap/powerpc-linux/20191103/powerpc-l= inux/" + "http://flashner.co.il/guix/bootstrap/powerpc-linux/20200213/bin/" program)) ;"https://git.savannah.gnu.org/cgit/guix.git/plain/gnu/packages/bootst= rap/" ;system "/" program @@ -323,7 +323,7 @@ or false to signal an error." ("aarch64-linux" "/20170217/guile-2.0.14.tar.xz") ("powerpc-linux" - "/20191103/guile-2.2.6.tar.xz") + "/20200213/guile-2.0.14.tar.xz") ("armhf-linux" "/20150101/guile-2.0.11.tar.xz") (_ @@ -343,7 +343,7 @@ or false to signal an error." ("aarch64-linux" (base32 "1giy2aprjmn5fp9c4s9r125fljw4wv6ixy5739i5bffw4jgr0f9r")) ("powerpc-linux" - (base32 "1y7ymjhd7g0w27198xxia1sskjp07r4bxfq261i0lj4ff4amkif6")))) + (base32 "05wyhrzqqghgv3pvdwyhdwhahddvcgd1nxrxbvsghc0gmkhnnmcj")))) =20 (define (bootstrap-guile-origin system) "Return an object for the Guile tarball of SYSTEM." @@ -396,11 +396,10 @@ or false to signal an error." (lambda (p) (format p "\ #!~a -export GUILE_SYSTEM_PATH=3D~a/share/guile/2.2 -export GUILE_SYSTEM_COMPILED_PATH=3D\"\" -export GUILE_AUTO_COMPILE=3D0 +export GUILE_SYSTEM_PATH=3D~a/share/guile/2.0 +export GUILE_SYSTEM_COMPILED_PATH=3D~a/lib/guile/2.0/ccache exec -a \"~a0\" ~a \"~a@\"\n" - bash out dollar guile-real dollar))) + bash out out dollar guile-real dollar))) (chmod guile #o555) (chmod bin-dir #o555)))))) (builder @@ -413,9 +412,8 @@ cd $out ~a -dc < $GUILE_TARBALL | ~a xv =20 # Use the bootstrap guile to create its own wrapper to set the load path. -GUILE_SYSTEM_PATH=3D$out/share/guile/2.2 \ -GUILE_SYSTEM_COMPILED_PATH=3D\"\" \ -GUILE_AUTO_COMPILE=3D0 \ +GUILE_SYSTEM_PATH=3D$out/share/guile/2.0 \ +GUILE_SYSTEM_COMPILED_PATH=3D$out/lib/guile/2.0/ccache \ $out/bin/guile -c ~s $out ~a =20 # Sanity check. @@ -456,7 +454,7 @@ $out/bin/guile --version~%" (lower make-raw-bag)))) (package (name "guile-bootstrap") - (version "2.2") + (version "2.0") (source #f) (build-system raw) (synopsis "Bootstrap Guile") @@ -476,7 +474,7 @@ $out/bin/guile --version~%" ("aarch64-linux" "/20170217/static-binaries.ta= r.xz") ("powerpc-linux" - "/20191103/static-binaries.ta= r.xz") + "/20200213/static-binaries.ta= r.xz") (_ "/20131110/static-binaries.ta= r.xz"))) %bootstrap-base-urls)) @@ -544,7 +542,7 @@ $out/bin/guile --version~%" ("aarch64-linux" "/20170217/binutils-2.27.tar.= xz") ("powerpc-linux" - "/20191103/binutils-2.32.tar.= xz") + "/20200213/binutils-2.32.tar.= xz") (_ "/20131110/binutils-2.23.2.ta= r.xz"))) %bootstrap-base-urls)) @@ -619,7 +617,7 @@ $out/bin/guile --version~%" ("aarch64-linux" "/20170217/glibc-2.25.tar.xz") ("powerpc-linux" - "/20191103/glibc-2.29.tar.xz") + "/20200213/glibc-2.29.tar.xz") (_ "/20131110/glibc-2.18.tar.xz"))) %bootstrap-base-urls)) @@ -710,7 +708,7 @@ exec ~a/bin/.gcc-wrapped -B~a/lib \ ("aarch64-linux" "/20170217/gcc-5.4.0.tar.xz") ("powerpc-linux" - "/20191103/gcc-7.4.0.tar.xz") + "/20200213/gcc-7.4.0.tar.xz") (_ "/20131110/gcc-4.8.2.tar.xz"))) %bootstrap-base-urls)) --=20 2.25.0 --1ccMZA6j1vT5UqiK Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0003-use-gcc-7-for-libstdc-boot0.patch" Content-Transfer-Encoding: quoted-printable =46rom 6ccc9da5a03f2d6b8e1198d2d32909998646d24b Mon Sep 17 00:00:00 2001 =46rom: Efraim Flashner Date: Thu, 13 Feb 2020 09:34:26 +0200 Subject: [PATCH 3/3] use gcc-7 for libstdc++-boot0 --- gnu/packages/commencement.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm index 2a0a83ad49..3074cf8a8a 100644 --- a/gnu/packages/commencement.scm +++ b/gnu/packages/commencement.scm @@ -1429,7 +1429,7 @@ exec " gcc "/bin/" program ;; 'Makefile.def' forcefully adds --enable-shared) and thus needs to ref= er ;; to libstdc++.so. We cannot build libstdc++-5.3 because it relies on ;; C++14 features missing in some of our bootstrap compilers. - (let ((lib (make-libstdc++ gcc-4.9))) + (let ((lib (make-libstdc++ gcc-7))) (package (inherit lib) (source (bootstrap-origin (package-source lib))) --=20 2.25.0 --1ccMZA6j1vT5UqiK-- --0/kgSOzhNoDC5T3a Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEEoov0DD5VE3JmLRT3Qarn3Mo9g1EFAl5E/IAACgkQQarn3Mo9 g1GsUQ/9FaZbw/uTwMUBBySjvTEAW5KrDtOcREXfVv6iJODWIxcmIvhA/tPv5GRW 1Jv1QwJeHg+iecNqIJrCWaR1l0e4y7GMbS4xGII5rvHrZgn7+FSXol3dxnl3I69g N1Hg/I/DtZdkJcUYVaXLjlTqmrMGAFi/HKqYa4kdIFWU1fhkt5PKZwXhC3ApJs4z IJIltEuHkcWzcPdpp0UqFzGMsuPf0cocRKt4SW7JsAQhTDi88l7hcP0zsECaEQNB Rjyv5R1QR0chCAvwMhZ2cVf0Lbzp6HyLuyD0W27imN1r2MPGiZ79GKdCbhUHCFyv c1/mg6jdq3ADEOePWUghjwYvmE4t9TnUqD5FyXEALE429lXVzRnKAIDkOtNpdx69 KOX43ZMkRONY1BGrkHn4BhNRPWDzbREC0p5RsVMtoOyYL6JilIJlKTl/JeIwS2Ib ricoL6Wgaaqr60aqGu2zsuiXOcVKT0nC3bFnvmp+nr9yn6t0OvM0VtA4SkO4hi/S uODpJtMEWklbXVYpta5kfjtbcf6uxjQGbYWrT6sX3mAu5h3M75vkraSaZYs4UTmJ XRgazy0yBVvWkmm4sbsxtlKzytsVnFJEGxY5uoSJkDj9HLCdvvHaeHDg03Mo4p6a bWfoKrHoEXSmkDqpzfMLtxE2fzGoggfWOU5rZVsusaK1W4OQTh8= =3QWh -----END PGP SIGNATURE----- --0/kgSOzhNoDC5T3a--