diff options
author | Alyssa Ross <hi@alyssa.is> | 2022-12-06 19:57:55 +0000 |
---|---|---|
committer | Alyssa Ross <hi@alyssa.is> | 2023-02-08 13:48:30 +0000 |
commit | bf3aadfdd39aa197e18bade671fab6726349ffa4 (patch) | |
tree | 698567af766ed441d757b57a7b21e68d4a342a2b /nixpkgs/pkgs/development/libraries/mesa/default.nix | |
parent | f4afc5a01d9539ce09e47494e679c51f80723d07 (diff) | |
parent | 99665eb45f58d959d2cb9e49ddb960c79d596f33 (diff) | |
download | nixlib-bf3aadfdd39aa197e18bade671fab6726349ffa4.tar nixlib-bf3aadfdd39aa197e18bade671fab6726349ffa4.tar.gz nixlib-bf3aadfdd39aa197e18bade671fab6726349ffa4.tar.bz2 nixlib-bf3aadfdd39aa197e18bade671fab6726349ffa4.tar.lz nixlib-bf3aadfdd39aa197e18bade671fab6726349ffa4.tar.xz nixlib-bf3aadfdd39aa197e18bade671fab6726349ffa4.tar.zst nixlib-bf3aadfdd39aa197e18bade671fab6726349ffa4.zip |
Merge commit '99665eb45f58d959d2cb9e49ddb960c79d596f33'
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/mesa/default.nix')
-rw-r--r-- | nixpkgs/pkgs/development/libraries/mesa/default.nix | 30 |
1 files changed, 16 insertions, 14 deletions
diff --git a/nixpkgs/pkgs/development/libraries/mesa/default.nix b/nixpkgs/pkgs/development/libraries/mesa/default.nix index 23163763ed9b..48df1b0149c1 100644 --- a/nixpkgs/pkgs/development/libraries/mesa/default.nix +++ b/nixpkgs/pkgs/development/libraries/mesa/default.nix @@ -5,16 +5,17 @@ , llvmPackages, libffi, libomxil-bellagio, libva-minimal , libelf, libvdpau , libglvnd, libunwind +, vulkan-loader , galliumDrivers ? ["auto"] -, driDrivers ? ["auto"] , vulkanDrivers ? ["auto"] , eglPlatforms ? [ "x11" ] ++ lib.optionals stdenv.isLinux [ "wayland" ] , OpenGL, Xplugin -, withValgrind ? !stdenv.isDarwin && lib.meta.availableOn stdenv.hostPlatform valgrind-light, valgrind-light +, withValgrind ? lib.meta.availableOn stdenv.hostPlatform valgrind-light && !valgrind-light.meta.broken, valgrind-light , enableGalliumNine ? stdenv.isLinux , enableOSMesa ? stdenv.isLinux , enableOpenCL ? stdenv.isLinux && stdenv.isx86_64 , libclc +, jdupes }: /** Packaging design: @@ -33,7 +34,8 @@ with lib; let # Release calendar: https://www.mesa3d.org/release-calendar.html # Release frequency: https://www.mesa3d.org/releasing.html#schedule - version = "21.3.7"; + # 22.1 on darwin won't build: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6519 + version = if stdenv.isDarwin then "22.0.4" else "22.1.4"; branch = versions.major version; self = stdenv.mkDerivation { @@ -47,7 +49,10 @@ self = stdenv.mkDerivation { "ftp://ftp.freedesktop.org/pub/mesa/${version}/mesa-${version}.tar.xz" "ftp://ftp.freedesktop.org/pub/mesa/older-versions/${branch}.x/${version}/mesa-${version}.tar.xz" ]; - sha256 = "0ggw3s514z6szasbiy4dv5mdi689121yy2xly2g21gv1mavrvyml"; + sha256 = { + "22.1.4" = "0xhbcjqy3g5dfxhr4flmqncmsjnwljfqm9idx92jm43jifz8q3b7"; + "22.0.4" = "1m0y8wgy48hmcidsr7sbk5hcw3v0qr8359fd2x34fvl2z9c1z5y7"; + }.${version}; }; # TODO: @@ -76,19 +81,11 @@ self = stdenv.mkDerivation { postPatch = '' patchShebangs . - substituteInPlace meson.build --replace \ - "find_program('pkg-config')" \ - "find_program('${buildPackages.pkg-config.targetPrefix}pkg-config')" - # The drirc.d directory cannot be installed to $drivers as that would cause a cyclic dependency: substituteInPlace src/util/xmlconfig.c --replace \ 'DATADIR "/drirc.d"' '"${placeholder "out"}/share/drirc.d"' substituteInPlace src/util/meson.build --replace \ "get_option('datadir')" "'${placeholder "out"}/share'" - '' + lib.optionalString (stdenv.hostPlatform != stdenv.buildPlatform) '' - substituteInPlace meson.build --replace \ - "find_program('nm')" \ - "find_program('${stdenv.cc.targetPrefix}nm')" ''; outputs = [ "out" "dev" "drivers" ] @@ -113,7 +110,6 @@ self = stdenv.mkDerivation { "-Ddri-search-path=${libglvnd.driverLink}/lib/dri" "-Dplatforms=${concatStringsSep "," eglPlatforms}" - "-Ddri-drivers=${concatStringsSep "," driDrivers}" "-Dgallium-drivers=${concatStringsSep "," galliumDrivers}" "-Dvulkan-drivers=${concatStringsSep "," vulkanDrivers}" @@ -145,7 +141,9 @@ self = stdenv.mkDerivation { ++ lib.optionals stdenv.isLinux [ libomxil-bellagio libva-minimal ] ++ lib.optionals stdenv.isDarwin [ libunwind ] ++ lib.optionals enableOpenCL [ libclc llvmPackages.clang llvmPackages.clang-unwrapped ] - ++ lib.optional withValgrind valgrind-light; + ++ lib.optional withValgrind valgrind-light + # Mesa will not build zink when gallium-drivers=auto + ++ lib.optional (elem "zink" galliumDrivers) vulkan-loader; depsBuildBuild = [ pkg-config ]; @@ -153,6 +151,7 @@ self = stdenv.mkDerivation { meson pkg-config ninja intltool bison flex file python3Packages.python python3Packages.Mako + jdupes ] ++ lib.optionals (elem "wayland" eglPlatforms) [ wayland-scanner ]; @@ -228,6 +227,9 @@ self = stdenv.mkDerivation { fi done + # NAR doesn't support hard links, so convert them to symlinks to save space. + jdupes --hard-links --link-soft --recurse "$drivers" + # add RPATH so the drivers can find the moved libgallium and libdricore9 # moved here to avoid problems with stripping patchelfed files for lib in $drivers/lib/*.so* $drivers/lib/*/*.so*; do |