unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / Atom feed
* [bug#47615] [PATCH 0/9] Add 32-bit powerpc support
@ 2021-04-06 12:24 Efraim Flashner
  2021-04-06 12:32 ` [bug#47615] [PATCH 1/9] gnu: bootstrap: Add support for powerpc-linux Efraim Flashner
                   ` (6 more replies)
  0 siblings, 7 replies; 8+ messages in thread
From: Efraim Flashner @ 2021-04-06 12:24 UTC (permalink / raw)
  To: 47615, guix-devel; +Cc: Efraim Flashner

https://git.savannah.gnu.org/cgit/guix.git/log/?h=wip-ppc

The wip-ppc branch on Savannah is currently in a good state. With the
recent rapid churn on core-updates I haven't been very quick about
rebasing on core-updates but I can confirm that building out to mesa
works. Building is slow, it took 6 days to build from guile-final to
mesa without stopping.

The patches start with adding the bootstrap binaries for powerpc.

The next patch fixes guile-3.0.2+ on powerpc (and probably other 32-bit
big-endian systems) and is the result of almost 3 weeks of bisecting.

Next is a patch for binutils to disable one of the tests. The test is
new to core-updates, and fails on powerpc-linux but not the other
architectures we support.

The mesa patch works, but I have to see about enabling the tests. I have
also tested updating mesa and enabling the llvm backend on aarch64 and
the tests no longer fail there, so I'll do another couple (3 hour) mesa
builds to see if the comment needs adjusting or if the tests can be
enabled on powerpc-linux.

mac-fdisk I didn't have a solid reason to put in the wip-ppc branch but
there it is. I need to change CC=gcc to use cc-for-target.

The patch for american-fuzzy-lop I snuck into master

the qemu-command in gnu/build/vm shouldn't overlap with ppc64le.

the last two patches, disabling the tests for mercurial and nss, can
probably be dropped. The comments are accurate though, and we have done
similar in the past on mips64le and armhf.

Efraim Flashner (9):
  gnu: bootstrap: Add support for powerpc-linux.
  gnu: guile-3.0: Fix building on powerpc-linux.
  gnu: binutils: Adjust test suite on powerpc-linux.
  gnu: mesa: Add support for powerpc-linux.
  gnu: Add mac-fdisk.
  gnu: american-fuzzy-lop: Add support for powerpc-linux.
  build: qemu-command: Add support for powerpc.
  gnu: mercurial: Skip tests on powerpc-linux.
  gnu: nss: Skip tests on powerpc-linux.

 gnu/build/vm.scm                              |    1 +
 gnu/local.mk                                  |    2 +
 gnu/packages/base.scm                         |   11 +-
 gnu/packages/bootstrap.scm                    |   37 +-
 gnu/packages/commencement.scm                 |   21 +-
 gnu/packages/debug.scm                        |    2 +
 gnu/packages/disk.scm                         |   44 +
 gnu/packages/gl.scm                           |   18 +-
 gnu/packages/guile.scm                        |   21 +-
 gnu/packages/nss.scm                          |    7 +-
 .../patches/mac-fdisk-gentoo-patchset.patch   |  866 +++++++
 gnu/packages/patches/mac-fdisk-p18.patch      | 2070 +++++++++++++++++
 gnu/packages/version-control.scm              |    6 +-
 guix/packages.scm                             |    4 +-
 m4/guix.m4                                    |    4 +-
 15 files changed, 3096 insertions(+), 18 deletions(-)
 create mode 100644 gnu/packages/patches/mac-fdisk-gentoo-patchset.patch
 create mode 100644 gnu/packages/patches/mac-fdisk-p18.patch


base-commit: f08b070019a3c1697bb0b4a783dcd4f31243715a
-- 
2.31.1





^ permalink raw reply	[flat|nested] 8+ messages in thread

* [bug#47615] [PATCH 1/9] gnu: bootstrap: Add support for powerpc-linux.
  2021-04-06 12:24 [bug#47615] [PATCH 0/9] Add 32-bit powerpc support Efraim Flashner
@ 2021-04-06 12:32 ` Efraim Flashner
  2021-04-06 12:32 ` [bug#47615] [PATCH 2/9] gnu: guile-3.0: Fix building on powerpc-linux Efraim Flashner
                   ` (5 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: Efraim Flashner @ 2021-04-06 12:32 UTC (permalink / raw)
  To: 47615, guix-devel; +Cc: Efraim Flashner

On 923bb70a1bff657125c3008f119a477e5cb57c2b
   gnu:glibc-for-bootstrap: Fix patch.

Run
    ./pre-inst-env guix build --target=powerpc-linux-gnu bootstrap-tarballs

Producing

    /gnu/store/dyj1wvayyp1ihaknkxniz1xamcf4yrhl-bootstrap-tarballs-0

With guix hash -rx /gnu/store/dyj1wvayyp1ihaknkxniz1xamcf4yrhl-bootstrap-tarballs-0

    02xx2ydj28pwv3vflqffinpq1icj09gzi9icm8j4bwc4lca9irxn

* gnu/packages/bootstrap.scm (%bootstrap-executables): Add entries for
powerpc-linux.
(%bootstrap-guile-hash, %bootstrap-coreutils&co, %bootstrap-binutils,
%bootstrap-glibc, %bootstrap-gcc): Add entry for powerpc-linux.
* gnu/packages.scm (%supported-systems): Add powerpc-linux.
(%hydra-supported-systems): Remove powerpc-linux.
* m4/guix.m4: Add powerpc-linux as a supported system.
---
 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 c50e94e891..049735013a 100644
--- a/gnu/packages/bootstrap.scm
+++ b/gnu/packages/bootstrap.scm
@@ -89,6 +89,15 @@
       ,(base32 "1j51gv08sfg277yxj73xd564wjq3f8xwd6s9rbcg8v9gms47m4cx"))
      ("xz"
       ,(base32 "1d779rwsrasphg5g3r37qppcqy3p7ay1jb1y83w7x4i3qsc7zjy2")))
+    ("powerpc-linux"
+     ("bash"
+      ,(base32 "0hwlw5lcyjzadprf5fm0cv4zb6jw667g9amnmhq0lbixasy7j72j"))
+     ("mkdir"
+      ,(base32 "12lfwh5p8pp06250wgi9mdvjv1jdfpd5xpmvfc0616aj0xqh09hp"))
+     ("tar"
+      ,(base32 "00sbmwl8qh6alxv9mw4hvj1j4yipwmw5mrw6qad8bi2pr7ya5386"))
+     ("xz"
+      ,(base32 "0hi47y6zh5zz137i59l5ibw92x6g54zn7ris1b1ym9rvavsasg7b")))
     ("armhf-linux"
      ("bash"
       ,(base32 "0s6f1s26g4dsrrkl39zblvwpxmbzi6n9mgqf6vxsqz42gik6bgyn"))
@@ -139,6 +148,7 @@
   ;; This is where the bootstrap executables come from.
   '("https://git.savannah.gnu.org/cgit/guix.git/plain/gnu/packages/bootstrap/"
     "https://alpha.gnu.org/gnu/guix/bootstrap/"
+    "http://flashner.co.il/guix/bootstrap/"
     "http://lilypond.org/janneke/guix/"))
 
 (define (bootstrap-executable-file-name system program)
@@ -146,6 +156,7 @@
   (match system
     ("powerpc64le-linux" (string-append system "/20210106/" program))
     ("i586-gnu" (string-append system "/20200326/" program))
+    ("powerpc-linux" (string-append system "/20200923/bin/" program))
     (_ (string-append system "/" program
                       "?id=44f07d1dc6806e97c4e9ee3e6be883cc59dc666e"))))
 
@@ -341,6 +352,8 @@ or false to signal an error."
                  (match system
                    ("aarch64-linux"
                     "/20170217/guile-2.0.14.tar.xz")
+                   ("powerpc-linux"
+                    "/20200923/guile-2.0.14.tar.xz")
                    ("armhf-linux"
                     "/20150101/guile-2.0.11.tar.xz")
                    ("i586-gnu"
@@ -366,7 +379,9 @@ or false to signal an error."
     ("aarch64-linux"
      (base32 "1giy2aprjmn5fp9c4s9r125fljw4wv6ixy5739i5bffw4jgr0f9r"))
     ("i586-gnu"
-     (base32 "0wgqpsmvg25rnqn49ap7kwd2qxccd8dr4lllzp7i3rjvgav27vac"))))
+     (base32 "0wgqpsmvg25rnqn49ap7kwd2qxccd8dr4lllzp7i3rjvgav27vac"))
+    ("powerpc-linux"
+     (base32 "1by2p7s27fbyjzfkcw8h65h4kkqh7d23kv4sgg5jppjn2qx7swq4"))))
 
 (define (bootstrap-guile-origin system)
   "Return an <origin> object for the Guile tarball of SYSTEM."
@@ -500,6 +515,8 @@ $out/bin/guile --version~%"
                                              "/20210106/static-binaries-0-powerpc64le-linux-gnu.tar.xz")
                                             ("i586-gnu"
                                              "/20200326/static-binaries-0-i586-pc-gnu.tar.xz")
+                                            ("powerpc-linux"
+                                             "/20200923/static-binaries.tar.xz")
                                             (_
                                              "/20131110/static-binaries.tar.xz")))
                                      %bootstrap-base-urls))
@@ -523,6 +540,9 @@ $out/bin/guile --version~%"
                               ("i586-gnu"
                                (base32
                                 "17kllqnf3fg79gzy9ansgi801c46yh9c23h4d923plvb0nfm1cfn"))
+                              ("powerpc-linux"
+                               (base32
+                                "0kspxy0yczan2vlih6aa9hailr2inz000fqa0gn5x9d1fxxa5y8m"))
                               ("mips64el-linux"
                                (base32
                                 "072y4wyfsj1bs80r6vbybbafy8ya4vfy7qj25dklwk97m6g71753"))))))
@@ -573,6 +593,8 @@ $out/bin/guile --version~%"
                                              "/20210106/binutils-static-stripped-2.34-powerpc64le-linux-gnu.tar.xz")
                                             ("i586-gnu"
                                              "/20200326/binutils-static-stripped-2.34-i586-pc-gnu.tar.xz")
+                                            ("powerpc-linux"
+                                             "/20200923/binutils-2.35.1.tar.xz")
                                             (_
                                              "/20131110/binutils-2.23.2.tar.xz")))
                                      %bootstrap-base-urls))
@@ -596,6 +618,9 @@ $out/bin/guile --version~%"
                               ("i586-gnu"
                                (base32
                                 "11kykv1kmqc5wln57rs4klaqa13hm952smkc57qcsyss21kfjprs"))
+                              ("powerpc-linux"
+                               (base32
+                                "0asbg1c4avkrvh057mx0942xwddd136jni382zqsxzn79ls42yq8"))
                               ("mips64el-linux"
                                (base32
                                 "1x8kkhcxmfyzg1ddpz2pxs6fbdl6412r7x0nzbmi5n7mj8zw2gy7"))))))
@@ -653,6 +678,8 @@ $out/bin/guile --version~%"
                                        "/20210106/glibc-stripped-2.31-powerpc64le-linux-gnu.tar.xz")
                                       ("i586-gnu"
                                        "/20200326/glibc-stripped-2.31-i586-pc-gnu.tar.xz")
+                                      ("powerpc-linux"
+                                       "/20200923/glibc-2.32.tar.xz")
                                       (_
                                        "/20131110/glibc-2.18.tar.xz")))
                                %bootstrap-base-urls))
@@ -676,6 +703,9 @@ $out/bin/guile --version~%"
                         ("i586-gnu"
                          (base32
                           "14ddm10lpbas8bankmn5bcrlqvz1v5dnn1qjzxb19r57vd2w5952"))
+                        ("powerpc-linux"
+                         (base32
+                          "0smmssyjrlk5cvx49586smmk81gkwff0i6r91n4rir4jm6ba25sb"))
                         ("mips64el-linux"
                          (base32
                           "0k97a3whzx3apsi9n2cbsrr79ad6lh00klxph9hw4fqyp1abkdsg")))))))))
@@ -749,6 +779,8 @@ exec ~a/bin/.gcc-wrapped -B~a/lib \
                                         "/20210106/gcc-stripped-5.5.0-powerpc64le-linux-gnu.tar.xz")
                                        ("i586-gnu"
                                         "/20200326/gcc-stripped-5.5.0-i586-pc-gnu.tar.xz")
+                                       ("powerpc-linux"
+                                        "/20200923/gcc-5.5.0.tar.xz")
                                        (_
                                         "/20131110/gcc-4.8.2.tar.xz")))
                                 %bootstrap-base-urls))
@@ -772,6 +804,9 @@ exec ~a/bin/.gcc-wrapped -B~a/lib \
                          ("i586-gnu"
                           (base32
                            "1j2zc58wzil71a34h7c70sd68dmqvcscrw3rmn2whq79vd70zvv5"))
+                         ("powerpc-linux"
+                          (base32
+                           "1p7df3yixhm87dw5sccc6yn1i9db1r9hnmsg87wq5xi4rfmirq7w"))
                          ("mips64el-linux"
                           (base32
                            "1m5miqkyng45l745n0sfafdpjkqv9225xf44jqkygwsipj2cv9ks")))))))))
diff --git a/guix/packages.scm b/guix/packages.scm
index 56173e1204..e60201d8fc 100644
--- a/guix/packages.scm
+++ b/guix/packages.scm
@@ -350,7 +350,7 @@ name of its URI."
   ;; 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"
-    "powerpc64le-linux"))
+    "powerpc64le-linux" "powerpc-linux"))
 
 (define %hurd-systems
   ;; The GNU/Hurd systems for which support is being developed.
@@ -361,7 +361,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 05d409a674..e778a56004 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, 2020, 2021 Ludovic Courtès <ludo@gnu.org>
 dnl Copyright © 2014 Mark H Weaver <mhw@netris.org>
-dnl Copyright © 2017 Efraim Flashner <efraim@flashner.co.il>
+dnl Copyright © 2017, 2020 Efraim Flashner <efraim@flashner.co.il>
 dnl Copyright © 2021 Chris Marusich <cmmarusich@gmail.com>
 dnl
 dnl This file is part of GNU Guix.
@@ -89,7 +89,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|powerpc64le-linux)
+    x86_64-linux|i686-linux|armhf-linux|aarch64-linux|powerpc64le-linux|powerpc-linux)
       ;;
     *)
       if test "x$guix_courageous" = "xyes"; then
-- 
2.31.1





^ permalink raw reply	[flat|nested] 8+ messages in thread

* [bug#47615] [PATCH 2/9] gnu: guile-3.0: Fix building on powerpc-linux.
  2021-04-06 12:24 [bug#47615] [PATCH 0/9] Add 32-bit powerpc support Efraim Flashner
  2021-04-06 12:32 ` [bug#47615] [PATCH 1/9] gnu: bootstrap: Add support for powerpc-linux Efraim Flashner
@ 2021-04-06 12:32 ` Efraim Flashner
  2021-04-06 12:32 ` [bug#47615] [PATCH 3/9] gnu: binutils: Adjust test suite " Efraim Flashner
                   ` (4 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: Efraim Flashner @ 2021-04-06 12:32 UTC (permalink / raw)
  To: 47615, guix-devel; +Cc: Efraim Flashner

* gnu/packages/guile.scm (guile-3.0)[arguments]: On powerpc add two
phases to adjust for 32-bit big-endian systems.
---
 gnu/packages/guile.scm | 21 ++++++++++++++++++++-
 1 file changed, 20 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm
index f63322794d..dca1b1c16f 100644
--- a/gnu/packages/guile.scm
+++ b/gnu/packages/guile.scm
@@ -305,7 +305,26 @@ without requiring the source code to be rewritten.")
          (substitute-keyword-arguments (package-arguments guile-2.2)
            ((#:configure-flags flags ''())
             `(cons "--disable-jit" ,flags)))
-         (package-arguments guile-2.2)))
+         (if (string-prefix? "powerpc-" (%current-system))
+           (substitute-keyword-arguments (package-arguments guile-2.2)
+             ((#:phases phases)
+              `(modify-phases ,phases
+                 (add-after 'unpack 'adjust-bootstrap-flags
+                   (lambda _
+                     ;; Upstream not yet notified about suggested solution.
+                     ;; See existing bug reports:
+                     ;; https://debbugs.gnu.org/cgi/bugreport.cgi?bug=45214
+                     ;; https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=977223
+                     (substitute* "bootstrap/Makefile.in"
+                       (("^GUILE_OPTIMIZATIONS.*")
+                        "GUILE_OPTIMIZATIONS = -O1 -Oresolve-primitives -Ocps\n"))
+                     #t))
+                 (add-after 'unpack 'remove-failing-tests
+                   (lambda _
+                     ;; TODO: Discover why this test fails on powerpc-linux
+                     (delete-file "test-suite/standalone/test-out-of-memory")
+                     #t)))))
+           (package-arguments guile-2.2))))
     (native-search-paths
      (list (search-path-specification
             (variable "GUILE_LOAD_PATH")
-- 
2.31.1





^ permalink raw reply	[flat|nested] 8+ messages in thread

* [bug#47615] [PATCH 3/9] gnu: binutils: Adjust test suite on powerpc-linux.
  2021-04-06 12:24 [bug#47615] [PATCH 0/9] Add 32-bit powerpc support Efraim Flashner
  2021-04-06 12:32 ` [bug#47615] [PATCH 1/9] gnu: bootstrap: Add support for powerpc-linux Efraim Flashner
  2021-04-06 12:32 ` [bug#47615] [PATCH 2/9] gnu: guile-3.0: Fix building on powerpc-linux Efraim Flashner
@ 2021-04-06 12:32 ` Efraim Flashner
  2021-04-06 12:32 ` [bug#47615] [PATCH 4/9] gnu: mesa: Add support for powerpc-linux Efraim Flashner
                   ` (3 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: Efraim Flashner @ 2021-04-06 12:32 UTC (permalink / raw)
  To: 47615, guix-devel; +Cc: Efraim Flashner

* gnu/packages/base.scm (binutils)[arguments]: Add phase on
powerpc-linux to adjust the test suite.
* gnu/packages/commencement.scm (binutils-boot0)[arguments]: Move custom
phases after inherited arguments. Add phase on powerpc-linux to adjust
the test suite.
---
 gnu/packages/base.scm         | 11 ++++++++++-
 gnu/packages/commencement.scm | 21 ++++++++++++++++-----
 2 files changed, 26 insertions(+), 6 deletions(-)

diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm
index dbb7c619fe..b9fc0a6e29 100644
--- a/gnu/packages/base.scm
+++ b/gnu/packages/base.scm
@@ -531,7 +531,16 @@ change.  GNU make offers many powerful extensions over the standard utility.")
 
                           ;; Make sure 'ar' and 'ranlib' produce archives in a
                           ;; deterministic fashion.
-                          "--enable-deterministic-archives")))
+                          "--enable-deterministic-archives")
+      ,@(if (string=? (%current-system) "powerpc-linux")
+          `(#:phases
+            (modify-phases %standard-phases
+              (add-after 'unpack 'disable-rust-libiberty-test
+                (lambda _
+                  (substitute* "libiberty/testsuite/Makefile.in"
+                    ((" check-rust-demangle ") ""))
+                  #t))))
+          '())))
 
    (synopsis "Binary utilities: bfd gas gprof ld")
    (description
diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm
index 7c39a84008..f707a01d30 100644
--- a/gnu/packages/commencement.scm
+++ b/gnu/packages/commencement.scm
@@ -2653,7 +2653,22 @@ exec " gcc "/bin/" program
        #:modules ((guix build gnu-build-system)
                   (guix build utils)
                   (ice-9 ftw))                    ; for 'scandir'
+
+       ;; #:phases gets modified for powerpc-linux in binutils,
+       ;; so #:phases here needs to be after the inherited one.
+       ,@(substitute-keyword-arguments (package-arguments binutils)
+           ((#:configure-flags cf)
+            `(cons ,(string-append "--target=" (boot-triplet))
+                   ,cf)))
+
        #:phases (modify-phases %standard-phases
+                  ,@(if (string=? (%current-system) "powerpc-linux")
+                      '((add-after 'unpack 'disable-rust-libiberty-test
+                          (lambda _
+                            (substitute* "libiberty/testsuite/Makefile.in"
+                              ((" check-rust-demangle ") ""))
+                            #t)))
+                      '())
                   (add-after 'install 'add-symlinks
                     (lambda* (#:key outputs #:allow-other-keys)
                       ;; The cross-gcc invokes 'as', 'ld', etc, without the
@@ -2667,12 +2682,8 @@ exec " gcc "/bin/" program
                         (with-directory-excursion (string-append out "/bin")
                           (for-each (lambda (name)
                                       (symlink name (remove-triplet-prefix name)))
-                                    (scandir "." has-triplet-prefix?)))))))
+                                    (scandir "." has-triplet-prefix?)))))))))
 
