temp/mesa-git: align with upstream APKBUILD (consolidate subpackages) (!896)
Included changes: - main/mesa: build freedreno only for arm https://gitlab.alpinelinux.org/alpine/aports/merge_requests/2809 - tree-wide: use --buildtype=debugoptimized for meson packages https://gitlab.alpinelinux.org/alpine/aports/merge_requests/2619 - main/mesa: consolidate subpackages https://gitlab.alpinelinux.org/alpine/aports/merge_requests/2816 - main/mesa: use qualified provides for deprecated subpackages https://gitlab.alpinelinux.org/alpine/aports/merge_requests/3167
This commit is contained in:
parent
10d8f5d4b0
commit
1943ead268
1 changed files with 103 additions and 121 deletions
|
@ -9,22 +9,23 @@
|
||||||
# conflicts
|
# conflicts
|
||||||
pkgname=mesa-git
|
pkgname=mesa-git
|
||||||
pkgver=0_git20200116
|
pkgver=0_git20200116
|
||||||
pkgrel=0
|
pkgrel=1
|
||||||
_commit="68abc0731715b2ec3048d0944250b96a5302b4bc"
|
_commit="68abc0731715b2ec3048d0944250b96a5302b4bc"
|
||||||
pkgdesc="(Git) Mesa DRI OpenGL library"
|
pkgdesc="Mesa DRI OpenGL library (Git)"
|
||||||
url="https://www.mesa3d.org"
|
url="https://www.mesa3d.org"
|
||||||
arch="all"
|
arch="all"
|
||||||
license="MIT SGI-B-2.0 BSL-1.0"
|
license="MIT SGI-B-2.0 BSL-1.0"
|
||||||
subpackages="
|
subpackages="
|
||||||
$pkgname-dev
|
$pkgname-dev
|
||||||
$pkgname-dri-ati:_dri
|
$pkgname-dri-classic:_dri
|
||||||
$pkgname-dri-nouveau:_dri
|
$pkgname-dri-gallium:_dri
|
||||||
$pkgname-dri-freedreno:_dri
|
$pkgname-va-gallium:_va
|
||||||
$pkgname-dri-swrast:_dri
|
$pkgname-vdpau-gallium:_vdpau
|
||||||
$pkgname-dri-virtio:_dri
|
|
||||||
$pkgname-glapi $pkgname-egl $pkgname-gl $pkgname-gles
|
$pkgname-glapi $pkgname-egl $pkgname-gl $pkgname-gles
|
||||||
$pkgname-xatracker $pkgname-osmesa $pkgname-gbm
|
$pkgname-xatracker $pkgname-osmesa $pkgname-gbm
|
||||||
$pkgname-vulkan-ati:_vulkan
|
$pkgname-vulkan-ati:_vulkan
|
||||||
|
$pkgname-dri-ati:_dri_deprecated
|
||||||
|
$pkgname-dri-nouveau:_dri_deprecated
|
||||||
"
|
"
|
||||||
_llvmver=9
|
_llvmver=9
|
||||||
depends_dev="
|
depends_dev="
|
||||||
|
@ -40,6 +41,7 @@ makedepends="
|
||||||
bison
|
bison
|
||||||
eudev-dev
|
eudev-dev
|
||||||
expat-dev
|
expat-dev
|
||||||
|
findutils
|
||||||
flex
|
flex
|
||||||
gettext
|
gettext
|
||||||
glslang
|
glslang
|
||||||
|
@ -84,7 +86,11 @@ fi
|
||||||
|
|
||||||
_dri_driverdir=/usr/lib/xorg/modules/dri
|
_dri_driverdir=/usr/lib/xorg/modules/dri
|
||||||
_dri_drivers="r100,r200,nouveau"
|
_dri_drivers="r100,r200,nouveau"
|
||||||
_gallium_drivers="r300,r600,radeonsi,nouveau,freedreno,swrast,virgl"
|
_gallium_drivers="r300,r600,radeonsi,nouveau,swrast,virgl"
|
||||||
|
_gallium_provides="
|
||||||
|
$pkgname-dri-swrast=$pkgver-r$pkgrel
|
||||||
|
$pkgname-dri-virtio=$pkgver-r$pkgrel
|
||||||
|
"
|
||||||
_vulkan_drivers="amd"
|
_vulkan_drivers="amd"
|
||||||
_arch_opts=""
|
_arch_opts=""
|
||||||
_vulkan_overlay_layer=false
|
_vulkan_overlay_layer=false
|
||||||
|
@ -96,10 +102,10 @@ x86*)
|
||||||
_vulkan_overlay_layer=true
|
_vulkan_overlay_layer=true
|
||||||
makedepends="$makedepends glslang"
|
makedepends="$makedepends glslang"
|
||||||
subpackages="$subpackages \
|
subpackages="$subpackages \
|
||||||
$pkgname-dri-intel:_dri \
|
$pkgname-dri-intel:_dri_deprecated \
|
||||||
$pkgname-dri-vmwgfx:_dri \
|
|
||||||
$pkgname-vulkan-intel:_vulkan \
|
$pkgname-vulkan-intel:_vulkan \
|
||||||
$pkgname-vulkan-layer:_vulkan_layer"
|
$pkgname-vulkan-layer:_vulkan_layer"
|
||||||
|
_gallium_provides="$_gallium_provides $pkgname-dri-vmwgfx=$pkgver-r$pkgrel"
|
||||||
_arch_opts="-Ddri3=true"
|
_arch_opts="-Ddri3=true"
|
||||||
case "$CARCH" in
|
case "$CARCH" in
|
||||||
x86)
|
x86)
|
||||||
|
@ -107,15 +113,16 @@ x86*)
|
||||||
esac
|
esac
|
||||||
;;
|
;;
|
||||||
armhf|armv7|aarch64)
|
armhf|armv7|aarch64)
|
||||||
_gallium_drivers="${_gallium_drivers},vc4,v3d,kmsro,lima,panfrost,etnaviv,tegra"
|
_gallium_drivers="${_gallium_drivers},vc4,v3d,freedreno,kmsro,lima,panfrost,etnaviv,tegra"
|
||||||
subpackages="$subpackages
|
_gallium_provides="$_gallium_provides
|
||||||
$pkgname-dri-vc4:_dri
|
$pkgname-dri-vc4=$pkgver-r$pkgrel
|
||||||
$pkgname-dri-v3d:_dri
|
$pkgname-dri-v3d=$pkgver-r$pkgrel
|
||||||
$pkgname-dri-kmsro:_dri
|
$pkgname-dri-freedreno=$pkgver-r$pkgrel
|
||||||
$pkgname-dri-lima:_dri
|
$pkgname-dri-kmsro=$pkgver-r$pkgrel
|
||||||
$pkgname-dri-panfrost:_dri
|
$pkgname-dri-lima=$pkgver-r$pkgrel
|
||||||
$pkgname-dri-etnaviv:_dri
|
$pkgname-dri-panfrost=$pkgver-r$pkgrel
|
||||||
$pkgname-dri-tegra:_dri
|
$pkgname-dri-etnaviv=$pkgver-r$pkgrel
|
||||||
|
$pkgname-dri-tegra=$pkgver-r$pkgrel
|
||||||
"
|
"
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
@ -128,7 +135,7 @@ build() {
|
||||||
--sysconfdir=/etc \
|
--sysconfdir=/etc \
|
||||||
--mandir=/usr/share/man \
|
--mandir=/usr/share/man \
|
||||||
--localstatedir=/var \
|
--localstatedir=/var \
|
||||||
--buildtype=release \
|
--buildtype=debugoptimized \
|
||||||
-Ddri-drivers-path=$_dri_driverdir \
|
-Ddri-drivers-path=$_dri_driverdir \
|
||||||
-Dgallium-drivers=$_gallium_drivers \
|
-Dgallium-drivers=$_gallium_drivers \
|
||||||
-Ddri-drivers=$_dri_drivers \
|
-Ddri-drivers=$_dri_drivers \
|
||||||
|
@ -169,7 +176,7 @@ package() {
|
||||||
|
|
||||||
egl() {
|
egl() {
|
||||||
pkgdesc="Mesa libEGL runtime libraries"
|
pkgdesc="Mesa libEGL runtime libraries"
|
||||||
depends="mesa-git"
|
depends="$pkgname"
|
||||||
replaces="mesa-egl"
|
replaces="mesa-egl"
|
||||||
provides="mesa-egl"
|
provides="mesa-egl"
|
||||||
|
|
||||||
|
@ -179,7 +186,7 @@ egl() {
|
||||||
|
|
||||||
gl() {
|
gl() {
|
||||||
pkgdesc="Mesa libGL runtime libraries"
|
pkgdesc="Mesa libGL runtime libraries"
|
||||||
depends="mesa-git"
|
depends="$pkgname"
|
||||||
replaces="mesa-gl"
|
replaces="mesa-gl"
|
||||||
provides="mesa-gl"
|
provides="mesa-gl"
|
||||||
|
|
||||||
|
@ -189,6 +196,7 @@ gl() {
|
||||||
|
|
||||||
glapi() {
|
glapi() {
|
||||||
pkgdesc="Mesa shared glapi"
|
pkgdesc="Mesa shared glapi"
|
||||||
|
depends="$pkgname"
|
||||||
replaces="mesa-gles mesa-glapi"
|
replaces="mesa-gles mesa-glapi"
|
||||||
provides="mesa-glapi"
|
provides="mesa-glapi"
|
||||||
|
|
||||||
|
@ -198,7 +206,7 @@ glapi() {
|
||||||
|
|
||||||
gles() {
|
gles() {
|
||||||
pkgdesc="Mesa libGLESv2 runtime libraries"
|
pkgdesc="Mesa libGLESv2 runtime libraries"
|
||||||
depends="mesa-git"
|
depends="$pkgname"
|
||||||
replaces="mesa-gles"
|
replaces="mesa-gles"
|
||||||
provides="mesa-gles"
|
provides="mesa-gles"
|
||||||
|
|
||||||
|
@ -208,7 +216,7 @@ gles() {
|
||||||
|
|
||||||
xatracker() {
|
xatracker() {
|
||||||
pkgdesc="Mesa XA state tracker for vmware"
|
pkgdesc="Mesa XA state tracker for vmware"
|
||||||
depends="mesa-git"
|
depends="$pkgname"
|
||||||
replaces="mesa-xatracker"
|
replaces="mesa-xatracker"
|
||||||
provides="mesa-xatracker"
|
provides="mesa-xatracker"
|
||||||
|
|
||||||
|
@ -218,7 +226,7 @@ xatracker() {
|
||||||
|
|
||||||
osmesa() {
|
osmesa() {
|
||||||
pkgdesc="Mesa offscreen rendering libraries"
|
pkgdesc="Mesa offscreen rendering libraries"
|
||||||
depends="mesa-git"
|
depends="$pkgname"
|
||||||
replaces="mesa-osmesa"
|
replaces="mesa-osmesa"
|
||||||
provides="mesa-osmesa"
|
provides="mesa-osmesa"
|
||||||
|
|
||||||
|
@ -228,7 +236,7 @@ osmesa() {
|
||||||
|
|
||||||
gbm() {
|
gbm() {
|
||||||
pkgdesc="Mesa gbm library"
|
pkgdesc="Mesa gbm library"
|
||||||
depends="mesa-git"
|
depends="$pkgname"
|
||||||
replaces="mesa-gbm"
|
replaces="mesa-gbm"
|
||||||
provides="mesa-gbm"
|
provides="mesa-gbm"
|
||||||
|
|
||||||
|
@ -236,42 +244,14 @@ gbm() {
|
||||||
mv "$pkgdir"/usr/lib/libgbm.so.* "$subpkgdir"/usr/lib/
|
mv "$pkgdir"/usr/lib/libgbm.so.* "$subpkgdir"/usr/lib/
|
||||||
}
|
}
|
||||||
|
|
||||||
dev() {
|
# Move links referencing the same file to the subpackage.
|
||||||
replaces="mesa-dev"
|
# Usage: _mv_links <base directory> <example>
|
||||||
provides="mesa-dev"
|
# where <example> is one of the libraries covered by the megadriver.
|
||||||
|
# The example is used to find other links that point to the same file.
|
||||||
default_dev
|
_mv_links() {
|
||||||
}
|
install -d "$subpkgdir"/$1
|
||||||
|
find -L "$pkgdir"/$1 -samefile "$pkgdir"/$1/$2 -print0 \
|
||||||
_mv_dri() {
|
| xargs -0 -I{} mv {} "$subpkgdir"/$1/
|
||||||
install -d "$subpkgdir"/$_dri_driverdir
|
|
||||||
|
|
||||||
while [ $# -gt 0 ]; do
|
|
||||||
mv "$pkgdir"/$_dri_driverdir/$1.so \
|
|
||||||
"$subpkgdir"/$_dri_driverdir/
|
|
||||||
shift
|
|
||||||
done
|
|
||||||
}
|
|
||||||
|
|
||||||
_mv_vdpau() {
|
|
||||||
local i
|
|
||||||
install -d "$subpkgdir"/usr/lib/vdpau
|
|
||||||
for i in "$@"; do
|
|
||||||
mv "$pkgdir"/usr/lib/vdpau/libvdpau_$i.* \
|
|
||||||
"$subpkgdir"/usr/lib/vdpau/
|
|
||||||
done
|
|
||||||
}
|
|
||||||
|
|
||||||
_mv_gpipe() {
|
|
||||||
return 0
|
|
||||||
# http://cgit.freedesktop.org/mesa/mesa/commit/?id=44ec468e8033553c26a112cebba41c343db00eb1
|
|
||||||
# https://code.google.com/p/chromium/issues/detail?id=412089
|
|
||||||
# local i
|
|
||||||
# install -d "$subpkgdir"/usr/lib/gallium-pipe
|
|
||||||
# for i in "$@"; do
|
|
||||||
# mv "$pkgdir"/usr/lib/gallium-pipe/pipe_$i.* \
|
|
||||||
# "$subpkgdir"/usr/lib/gallium-pipe/
|
|
||||||
# done
|
|
||||||
}
|
}
|
||||||
|
|
||||||
_mv_vulkan() {
|
_mv_vulkan() {
|
||||||
|
@ -284,78 +264,77 @@ _mv_vulkan() {
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
_mv_va() {
|
# Mesa uses "megadrivers" where multiple drivers are linked into one shared
|
||||||
local i
|
# library. This library is then hard-linked to separate files (one for each driver).
|
||||||
install -d "$subpkgdir"/usr/lib/dri
|
# Each subpackage contains one megadriver so that all the hard-links are preserved.
|
||||||
for i in "$@"; do
|
|
||||||
mv "$pkgdir"/usr/lib/dri/${i}_drv_video.so \
|
|
||||||
"$subpkgdir"/usr/lib/dri/
|
|
||||||
done
|
|
||||||
}
|
|
||||||
|
|
||||||
_dri() {
|
_dri() {
|
||||||
local n=${subpkgname##*-dri-}
|
local n=${subpkgname##*-dri-}
|
||||||
pkgdesc="(Git) Mesa DRI driver for $n"
|
pkgdesc="Mesa $n DRI drivers (Git)"
|
||||||
depends="mesa-git"
|
depends="$pkgname"
|
||||||
provides="mesa-dri-$n"
|
provides="mesa-dri-$n"
|
||||||
replaces="mesa-dri-$n"
|
replaces="mesa-dri-$n"
|
||||||
|
|
||||||
case $n in
|
case $n in
|
||||||
ati)
|
classic)
|
||||||
_mv_dri radeon_dri r200_dri r300_dri r600_dri radeonsi_dri \
|
# libmesa_dri_drivers.so
|
||||||
&& _mv_vdpau r300 r600 radeonsi \
|
_mv_links $_dri_driverdir radeon_dri.so ;;
|
||||||
&& _mv_gpipe r300 r600 \
|
gallium)
|
||||||
&& _mv_va r600 radeonsi
|
# libgallium_dri.so
|
||||||
;;
|
_mv_links $_dri_driverdir swrast_dri.so
|
||||||
intel)
|
provides="$provides $_gallium_provides"
|
||||||
_mv_dri i915_dri i965_dri iris_dri
|
|
||||||
;;
|
|
||||||
nouveau)
|
|
||||||
_mv_dri nouveau_dri nouveau_vieux_dri \
|
|
||||||
&& _mv_vdpau nouveau \
|
|
||||||
&& _mv_gpipe nouveau \
|
|
||||||
&& _mv_va nouveau
|
|
||||||
;;
|
|
||||||
freedreno)
|
|
||||||
_mv_dri msm_dri kgsl_dri
|
|
||||||
;;
|
|
||||||
swrast)
|
|
||||||
_mv_dri swrast_dri kms_swrast_dri && _mv_gpipe swrast
|
|
||||||
;;
|
|
||||||
vc4)
|
|
||||||
_mv_dri vc4_dri
|
|
||||||
;;
|
|
||||||
v3d)
|
|
||||||
_mv_dri v3d_dri
|
|
||||||
;;
|
|
||||||
vmwgfx)
|
|
||||||
_mv_dri vmwgfx_dri && _mv_gpipe vmwgfx
|
|
||||||
;;
|
|
||||||
virtio)
|
|
||||||
_mv_dri virtio_gpu_dri
|
|
||||||
;;
|
|
||||||
kmsro)
|
|
||||||
_mv_dri exynos_dri hx8357d_dri ili9225_dri ili9341_dri ingenic-drm_dri mcde_dri meson_dri mi0283qt_dri mxsfb-drm_dri pl111_dri repaper_dri rockchip_dri st7586_dri st7735r_dri stm_dri sun4i-drm_dri
|
|
||||||
;;
|
|
||||||
lima)
|
|
||||||
_mv_dri lima_dri
|
|
||||||
;;
|
|
||||||
panfrost)
|
|
||||||
_mv_dri panfrost_dri
|
|
||||||
;;
|
|
||||||
etnaviv)
|
|
||||||
_mv_dri armada-drm_dri imx-drm_dri etnaviv_dri
|
|
||||||
;;
|
|
||||||
tegra)
|
|
||||||
_mv_dri tegra_dri
|
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Compatibility packages for upgrading from the old (driver-specific) subpackages
|
||||||
|
_dri_deprecated() {
|
||||||
|
local n=${subpkgname##*-dri-}
|
||||||
|
pkgdesc="Mesa DRI drivers for $n (DEPRECATED, Git)"
|
||||||
|
depends="$pkgname-dri-classic $pkgname-dri-gallium"
|
||||||
|
provides="mesa-dri-$n"
|
||||||
|
replaces="mesa-dri-$n"
|
||||||
|
|
||||||
|
case $n in
|
||||||
|
ati|nouveau)
|
||||||
|
depends="$depends $pkgname-va-gallium $pkgname-vdpau-gallium" ;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
mkdir "$subpkgdir"
|
||||||
|
}
|
||||||
|
|
||||||
|
_va() {
|
||||||
|
local n=${subpkgname##*-va-}
|
||||||
|
pkgdesc="Mesa $n VAAPI drivers (Git)"
|
||||||
|
depends="$pkgname libva"
|
||||||
|
provides="mesa-va-$n"
|
||||||
|
replaces="mesa-va-$n"
|
||||||
|
|
||||||
|
case $n in
|
||||||
|
gallium)
|
||||||
|
# libgallium_drv_video.so
|
||||||
|
_mv_links /usr/lib/dri radeonsi_drv_video.so ;;
|
||||||
|
esac
|
||||||
|
}
|
||||||
|
|
||||||
|
_vdpau() {
|
||||||
|
local n=${subpkgname##*-vdpau-}
|
||||||
|
pkgdesc="Mesa $n VDPAU drivers (Git)"
|
||||||
|
depends="$pkgname libvdpau"
|
||||||
|
provides="mesa-vdpau-$n"
|
||||||
|
replaces="mesa-vdpau-$n"
|
||||||
|
|
||||||
|
case $n in
|
||||||
|
gallium)
|
||||||
|
# libvdpau_gallium.so.1.0.0
|
||||||
|
_mv_links /usr/lib/vdpau libvdpau_radeonsi.so.1.0.0 ;;
|
||||||
|
esac
|
||||||
|
}
|
||||||
|
|
||||||
_vulkan() {
|
_vulkan() {
|
||||||
local n=${subpkgname##*-vulkan-}
|
local n=${subpkgname##*-vulkan-}
|
||||||
pkgdesc="(Git) Mesa Vulkan API driver for $n"
|
pkgdesc="Mesa Vulkan API driver for $n (Git)"
|
||||||
depends="mesa-git"
|
depends="$pkgname"
|
||||||
replaces="mesa-vulkan-$n"
|
replaces="mesa-vulkan-$n"
|
||||||
provides="mesa-vulkan-$n"
|
provides="mesa-vulkan-$n"
|
||||||
|
|
||||||
|
@ -369,6 +348,9 @@ _vulkan() {
|
||||||
|
|
||||||
_vulkan_layer() {
|
_vulkan_layer() {
|
||||||
pkgdesc="Vulkan overlay layer to display information about the application"
|
pkgdesc="Vulkan overlay layer to display information about the application"
|
||||||
|
depends="$pkgname"
|
||||||
|
replaces="mesa-vulkan-layer"
|
||||||
|
provides="mesa-vulkan-layer"
|
||||||
|
|
||||||
mkdir -p "$subpkgdir"/usr/share/vulkan "$subpkgdir"/usr/lib
|
mkdir -p "$subpkgdir"/usr/share/vulkan "$subpkgdir"/usr/lib
|
||||||
mv "$pkgdir"/usr/share/vulkan/explicit_layer.d "$subpkgdir"/usr/share/vulkan
|
mv "$pkgdir"/usr/share/vulkan/explicit_layer.d "$subpkgdir"/usr/share/vulkan
|
||||||
|
|
Loading…
Reference in a new issue