From 733e2485878e22a5b585d41358e5ea680f3f7246 Mon Sep 17 00:00:00 2001 From: "Claudius \"keldu\" Holeksa" Date: Thu, 30 Oct 2025 09:46:54 +0100 Subject: Added adaptive-cpp passthrough --- .nix/adaptive-cpp.nix | 60 +++++++++++++++++++++++++++++++++++++++++++++++++++ default.nix | 4 ++++ 2 files changed, 64 insertions(+) create mode 100644 .nix/adaptive-cpp.nix diff --git a/.nix/adaptive-cpp.nix b/.nix/adaptive-cpp.nix new file mode 100644 index 0000000..a39d9b7 --- /dev/null +++ b/.nix/adaptive-cpp.nix @@ -0,0 +1,60 @@ +{ lib +, stdenv +, fetchFromGitHub +, cmake +, makeWrapper +, boost +, llvmPackages +, lld +, python3 +}: + +let + version = "25.02.0"; +in stdenv.mkDerivation { + pname = "adaptive-cpp-kel-custom"; + inherit version; + + src = fetchFromGitHub { + owner = "AdaptiveCpp"; + repo = "AdaptiveCpp"; + tag = "v${version}"; + sha256 = "sha256-vXfw8+xn3/DYxUKp3QGdQ8sEbDwyk+8jDCyuvQOXigc="; + }; + + nativeBuildInputs = [ + cmake + makeWrapper + ]; + + buildInputs = [ + boost + llvmPackages.openmp + llvmPackages.libclang + llvmPackages.llvm + python3 + ]; + + cmakeFlags = [ + "-DCLANG_INCLUDE_PATH=${llvmPackages.libclang.dev}/include" + ]; + + postInstall = '' + if [ -d "$out/include/AdaptiveCpp" ]; then + mv $out/include/AdaptiveCpp .hidden-fake + mv .hidden-fake/* $out/include/ + rmdir .hidden-fake + fi + ''; + + postFixup = '' + wrapProgram $out/bin/syclcc-clang \ + --prefix PATH : ${lib.makeBinPath [ lld python3 ]} \ + --add-flags "-L${llvmPackages.openmp}/lib" \ + --add-flags "-I${llvmPackages.openmp.dev}/include" \ + ''; + + postPatch = '' + patchShebangs . + ''; +} diff --git a/default.nix b/default.nix index ee3c963..ef0bc3d 100644 --- a/default.nix +++ b/default.nix @@ -6,6 +6,9 @@ ref = "master"; }).outPath + "/default.nix"){ }).gasp +, adaptive-cpp ? (pkgs.callPackage ./.nix/adaptivecpp.nix { + inherit stdenv; + }) }: let @@ -126,6 +129,7 @@ in rec { inherit forstio; inherit stdenv; inherit clang-tools; + inherit adaptive-cpp; openmp = pkgs.llvmPackages_17.openmp; build_examples = "false"; -- cgit v1.2.3