New package: mesa-asahi-25.0.0+20241211

This commit is contained in:
SlimJiM 2024-05-20 18:23:05 +12:00 committed by classabbyamp
parent 04d575278c
commit 8b80312330
13 changed files with 281 additions and 0 deletions

1
srcpkgs/MesaLib-asahi-devel Symbolic link
View File

@ -0,0 +1 @@
mesa-asahi

1
srcpkgs/libOSMesa-asahi Symbolic link
View File

@ -0,0 +1 @@
mesa-asahi

1
srcpkgs/libgbm-asahi Symbolic link
View File

@ -0,0 +1 @@
mesa-asahi

1
srcpkgs/libgbm-asahi-devel Symbolic link
View File

@ -0,0 +1 @@
mesa-asahi

1
srcpkgs/mesa-asahi-dri Symbolic link
View File

@ -0,0 +1 @@
mesa-asahi

1
srcpkgs/mesa-asahi-opencl Symbolic link
View File

@ -0,0 +1 @@
mesa-asahi

1
srcpkgs/mesa-asahi-vaapi Symbolic link
View File

@ -0,0 +1 @@
mesa-asahi

1
srcpkgs/mesa-asahi-vdpau Symbolic link
View File

@ -0,0 +1 @@
mesa-asahi

View File

@ -0,0 +1 @@
mesa-asahi

View File

@ -0,0 +1,19 @@
--- a/src/util/u_endian.h 2017-12-21 18:31:22.000000000 +0100
+++ b/src/util/u_endian.h 2017-12-26 09:22:52.597199480 +0100
@@ -68,6 +68,16 @@
#define PIPE_ARCH_LITTLE_ENDIAN
+#else
+/* Musl libc */
+#include <endian.h>
+
+#if __BYTE_ORDER == __LITTLE_ENDIAN
+# define PIPE_ARCH_LITTLE_ENDIAN
+#elif __BYTE_ORDER == __BIG_ENDIAN
+# define PIPE_ARCH_BIG_ENDIAN
+#endif
+
#endif
#endif

View File

