summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorVi0L02018-04-29 18:04:08 +0200
committerVi0L02018-04-29 18:04:08 +0200
commit17ba3289e4fea2e4e90b4ee1c2123fd9f6d1d838 (patch)
tree6bc413d5adc114441dc8452e0e896c985b2bbc93
parent3fcb34180b103f0d2c5fb0c08c1f6f0e6e749dc9 (diff)
downloadaur-17ba3289e4fea2e4e90b4ee1c2123fd9f6d1d838.tar.gz
18.0.2
-rw-r--r--.SRCINFO42
-rw-r--r--0001-glvnd-fix-gl-dot-pc.patch (renamed from 0002-glvnd-fix-gl-dot-pc.patch)0
-rw-r--r--0004-meson-Add-library-versions-to-swr-drivers.patch71
-rw-r--r--0005-meson-Version-libMesaOpenCL-like-autotools-does.patch43
-rw-r--r--LICENSE87
-rw-r--r--PKGBUILD211
-rw-r--r--swr-rast-do-not-crash-on-NULL-strings-returned-by-getenv.patch14
7 files changed, 311 insertions, 157 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 516a0a3b3aa1..1daa75b85aa6 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,5 +1,7 @@
+# Generated by mksrcinfo v8
+# Sun Apr 29 16:03:50 UTC 2018
pkgbase = lib32-mesa-noglvnd
- pkgver = 17.2.2
+ pkgver = 18.0.2
pkgrel = 1
url = https://www.mesa3d.org/
arch = x86_64
@@ -22,16 +24,21 @@ pkgbase = lib32-mesa-noglvnd
makedepends = lib32-libvdpau
makedepends = lib32-wayland
makedepends = lib32-lm_sensors
- source = https://mesa.freedesktop.org/archive/mesa-17.2.2.tar.xz
- source = https://mesa.freedesktop.org/archive/mesa-17.2.2.tar.xz.sig
+ makedepends = wayland-protocols
+ makedepends = lib32-libva
+ makedepends = meson
+ source = https://mesa.freedesktop.org/archive/mesa-18.0.2.tar.xz
+ source = https://mesa.freedesktop.org/archive/mesa-18.0.2.tar.xz.sig
source = LICENSE
- source = 0002-glvnd-fix-gl-dot-pc.patch
- source = swr-rast-do-not-crash-on-NULL-strings-returned-by-getenv.patch
- sha256sums = cf522244d6a5a1ecde3fc00e7c96935253fe22f808f064cab98be6f3faa65782
- sha256sums = SKIP
- sha256sums = 7fdc119cf53c8ca65396ea73f6d10af641ba41ea1dd2bd44a824726e01c8b3f2
- sha256sums = 64a77944a28026b066c1682c7258d02289d257b24b6f173a9f7580c48beed966
- sha256sums = 2dcbd3b311b18e473000fb496a93a4a7a4ae9f9413aace209c0ea4aebbba715b
+ source = 0001-glvnd-fix-gl-dot-pc.patch
+ source = 0004-meson-Add-library-versions-to-swr-drivers.patch
+ source = 0005-meson-Version-libMesaOpenCL-like-autotools-does.patch
+ sha512sums = 77d24d01c4c22596d28421aeb74932ff232730a4f556ae1a2e8777ece2876e4e352679575385c065505df4a2a83d2c1cf30db92dcf88038417e36a2768332d7e
+ sha512sums = SKIP
+ sha512sums = f9f0d0ccf166fe6cb684478b6f1e1ab1f2850431c06aa041738563eb1808a004e52cdec823c103c9e180f03ffc083e95974d291353f0220fe52ae6d4897fecc7
+ sha512sums = 75849eca72ca9d01c648d5ea4f6371f1b8737ca35b14be179e14c73cc51dca0739c333343cdc228a6d464135f4791bcdc21734e2debecd29d57023c8c088b028
+ sha512sums = 0f5da6e48885713c7ddef9e5715e178e0a499bcb622d7f19e15b9e4b4647331d7bf14829218b6ab80f17bae90fd95b8df6a0a81203d8081686805ca5329531ff
+ sha512sums = d3c01f61a0a0cc2f01e66e0126ad8b6386d4a53c1dc1b3b134800e4cd25507e458bac860cbed10cf4b46b04e8d50aba233870587b89c058fffd57436b48289bf
pkgname = lib32-vulkan-intel-noglvnd
pkgdesc = Intel's Vulkan mesa driver (32-bit) - non-libglvnd version
@@ -53,7 +60,6 @@ pkgname = lib32-vulkan-radeon-noglvnd
depends = lib32-llvm-libs
depends = lib32-libdrm
depends = lib32-libelf
- depends = lib32-lm_sensors
depends = lib32-libxshmfence
provides = lib32-vulkan-driver
provides = lib32-vulkan-radeon
@@ -62,6 +68,20 @@ pkgname = lib32-vulkan-radeon-noglvnd
replaces = lib32-vulkan-radeon
replaces = lib32-vulkan-radeon-git
+pkgname = lib32-libva-mesa-driver-noglvnd
+ pkgdesc = VA-API implementation for gallium (32-bit) - non-libglvnd version
+ depends = lib32-libdrm
+ depends = lib32-libx11
+ depends = lib32-expat
+ depends = lib32-llvm-libs
+ depends = lib32-libelf
+ depends = lib32-libxshmfence
+ provides = lib32-libva-mesa-driver
+ conflicts = lib32-libva-mesa-driver
+ conflicts = lib32-libva-mesa-driver-git
+ replaces = lib32-libva-mesa-driver
+ replaces = lib32-libva-mesa-driver-git
+
pkgname = lib32-mesa-vdpau-noglvnd
pkgdesc = Mesa VDPAU drivers (32-bit) - non-libglvnd version
depends = lib32-libdrm
diff --git a/0002-glvnd-fix-gl-dot-pc.patch b/0001-glvnd-fix-gl-dot-pc.patch
index 68118f45efe8..68118f45efe8 100644
--- a/0002-glvnd-fix-gl-dot-pc.patch
+++ b/0001-glvnd-fix-gl-dot-pc.patch
diff --git a/0004-meson-Add-library-versions-to-swr-drivers.patch b/0004-meson-Add-library-versions-to-swr-drivers.patch
new file mode 100644
index 000000000000..b9ae485dfc30
--- /dev/null
+++ b/0004-meson-Add-library-versions-to-swr-drivers.patch
@@ -0,0 +1,71 @@
+From cd56731b2c63532d6ed97f7b39afa5977936b3bc Mon Sep 17 00:00:00 2001
+Message-Id: <cd56731b2c63532d6ed97f7b39afa5977936b3bc.1523725229.git.jan.steffens@gmail.com>
+In-Reply-To: <ac8faf2b14ed1c9ce518eddfc9c5098b6f9c74dd.1523725229.git.jan.steffens@gmail.com>
+References: <ac8faf2b14ed1c9ce518eddfc9c5098b6f9c74dd.1523725229.git.jan.steffens@gmail.com>
+From: "Jan Alexander Steffens (heftig)" <jan.steffens@gmail.com>
+Date: Sat, 14 Apr 2018 18:43:23 +0200
+Subject: [PATCH 4/5] meson: Add library versions to swr drivers
+
+This is for parity with autotools.
+
+Signed-off-by: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
+---
+ src/gallium/drivers/swr/meson.build | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/src/gallium/drivers/swr/meson.build b/src/gallium/drivers/swr/meson.build
+index 43e1c5cc50..a6dbd7a3f6 100644
+--- a/src/gallium/drivers/swr/meson.build
++++ b/src/gallium/drivers/swr/meson.build
+@@ -198,6 +198,7 @@ if with_swr_arches.contains('avx')
+ link_args : [ld_args_gc_sections],
+ include_directories : [swr_incs],
+ dependencies : [dep_thread, dep_llvm],
++ version : '0.0.0',
+ install : true,
+ )
+ endif
+@@ -230,6 +231,7 @@ if with_swr_arches.contains('avx2')
+ link_args : [ld_args_gc_sections],
+ include_directories : [swr_incs],
+ dependencies : [dep_thread, dep_llvm],
++ version : '0.0.0',
+ install : true,
+ )
+ endif
+@@ -257,30 +259,32 @@ if with_swr_arches.contains('knl')
+ link_args : [ld_args_gc_sections],
+ include_directories : [swr_incs],
+ dependencies : [dep_thread, dep_llvm],
++ version : '0.0.0',
+ install : true,
+ )
+ endif
+
+ if with_swr_arches.contains('skx')
+ swr_skx_args = cpp.first_supported_argument(
+ '-target-cpu=x86-skylake', '-march=skylake-avx512', '-xCORE-AVX512',
+ prefix : '''
+ #if !defined(__AVX512F__) || !defined(__AVX512BW__)
+ # error
+ #endif ''',
+ )
+ if swr_skx_args == []
+ error('Cannot find SKX support for swr.')
+ endif
+
+ swr_arch_defines += '-DHAVE_SWR_SKX'
+ swr_arch_libs += shared_library(
+ 'swrSKX',
+ [files_swr_common, files_swr_arch],
+ cpp_args : [swr_cpp_args, swr_skx_args, '-DKNOB_ARCH=KNOB_ARCH_AVX512'],
+ link_args : [ld_args_gc_sections],
+ include_directories : [swr_incs],
+ dependencies : [dep_thread, dep_llvm],
++ version : '0.0.0',
+ install : true,
+ )
+ endif
+--
+2.16.2
+
diff --git a/0005-meson-Version-libMesaOpenCL-like-autotools-does.patch b/0005-meson-Version-libMesaOpenCL-like-autotools-does.patch
new file mode 100644
index 000000000000..de93fc31afff
--- /dev/null
+++ b/0005-meson-Version-libMesaOpenCL-like-autotools-does.patch
@@ -0,0 +1,43 @@
+From 064f328419936a8a5df2b0474ae76196d92e6fa0 Mon Sep 17 00:00:00 2001
+Message-Id: <064f328419936a8a5df2b0474ae76196d92e6fa0.1523725229.git.jan.steffens@gmail.com>
+In-Reply-To: <ac8faf2b14ed1c9ce518eddfc9c5098b6f9c74dd.1523725229.git.jan.steffens@gmail.com>
+References: <ac8faf2b14ed1c9ce518eddfc9c5098b6f9c74dd.1523725229.git.jan.steffens@gmail.com>
+From: "Jan Alexander Steffens (heftig)" <jan.steffens@gmail.com>
+Date: Sat, 14 Apr 2018 18:49:14 +0200
+Subject: [PATCH 5/5] meson: Version libMesaOpenCL like autotools does
+
+This is for parity with autotools. It names the library
+libMesaOpenCL.so.1.0.0 and points mesa.icd to the .1 symlink.
+
+opencl_version now matches configure.ac's OPENCL_VERSION.
+
+Signed-off-by: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
+---
+ src/gallium/targets/opencl/meson.build | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/gallium/targets/opencl/meson.build b/src/gallium/targets/opencl/meson.build
+index bebe0547d4..317ad8dab4 100644
+--- a/src/gallium/targets/opencl/meson.build
++++ b/src/gallium/targets/opencl/meson.build
+@@ -20,7 +20,7 @@
+
+ opencl_link_args = []
+ opencl_link_deps = []
+-opencl_version = '1.0'
++opencl_version = '1'
+
+ if with_ld_version_script
+ opencl_link_args += [
+@@ -55,7 +55,7 @@ libopencl = shared_library(
+ cpp.find_library('clangLex', dirs : llvm_libdir),
+ cpp.find_library('clangBasic', dirs : llvm_libdir),
+ ],
+- version : opencl_version,
++ version : '@0@.0.0'.format(opencl_version),
+ install : true,
+ )
+
+--
+2.16.2
+
diff --git a/LICENSE b/LICENSE
index ae33d2709c44..060f4a925b9b 100644
--- a/LICENSE
+++ b/LICENSE
@@ -1,33 +1,34 @@
+The Mesa 3D Graphics Library
+
Disclaimer
-Mesa is a 3-D graphics library with an API which is very similar to
-that of OpenGL*
-To the extent that Mesa utilizes the OpenGL command syntax or state
-machine, it is being used with authorization from Silicon Graphics,
-Inc.(SGI). However, the author does not possess an OpenGL license
-from SGI, and makes no claim that Mesa is in any way a compatible
-replacement for OpenGL or associated with SGI. Those who want a
-licensed implementation of OpenGL should contact a licensed
-vendor.
+ Mesa is a 3-D graphics library with an API which is very similar to
+ that of [1]OpenGL.* To the extent that Mesa utilizes the OpenGL command
+ syntax or state machine, it is being used with authorization from
+ [2]Silicon Graphics, Inc.(SGI). However, the author does not possess an
+ OpenGL license from SGI, and makes no claim that Mesa is in any way a
+ compatible replacement for OpenGL or associated with SGI. Those who
+ want a licensed implementation of OpenGL should contact a licensed
+ vendor.
-Please do not refer to the library as MesaGL (for legal
-reasons). It's just Mesa or The Mesa 3-D graphics
-library
+ Please do not refer to the library as MesaGL (for legal reasons). It's
+ just Mesa or The Mesa 3-D graphics library.
-* OpenGL is a trademark of Silicon Graphics Incorporated.
+ * OpenGL is a trademark of [3]Silicon Graphics Incorporated.
License / Copyright Information
-The Mesa distribution consists of several components. Different copyrights
-and licenses apply to different components. For example, GLUT is copyrighted
-by Mark Kilgard, some demo programs are copyrighted by SGI, some of the Mesa
-device drivers are copyrighted by their authors. See below for a list of
-Mesa's main components and the license for each.
+ The Mesa distribution consists of several components. Different
+ copyrights and licenses apply to different components. For example, the
+ GLX client code uses the SGI Free Software License B, and some of the
+ Mesa device drivers are copyrighted by their authors. See below for a
+ list of Mesa's main components and the license for each.
-The core Mesa library is licensed according to the terms of the MIT license.
-This allows integration with the XFree86, Xorg and DRI projects.
+ The core Mesa library is licensed according to the terms of the MIT
+ license. This allows integration with the XFree86, Xorg and DRI
+ projects.
-The default Mesa license is as follows:
+ The default Mesa license is as follows:
Copyright (C) 1999-2007 Brian Paul All Rights Reserved.
@@ -44,39 +45,39 @@ in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
-BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
Attention, Contributors
-When contributing to the Mesa project you must agree to the licensing terms
-of the component to which you're contributing.
-The following section lists the primary components of the Mesa distribution
-and their respective licenses.
-
+ When contributing to the Mesa project you must agree to the licensing
+ terms of the component to which you're contributing. The following
+ section lists the primary components of the Mesa distribution and their
+ respective licenses.
Mesa Component Licenses
-Component Location Primary Author License
-----------------------------------------------------------------------------
-Main Mesa code src/mesa/ Brian Paul Mesa (MIT)
+Component Location License
+------------------------------------------------------------------
+Main Mesa code src/mesa/ MIT
-Device drivers src/mesa/drivers/* See drivers See drivers
+Device drivers src/mesa/drivers/* MIT, generally
-Ext headers include/GL/glext.h SGI SGI Free B
- include/GL/glxext.h
+Gallium code src/gallium/ MIT
-GLUT src/glut/ Mark Kilgard Mark's copyright
-
-Mesa GLU library src/glu/mesa/ Brian Paul GNU-LGPL
+Ext headers include/GL/glext.h Khronos
+ include/GL/glxext.h
-SGI GLU library src/glu/sgi/ SGI SGI Free B
+GLX client code src/glx/ SGI Free Software License B
-demo programs progs/demos/ various see source files
+C11 thread include/c11/threads*.h Boost (permissive) emulation
-X demos progs/xdemos/ Brian Paul see source files
+ In general, consult the source files for license terms.
-SGI demos progs/samples/ SGI SGI copyright
+References
-RedBook demos progs/redbook/ SGI SGI copyright
+ 1. https://www.opengl.org/
+ 2. https://www.sgi.com/
+ 3. https://www.sgi.com/
diff --git a/PKGBUILD b/PKGBUILD
index a700f23e7c91..6efcc4cd4296 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -4,40 +4,41 @@
# Contributor: Andreas Radke <andyrtr@archlinux.org>
pkgbase=lib32-mesa-noglvnd
-pkgname=('lib32-vulkan-intel-noglvnd' 'lib32-vulkan-radeon-noglvnd' 'lib32-mesa-vdpau-noglvnd' 'lib32-mesa-noglvnd' 'lib32-mesa-libgl-noglvnd')
-pkgver=17.2.2
+pkgname=('lib32-vulkan-intel-noglvnd' 'lib32-vulkan-radeon-noglvnd' 'lib32-libva-mesa-driver-noglvnd' 'lib32-mesa-vdpau-noglvnd' 'lib32-mesa-noglvnd' 'lib32-mesa-libgl-noglvnd')
+pkgver=18.0.2
pkgrel=1
arch=('x86_64')
makedepends=('python2-mako' 'lib32-libxml2' 'lib32-expat' 'lib32-libx11' 'glproto' 'lib32-libdrm' 'dri2proto' 'dri3proto' 'presentproto'
'lib32-libxshmfence' 'lib32-libxxf86vm' 'lib32-libxdamage' 'gcc-multilib' 'lib32-libelf' 'lib32-llvm' 'lib32-libvdpau'
'lib32-wayland'
- 'lib32-lm_sensors')
+ 'lib32-lm_sensors' 'wayland-protocols' 'lib32-libva' 'meson')
url="https://www.mesa3d.org/"
license=('custom')
source=(https://mesa.freedesktop.org/archive/mesa-${pkgver}.tar.xz{,.sig}
- LICENSE
- 0002-glvnd-fix-gl-dot-pc.patch
- swr-rast-do-not-crash-on-NULL-strings-returned-by-getenv.patch)
-sha256sums=('cf522244d6a5a1ecde3fc00e7c96935253fe22f808f064cab98be6f3faa65782'
+ LICENSE
+ 0001-glvnd-fix-gl-dot-pc.patch
+ 0004-meson-Add-library-versions-to-swr-drivers.patch
+ 0005-meson-Version-libMesaOpenCL-like-autotools-does.patch)
+sha512sums=('77d24d01c4c22596d28421aeb74932ff232730a4f556ae1a2e8777ece2876e4e352679575385c065505df4a2a83d2c1cf30db92dcf88038417e36a2768332d7e'
'SKIP'
- '7fdc119cf53c8ca65396ea73f6d10af641ba41ea1dd2bd44a824726e01c8b3f2'
- '64a77944a28026b066c1682c7258d02289d257b24b6f173a9f7580c48beed966'
- '2dcbd3b311b18e473000fb496a93a4a7a4ae9f9413aace209c0ea4aebbba715b')
-validpgpkeys=('8703B6700E7EE06D7A39B8D6EDAE37B02CEB490D') # Emil Velikov <emil.l.velikov@gmail.com>
-validpgpkeys+=('946D09B5E4C9845E63075FF1D961C596A7203456') # "Andres Gomez <tanty@igalia.com>"
-validpgpkeys+=('E3E8F480C52ADD73B278EE78E1ECBE07D7D70895') # Juan Antonio Suárez Romero (Igalia, S.L.) <jasuarez@igalia.com>"
+ 'f9f0d0ccf166fe6cb684478b6f1e1ab1f2850431c06aa041738563eb1808a004e52cdec823c103c9e180f03ffc083e95974d291353f0220fe52ae6d4897fecc7'
+ '75849eca72ca9d01c648d5ea4f6371f1b8737ca35b14be179e14c73cc51dca0739c333343cdc228a6d464135f4791bcdc21734e2debecd29d57023c8c088b028'
+ '0f5da6e48885713c7ddef9e5715e178e0a499bcb622d7f19e15b9e4b4647331d7bf14829218b6ab80f17bae90fd95b8df6a0a81203d8081686805ca5329531ff'
+ 'd3c01f61a0a0cc2f01e66e0126ad8b6386d4a53c1dc1b3b134800e4cd25507e458bac860cbed10cf4b46b04e8d50aba233870587b89c058fffd57436b48289bf')
+validpgpkeys=('8703B6700E7EE06D7A39B8D6EDAE37B02CEB490D' # Emil Velikov <emil.l.velikov@gmail.com>
+ '946D09B5E4C9845E63075FF1D961C596A7203456' # Andres Gomez <tanty@igalia.com>
+ 'E3E8F480C52ADD73B278EE78E1ECBE07D7D70895') # Juan Antonio Suárez Romero (Igalia, S.L.) <jasuarez@igalia.com>"
prepare() {
- cd ${srcdir}/mesa-${pkgver}
+ cd mesa-${pkgver}
# glvnd support patches - from Fedora
# non-upstreamed ones
- patch -Np1 -i ../0002-glvnd-fix-gl-dot-pc.patch
+ patch -Np1 -i ../0001-glvnd-fix-gl-dot-pc.patch
- # swr driver
- patch -Np1 -i ../swr-rast-do-not-crash-on-NULL-strings-returned-by-getenv.patch
-
- autoreconf -fiv
+ # Upstreamed meson fixes
+ patch -Np1 -i ../0004-meson-Add-library-versions-to-swr-drivers.patch
+ patch -Np1 -i ../0005-meson-Version-libMesaOpenCL-like-autotools-does.patch
}
build() {
@@ -45,43 +46,57 @@ build() {
export CXX="g++ -m32"
export PKG_CONFIG_PATH="/usr/lib32/pkgconfig"
export LLVM_CONFIG="/usr/bin/llvm-config32"
-
- cd ${srcdir}/mesa-${pkgver}
-
- ./configure \
- --build=i686-pc-linux-gnu --host=i686-pc-linux-gnu \
+
+ arch-meson mesa-$pkgver build \
--libdir=/usr/lib32 \
- --prefix=/usr \
- --sysconfdir=/etc \
- --with-dri-driverdir=/usr/lib32/xorg/modules/dri \
- --with-gallium-drivers=r300,r600,radeonsi,nouveau,svga,swrast,virgl,swr \
- --with-dri-drivers=i915,i965,r200,radeon,nouveau,swrast \
- --with-platforms=x11,drm,wayland \
- --with-vulkan-drivers=intel,radeon \
- --disable-xvmc \
- --disable-libunwind \
- --disable-libglvnd \
- --enable-llvm \
- --enable-llvm-shared-libs \
- --enable-shared-glapi \
- --enable-lmsensors \
- --enable-glx-tls \
- --enable-egl \
- --enable-glx \
- --enable-gles1 \
- --enable-gles2 \
- --enable-gbm \
- --enable-dri \
- --enable-gallium-osmesa \
- --enable-gallium-extra-hud \
- --enable-texture-float \
- --enable-nine \
- --enable-vdpau
-
- make
-
- mkdir $srcdir/fakeinstall
- make DESTDIR=${srcdir}/fakeinstall install
+ -D b_lto=false \
+ -D b_ndebug=true \
+ -D platforms=x11,wayland,drm,surfaceless \
+ -D dri-drivers=i915,i965,r100,r200,nouveau \
+ -D gallium-drivers=r300,r600,radeonsi,nouveau,virgl,svga,swrast,swr \
+ -D vulkan-drivers=amd,intel \
+ -D swr-arches=avx,avx2 \
+ -D dri3=true \
+ -D egl=true \
+ -D gallium-extra-hud=true \
+ -D gallium-nine=true \
+ -D gallium-omx=false \
+ -D gallium-opencl=disabled \
+ -D gallium-va=true \
+ -D gallium-vdpau=true \
+ -D gallium-xa=true \
+ -D gallium-xvmc=false \
+ -D gbm=true \
+ -D gles1=true \
+ -D gles2=true \
+ -D glvnd=false \
+ -D glx=dri \
+ -D libunwind=false \
+ -D llvm=true \
+ -D lmsensors=true \
+ -D osmesa=gallium \
+ -D shared-glapi=true \
+ -D texture-float=true \
+ -D valgrind=false
+
+ # Print config
+ meson configure build
+
+ ninja -C build
+
+ # fake installation to be seperated into packages
+ # outside of fakeroot but mesa doesn't need to chown/mod
+ DESTDIR="${srcdir}/fakeinstall" ninja -C build install
+}
+
+_install() {
+ local src f dir
+ for src; do
+ f="${src#fakeinstall/}"
+ dir="${pkgdir}/${f%/*}"
+ install -m755 -d "${dir}"
+ mv -v "${src}" "${dir}/"
+ done
}
package_lib32-vulkan-intel-noglvnd() {
@@ -91,31 +106,35 @@ package_lib32-vulkan-intel-noglvnd() {
conflicts=('lib32-vulkan-intel' 'lib32-vulkan-intel-git')
replaces=('lib32-vulkan-intel' 'lib32-vulkan-intel-git')
- install -m755 -d ${pkgdir}/usr/share/vulkan/icd.d
- cp -rv ${srcdir}/fakeinstall/usr/share/vulkan/icd.d/intel_icd*.json ${pkgdir}/usr/share/vulkan/icd.d/
+ _install fakeinstall/usr/share/vulkan/icd.d/intel_icd*.json
+ _install fakeinstall/usr/lib32/libvulkan_intel.so
- install -m755 -d ${pkgdir}/usr/lib32
- cp -rv ${srcdir}/fakeinstall/usr/lib32/libvulkan_intel.so ${pkgdir}/usr/lib32/
-
- install -m755 -d "${pkgdir}/usr/share/licenses/lib32-vulkan-intel"
- install -m644 "${srcdir}/LICENSE" "${pkgdir}/usr/share/licenses/lib32-vulkan-intel/"
+ install -m644 -Dt "${pkgdir}/usr/share/licenses/${pkgname}" LICENSE
}
package_lib32-vulkan-radeon-noglvnd() {
pkgdesc="Radeon's Vulkan mesa driver (32-bit) - non-libglvnd version"
- depends=('lib32-wayland' 'lib32-libx11' 'lib32-llvm-libs' 'lib32-libdrm' 'lib32-libelf' 'lib32-lm_sensors' 'lib32-libxshmfence')
+ depends=('lib32-wayland' 'lib32-libx11' 'lib32-llvm-libs' 'lib32-libdrm' 'lib32-libelf' 'lib32-libxshmfence')
provides=('lib32-vulkan-driver' 'lib32-vulkan-radeon')
conflicts=('lib32-vulkan-radeon' 'lib32-vulkan-radeon-git')
replaces=('lib32-vulkan-radeon' 'lib32-vulkan-radeon-git')
- install -m755 -d ${pkgdir}/usr/share/vulkan/icd.d
- cp -rv ${srcdir}/fakeinstall/usr/share/vulkan/icd.d/radeon_icd*.json ${pkgdir}/usr/share/vulkan/icd.d/
-
- install -m755 -d ${pkgdir}/usr/lib32
- cp -rv ${srcdir}/fakeinstall/usr/lib32/libvulkan_radeon.so ${pkgdir}/usr/lib32/
+ _install fakeinstall/usr/share/vulkan/icd.d/radeon_icd*.json
+ _install fakeinstall/usr/lib32/libvulkan_radeon.so
+
+ install -m644 -Dt "${pkgdir}/usr/share/licenses/${pkgname}" LICENSE
+}
+
+package_lib32-libva-mesa-driver-noglvnd() {
+ pkgdesc="VA-API implementation for gallium (32-bit) - non-libglvnd version"
+ depends=('lib32-libdrm' 'lib32-libx11' 'lib32-expat' 'lib32-llvm-libs' 'lib32-libelf' 'lib32-libxshmfence')
+ provides=('lib32-libva-mesa-driver')
+ conflicts=('lib32-libva-mesa-driver' 'lib32-libva-mesa-driver-git')
+ replaces=('lib32-libva-mesa-driver' 'lib32-libva-mesa-driver-git')
- install -m755 -d "${pkgdir}/usr/share/licenses/lib32-vulkan-radeon"
- install -m644 "${srcdir}/LICENSE" "${pkgdir}/usr/share/licenses/lib32-vulkan-radeon/"
+ _install fakeinstall/usr/lib32/dri/*_drv_video.so
+
+ install -m644 -Dt "${pkgdir}/usr/share/licenses/${pkgname}" LICENSE
}
package_lib32-mesa-vdpau-noglvnd() {
@@ -125,11 +144,9 @@ package_lib32-mesa-vdpau-noglvnd() {
conflicts=('lib32-mesa-vdpau')
replaces=('lib32-mesa-vdpau')
- install -m755 -d ${pkgdir}/usr/lib32
- cp -rv ${srcdir}/fakeinstall/usr/lib32/vdpau ${pkgdir}/usr/lib32
+ _install fakeinstall/usr/lib32/vdpau
- install -m755 -d "${pkgdir}/usr/share/licenses/lib32-mesa-vdpau"
- install -m644 "${srcdir}/LICENSE" "${pkgdir}/usr/share/licenses/lib32-mesa-vdpau/"
+ install -m644 -Dt "${pkgdir}/usr/share/licenses/${pkgname}" LICENSE
}
package_lib32-mesa-noglvnd() {
@@ -141,27 +158,43 @@ package_lib32-mesa-noglvnd() {
provides=('lib32-ati-dri' 'lib32-intel-dri' 'lib32-nouveau-dri' 'lib32-mesa-dri' 'lib32-opengl-driver' 'lib32-mesa')
conflicts=('lib32-ati-dri' 'lib32-intel-dri' 'lib32-nouveau-dri' 'lib32-mesa-dri' 'lib32-mesa' 'lib32-mesa-git')
replaces=('lib32-ati-dri' 'lib32-intel-dri' 'lib32-nouveau-dri' 'lib32-mesa-dri' 'lib32-mesa' 'lib32-mesa-git')
- install -m755 -d ${pkgdir}/usr/lib32/xorg/modules/dri
- # ati-dri, nouveay-dri, intel-dri, swrast
- cp -rv ${srcdir}/fakeinstall/usr/lib32/xorg/modules/dri/* ${pkgdir}/usr/lib32/xorg/modules/dri
- install -m755 -d ${pkgdir}/usr/lib32
- cp -rv ${srcdir}/fakeinstall/usr/lib32/d3d ${pkgdir}/usr/lib32
- cp -rv ${srcdir}/fakeinstall/usr/lib32/lib{gbm,glapi}.so* ${pkgdir}/usr/lib32/
- cp -rv ${srcdir}/fakeinstall/usr/lib32/libOSMesa.so* ${pkgdir}/usr/lib32/
- cp -rv ${srcdir}/fakeinstall/usr/lib32/libwayland*.so* ${pkgdir}/usr/lib32/
- cp -rv ${srcdir}/fakeinstall/usr/lib32/libswrAVX*.so* ${pkgdir}/usr/lib32/
+ # ati-dri, nouveau-dri, intel-dri, svga-dri, swrast
+ _install fakeinstall/usr/lib32/dri/*_dri.so
- cp -rv ${srcdir}/fakeinstall/usr/lib32/pkgconfig ${pkgdir}/usr/lib32/
+ _install fakeinstall/usr/lib32/d3d
+ _install fakeinstall/usr/lib32/lib{gbm,glapi}.so*
+ _install fakeinstall/usr/lib32/libOSMesa.so*
+ _install fakeinstall/usr/lib32/libwayland*.so*
+ _install fakeinstall/usr/lib32/libxatracker.so*
+ _install fakeinstall/usr/lib32/libswrAVX*.so*
+
+# # in libglvnd
+# rm -v fakeinstall/usr/lib32/libGLESv{1_CM,2}.so*
install -m755 -d ${pkgdir}/usr/lib32/mesa
# move libgl/EGL/glesv*.so to not conflict with blobs - may break .pc files ?
- cp -rv ${srcdir}/fakeinstall/usr/lib32/libGL.so* ${pkgdir}/usr/lib32/mesa/
- cp -rv ${srcdir}/fakeinstall/usr/lib32/libEGL.so* ${pkgdir}/usr/lib32/mesa/
- cp -rv ${srcdir}/fakeinstall/usr/lib32/libGLES*.so* ${pkgdir}/usr/lib32/mesa/
+ mv -v ${srcdir}/fakeinstall/usr/lib32/libGL.so* ${pkgdir}/usr/lib32/mesa/
+ mv -v ${srcdir}/fakeinstall/usr/lib32/libEGL.so* ${pkgdir}/usr/lib32/mesa/
+ mv -v ${srcdir}/fakeinstall/usr/lib32/libGLES*.so* ${pkgdir}/usr/lib32/mesa/
+
+ _install fakeinstall/usr/lib32/pkgconfig
+
+# # libglvnd support
+# _install fakeinstall/usr/lib32/libGLX_mesa.so*
+# _install fakeinstall/usr/lib32/libEGL_mesa.so*
+
+# # indirect rendering
+# ln -s /usr/lib32/libGLX_mesa.so.0 "${pkgdir}/usr/lib32/libGLX_indirect.so.0"
+#
+# rm -rv fakeinstall/etc
+# rm -rv fakeinstall/usr/include
+# rm -rv fakeinstall/usr/share
+
+# # make sure there are no files left to install
+# find fakeinstall -depth -print0 | xargs -0 rmdir
- install -m755 -d "${pkgdir}/usr/share/licenses/lib32-mesa"
- install -m644 "${srcdir}/LICENSE" "${pkgdir}/usr/share/licenses/lib32-mesa/"
+ install -m644 -Dt "${pkgdir}/usr/share/licenses/${pkgname}" LICENSE
}
package_lib32-mesa-libgl-noglvnd() {
diff --git a/swr-rast-do-not-crash-on-NULL-strings-returned-by-getenv.patch b/swr-rast-do-not-crash-on-NULL-strings-returned-by-getenv.patch
deleted file mode 100644
index b9e81f9a32fe..000000000000
--- a/swr-rast-do-not-crash-on-NULL-strings-returned-by-getenv.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-diff --git a/src/gallium/drivers/swr/rasterizer/core/utils.h b/src/gallium/drivers/swr/rasterizer/core/utils.h
-index b096d2120cb..3c849e82d3b 100644
---- a/src/gallium/drivers/swr/rasterizer/core/utils.h
-+++ b/src/gallium/drivers/swr/rasterizer/core/utils.h
-@@ -365,7 +365,8 @@ static INLINE std::string GetEnv(const std::string& variableName)
- output.resize(valueSize - 1); // valueSize includes null, output.resize() does not
- GetEnvironmentVariableA(variableName.c_str(), &output[0], valueSize);
- #else
-- output = getenv(variableName.c_str());
-+ char *o = getenv(variableName.c_str());
-+ output = o ? std::string(o) : std::string();
- #endif
-
- return output;