efraim pushed a commit to branch wip-ppc in repository guix. commit 7b1cfacd62dd112894b6e812493be0708531f106 Author: Efraim Flashner <efr...@flashner.co.il> AuthorDate: Sun Feb 9 09:15:36 2020 +0200
WIP add powerpc support THis is built against commit 1988ef21f82430d4b380dd4887160a902d8796fd + libffi patch and glibc-2.30 patch --- gnu/packages/bootstrap.scm | 37 ++++++++++++++++++++++++++++++++++++- guix/packages.scm | 4 ++-- m4/guix.m4 | 4 ++-- 3 files changed, 40 insertions(+), 5 deletions(-) diff --git a/gnu/packages/bootstrap.scm b/gnu/packages/bootstrap.scm index f58ce2d..afc48b7 100644 --- a/gnu/packages/bootstrap.scm +++ b/gnu/packages/bootstrap.scm @@ -86,6 +86,15 @@ ,(base32 "1j51gv08sfg277yxj73xd564wjq3f8xwd6s9rbcg8v9gms47m4cx")) ("xz" ,(base32 "1d779rwsrasphg5g3r37qppcqy3p7ay1jb1y83w7x4i3qsc7zjy2"))) + ("powerpc-linux" + ("bash" + ,(base32 "0jsh2kx6rpxambn5piiqamb0504mmaqnxw71a1jdc2gafrh8gqar")) + ("mkdir" + ,(base32 "00z2b3v0lp2vs70bld9wcdqyqhz3bk4wlgz7h7bba9mhxqrqd2cy")) + ("tar" + ,(base32 "0xdn6067kj9fzjsh9ns3lqwh7ywhj8gx2bkawa9a0q97mbdlwnl9")) + ("xz" + ,(base32 "10bdg636gv6j4q4zd20qd9d46rhyvq91lfr7laimhrjmjic7ig6r"))) ("armhf-linux" ("bash" ,(base32 "0s6f1s26g4dsrrkl39zblvwpxmbzi6n9mgqf6vxsqz42gik6bgyn")) @@ -126,12 +135,14 @@ (define %bootstrap-executable-base-urls ;; This is where the bootstrap executables come from. '("https://git.savannah.gnu.org/cgit/guix.git/plain/gnu/packages/bootstrap/" + "http://flashner.co.il/guix/bootstrap/" "http://lilypond.org/janneke/guix/")) (define (bootstrap-executable-file-name system program) "Return the FILE-NAME part of url where PROGRAM can be found for SYSTEM." (match system ("i586-gnu" (string-append system "/20200326/" program)) + ("powerpc-linux" (string-append system "/20200417/bin/" program)) (_ (string-append system "/" program "?id=44f07d1dc6806e97c4e9ee3e6be883cc59dc666e")))) @@ -326,6 +337,8 @@ or false to signal an error." (match system ("aarch64-linux" "/20170217/guile-2.0.14.tar.xz") + ("powerpc-linux" + "/20200417/guile-2.0.14.tar.xz") ("armhf-linux" "/20150101/guile-2.0.11.tar.xz") ("i586-gnu" @@ -347,7 +360,9 @@ or false to signal an error." ("aarch64-linux" (base32 "1giy2aprjmn5fp9c4s9r125fljw4wv6ixy5739i5bffw4jgr0f9r")) ("i586-gnu" - (base32 "0wgqpsmvg25rnqn49ap7kwd2qxccd8dr4lllzp7i3rjvgav27vac")))) + (base32 "0wgqpsmvg25rnqn49ap7kwd2qxccd8dr4lllzp7i3rjvgav27vac")) + ("powerpc-linux" + (base32 "0w71zliah5w1dglxmyndbpxj1s1crhaq7kxf8vkd5x1n1z5knqd6")))) (define (bootstrap-guile-origin system) "Return an <origin> object for the Guile tarball of SYSTEM." @@ -479,6 +494,8 @@ $out/bin/guile --version~%" "/20170217/static-binaries.tar.xz") ("i586-gnu" "/20200326/static-binaries-0-i586-pc-gnu.tar.xz") + ("powerpc-linux" + "/20200417/static-binaries.tar.xz") (_ "/20131110/static-binaries.tar.xz"))) %bootstrap-base-urls)) @@ -499,6 +516,9 @@ $out/bin/guile --version~%" ("i586-gnu" (base32 "17kllqnf3fg79gzy9ansgi801c46yh9c23h4d923plvb0nfm1cfn")) + ("powerpc-linux" + (base32 + "0z9ak7rvb86r1qzczafycbxn7w9dq66xq701ib6hpc8ypg71gwbx")) ("mips64el-linux" (base32 "072y4wyfsj1bs80r6vbybbafy8ya4vfy7qj25dklwk97m6g71753")))))) @@ -547,6 +567,8 @@ $out/bin/guile --version~%" "/20170217/binutils-2.27.tar.xz") ("i586-gnu" "/20200326/binutils-static-stripped-2.34-i586-pc-gnu.tar.xz") + ("powerpc-linux" + "/20200417/binutils-2.34.tar.xz") (_ "/20131110/binutils-2.23.2.tar.xz"))) %bootstrap-base-urls)) @@ -567,6 +589,9 @@ $out/bin/guile --version~%" ("i586-gnu" (base32 "11kykv1kmqc5wln57rs4klaqa13hm952smkc57qcsyss21kfjprs")) + ("powerpc-linux" + (base32 + "1ycyz7amrs2zvcs3i1cn6rwprn8zd9flhf2x3svd64j6abhkvxgl")) ("mips64el-linux" (base32 "1x8kkhcxmfyzg1ddpz2pxs6fbdl6412r7x0nzbmi5n7mj8zw2gy7")))))) @@ -622,6 +647,8 @@ $out/bin/guile --version~%" "/20170217/glibc-2.25.tar.xz") ("i586-gnu" "/20200326/glibc-stripped-2.31-i586-pc-gnu.tar.xz") + ("powerpc-linux" + "/20200417/glibc-2.30.tar.xz") (_ "/20131110/glibc-2.18.tar.xz"))) %bootstrap-base-urls)) @@ -642,6 +669,9 @@ $out/bin/guile --version~%" ("i586-gnu" (base32 "14ddm10lpbas8bankmn5bcrlqvz1v5dnn1qjzxb19r57vd2w5952")) + ("powerpc-linux" + (base32 + "1qfm5zji5c3kqda8v9rpzdh4jvv1vgqdvdjf52r1b005nkwx41jj")) ("mips64el-linux" (base32 "0k97a3whzx3apsi9n2cbsrr79ad6lh00klxph9hw4fqyp1abkdsg"))))))))) @@ -713,6 +743,8 @@ exec ~a/bin/.gcc-wrapped -B~a/lib \ "/20170217/gcc-5.4.0.tar.xz") ("i586-gnu" "/20200326/gcc-stripped-5.5.0-i586-pc-gnu.tar.xz") + ("powerpc-linux" + "/20200417/gcc-5.5.0.tar.xz") (_ "/20131110/gcc-4.8.2.tar.xz"))) %bootstrap-base-urls)) @@ -733,6 +765,9 @@ exec ~a/bin/.gcc-wrapped -B~a/lib \ ("i586-gnu" (base32 "1j2zc58wzil71a34h7c70sd68dmqvcscrw3rmn2whq79vd70zvv5")) + ("powerpc-linux" + (base32 + "17b339mfz015lgdsp2bakl89fw20z896hsx84v10fxwifhr3qpg6")) ("mips64el-linux" (base32 "1m5miqkyng45l745n0sfafdpjkqv9225xf44jqkygwsipj2cv9ks"))))))))) diff --git a/guix/packages.scm b/guix/packages.scm index 9fdc679..5de78ac 100644 --- a/guix/packages.scm +++ b/guix/packages.scm @@ -234,7 +234,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-linux" "i586-gnu")) + '("x86_64-linux" "i686-linux" "armhf-linux" "aarch64-linux" "mips64el-linux" "i586-gnu" "powerpc-linux")) (define %hurd-systems ;; The GNU/Hurd systems for which support is being developed. @@ -245,7 +245,7 @@ name of its URI." ;; ;; XXX: MIPS is unavailable in CI: ;; <https://lists.gnu.org/archive/html/guix-devel/2017-03/msg00790.html>. - (fold delete %supported-systems '("mips64el-linux"))) + (fold delete %supported-systems '("mips64el-linux" "powerpc-linux"))) ;; A package. diff --git a/m4/guix.m4 b/m4/guix.m4 index 961ce83..d958a55 100644 --- a/m4/guix.m4 +++ b/m4/guix.m4 @@ -1,7 +1,7 @@ dnl GNU Guix --- Functional package management for GNU dnl Copyright © 2012, 2013, 2014, 2015, 2016, 2018, 2019 Ludovic Courtès <l...@gnu.org> dnl Copyright © 2014 Mark H Weaver <m...@netris.org> -dnl Copyright © 2017 Efraim Flashner <efr...@flashner.co.il> +dnl Copyright © 2017, 2020 Efraim Flashner <efr...@flashner.co.il> dnl dnl This file is part of GNU Guix. dnl @@ -88,7 +88,7 @@ courageous and port the GNU System distribution to it (see # Currently only Linux-based systems are supported, and only on some # platforms. case "$guix_system" in - x86_64-linux|i686-linux|armhf-linux|aarch64-linux|mips64el-linux) + x86_64-linux|i686-linux|armhf-linux|aarch64-linux|mips64el-linux|powerpc-linux) ;; *) if test "x$guix_courageous" = "xyes"; then