@ -0,0 +1,37 @@
--- a/src/c11/impl/threads_posix.c 2022-10-04 16:30:04.564345425 -0400
+++ b/src/c11/impl/threads_posix.c 2022-10-04 16:43:51.794135619 -0400
@@ -255,18 +255,33 @@
thrd_create(thrd_t *thr, thrd_start_t func, void *arg)
{
struct impl_thrd_param *pack;
+#ifdef __GLIBC__
+ pthread_attr_t *attrp = NULL;
+#else
+ pthread_attr_t attr = { 0 };
+ pthread_attr_init(&attr);
+ pthread_attr_setstacksize(&attr, 8388608);
+ pthread_attr_t *attrp = &attr;
+#endif
assert(thr != NULL);
pack = (struct impl_thrd_param *)malloc(sizeof(struct impl_thrd_param));
if (!pack) return thrd_nomem;
pack->func = func;
pack->arg = arg;
- if (pthread_create(thr, NULL, impl_thrd_routine, pack) != 0) {
+ if (pthread_create(thr, attrp, impl_thrd_routine, pack) != 0) {
+#ifndef __GLIBC__
+ pthread_attr_destroy(&attr);
+#endif
free(pack);
return thrd_error;
}
+#ifndef __GLIBC__
+ pthread_attr_destroy(&attr);
+#endif
return thrd_success;
}
+
// 7.25.5.2
thrd_t
thrd_current(void)

View File

@ -0,0 +1,40 @@
--- a/src/util/rand_xor.c 2020-10-03 12:27:48.489024729 +0200
+++ b/src/util/rand_xor.c 2020-10-03 12:31:05.927113521 +0200
@@ -28,6 +28,7 @@
#if defined(HAVE_GETRANDOM)
#include <sys/random.h>
#endif
+#include <sys/types.h> /* size_t, ssize_t */
#include <unistd.h>
#include <fcntl.h>
#endif
--- a/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_winsys.h
+++ b/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_winsys.h
@@ -30,6 +30,7 @@
#include <amdgpu.h>
#include <pthread.h>
+#include <sys/types.h>
#include "util/list.h"
#include "util/rwlock.h"
#include "ac_gpu_info.h"
--- a/src/gallium/frontends/nine/nine_debug.c 2020-03-06 07:46:48.278918421 +0100
+++ b/src/gallium/frontends/nine/nine_debug.c 2020-03-06 07:51:32.919964119 +0100
@@ -65,7 +65,7 @@ _nine_debug_printf( unsigned long flag,
{
static boolean first = TRUE;
static unsigned long dbg_flags = DBG_ERROR | DBG_WARN;
- unsigned long tid = 0;
+ pthread_t tid = 0;
if (first) {
first = FALSE;
@@ -74,7 +74,7 @@ _nine_debug_printf( unsigned long flag,
#if defined(HAVE_PTHREAD)
if (dbg_flags & DBG_TID)
- tid = (unsigned long)pthread_self();
+ tid = pthread_self();
#endif
if (dbg_flags & flag) {

176
srcpkgs/mesa-asahi/template Normal file
View File

@ -0,0 +1,176 @@
# Template file for 'mesa-asahi'
pkgname=mesa-asahi
version=25.0.0+20241211
revision=1
_llvmver=19
_mesaver=${version%+*}
build_style=meson
build_helper="qemu"
#Disable LTO flag should be present, see https://gitlab.freedesktop.org/mesa/mesa/-/issues/6911
configure_args="-Dglvnd=enabled -Dshared-glapi=enabled -Dgbm=enabled -Degl=enabled
-Dosmesa=true -Dgles1=enabled -Dgles2=enabled -Dglx=dri
-Dlmsensors=enabled -Dplatforms=x11$(vopt_if wayland ,wayland)
-Dllvm=enabled -Db_lto=false -Dcpp_std=gnu++17
-Dgallium-vdpau=enabled -Dgallium-va=enabled
-Dvulkan-drivers=swrast,virtio -Dvulkan-layers=device-select,overlay
-Dgallium-drivers=swrast,asahi,virgl,zink
-Dgallium-opencl=icd -Dgallium-rusticl=true -Drust_std=2021"
hostmakedepends="gettext flex pkg-config python3-Mako glslang llvm${_llvmver}
$(vopt_if wayland 'wayland-protocols wayland-devel') python3-pycparser python3-yaml
clang${_llvmver} rust rust-bindgen"
makedepends="elfutils-devel expat-devel libXdamage-devel
libXxf86vm-devel libdrm-devel libffi-devel libva-devel
libvdpau-devel libxshmfence-devel ncurses-devel zlib-devel
$(vopt_if wayland 'wayland-devel wayland-protocols') llvm${_llvmver}-devel libsensors-devel
libXrandr-devel libglvnd-devel libzstd-devel libxml2-devel lua53-devel
libarchive-devel vulkan-loader clang${_llvmver} libclc${_llvmver} rust
SPIRV-LLVM-Translator${_llvmver}-devel SPIRV-Tools-devel"
depends="libglvnd"
short_desc="Open source implementation of OpenGL and Vulkan - Asahi"
maintainer="dkwo <npiazza@disroot.org>"
license="MIT, LGPL-2.1-or-later"
homepage="https://www.mesa3d.org/"
changelog="https://docs.mesa3d.org/relnotes.html"
distfiles="https://gitlab.freedesktop.org/asahi/mesa/-/archive/asahi-${version#*+}/mesa-asahi-${version#*+}.tar.gz"
checksum=b92a8a2bf034fd29aa1f619eda241e874be1a4cbd3db0bafaba534eef6674145
replaces="mesa>=0 mesa-libgallium>=0 libglapi>=0"
provides="mesa-${_mesaver}_${revision} mesa-libgallium-${_mesaver}_${revision} libglapi-${_mesaver}_${revision}"
shlib_provides="libglapi.so libgallium-${_mesaver}-devel.so"
build_options="wayland"
build_options_default="wayland"
# Replace old mesa pkgs, superseded by libglvnd.
replaces="libGL>=10_1<19.2.5_2 libEGL>=10_1<19.2.5_2 libGLES>=10_1<19.2.5_2"
post_configure() {
if [ "$CROSS_BUILD" ]; then
find -iname "*.ninja" -exec sed -i "{}" \
-e "/rustc/s; --sysroot ${XBPS_CROSS_BASE}/usr;;g" \
-e "s|-isystem/usr/include||g" \
\;
fi
}
post_install() {
vlicense docs/license.rst
# ensure that each eligible architecture ships its multilib icd files
# in some cases, multiple counterpart architectures may exist (aarch64)
# this allows us to not have to ship these files in the current *-32bit packages
local arch=${XBPS_TARGET_MACHINE%-*}
local oarchs
local olibdir="/usr/lib32/"
if [ "$XBPS_TARGET_WORDSIZE" = "32" ]; then
olibdir="/usr/lib64/"
fi
oarchs="armv6l armv7l"
for oarch in $oarchs; do
for icd in ${DESTDIR}/usr/share/vulkan/icd.d/*_icd.${arch}.json; do
sed "s#/usr/lib${XBPS_TARGET_WORDSIZE}/#${olibdir}#g" \
${icd} > ${icd/.${arch}/.${oarch}}
done
done
}
libgbm-asahi_package() {
short_desc="Mesa Generic buffer management API - runtime"
replaces="libgbm>=0"
provides="libgbm-${_mesaver}_${revision}"
pkg_install() {
vmove "usr/lib/libgbm.so.*"
}
}
libgbm-asahi-devel_package() {
short_desc="Mesa Generic buffer management API - development files"
depends="libgbm-asahi>=${version}_${revision}"
replaces="libgbm-devel>=0"
provides="libgbm-devel-${_mesaver}_${revision}"
pkg_install() {
vmove usr/include/gbm.h
vmove usr/lib/libgbm.so
vmove usr/lib/pkgconfig/gbm.pc
}
}
libOSMesa-asahi_package() {
short_desc="Mesa Off-Screen interface library"
replaces="libOSMesa>=0"
provides="libOSMesa-${_mesaver}_${revision}"
pkg_install() {
vmove "usr/lib/libOSMesa.so.*"
}
}
MesaLib-asahi-devel_package() {
depends="mesa-asahi>=${version}_${revision} libOSMesa-asahi>=${version}_${revision}
libgbm-asahi-devel>=${version}_${revision}"
depends+=" libdrm-devel libglvnd-devel"
replaces="MesaLib-devel>=0"
provides="MesaLib-devel-${_mesaver}_${revision}"
short_desc+=" - development files"
pkg_install() {
vmove usr/include
vmove usr/lib/pkgconfig
vmove usr/lib/libEGL_mesa.so
vmove usr/lib/libGLX_mesa.so
vmove usr/lib/libOSMesa.so
vmove usr/lib/libglapi.so
}
}
mesa-asahi-dri_package() {
short_desc="Mesa DRI drivers"
depends="mesa-asahi-${version}_${revision}"
replaces="mesa-dri>=0"
provides="mesa-dri-${_mesaver}_${revision}"
shlib_provides="libgallium_dri.so" # workaround for mesa-dri-32bit
pkg_install() {
vmove usr/lib/dri
}
}
mesa-asahi-opencl_package() {
short_desc="Mesa implementation of OpenCL (r600+ only)"
depends="libclc${_llvmver}"
replaces="mesa-opencl>=0"
provides="mesa-opencl-${_mesaver}_${revision}"
pkg_install() {
vmove etc/OpenCL
vmove usr/lib/gallium-pipe
vmove "usr/lib/libMesaOpenCL.so.*"
vmove "usr/lib/libRusticlOpenCL.so.*"
}
}
mesa-asahi-vaapi_package() {
short_desc="Mesa VA-API drivers"
replaces="mesa-vaapi>=0"
provides="mesa-vaapi-${_mesaver}_${revision}"
shlib_provides="libgallium_drv_video.so" # workaround for mesa-vaapi-32bit
pkg_install() {
vmove "usr/lib/dri/*_drv_video.so"
}
}
mesa-asahi-vdpau_package() {
short_desc="Mesa VDPAU drivers"
replaces="mesa-vdpau>=0"
provides="mesa-vdpau-${_mesaver}_${revision}"
pkg_install() {
vmove "usr/lib/vdpau/libvdpau_*"
}
}
mesa-asahi-vulkan-overlay-layer_package() {
short_desc="Vulkan layer to display information about the running application"
replaces="mesa-vulkan-overlay-layer>=0"
provides="mesa-vulkan-overlay-layer-${_mesaver}_${revision}"
pkg_install() {
vmove "usr/share/vulkan/explicit_layer.d/VkLayer_*.json"
vmove "usr/share/vulkan/implicit_layer.d/VkLayer_*.json"
vmove "usr/bin/mesa-overlay-control.py"
vmove "usr/lib/libVkLayer_*.so"
}
}