summary refs log tree commit diff
path: root/pkgs/development/libraries/libffi
diff options
context:
space:
mode:
authorVladimír Čunát <vcunat@gmail.com>2015-04-18 11:00:58 +0200
committerVladimír Čunát <vcunat@gmail.com>2015-04-18 11:22:20 +0200
commitbf414c9d4f892fd4e392a5f42016b57e84402a8b (patch)
tree08c000d609ed8e608ca542fa78360e4217f3fc36 /pkgs/development/libraries/libffi
parent29901451700a7382f3f9d5a0a23cd55b187e5585 (diff)
parent9de9669496a05f64ea436c01f9b66c057cd74f90 (diff)
downloadnixpkgs-bf414c9d4f892fd4e392a5f42016b57e84402a8b.tar
nixpkgs-bf414c9d4f892fd4e392a5f42016b57e84402a8b.tar.gz
nixpkgs-bf414c9d4f892fd4e392a5f42016b57e84402a8b.tar.bz2
nixpkgs-bf414c9d4f892fd4e392a5f42016b57e84402a8b.tar.lz
nixpkgs-bf414c9d4f892fd4e392a5f42016b57e84402a8b.tar.xz
nixpkgs-bf414c9d4f892fd4e392a5f42016b57e84402a8b.tar.zst
nixpkgs-bf414c9d4f892fd4e392a5f42016b57e84402a8b.zip
Merge 'staging' into closure-size
- there were many easy merge conflicts
- cc-wrapper needed nontrivial changes

Many other problems might've been created by interaction of the branches,
but stdenv and a few other packages build fine now.
Diffstat (limited to 'pkgs/development/libraries/libffi')
-rw-r--r--pkgs/development/libraries/libffi/default.nix39
-rw-r--r--pkgs/development/libraries/libffi/libffi-3.0.13-emutramp_pax_proc.patch37
2 files changed, 16 insertions, 60 deletions
diff --git a/pkgs/development/libraries/libffi/default.nix b/pkgs/development/libraries/libffi/default.nix
index 69c8aab6450..f0226eaaac7 100644
--- a/pkgs/development/libraries/libffi/default.nix
+++ b/pkgs/development/libraries/libffi/default.nix
@@ -1,42 +1,39 @@
 { fetchurl, stdenv, dejagnu }:
 
 stdenv.mkDerivation rec {
-  name = "libffi-3.0.13";
+  name = "libffi-3.2.1";
 
   src = fetchurl {
     url = "ftp://sourceware.org/pub/libffi/${name}.tar.gz";
-    sha256 = "077ibkf84bvcd6rw1m6jb107br63i2pp301rkmsbgg6300adxp8x";
+    sha256 = "0dya49bnhianl0r65m65xndz6ls2jn1xngyn72gd28ls3n7bnvnh";
   };
 
-  patches = stdenv.lib.optional (stdenv.needsPax) ./libffi-3.0.13-emutramp_pax_proc.patch;
-
   outputs = [ "dev" "out" "doc" ];
 
-  buildInputs = [ ]
-    ++ stdenv.lib.optional doCheck dejagnu;
+  buildInputs = stdenv.lib.optional doCheck dejagnu;
 
   configureFlags = [
     "--with-gcc-arch=generic" # no detection of -march= or -mtune=
-  ] ++ stdenv.lib.optional (stdenv.needsPax) "--enable-pax_emutramp";
+    "--enable-pax_emutramp"
+  ];
 
   doCheck = stdenv.isLinux; # until we solve dejagnu problems on darwin and expect on BSD
 
   dontStrip = stdenv ? cross; # Don't run the native `strip' when cross-compiling.
 
-  postInstall =
-    # Install headers and libs in the right places.
-    ''  mv "$out"/lib64/* "$out/lib"
-        rmdir "$out/lib64"
-        ln -s lib "$out/lib64"
+  # Install headers and libs in the right places.
+  postInstall = ''
+    mv "$out"/lib64/* "$out/lib"
+    rmdir "$out/lib64"
+    ln -s lib "$out/lib64"
 
-        mkdir -p "$dev/"
-        mv "$out/lib/${name}/include" "$dev/include"
-        rmdir "$out/lib/${name}"
-    '';
+    mkdir -p "$dev/"
+    mv "$out/lib/${name}/include" "$dev/include"
+    rmdir "$out/lib/${name}"
+  '';
 
   meta = {
     description = "A foreign function call interface library";
-
     longDescription = ''
       The libffi library provides a portable, high level programming
       interface to various calling conventions.  This allows a
@@ -51,14 +48,10 @@ stdenv.mkDerivation rec {
       interface.  A layer must exist above libffi that handles type
       conversions for values passed between the two languages.
     '';
-
     homepage = http://sourceware.org/libffi/;
-
     # See http://github.com/atgreen/libffi/blob/master/LICENSE .
-    license = "free, non-copyleft";
-
-    maintainers = [ stdenv.lib.maintainers.ludo ];
+    license = stdenv.lib.licenses.free;
+    maintainers = [ ];
     platforms = stdenv.lib.platforms.all;
   };
 }
-
diff --git a/pkgs/development/libraries/libffi/libffi-3.0.13-emutramp_pax_proc.patch b/pkgs/development/libraries/libffi/libffi-3.0.13-emutramp_pax_proc.patch
deleted file mode 100644
index c27bd9bf889..00000000000
--- a/pkgs/development/libraries/libffi/libffi-3.0.13-emutramp_pax_proc.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-2013-05-22  Magnus Granberg  <zorry@gentoo.org>
-
-	#457194
-	* src/closuer.c (emutramp_enabled_check): Check with /proc.
-
---- a/src/closures.c	2013-03-17 23:27:11.000000000 +0100
-+++ b/src/closures.c	2013-04-29 23:26:02.279022022 +0200
-@@ -181,10 +181,26 @@ static int emutramp_enabled = -1;
- static int
- emutramp_enabled_check (void)
- {
--  if (getenv ("FFI_DISABLE_EMUTRAMP") == NULL)
--    return 1;
--  else
-+  char *buf = NULL;
-+  size_t len = 0;
-+  FILE *f;
-+  int ret;
-+  f = fopen ("/proc/self/status", "r");
-+  if (f == NULL)
-     return 0;
-+  ret = 0;
-+
-+  while (getline (&buf, &len, f) != -1)
-+    if (!strncmp (buf, "PaX:", 4))
-+      {
-+        char emutramp;
-+        if (sscanf (buf, "%*s %*c%c", &emutramp) == 1)
-+          ret = (emutramp == 'E');
-+        break;
-+      }
-+  free (buf);
-+  fclose (f);
-+  return ret;
- }
- 
- #define is_emutramp_enabled() (emutramp_enabled >= 0 ? emutramp_enabled \