diff --git a/pkgs/development/libraries/libffi/default.nix b/pkgs/development/libraries/libffi/default.nix index 7387a4a1f062..0971091d8a10 100644 --- a/pkgs/development/libraries/libffi/default.nix +++ b/pkgs/development/libraries/libffi/default.nix @@ -7,11 +7,6 @@ , dejagnu }: -# Note: this package is used for bootstrapping fetchurl, and thus -# cannot use fetchpatch! All mutable patches (generated by GitHub or -# cgit) that are needed here should be included directly in Nixpkgs as -# files. - stdenv.mkDerivation rec { pname = "libffi"; version = "3.4.2"; @@ -21,7 +16,13 @@ stdenv.mkDerivation rec { sha256 = "081nx7wpzds168jbr59m34n6s3lyiq6r8zggvqxvlslsc4hvf3sl"; }; - patches = []; + # Note: this package is used for bootstrapping fetchurl, and thus + # cannot use fetchpatch! All mutable patches (generated by GitHub or + # cgit) that are needed here should be included directly in Nixpkgs as + # files. + patches = [ + ./libffi-powerpc64.patch + ]; strictDeps = true; outputs = [ "out" "dev" "man" "info" ]; diff --git a/pkgs/development/libraries/libffi/libffi-powerpc64.patch b/pkgs/development/libraries/libffi/libffi-powerpc64.patch new file mode 100644 index 000000000000..5748ac084982 --- /dev/null +++ b/pkgs/development/libraries/libffi/libffi-powerpc64.patch @@ -0,0 +1,23 @@ +https://github.com/libffi/libffi/issues/668 +--- a/src/powerpc/linux64.S ++++ b/src/powerpc/linux64.S +@@ -29,6 +29,8 @@ + #include + #include + ++ .machine altivec ++ + #ifdef POWERPC64 + .hidden ffi_call_LINUX64 + .globl ffi_call_LINUX64 +--- a/src/powerpc/linux64_closure.S ++++ b/src/powerpc/linux64_closure.S +@@ -30,6 +30,8 @@ + + .file "linux64_closure.S" + ++ .machine altivec ++ + #ifdef POWERPC64 + FFI_HIDDEN (ffi_closure_LINUX64) + .globl ffi_closure_LINUX64