From 24aa8d01748e1ea0b381ec8c73168411d2fe9704 Mon Sep 17 00:00:00 2001 From: LavaDesu Date: Fri, 14 Mar 2025 20:41:19 +1100 Subject: [PATCH] packages/linux-lava: fix clang build issues after nixpkgs changes --- overlays/default.nix | 1 + overlays/linux-lava.nix | 23 +++++++++++++++++++++++ packages/linux-lava/default.nix | 15 ++------------- 3 files changed, 26 insertions(+), 13 deletions(-) create mode 100644 overlays/linux-lava.nix diff --git a/overlays/default.nix b/overlays/default.nix index 98b0cc9..4d8552f 100644 --- a/overlays/default.nix +++ b/overlays/default.nix @@ -2,6 +2,7 @@ builtins.map (path: import path) [ ./android-studio.nix ./ccache.nix ./eww.nix + ./linux-lava.nix ./material-icons.nix ./rofi.nix ./steam.nix diff --git a/overlays/linux-lava.nix b/overlays/linux-lava.nix new file mode 100644 index 0000000..d83fb98 --- /dev/null +++ b/overlays/linux-lava.nix @@ -0,0 +1,23 @@ +self: super: let + llvmPackages = super.llvmPackages_19; + clangVersion = super.lib.versions.major llvmPackages.libclang.version; + cc = llvmPackages.stdenv.cc.override { + # :sob: see https://github.com/NixOS/nixpkgs/issues/142901 + bintools = llvmPackages.bintools; + extraBuildCommands = '' + substituteInPlace "$out/nix-support/cc-cflags" --replace " -nostdlibinc" "" + substituteInPlace "$out/nix-support/add-local-cc-cflags-before.sh" --replace 'echo "Warning: supplying the --target argument to a nix-wrapped compiler may not work correctly - cc-wrapper is currently not designed with multi-target compilers in mind. You may want to use an un-wrapped compiler instead." >&2' "" + echo " -resource-dir=${llvmPackages.libclang.lib}/lib/clang/${clangVersion}" >> $out/nix-support/cc-cflags + ''; + }; + stdenv = super.ccacheStdenv.override { + stdenv = super.overrideCC llvmPackages.stdenv cc; + }; +in { + linuxLavaEnv = { + inherit llvmPackages clangVersion cc stdenv; + }; + rust-bindgen-unwrapped = super.rust-bindgen-unwrapped.override { + clang = cc; + }; +} diff --git a/packages/linux-lava/default.nix b/packages/linux-lava/default.nix index 17b15ef..a4623d9 100644 --- a/packages/linux-lava/default.nix +++ b/packages/linux-lava/default.nix @@ -1,27 +1,16 @@ { buildLinux , callPackage -, ccacheStdenv , inputs -, kernelPatches , lib -, llvmPackages_16 -, overrideCC +, linuxLavaEnv , ... } @ args: let sources = callPackage ./sources.nix { inherit inputs; }; - llvmPackages = llvmPackages_16; kernel = buildLinux (args // { inherit (sources) src kernelPatches; - stdenv = ccacheStdenv.override { - # :sob: see https://github.com/NixOS/nixpkgs/issues/142901 - stdenv = overrideCC llvmPackages.stdenv (llvmPackages.stdenv.cc.override { - bintools = llvmPackages.bintools.override { - sharedLibraryLoader = null; - }; - }); - }; + inherit (linuxLavaEnv) stdenv; version = "${sources.version}-tkg-Lava"; isZen = true; extraMakeFlags = [ "LLVM=1" "LLVM_IAS=1" ];