Merge pull request #74855 from matthewbauer/libffi-3.3

libffi: 3.2.1 -> 3.3
This commit is contained in:
Matthew Bauer 2019-12-03 14:45:02 -05:00 committed by GitHub
commit 5f6b8d48e9
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 5 additions and 53 deletions

View file

@ -1,10 +0,0 @@
--- libffi-3.2.1/src/closures.c 2014-11-08 13:47:24.000000000 +0100
+++ libffi-3.2.1/src/closures.c 2015-05-19 10:15:50.059325900 +0200
@@ -212,6 +212,7 @@
#include <sys/mman.h>
/* Cygwin is Linux-like, but not quite that Linux-like. */
+#define is_emutramp_enabled() 0
#define is_selinux_enabled() 0
#endif /* !defined(X86_WIN32) && !defined(X86_WIN64) */

View file

@ -7,45 +7,17 @@
}:
stdenv.mkDerivation rec {
name = "libffi-3.2.1";
name = "libffi-3.3";
src = fetchurl {
url = "https://sourceware.org/pub/libffi/${name}.tar.gz";
sha256 = "0dya49bnhianl0r65m65xndz6ls2jn1xngyn72gd28ls3n7bnvnh";
sha256 = "0mi0cpf8aa40ljjmzxb7im6dbj45bb0kllcd09xgmp834y9agyvj";
};
patches = stdenv.lib.optional stdenv.isCygwin ./3.2.1-cygwin.patch
++ stdenv.lib.optional stdenv.isAarch64 (fetchpatch {
url = https://src.fedoraproject.org/rpms/libffi/raw/ccffc1700abfadb0969495a6e51b964117fc03f6/f/libffi-aarch64-rhbz1174037.patch;
sha256 = "1vpirrgny43hp0885rswgv3xski8hg7791vskpbg3wdjdpb20wbc";
})
++ stdenv.lib.optional stdenv.hostPlatform.isMusl (fetchpatch {
name = "gnu-linux-define.patch";
url = "https://git.alpinelinux.org/cgit/aports/plain/main/libffi/gnu-linux-define.patch?id=bb024fd8ec6f27a76d88396c9f7c5c4b5800d580";
sha256 = "11pvy3xkhyvnjfyy293v51f1xjy3x0azrahv1nw9y9mw8bifa2j2";
})
++ stdenv.lib.optional stdenv.hostPlatform.isRiscV (fetchpatch {
name = "riscv-support.patch";
url = https://github.com/sorear/libffi-riscv/commit/e46492e8bb1695a19bc1053ed869e6c2bab02ff2.patch;
sha256 = "1vl1vbvdkigs617kckxvj8j4m2cwg62kxm1clav1w5rnw9afxg0y";
})
++ stdenv.lib.optionals stdenv.isMips [
(fetchpatch {
name = "0001-mips-Use-compiler-internal-define-for-linux.patch";
url = "http://cgit.openembedded.org/openembedded-core/plain/meta/recipes-support/libffi/libffi/0001-mips-Use-compiler-internal-define-for-linux.patch?id=318e33a708378652edcf61ce7d9d7f3a07743000";
sha256 = "1gc53lw90p6hc0cmhj3csrwincfz7va5ss995ksw5gm0yrr9mrvb";
})
(fetchpatch {
name = "0001-mips-fix-MIPS-softfloat-build-issue.patch";
url = "http://cgit.openembedded.org/openembedded-core/plain/meta/recipes-support/libffi/libffi/0001-mips-fix-MIPS-softfloat-build-issue.patch?id=318e33a708378652edcf61ce7d9d7f3a07743000";
sha256 = "0l8xgdciqalg4z9rcwyk87h8fdxpfv4hfqxwsy2agpnpszl5jjdq";
})
];
patches = [];
outputs = [ "out" "dev" "man" "info" ];
nativeBuildInputs = stdenv.lib.optional stdenv.hostPlatform.isRiscV autoreconfHook;
configureFlags = [
"--with-gcc-arch=generic" # no detection of -march= or -mtune=
"--enable-pax_emutramp"
@ -62,15 +34,6 @@ stdenv.mkDerivation rec {
dontStrip = stdenv.hostPlatform != stdenv.buildPlatform; # Don't run the native `strip' when cross-compiling.
# Install headers and libs in the right places.
postFixup = ''
mkdir -p "$dev/"
mv "$out/lib/${name}/include" "$dev/include"
rmdir "$out/lib/${name}"
substituteInPlace "$dev/lib/pkgconfig/libffi.pc" \
--replace 'includedir=''${libdir}/libffi-3.2.1' "includedir=$dev"
'';
meta = with stdenv.lib; {
description = "A foreign function call interface library";
longDescription = ''
@ -88,9 +51,8 @@ stdenv.mkDerivation rec {
conversions for values passed between the two languages.
'';
homepage = http://sourceware.org/libffi/;
# See https://github.com/atgreen/libffi/blob/master/LICENSE .
license = licenses.free;
maintainers = [ ];
license = licenses.mit;
maintainers = with maintainers; [ matthewbauer ];
platforms = platforms.all;
};
}