libffi: produce portable library, enable doCheck

Thanks to #907.
This commit is contained in:
Vladimír Čunát 2013-09-03 22:08:59 +02:00
parent 83c734cf38
commit 1fb3110b84

View File

@ -1,6 +1,6 @@
{ fetchurl, stdenv }: { fetchurl, stdenv, dejagnu }:
stdenv.mkDerivation (rec { stdenv.mkDerivation rec {
name = "libffi-3.0.13"; name = "libffi-3.0.13";
src = fetchurl { src = fetchurl {
@ -8,15 +8,21 @@ stdenv.mkDerivation (rec {
sha256 = "077ibkf84bvcd6rw1m6jb107br63i2pp301rkmsbgg6300adxp8x"; sha256 = "077ibkf84bvcd6rw1m6jb107br63i2pp301rkmsbgg6300adxp8x";
}; };
buildInputs = stdenv.lib.optional doCheck dejagnu;
configureFlags = [ "--with-gcc-arch=generic" ]; # no detection of -march= or -mtune=
doCheck = true; doCheck = true;
dontStrip = stdenv ? cross; # Don't run the native `strip' when cross-compiling.
postInstall = postInstall =
# Install headers in the right place. # Install headers in the right place.
'' ln -sv "$out/lib/"libffi*/include "$out/include" '' ln -srv "$out/lib/"libffi*/include "$out/include"
''; '';
meta = { meta = {
description = "libffi, a foreign function call interface library"; description = "A foreign function call interface library";
longDescription = '' longDescription = ''
The libffi library provides a portable, high level programming The libffi library provides a portable, high level programming
@ -33,7 +39,7 @@ stdenv.mkDerivation (rec {
conversions for values passed between the two languages. conversions for values passed between the two languages.
''; '';
homepage = http://sources.redhat.com/libffi/; homepage = http://sourceware.org/libffi/;
# See http://github.com/atgreen/libffi/blob/master/LICENSE . # See http://github.com/atgreen/libffi/blob/master/LICENSE .
license = "free, non-copyleft"; license = "free, non-copyleft";
@ -43,9 +49,3 @@ stdenv.mkDerivation (rec {
}; };
} }
//
# Don't run the native `strip' when cross-compiling.
(if (stdenv ? cross)
then { dontStrip = true; }
else { }))