diff options
author | Vladimír Čunát <vcunat@gmail.com> | 2015-04-18 11:00:58 +0200 |
---|---|---|
committer | Vladimír Čunát <vcunat@gmail.com> | 2015-04-18 11:22:20 +0200 |
commit | bf414c9d4f892fd4e392a5f42016b57e84402a8b (patch) | |
tree | 08c000d609ed8e608ca542fa78360e4217f3fc36 /pkgs/development/libraries/libffi | |
parent | 29901451700a7382f3f9d5a0a23cd55b187e5585 (diff) | |
parent | 9de9669496a05f64ea436c01f9b66c057cd74f90 (diff) | |
download | nixpkgs-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.nix | 39 | ||||
-rw-r--r-- | pkgs/development/libraries/libffi/libffi-3.0.13-emutramp_pax_proc.patch | 37 |
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 \ |