summaryrefslogblamecommitdiff
path: root/user/mesa/APKBUILD
blob: b6684032d73fc1d5ec358186260d3c5d8e008378 (plain) (tree)
1
2
3
4
5
6
7
8
9
                                                 
            
             
        
                                 
                            
          
                                  
                                                             
          
                                                                              






                                                                               
                                                                
                                   
                               
         
                                        
                           
                                                                    
                     
                
            
                                                        
                                                  
          
               
                                                                                                  


                                            

                                   
    
         











                                                     

           
                                                


















                                               
                                 












                                                  
                                                  











                                                    
                                  




                                          






                                                                                  
 











                                                                          
 
                                                                                                                                                                
                                                                                                                                                             
                                                                                                                                                          
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=mesa
pkgver=19.3.1
_llvmver=8
pkgrel=0
pkgdesc="Mesa DRI OpenGL library"
url="https://www.mesa3d.org"
arch="all"
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
	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 zlib-dev"
subpackages="$pkgname-dev $pkgname-dri
	$pkgname-glapi $pkgname-egl $pkgname-gl $pkgname-gles
	$pkgname-xatracker $pkgname-osmesa $pkgname-gbm"
#	requires glslang: $pkgname-vulkan-overlay
source="https://mesa.freedesktop.org/archive/mesa-$pkgver.tar.xz
	amdgpu-pthread-header.patch
	musl-fixes.patch
	musl-fix-includes.patch
	"

_dri_driverdir=/usr/lib/xorg/modules/dri
_dri_drivers="r200,nouveau"
_gallium_drivers="r300,r600,radeonsi,nouveau,freedreno,swrast,virgl"
_vulkan_drivers="amd"

case "$CARCH" in
x86* | pmmx)
	_dri_drivers="${_dri_drivers},i965"
	_gallium_drivers="${_gallium_drivers},i915,svga"
	_vulkan_drivers="${_vulkan_drivers},intel"
	;;
aarch64 | arm*)
	_gallium_drivers="${_gallium_drivers},vc4,freedreno,tegra,kmsro,v3d,lima,panfrost,etnativ"
	_vulkan_drivers="${_vulkan_drivers},freedreno"
	case "$CARCH" in
	armhf) CFLAGS="$CFLAGS -mfpu=neon";;
	esac
	;;
ppc64)
	_arch_conf="-Dpower8=false"
	;;
esac

build() {
	meson \
		-Dprefix=/usr \
		-Ddri-drivers-path=$_dri_driverdir \
		-Dplatforms=x11,drm,surfaceless \
		-Ddri-drivers=$_dri_drivers \
		-Dgallium-drivers=$_gallium_drivers \
		-Dvulkan-drivers=$_vulkan_drivers \
		-Dosmesa=gallium \
		-Duse-elf-tls=false \
		$_arch_conf \
		build

	ninja -C build
}

package() {
	DESTDIR="$pkgdir" ninja -C build install
}

egl() {
	replaces="mesa"
	pkgdesc="Mesa libEGL runtime libraries"
	install -d "$subpkgdir"/usr/lib
	mv "$pkgdir"/usr/lib/libEGL.so* \
		"$subpkgdir"/usr/lib/
}

gl() {
	replaces="mesa"
	pkgdesc="Mesa libGL runtime libraries"
	install -d "$subpkgdir"/usr/lib
	mv "$pkgdir"/usr/lib/libGL.so* \
		"$subpkgdir"/usr/lib/
}

glapi() {
	replaces="$pkgname-gles"
	pkgdesc="Mesa OpenGL API"
	install -d "$subpkgdir"/usr/lib
	mv "$pkgdir"/usr/lib/libglapi.so.* \
		"$subpkgdir"/usr/lib/
}

gles() {
	replaces="mesa"
	pkgdesc="Mesa libGLESv2 runtime libraries"
	install -d "$subpkgdir"/usr/lib
	mv "$pkgdir"/usr/lib/libGLES*.so* \
		"$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/
}

vulkan_overlay() {
	pkgdesc="Vulkan layer to display information about the current window"
	install -d "$subpkgdir"/usr/lib
	install -d "$subpkgdir"/usr/share/vulkan/explicit_layer.d
	mv "$pkgdir"/usr/lib/libVkLayer_MESA_overlay.so \
		"$subpkgdir"/usr/lib
	mv "$pkgdir"/usr/share/vulkan/explicit_layer.d/VkLayer_MESA_overlay.json \
		"$subpkgdir"/usr/share/vulkan/explicit_layer.d/
}

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"
	install -d "$subpkgdir"/usr/lib
	install -d "$subpkgdir"/usr/share/vulkan
	install -d "$subpkgdir"/$_dri_driverdir
	mv "$pkgdir"/usr/lib/dri "$subpkgdir"/usr/lib/
	# XvMC drivers
	mv "$pkgdir"/usr/lib/libXvMC*.so* "$subpkgdir"/usr/lib/
	mv "$pkgdir"/usr/lib/vdpau "$subpkgdir"/usr/lib/
	mv "$pkgdir"/usr/share/vulkan/icd.d "$subpkgdir"/usr/share/vulkan/
}

sha512sums="338d2e37122ef22cc4e27a2f3c39e23e419703a507ace99383c749a563936c5f0428cce9a68ac80d0bd2ff57be8a55f42aee0ed6d16bf6b77b4e59d428729568  mesa-19.3.1.tar.xz
245d0d64d858dfadeeb544f31f7d0bb6ecb746a7fd5ec99755d679ae1a1eef4198d66473fb24d333eb6786bb8657012771e8285d67f165dc61a031df801947aa  amdgpu-pthread-header.patch
9f7a050f09571a2b17098d495b82e2e85b293fb7285e7d6d7c3c48cd4220a1bdcc61a7321ba78dd14860939ecabe7e89b32d6110f3728f793273e1e26b78a553  musl-fixes.patch
c7d91a660a033df91fac9c557039efc8669f0c26b2d35997d50753938b70d1af0bd110dcab3f8236eafab7d4be5dd7cd128a3e057e67e7e6a38a73fd6a7ef62e  musl-fix-includes.patch"