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:
Minecrell 2020-01-19 12:47:52 +01:00 committed by Martijn Braam
parent 10d8f5d4b0
commit 1943ead268
No known key found for this signature in database
GPG key ID: C4280ACB000B060F

View file

@ -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