41 lines
1.2 KiB
Nix
41 lines
1.2 KiB
Nix
{ ... }:
|
|
|
|
final: prev: {
|
|
mesa = (prev.mesa.overrideAttrs (old: rec {
|
|
version = "git-unstable-2026-02-12";
|
|
src = prev.fetchFromGitLab {
|
|
domain = "gitlab.freedesktop.org";
|
|
owner = "mesa";
|
|
repo = "mesa";
|
|
rev = "main";
|
|
hash = "sha256-5gpLORvbV3skALrQa0VxTJJarYjuq+KyTxDm9HtZNbQ=";
|
|
};
|
|
patches = [];
|
|
buildInputs = old.buildInputs ++ (with prev.llvmPackages_21; [
|
|
clang-unwrapped
|
|
libclang
|
|
]);
|
|
|
|
# Create symlinks to clang libraries so meson can find them
|
|
preConfigure = (old.preConfigure or "") + ''
|
|
mkdir -p $NIX_BUILD_TOP/clang-libs
|
|
for lib in ${prev.llvmPackages_21.clang-unwrapped.lib}/lib/*.a; do
|
|
ln -sf "$lib" "$NIX_BUILD_TOP/clang-libs/"
|
|
done
|
|
export LIBRARY_PATH="$NIX_BUILD_TOP/clang-libs:''${LIBRARY_PATH:-}"
|
|
export CXXFLAGS="$CXXFLAGS -fno-strict-aliasing"
|
|
'';
|
|
|
|
mesonFlags =
|
|
(builtins.filter (flag:
|
|
!(prev.lib.hasPrefix "-Dclang-libdir=" flag) &&
|
|
flag != "--sysconfdir=/etc"
|
|
) old.mesonFlags) ++ [
|
|
"-Dsysconfdir=${placeholder "out"}/etc"
|
|
] ++ (if prev.stdenv.hostPlatform.is64bit then [ "-Dintel-rt=enabled" ] else [ "-Dintel-rt=disabled" ]);
|
|
})).override {
|
|
stdenv = prev.gcc14Stdenv;
|
|
};
|
|
}
|
|
|