-       ,@(substitute-keyword-arguments (package-arguments binutils)
-           ((#:configure-flags cf)
-            `(cons ,(string-append "--target=" (boot-triplet))
-                   ,cf)))))
     (inputs (%boot0-inputs))))
 
 (define libstdc++-boot0
-- 
2.31.1





^ permalink raw reply	[flat|nested] 8+ messages in thread

* [bug#47615] [PATCH 4/9] gnu: mesa: Add support for powerpc-linux.
  2021-04-06 12:24 [bug#47615] [PATCH 0/9] Add 32-bit powerpc support Efraim Flashner
                   ` (2 preceding siblings ...)
  2021-04-06 12:32 ` [bug#47615] [PATCH 3/9] gnu: binutils: Adjust test suite " Efraim Flashner
@ 2021-04-06 12:32 ` Efraim Flashner
  2021-04-06 12:32 ` [bug#47615] [PATCH 6/9] gnu: american-fuzzy-lop: " Efraim Flashner
                   ` (2 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: Efraim Flashner @ 2021-04-06 12:32 UTC (permalink / raw)
  To: 47615, guix-devel; +Cc: Efraim Flashner

* gnu/packages/gl.scm (mesa)[inputs]: Add llvm, glslang for powerpc.
[arguments]: Customize the configure flags for powerpc. Skip tests on
powerpc.
---
 gnu/packages/gl.scm | 18 +++++++++++++++---
 1 file changed, 15 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/gl.scm b/gnu/packages/gl.scm
index ee29a79366..3b6a829031 100644
--- a/gnu/packages/gl.scm
+++ b/gnu/packages/gl.scm
@@ -271,7 +271,7 @@ also known as DXTn or DXTC) for Mesa.")
         ("libxrandr" ,libxrandr)
         ("libxvmc" ,libxvmc)
         ,@(match (%current-system)
-            ((or "x86_64-linux" "i686-linux")
+            ((or "x86_64-linux" "i686-linux" "powerpc-linux")
              ;; Note: update the 'clang' input of mesa-opencl when bumping this.
              `(("llvm" ,llvm-11)))
             (_
@@ -283,7 +283,7 @@ also known as DXTn or DXTC) for Mesa.")
         ("flex" ,flex)
         ("gettext" ,gettext-minimal)
         ,@(match (%current-system)
-            ((or "x86_64-linux" "i686-linux")
+            ((or "x86_64-linux" "i686-linux" "powerpc-linux")
              `(("glslang" ,glslang)))
             (_
              `()))
@@ -298,6 +298,8 @@ also known as DXTn or DXTC) for Mesa.")
              ((or "armhf-linux" "aarch64-linux")
               ;; TODO: Fix svga driver for aarch64 and armhf.
               '("-Dgallium-drivers=etnaviv,freedreno,kmsro,lima,nouveau,panfrost,r300,r600,swrast,tegra,v3d,vc4,virgl"))
+             ("powerpc-linux"
+              '("-Dgallium-drivers=nouveau,r300,r600,radeonsi,swrast,virgl"))
              (_
               '("-Dgallium-drivers=iris,nouveau,r300,r600,radeonsi,svga,swrast,virgl")))
          ;; Enable various optional features.  TODO: opencl requires libclc,
@@ -318,12 +320,14 @@ also known as DXTn or DXTC) for Mesa.")
          ,@(match (%current-system)
              ((or "i686-linux" "x86_64-linux")
               '("-Dvulkan-drivers=intel,amd"))
+             ("powerpc-linux"   ; No default on this platform.
+              '("-Dvulkan-drivers=amd"))
              (_
               '("-Dvulkan-drivers=auto")))
 
          ;; Enable the Vulkan overlay layer on i686-linux and x86-64-linux.
          ,@(match (%current-system)
-             ((or "x86_64-linux" "i686-linux")
+             ((or "x86_64-linux" "i686-linux" "powerpc-linux")
               '("-Dvulkan-overlay-layer=true"))
              (_
               '()))
@@ -337,6 +341,9 @@ also known as DXTn or DXTC) for Mesa.")
              ((or "x86_64-linux" "i686-linux")
               '("-Ddri-drivers=i915,i965,nouveau,r200,r100"
                 "-Dllvm=enabled"))      ; default is x86/x86_64 only
+             ("powerpc-linux"
+              '("-Ddri-drivers=nouveau,r200,r100"
+                "-Dllvm=enabled"))
              (_
               '("-Ddri-drivers=nouveau,r200,r100"))))
 
@@ -344,6 +351,11 @@ also known as DXTn or DXTC) for Mesa.")
        ;; documentation recommends using 'release' for performance anyway.
        #:build-type "release"
 
+       ;; The llvm-based tests are flakey on non-Intel hardware.
+       #:tests? ,(if (string=? "powerpc-linux" (or (%current-system)
+                                                   (%current-target-system)))
+                   '#f '#t)
+
        #:modules ((ice-9 match)
                   (srfi srfi-1)
                   (guix build utils)
-- 
2.31.1





^ permalink raw reply	[flat|nested] 8+ messages in thread

* [bug#47615] [PATCH 6/9] gnu: american-fuzzy-lop: Add support for powerpc-linux.
  2021-04-06 12:24 [bug#47615] [PATCH 0/9] Add 32-bit powerpc support Efraim Flashner
                   ` (3 preceding siblings ...)
  2021-04-06 12:32 ` [bug#47615] [PATCH 4/9] gnu: mesa: Add support for powerpc-linux Efraim Flashner
@ 2021-04-06 12:32 ` Efraim Flashner
  2021-04-06 12:32 ` [bug#47615] [PATCH 7/9] build: qemu-command: Add support for powerpc Efraim Flashner
  2021-04-06 12:32 ` [bug#47615] [PATCH 9/9] gnu: nss: Skip tests on powerpc-linux Efraim Flashner
  6 siblings, 0 replies; 8+ messages in thread
From: Efraim Flashner @ 2021-04-06 12:32 UTC (permalink / raw)
  To: 47615, guix-devel; +Cc: Efraim Flashner

* gnu/packages/debug.scm (american-fuzzy-lop): Add case for
powerpc-linux.
(qemu-for-american-fuzzy-lop): Same.
---
 gnu/packages/debug.scm | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/gnu/packages/debug.scm b/gnu/packages/debug.scm
index 2913c348f3..1326ce6e16 100644
--- a/gnu/packages/debug.scm
+++ b/gnu/packages/debug.scm
@@ -179,6 +179,7 @@ tools that process C/C++ code.")
                    ("aarch64-linux"  "aarch64")
                    ("armhf-linux"    "arm")
                    ("mips64el-linux" "mips64el")
+                   ("powerpc-linux"  "ppc")
                    ;; Prevent errors when querying this package on unsupported
                    ;; platforms, e.g. when running "guix package --search="
                    (_                "UNSUPPORTED"))))
@@ -254,6 +255,7 @@ down the road.")
                    ("aarch64-linux"  "aarch64")
                    ("armhf-linux"    "arm")
                    ("mips64el-linux" "mips64el")
+                   ("powerpc-linux"  "ppc")
                    ;; Prevent errors when querying this package on unsupported
                    ;; platforms, e.g. when running "guix package --search="
                    (_                "UNSUPPORTED"))))
-- 
2.31.1





^ permalink raw reply	[flat|nested] 8+ messages in thread

* [bug#47615] [PATCH 7/9] build: qemu-command: Add support for powerpc.
  2021-04-06 12:24 [bug#47615] [PATCH 0/9] Add 32-bit powerpc support Efraim Flashner
                   ` (4 preceding siblings ...)
  2021-04-06 12:32 ` [bug#47615] [PATCH 6/9] gnu: american-fuzzy-lop: " Efraim Flashner
@ 2021-04-06 12:32 ` Efraim Flashner
  2021-04-06 12:32 ` [bug#47615] [PATCH 9/9] gnu: nss: Skip tests on powerpc-linux Efraim Flashner
  6 siblings, 0 replies; 8+ messages in thread
From: Efraim Flashner @ 2021-04-06 12:32 UTC (permalink / raw)
  To: 47615, guix-devel; +Cc: Efraim Flashner

* gnu/build/vm.scm (qemu-command): Add missing case for powerpc.
---
 gnu/build/vm.scm | 1 +
 1 file changed, 1 insertion(+)

diff --git a/gnu/build/vm.scm b/gnu/build/vm.scm
index 253d9bcd31..a2c2d79bb9 100644
--- a/gnu/build/vm.scm
+++ b/gnu/build/vm.scm
@@ -75,6 +75,7 @@
                    (cond
                     ((string-match "^i[3456]86$" cpu) "i386")
                     ((string-match "armhf" cpu) "arm")
+                    ((string-match "powerpc" cpu) "ppc")
                     (else cpu)))))
 
 (define* (load-in-linux-vm builder
-- 
2.31.1





^ permalink raw reply	[flat|nested] 8+ messages in thread

* [bug#47615] [PATCH 9/9] gnu: nss: Skip tests on powerpc-linux.
  2021-04-06 12:24 [bug#47615] [PATCH 0/9] Add 32-bit powerpc support Efraim Flashner
                   ` (5 preceding siblings ...)
  2021-04-06 12:32 ` [bug#47615] [PATCH 7/9] build: qemu-command: Add support for powerpc Efraim Flashner
@ 2021-04-06 12:32 ` Efraim Flashner
  6 siblings, 0 replies; 8+ messages in thread
From: Efraim Flashner @ 2021-04-06 12:32 UTC (permalink / raw)
  To: 47615, guix-devel; +Cc: Efraim Flashner

* gnu/packages/nss.scm (nss)[arguments]: Skip tests on powerpc-linux.
---
 gnu/packages/nss.scm | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/nss.scm b/gnu/packages/nss.scm
index e054363e9f..954a1d3b80 100644
--- a/gnu/packages/nss.scm
+++ b/gnu/packages/nss.scm
@@ -1,7 +1,7 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
 ;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019 Mark H Weaver <mhw@netris.org>
-;;; Copyright © 2016, 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2016, 2017, 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com>
 ;;; Copyright © 2020 Jonathan Brielmaier <jonathan.brielmaier@web.de>
@@ -109,7 +109,10 @@ in the Mozilla clients.")
        ;; Parallel builds are not supported (see:
        ;; https://bugzilla.mozilla.org/show_bug.cgi?id=1640328).
        `(#:parallel-build? #f
-         #:tests? #t                   ;requires at least one hour to run
+         ;; Tests on powerpc-linux take forever and fail sporatically.
+         #:tests? ,(if (string=? "powerpc-linux" (or (%current-system)
+                                                     (%current-target-system)))
+                     '#f '#t)
          #:make-flags
          (let* ((out (assoc-ref %outputs "out"))
                 (nspr (string-append (assoc-ref %build-inputs "nspr")))
-- 
2.31.1





^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2021-04-06 12:39 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-04-06 12:24 [bug#47615] [PATCH 0/9] Add 32-bit powerpc support Efraim Flashner
2021-04-06 12:32 ` [bug#47615] [PATCH 1/9] gnu: bootstrap: Add support for powerpc-linux Efraim Flashner
2021-04-06 12:32 ` [bug#47615] [PATCH 2/9] gnu: guile-3.0: Fix building on powerpc-linux Efraim Flashner
2021-04-06 12:32 ` [bug#47615] [PATCH 3/9] gnu: binutils: Adjust test suite " Efraim Flashner
2021-04-06 12:32 ` [bug#47615] [PATCH 4/9] gnu: mesa: Add support for powerpc-linux Efraim Flashner
2021-04-06 12:32 ` [bug#47615] [PATCH 6/9] gnu: american-fuzzy-lop: " Efraim Flashner
2021-04-06 12:32 ` [bug#47615] [PATCH 7/9] build: qemu-command: Add support for powerpc Efraim Flashner
2021-04-06 12:32 ` [bug#47615] [PATCH 9/9] gnu: nss: Skip tests on powerpc-linux Efraim Flashner

unofficial mirror of guix-patches@gnu.org 

This inbox may be cloned and mirrored by anyone:

	git clone --mirror https://yhetil.org/guix-patches/1 guix-patches/git/1.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 guix-patches guix-patches/ https://yhetil.org/guix-patches \
		guix-patches@gnu.org
	public-inbox-index guix-patches

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://news.yhetil.org/yhetil.gnu.guix.patches


AGPL code for this site: git clone http://ou63pmih66umazou.onion/public-inbox.git