From 48f590e95cd102a5ac981e1bce84596f35288215 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= <ludo@gnu.org> Date: Wed, 9 Apr 2008 07:40:48 +0000 Subject: [PATCH] Add libffi, a foreign function interface library. svn path=/nixpkgs/trunk/; revision=11505 --- pkgs/development/libraries/libffi/default.nix | 34 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 4 +++ 2 files changed, 38 insertions(+) create mode 100644 pkgs/development/libraries/libffi/default.nix diff --git a/pkgs/development/libraries/libffi/default.nix b/pkgs/development/libraries/libffi/default.nix new file mode 100644 index 000000000000..42e97fb8dfe4 --- /dev/null +++ b/pkgs/development/libraries/libffi/default.nix @@ -0,0 +1,34 @@ +{ fetchurl, stdenv }: + +stdenv.mkDerivation rec { + name = "libffi-3.0.5"; + src = fetchurl { + url = "ftp://sourceware.org/pub/libffi/${name}.tar.gz"; + sha256 = "1i0ms6ilhjzz0691nymnvs5a3b5lf95n6p99l65z2zn83rd7pahf"; + }; + + doCheck = true; + + meta = { + description = "libffi, a foreign function call interface library"; + + longDescription = '' + The libffi library provides a portable, high level programming + interface to various calling conventions. This allows a + programmer to call any function specified by a call interface + description at run-time. + + FFI stands for Foreign Function Interface. A foreign function + interface is the popular name for the interface that allows code + written in one language to call code written in another + language. The libffi library really only provides the lowest, + machine dependent layer of a fully featured foreign function + interface. A layer must exist above libffi that handles type + conversions for values passed between the two languages. + ''; + + homepage = http://sources.redhat.com/libffi/; + + license = "http://sources.redhat.com/cgi-bin/cvsweb.cgi/~checkout~/libffi/LICENSE?rev=1.6&content-type=text/plain&cvsroot=libffi&only_with_tag=MAIN"; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index afefb5afa62c..7774384b32c0 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -2709,6 +2709,10 @@ let pkgs = rec { libextractor = libextractorFun null; + libffi = import ../development/libraries/libffi { + inherit fetchurl stdenv; + }; + libgcrypt = import ../development/libraries/libgcrypt { inherit fetchurl stdenv libgpgerror; };