# Description: Mesa 3D Graphics Library # URL: https://www.mesa3d.org/ # Maintainer: CRUX Xorg Team, xorg-ports at crux dot nu # Depends on: elfutils libdrm libglvnd llvm python3-mako xorg-libxdamage xorg-libxrandr xorg-libxshmfence xorg-libxvmc xorg-libxxf86vm # Optional: directx-headers glslang libclc libunwind libva libvdpau lm_sensors rust-bindgen spirv-llvm-translator vulkan-loader wayland-protocols name=mesa version=24.0.6 release=1 source=(https://archive.mesa3d.org/$name-$version.tar.xz) build() { prt-get isinst directx-headers && PKGMK_MESA_GALLIUM+='d3d12,' prt-get isinst libclc spirv-llvm-translator && PKGMK_MESA+=' -D gallium-opencl=icd' prt-get isinst libclc rust-bindgen spirv-llvm-translator && PKGMK_MESA+=' -D gallium-rusticl=true' prt-get isinst glslang && PKGMK_MESA+=' -D vulkan-drivers=auto -D vulkan-layers=device-select,intel-nullhw,overlay' || PKGMK_MESA+=' -D vulkan-drivers=' prt-get isinst libunwind && PKGMK_MESA+=' -D libunwind=enabled' prt-get isinst libva && PKGMK_MESA+=' -D gallium-va=enabled' || PKGMK_MESA+=' -D gallium-va=disabled' prt-get isinst libvdpau && PKGMK_MESA+=' -D gallium-vdpau=enabled' || PKGMK_MESA+=' -D gallium-vdpau=disabled' prt-get isinst lm_sensors && PKGMK_MESA+=' -D lmsensors=enabled' prt-get isinst vulkan-loader && PKGMK_MESA_GALLIUM+='zink,' prt-get isinst wayland-protocols && PKGMK_MESA_PLATFORMS+='wayland' ## for future references #prt-get isinst xorg-libxdamage xorg-libxrandr xorg-libxshmfence xorg-libxvmc xorg-libxxf86vm && PKGMK_MESA_PLATFORMS+=',x11' PKGMK_MESA_PLATFORMS+=',x11' meson setup build $name-$version $PKGMK_MESA \ --prefix=/usr \ --sysconfdir=/etc \ --buildtype=plain \ --wrap-mode nodownload \ -D b_lto=false \ -D b_pie=true \ -D dri3=enabled \ -D egl=enabled \ -D llvm=enabled \ -D shared-llvm=enabled \ -D gbm=enabled \ -D gles1=disabled \ -D gles2=enabled \ -D glx=dri \ -D osmesa=true \ -D gallium-xa=enabled \ -D gallium-drivers=${PKGMK_MESA_GALLIUM}crocus,iris,nouveau,r300,r600,radeonsi,svga,swrast,virgl,i915 \ -D platforms=${PKGMK_MESA_PLATFORMS#,} \ -D shared-glapi=enabled \ -D video-codecs=vc1dec,h264dec,h264enc,h265dec,h265enc \ -D glvnd=true meson compile -C build -j ${JOBS:-1} DESTDIR=$PKG meson install -C build # indirect rendering symlink ln -s libGLX_mesa.so.0 $PKG/usr/lib/libGLX_indirect.so.0 }