Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
1{
2 stdenv,
3 lib,
4 fetchgit,
5 apple-sdk,
6 cmake,
7 git,
8 llvm_18,
9 pkg-config,
10 python3,
11}:
12
13stdenv.mkDerivation rec {
14 pname = "clang-root";
15 version = "18-20250506-01";
16
17 src = fetchgit {
18 url = "https://github.com/root-project/llvm-project";
19 rev = "refs/tags/ROOT-llvm${version}";
20 hash = "sha256-8tviNWNmvIJhxF4j9Z7zMnjltTX0Ka2fN9HIgLfNAco=";
21 };
22
23 nativeBuildInputs = [
24 cmake
25 pkg-config
26 git
27 ];
28 buildInputs = [
29 llvm_18
30 python3
31 ];
32
33 patches = [
34 ./Fix-find_package-LLVM-overwriting-LLVM_LINK_LLVM_DYLIB.patch
35 ];
36
37 preConfigure = ''
38 cd clang
39 '';
40
41 cmakeFlags = [
42 "-DCLANG_BUILD_TOOLS=OFF"
43 "-DCLANG_ENABLE_ARCMT=OFF"
44 "-DCLANG_ENABLE_STATIC_ANALYZER=OFF"
45 "-DCLANG_LINK_CLANG_DYLIB=OFF"
46 "-DC_INCLUDE_DIRS=${lib.getDev stdenv.cc.libc}/include"
47 "-DLLVM_INCLUDE_TESTS=OFF"
48 "-DLLVM_LINK_LLVM_DYLIB=OFF"
49 "-DLLVM_MAIN_SRC_DIR=${llvm_18.src}"
50 ]
51 ++ (
52 if stdenv.hostPlatform.isDarwin then
53 [ "-DC_INCLUDE_DIRS=${apple-sdk.sdkroot}/usr/include" ]
54 else
55 lib.optional (stdenv.cc.libc != null) "-DC_INCLUDE_DIRS=${lib.getDev stdenv.cc.libc}/include"
56 );
57}