From aaeb941fcc289916734dd4047b0a530096f74f54 Mon Sep 17 00:00:00 2001 From: Attila Lendvai Date: Wed, 14 Apr 2021 19:50:03 +0200 Subject: [PATCH] c2ffi: init at 2021-06-16 upstream doesn't have releases. --- pkgs/development/tools/misc/c2ffi/default.nix | 56 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 2 files changed, 58 insertions(+) create mode 100644 pkgs/development/tools/misc/c2ffi/default.nix diff --git a/pkgs/development/tools/misc/c2ffi/default.nix b/pkgs/development/tools/misc/c2ffi/default.nix new file mode 100644 index 000000000000..b7a5b1dc7eb8 --- /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 ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 8a4575651c45..a6483336dae3 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -14085,6 +14085,8 @@ in swig = swig3; swigWithJava = swig; + c2ffi = callPackage ../development/tools/misc/c2ffi { }; + swfmill = callPackage ../tools/video/swfmill { }; swftools = callPackage ../tools/video/swftools {