New package: mesa-asahi-25.0.0+20241211
This commit is contained in:
parent
04d575278c
commit
8b80312330
1
srcpkgs/MesaLib-asahi-devel
Symbolic link
1
srcpkgs/MesaLib-asahi-devel
Symbolic link
@ -0,0 +1 @@
|
||||
mesa-asahi
|
1
srcpkgs/libOSMesa-asahi
Symbolic link
1
srcpkgs/libOSMesa-asahi
Symbolic link
@ -0,0 +1 @@
|
||||
mesa-asahi
|
1
srcpkgs/libgbm-asahi
Symbolic link
1
srcpkgs/libgbm-asahi
Symbolic link
@ -0,0 +1 @@
|
||||
mesa-asahi
|
1
srcpkgs/libgbm-asahi-devel
Symbolic link
1
srcpkgs/libgbm-asahi-devel
Symbolic link
@ -0,0 +1 @@
|
||||
mesa-asahi
|
1
srcpkgs/mesa-asahi-dri
Symbolic link
1
srcpkgs/mesa-asahi-dri
Symbolic link
@ -0,0 +1 @@
|
||||
mesa-asahi
|
1
srcpkgs/mesa-asahi-opencl
Symbolic link
1
srcpkgs/mesa-asahi-opencl
Symbolic link
@ -0,0 +1 @@
|
||||
mesa-asahi
|
1
srcpkgs/mesa-asahi-vaapi
Symbolic link
1
srcpkgs/mesa-asahi-vaapi
Symbolic link
@ -0,0 +1 @@
|
||||
mesa-asahi
|
1
srcpkgs/mesa-asahi-vdpau
Symbolic link
1
srcpkgs/mesa-asahi-vdpau
Symbolic link
@ -0,0 +1 @@
|
||||
mesa-asahi
|
1
srcpkgs/mesa-asahi-vulkan-overlay-layer
Symbolic link
1
srcpkgs/mesa-asahi-vulkan-overlay-layer
Symbolic link
@ -0,0 +1 @@
|
||||
mesa-asahi
|
19
srcpkgs/mesa-asahi/patches/musl-endian.patch
Normal file
19
srcpkgs/mesa-asahi/patches/musl-endian.patch
Normal 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
|
37
srcpkgs/mesa-asahi/patches/musl-stacksize.patch
Normal file
37
srcpkgs/mesa-asahi/patches/musl-stacksize.patch
Normal 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)
|
40
srcpkgs/mesa-asahi/patches/musl.patch
Normal file
40
srcpkgs/mesa-asahi/patches/musl.patch
Normal 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
176
srcpkgs/mesa-asahi/template
Normal 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"
|
||||
}
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user