1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
|
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=mesa
pkgver=24.1.7
_llvmver=18
pkgrel=0
pkgdesc="Mesa DRI OpenGL library"
url="https://www.mesa3d.org"
arch="ppc ppc64"
options="!check" # No test suite.
license="MIT AND X11 AND SGI-B-2.0 AND BSL-1.0 AND LGPL-2.1+"
depends=""
depends_dev="libdrm-dev libxcb-dev libxdamage-dev libxext-dev libxshmfence-dev
xorgproto-dev"
makedepends="$depends_dev bison eudev-dev expat-dev flex libelf-dev libglvnd-dev
libva-dev libvdpau-dev libx11-dev libxfixes-dev libxrandr-dev libxt-dev
libxv-dev libxvmc-dev libxxf86vm-dev llvm$_llvmver-dev makedepend meson
ninja python3 py3-libxml2 py3-mako py3-pygments py3-markupsafe
py3-pyyaml rust wayland-dev wayland-protocols glslang-dev
zlib-dev zstd-dev bindgen-cli cbindgen clang-dev"
replaces="mesa-egl mesa-gl mesa-glapi mesa-gles"
subpackages="$pkgname-dev $pkgname-dri $pkgname-vulkan-overlay $pkgname-gbm
$pkgname-d3d $pkgname-xatracker $pkgname-osmesa"
source="https://mesa.freedesktop.org/archive/mesa-$pkgver.tar.xz"
_dri_driverdir=/usr/lib/xorg/modules/dri
_gallium_drivers="kmsro,r300,r600,radeonsi,nouveau,swrast,virgl,zink"
_vulkan_drivers="amd,nouveau,swrast,virtio"
case "$CARCH" in
ppc64)
_arch_conf="-Dpower8=disabled"
;;
esac
build() {
# This is to fix #796, and is derived from:
# https://gitlab.freedesktop.org/mesa/mesa/-/commit/cc2b3a99ccf035a084d768e5c5ffa81478d685c1
cat > native.file <<EOF
[binaries]
llvm-config = '$(command -v llvm${_llvmver}-config)'
rust = ['rustc', '--target=${CHOST}']
EOF
meson \
--native-file=native.file \
-Dprefix=/usr \
-Ddri-drivers-path=$_dri_driverdir \
-Dgallium-drivers=$_gallium_drivers \
-Dgallium-nine=true \
-Dgallium-opencl=disabled \
-Dgallium-rusticl=false \
-Dgallium-va=enabled \
-Dgallium-vdpau=enabled \
-Dgallium-xa=enabled \
-Dglvnd=enabled \
-Dglx=dri \
-Dmicrosoft-clc=disabled \
-Dopencl-spirv=false \
-Dosmesa=true \
-Dplatforms=x11,wayland \
-Dvideo-codecs=all_free \
-Dvulkan-drivers=$_vulkan_drivers \
-Dvulkan-layers=device-select,overlay \
$_arch_conf \
build
ninja -C build
}
package() {
DESTDIR="$pkgdir" ninja -C build install
}
d3d() {
replaces="mesa"
pkgdesc="Mesa Direct3D adaptor libraries"
install -d "$subpkgdir"/usr/lib
mv "$pkgdir"/usr/lib/d3d \
"$subpkgdir"/usr/lib/
}
xatracker() {
pkgdesc="Mesa XA state tracker for VMware"
install -d "$subpkgdir"/usr/lib
mv "$pkgdir"/usr/lib/libxatracker*.so.* \
"$subpkgdir"/usr/lib/
}
osmesa() {
pkgdesc="Mesa offscreen rendering libraries"
install -d "$subpkgdir"/usr/lib
mv "$pkgdir"/usr/lib/libOSMesa.so.* \
"$subpkgdir"/usr/lib/
}
gbm() {
pkgdesc="Mesa GBM library"
replaces="mesa"
install -d "$subpkgdir"/usr/lib
mv "$pkgdir"/usr/lib/libgbm.so.* \
"$subpkgdir"/usr/lib/
}
overlay() {
pkgdesc="Vulkan overlays to display information"
install -d "$subpkgdir"/usr/bin
install -d "$subpkgdir"/usr/lib
install -d "$subpkgdir"/usr/share
mv "$pkgdir"/usr/lib/libVkLayer_MESA_*.so \
"$subpkgdir"/usr/lib
mv "$pkgdir"/usr/share/vulkan \
"$subpkgdir"/usr/share/vulkan
mv "$pkgdir"/usr/bin/mesa-overlay-control.py "$subpkgdir"/usr/bin
}
dri() {
pkgdesc="Mesa DRI drivers"
replaces="mesa-dri-ati mesa-dri-freedreno mesa-dri-intel
mesa-dri-nouveau mesa-dri-swrast mesa-dri-tegra mesa-dri-vc4
mesa-dri-virtio mesa-dri-vmwgfx"
depends="mesa=$pkgver-r$pkgrel"
provides="$replaces"
install -d "$subpkgdir"/usr/lib/xorg/modules
install -d "$subpkgdir"/usr/share/vulkan
mv "$pkgdir"/usr/lib/dri "$subpkgdir"/usr/lib/
mv "$pkgdir"/usr/lib/xorg/modules/dri "$subpkgdir"/usr/lib/xorg/modules/
mv "$pkgdir"/usr/share/drirc.d "$subpkgdir"/usr/share/
mv "$pkgdir"/usr/share/glvnd "$subpkgdir"/usr/share/
mv "$pkgdir"/usr/lib/libgallium*.so* "$subpkgdir"/usr/lib/ || true
# support non-Vulkan arches
mv "$pkgdir"/usr/lib/libvulkan*.so* "$subpkgdir"/usr/lib/ || true
mv "$pkgdir"/usr/lib/vdpau "$subpkgdir"/usr/lib/
mv "$pkgdir"/usr/share/vulkan/icd.d "$subpkgdir"/usr/share/vulkan/
}
sha512sums="890f6387963bbb86a85305ea963cca326a3b3f8f8758ae2082fd62c52df77c2883a359341e91f36614fea59219394ef78f799a334080699a0bb71d984a68cb01 mesa-24.1.7.tar.xz"
|