lol
at 23.11-beta 56 lines 1.4 kB view raw
1{ lib 2, fetchFromGitHub 3, cmake 4, llvmPackages_11 5, unstableGitUpdater 6}: 7 8let 9 c2ffiBranch = "llvm-11.0.0"; 10 llvmPackages = llvmPackages_11; 11in 12 13llvmPackages.stdenv.mkDerivation { 14 pname = "c2ffi-${c2ffiBranch}"; 15 version = "unstable-2021-06-15"; 16 17 src = fetchFromGitHub { 18 owner = "rpav"; 19 repo = "c2ffi"; 20 rev = "f50243926a0afb589de1078a073ac08910599582"; 21 sha256 = "UstGicFzFY0/Jge5HGYTPwYSnh9OUBY5346ObZYfR54="; 22 }; 23 24 passthru.updateScript = unstableGitUpdater { 25 url = "https://github.com/rpav/c2ffi.git"; 26 branch = c2ffiBranch; 27 }; 28 29 nativeBuildInputs = [ 30 cmake 31 ]; 32 33 buildInputs = [ 34 llvmPackages.llvm 35 llvmPackages.clang 36 llvmPackages.libclang 37 ]; 38 39 # This isn't much, but... 40 doInstallCheck = true; 41 installCheckPhase = '' 42 $out/bin/c2ffi --help 2>&1 >/dev/null 43 ''; 44 45 # LLVM may be compiled with -fno-rtti, so let's just turn it off. 46 # A mismatch between lib{clang,LLVM}* and us can lead to the link time error: 47 # undefined reference to `typeinfo for clang::ASTConsumer' 48 CXXFLAGS="-fno-rtti"; 49 50 meta = with lib; { 51 homepage = "https://github.com/rpav/c2ffi"; 52 description = "An LLVM based tool for extracting definitions from C, C++, and Objective C header files for use with foreign function call interfaces"; 53 license = licenses.lgpl21Only; 54 maintainers = with maintainers; [ attila-lendvai ]; 55 }; 56}