summary refs log tree commit diff
path: root/pkgs/development/libraries/libffcall
diff options
context:
space:
mode:
authorJoachim Fasting <joachifm@fastmail.fm>2016-11-30 06:00:52 +0100
committerJoachim Fasting <joachifm@fastmail.fm>2016-11-30 06:01:10 +0100
commit0028abeb4ed1432b99c0b977825c577b3baff3d1 (patch)
treef0f1a1105537b9d3df44472325b14d1ceb6f3c44 /pkgs/development/libraries/libffcall
parent18a3225dace3cde74d60dc0b8840c07a2ded511a (diff)
downloadnixlib-0028abeb4ed1432b99c0b977825c577b3baff3d1.tar
nixlib-0028abeb4ed1432b99c0b977825c577b3baff3d1.tar.gz
nixlib-0028abeb4ed1432b99c0b977825c577b3baff3d1.tar.bz2
nixlib-0028abeb4ed1432b99c0b977825c577b3baff3d1.tar.lz
nixlib-0028abeb4ed1432b99c0b977825c577b3baff3d1.tar.xz
nixlib-0028abeb4ed1432b99c0b977825c577b3baff3d1.tar.zst
nixlib-0028abeb4ed1432b99c0b977825c577b3baff3d1.zip
libffcall: 2009-05-27 -> 1.10
Use the release tarball provided by the clisp maintainer.

Tested build by nix-build -A clisp -A clisp_2_44_1 -A gtk-server;
only clisp run-tested.

Of particular note is that the .so files no longer have executable
stacks.  This also avoids executable stack in clisp lisp.run

Before:

   $ readelf -lW $(nix-build -A clisp)/lib/clisp-2.49/base/lisp.run|grep GNU_STACK
   GNU_STACK      [...] RWE 0x10

After:

   $ readelf -lW $(nix-build -A clisp)/lib/clisp-2.49/base/lisp.run|grep GNU_STACK
   GNU_STACK      [...] RW 0x10
Diffstat (limited to 'pkgs/development/libraries/libffcall')
-rw-r--r--pkgs/development/libraries/libffcall/default.nix34
1 files changed, 18 insertions, 16 deletions
diff --git a/pkgs/development/libraries/libffcall/default.nix b/pkgs/development/libraries/libffcall/default.nix
index 530b04e8b42e..47814ef2f253 100644
--- a/pkgs/development/libraries/libffcall/default.nix
+++ b/pkgs/development/libraries/libffcall/default.nix
@@ -1,27 +1,29 @@
-{ stdenv, fetchcvs }:
+{ stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
   name = "libffcall-${version}";
-  version = "2009-05-27";
-  src = fetchcvs {
-    cvsRoot = ":pserver:anonymous@cvs.savannah.gnu.org:/sources/libffcall";
-    module = "ffcall";
-    date = version;
-    sha256 = "097pv94495njppl9iy2yk47z5wdwvf7swsl88nmwrac51jibbg4i";
+  version = "1.10";
+
+  src = fetchurl {
+    urls = [
+      # Europe
+      "http://www.haible.de/bruno/gnu/ffcall-${version}.tar.gz"
+      # USA
+      "ftp://ftp.santafe.edu/pub/gnu/ffcall-${version}.tar.gz"
+    ];
+    sha256 = "0gcqljx4f8wrq59y13zzigwzaxdrz3jf9cbzcd8h0b2br27mn6vg";
   };
 
-  configurePhase = ''
-    for i in ./configure */configure; do
-      cwd="$PWD"
-      cd "$(dirname "$i")";
-      ( test -f Makefile && make distclean ) || true
-      ./configure --prefix=$out
-      cd "$cwd"
-    done
-  '';
+  NIX_CFLAGS_COMPILE = "-Wa,--noexecstack";
+
+  configureFlags = [
+    "--enable-shared"
+    "--disable-static"
+  ];
 
   meta = {
     description = "Foreign function call library";
+    homepage = http://www.haible.de/bruno/packages-ffcall.html;
     license = stdenv.lib.licenses.gpl2;
     platforms = stdenv.lib.platforms.unix;
   };