59 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
			
		
		
	
	
			59 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
{
 | 
						|
  stdenv,
 | 
						|
  lib,
 | 
						|
  fetchgit,
 | 
						|
  apple-sdk,
 | 
						|
  cmake,
 | 
						|
  git,
 | 
						|
  llvm_18,
 | 
						|
  pkg-config,
 | 
						|
  python3,
 | 
						|
}:
 | 
						|
 | 
						|
stdenv.mkDerivation rec {
 | 
						|
  pname = "clang-root";
 | 
						|
  version = "18-20250506-01";
 | 
						|
 | 
						|
  src = fetchgit {
 | 
						|
    url = "https://github.com/root-project/llvm-project";
 | 
						|
    rev = "refs/tags/ROOT-llvm${version}";
 | 
						|
    hash = "sha256-8tviNWNmvIJhxF4j9Z7zMnjltTX0Ka2fN9HIgLfNAco=";
 | 
						|
  };
 | 
						|
 | 
						|
  nativeBuildInputs = [
 | 
						|
    cmake
 | 
						|
    pkg-config
 | 
						|
    git
 | 
						|
  ];
 | 
						|
  buildInputs = [
 | 
						|
    llvm_18
 | 
						|
    python3
 | 
						|
  ];
 | 
						|
 | 
						|
  patches = [
 | 
						|
    ./Fix-find_package-LLVM-overwriting-LLVM_LINK_LLVM_DYLIB.patch
 | 
						|
  ];
 | 
						|
 | 
						|
  preConfigure = ''
 | 
						|
    cd clang
 | 
						|
  '';
 | 
						|
 | 
						|
  cmakeFlags =
 | 
						|
    [
 | 
						|
      "-DCLANG_BUILD_TOOLS=OFF"
 | 
						|
      "-DCLANG_ENABLE_ARCMT=OFF"
 | 
						|
      "-DCLANG_ENABLE_STATIC_ANALYZER=OFF"
 | 
						|
      "-DCLANG_LINK_CLANG_DYLIB=OFF"
 | 
						|
      "-DC_INCLUDE_DIRS=${lib.getDev stdenv.cc.libc}/include"
 | 
						|
      "-DLLVM_INCLUDE_TESTS=OFF"
 | 
						|
      "-DLLVM_LINK_LLVM_DYLIB=OFF"
 | 
						|
      "-DLLVM_MAIN_SRC_DIR=${llvm_18.src}"
 | 
						|
    ]
 | 
						|
    ++ (
 | 
						|
      if stdenv.hostPlatform.isDarwin then
 | 
						|
        [ "-DC_INCLUDE_DIRS=${apple-sdk.sdkroot}/usr/include" ]
 | 
						|
      else
 | 
						|
        lib.optional (stdenv.cc.libc != null) "-DC_INCLUDE_DIRS=${lib.getDev stdenv.cc.libc}/include"
 | 
						|
    );
 | 
						|
}
 |