56 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
			
		
		
	
	
			56 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
| {
 | |
|   lib,
 | |
|   fetchFromGitLab,
 | |
|   pkgs,
 | |
|   meson,
 | |
|   llvmPackages,
 | |
| }:
 | |
| # don't bother to provide Darwin deps
 | |
| ((pkgs.callPackage ./vendor {
 | |
|     OpenGL = null;
 | |
|     Xplugin = null;
 | |
|   })
 | |
|   .override {
 | |
|     galliumDrivers = ["swrast" "asahi"];
 | |
|     vulkanDrivers = ["swrast"];
 | |
|     enableGalliumNine = false;
 | |
|     # libclc and other OpenCL components are needed for geometry shader support on Apple Silicon
 | |
|     enableOpenCL = true;
 | |
|   })
 | |
| .overrideAttrs (oldAttrs: {
 | |
|   # version must be the same length (i.e. no unstable or date)
 | |
|   # so that system.replaceRuntimeDependencies can work
 | |
|   version = "24.2.0";
 | |
|   src = fetchFromGitLab {
 | |
|     # tracking: https://pagure.io/fedora-asahi/mesa/commits/asahi
 | |
|     domain = "gitlab.freedesktop.org";
 | |
|     owner = "asahi";
 | |
|     repo = "mesa";
 | |
|     rev = "asahi-20240727";
 | |
|     hash = "sha256-XXhmiedwJwjKTZeApDE/GdAzIteteoi78J4LJ3WBJsY=";
 | |
|   };
 | |
| 
 | |
|   mesonFlags =
 | |
|     # remove flag to configure xvmc functionality as having it
 | |
|     # breaks the build because that no longer exists in Mesa 23
 | |
|     (lib.filter (x: !(lib.hasPrefix "-Dxvmc-libs-path=" x)) oldAttrs.mesonFlags)
 | |
|     ++ [
 | |
|       # we do not build any graphics drivers these features can be enabled for
 | |
|       "-Dgallium-va=disabled"
 | |
|       "-Dgallium-vdpau=disabled"
 | |
|       "-Dgallium-xa=disabled"
 | |
|       # does not make any sense
 | |
|       "-Dandroid-libbacktrace=disabled"
 | |
|       "-Dintel-rt=disabled"
 | |
|       # do not want to add the dependencies
 | |
|       "-Dlibunwind=disabled"
 | |
|       "-Dlmsensors=disabled"
 | |
|     ];
 | |
| 
 | |
|   # replace patches with ones tweaked slightly to apply to this version
 | |
|   patches = [
 | |
|     ./disk_cache-include-dri-driver-path-in-cache-key.patch
 | |
|     ./opencl.patch
 | |
|   ];
 | |
| })
 | 
