diff options
author | Sandro <sandro.jaeckel@gmail.com> | 2021-06-21 12:30:41 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-06-21 12:30:41 +0200 |
commit | 7e567a3d092b7de69cdf5deaeb8d9526de230916 (patch) | |
tree | 4152a239f7b08831fb57b99c57cb7ebc7c970c6b /pkgs/development/tools/misc/c2ffi | |
parent | df394c1c463f59e1197b788882bc44f55e13481b (diff) | |
parent | aaeb941fcc289916734dd4047b0a530096f74f54 (diff) | |
download | nixpkgs-7e567a3d092b7de69cdf5deaeb8d9526de230916.tar nixpkgs-7e567a3d092b7de69cdf5deaeb8d9526de230916.tar.gz nixpkgs-7e567a3d092b7de69cdf5deaeb8d9526de230916.tar.bz2 nixpkgs-7e567a3d092b7de69cdf5deaeb8d9526de230916.tar.lz nixpkgs-7e567a3d092b7de69cdf5deaeb8d9526de230916.tar.xz nixpkgs-7e567a3d092b7de69cdf5deaeb8d9526de230916.tar.zst nixpkgs-7e567a3d092b7de69cdf5deaeb8d9526de230916.zip |
Merge pull request #119564 from attila-lendvai/c2ffi
Diffstat (limited to 'pkgs/development/tools/misc/c2ffi')
-rw-r--r-- | pkgs/development/tools/misc/c2ffi/default.nix | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/pkgs/development/tools/misc/c2ffi/default.nix b/pkgs/development/tools/misc/c2ffi/default.nix new file mode 100644 index 00000000000..b7a5b1dc7eb --- /dev/null +++ b/pkgs/development/tools/misc/c2ffi/default.nix @@ -0,0 +1,56 @@ +{ lib +, fetchFromGitHub +, cmake +, llvmPackages_11 +, unstableGitUpdater +}: + +let + c2ffiBranch = "llvm-11.0.0"; + llvmPackages = llvmPackages_11; +in + +llvmPackages.stdenv.mkDerivation { + pname = "c2ffi-${c2ffiBranch}"; + version = "unstable-2021-04-15"; + + src = fetchFromGitHub { + owner = "rpav"; + repo = "c2ffi"; + rev = "0255131f80b21334e565231331c2b451b6bba8c4"; + sha256 = "0ihysgqjyg5xwi098hxf15lpdi6g4nwpzczp495is912c48fy6b6"; + }; + + passthru.updateScript = unstableGitUpdater { + url = "https://github.com/rpav/c2ffi.git"; + branch = c2ffiBranch; + }; + + nativeBuildInputs = [ + cmake + ]; + + buildInputs = [ + llvmPackages.llvm + llvmPackages.clang + llvmPackages.libclang + ]; + + # This isn't much, but... + doInstallCheck = true; + installCheckPhase = '' + $out/bin/c2ffi --help 2>&1 >/dev/null + ''; + + # LLVM may be compiled with -fno-rtti, so let's just turn it off. + # A mismatch between lib{clang,LLVM}* and us can lead to the link time error: + # undefined reference to `typeinfo for clang::ASTConsumer' + CXXFLAGS="-fno-rtti"; + + meta = with lib; { + homepage = "https://github.com/rpav/c2ffi"; + description = "An LLVM based tool for extracting definitions from C, C++, and Objective C header files for use with foreign function call interfaces"; + license = licenses.lgpl21Only; + maintainers = with maintainers; [ attila-lendvai ]; + }; +} |