From 02f5ee01c96589fc13f1e21b85b0b48100aec4e8 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Thu, 26 Mar 2020 15:06:23 +0100 Subject: gnu: libffi: Fix building on powerpc. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/libffi.scm (libffi)[inputs]: New field. [arguments]: Add 'apply-patch' phase when targeting PowerPC. * gnu/packages/patches/libffi-3.3-powerpc-fixes.patch: New file. * gnu/local.mk (dist_patch_DATA): Register it. Co-authored-by: Ludovic Courtès --- gnu/packages/libffi.scm | 24 +++++++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) (limited to 'gnu/packages/libffi.scm') diff --git a/gnu/packages/libffi.scm b/gnu/packages/libffi.scm index ec8703ffdb..d324892330 100644 --- a/gnu/packages/libffi.scm +++ b/gnu/packages/libffi.scm @@ -1,8 +1,8 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012, 2013, 2014 Ludovic Courtès +;;; Copyright © 2012, 2013, 2014, 2020 Ludovic Courtès ;;; Copyright © 2014 Federico Beffa ;;; Copyright © 2015, 2019 Ricardo Wurmus -;;; Copyright © 2016, 2017 Efraim Flashner +;;; Copyright © 2016, 2017, 2020 Efraim Flashner ;;; Copyright © 2016, 2017 Ben Woodcroft ;;; Copyright © 2017, 2019, 2020 Marius Bakke ;;; Copyright © 2018 Tobias Geerinckx-Rice @@ -55,7 +55,25 @@ (arguments `(;; Prevent the build system from passing -march and -mtune to the ;; compiler. See "ax_cc_maxopt.m4" and "ax_gcc_archflag.m4". - #:configure-flags '("--enable-portable-binary" "--without-gcc-arch"))) + #:configure-flags '("--enable-portable-binary" "--without-gcc-arch") + + ;; TODO: Inline patch on next rebuild cycle. + ,@(if (string-prefix? "powerpc-" (or (%current-target-system) + (%current-system))) + '(#:phases (modify-phases %standard-phases + (add-after 'unpack 'apply-patch + (lambda* (#:key inputs #:allow-other-keys) + (let ((patch (assoc-ref inputs + "powerpc-patch"))) + (invoke "patch" "--batch" "-p1" + "-i" patch)))))) + '()))) + (inputs + (if (string-prefix? "powerpc-" (or (%current-target-system) + (%current-system))) + `(("powerpc-patch" ,@(search-patches + "libffi-3.3-powerpc-fixes.patch"))) + '())) (outputs '("out" "debug")) (synopsis "Foreign function call interface library") (description -- cgit 1.4.1