summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorVincent Grande2020-12-09 19:38:26 -0500
committerVincent Grande2020-12-09 19:38:26 -0500
commit6c4f12cf270d565b31c7d339a4e9c6d950898db1 (patch)
tree24da07a4210197c1d02b187f500165c735972313
downloadaur-6c4f12cf270d565b31c7d339a4e9c6d950898db1.tar.gz
initial upload
-rw-r--r--.SRCINFO62
-rw-r--r--LICENSE82
-rw-r--r--PKGBUILD166
-rw-r--r--llvm32.native2
4 files changed, 312 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..1dac35e33aa9
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,62 @@
+pkgbase = lib32-mesa-git
+ pkgdesc = an open-source implementation of the OpenGL specification, git version
+ pkgver = 21.0.0_devel.132039.6df572532dc
+ pkgrel = 1
+ url = https://www.mesa3d.org
+ arch = x86_64
+ license = custom
+ makedepends = python-mako
+ makedepends = lib32-libxml2
+ makedepends = lib32-libx11
+ makedepends = xorgproto
+ makedepends = lib32-gcc-libs
+ makedepends = lib32-libvdpau
+ makedepends = lib32-libelf
+ makedepends = git
+ makedepends = mesa-git
+ makedepends = lib32-libglvnd
+ makedepends = wayland-protocols
+ makedepends = lib32-wayland
+ makedepends = meson
+ makedepends = lib32-libva
+ makedepends = lib32-libxrandr
+ makedepends = lib32-llvm=11.0.0
+ depends = mesa-git
+ depends = lib32-gcc-libs
+ depends = lib32-libdrm
+ depends = lib32-wayland
+ depends = lib32-libxxf86vm
+ depends = lib32-libxdamage
+ depends = lib32-libxshmfence
+ depends = lib32-elfutils
+ depends = lib32-libunwind
+ depends = lib32-lm_sensors
+ depends = glslang
+ depends = lib32-vulkan-icd-loader
+ depends = lib32-zstd
+ depends = lib32-llvm-libs=11.0.0
+ optdepends = opengl-man-pages: for the OpenGL API man pages
+ provides = lib32-mesa
+ provides = lib32-vulkan-intel
+ provides = lib32-vulkan-radeon
+ provides = lib32-libva-mesa-driver
+ provides = lib32-mesa-vdpau
+ provides = lib32-opengl-driver
+ provides = lib32-vulkan-driver
+ conflicts = lib32-mesa
+ conflicts = lib32-vulkan-intel
+ conflicts = lib32-vulkan-radeon
+ conflicts = lib32-libva-mesa-driver
+ conflicts = lib32-mesa-vdpau
+ source = mesa::git+https://gitlab.freedesktop.org/mesa/mesa.git
+ source = LICENSE
+ source = llvm32.native
+ md5sums = SKIP
+ md5sums = 5c65a0fe315dd347e09b1f2826a1df5a
+ md5sums = 6b4a19068a323d7f90a3d3cd315ed1f9
+ sha512sums = SKIP
+ sha512sums = 25da77914dded10c1f432ebcbf29941124138824ceecaf1367b3deedafaecabc082d463abcfa3d15abff59f177491472b505bcb5ba0c4a51bb6b93b4721a23c2
+ sha512sums = c7dbb390ebde291c517a854fcbe5166c24e95206f768cc9458ca896b2253aabd6df12a7becf831998721b2d622d0c02afdd8d519e77dea8e1d6807b35f0166fe
+
+pkgname = lib32-mesa-git
+
diff --git a/LICENSE b/LICENSE
new file mode 100644
index 000000000000..ae33d2709c44
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,82 @@
+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.
+
+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.
+
+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 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:
+
+Copyright (C) 1999-2007 Brian Paul All Rights Reserved.
+
+Permission is hereby granted, free of charge, to any person obtaining a
+copy of this software and associated documentation files (the "Software"),
+to deal in the Software without restriction, including without limitation
+the rights to use, copy, modify, merge, publish, distribute, sublicense,
+and/or sell copies of the Software, and to permit persons to whom the
+Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included
+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.
+
+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.
+
+
+Mesa Component Licenses
+
+Component Location Primary Author License
+----------------------------------------------------------------------------
+Main Mesa code src/mesa/ Brian Paul Mesa (MIT)
+
+Device drivers src/mesa/drivers/* See drivers See drivers
+
+Ext headers include/GL/glext.h SGI SGI Free B
+ include/GL/glxext.h
+
+GLUT src/glut/ Mark Kilgard Mark's copyright
+
+Mesa GLU library src/glu/mesa/ Brian Paul GNU-LGPL
+
+SGI GLU library src/glu/sgi/ SGI SGI Free B
+
+demo programs progs/demos/ various see source files
+
+X demos progs/xdemos/ Brian Paul see source files
+
+SGI demos progs/samples/ SGI SGI copyright
+
+RedBook demos progs/redbook/ SGI SGI copyright
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..cb5cd93b6f33
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,166 @@
+# Maintainer: Lone_Wolf <lone_wolf@klaas-de-kat.nl>
+# Contributor: Armin K. <krejzi at email dot com>
+# Contributor: Kristian Klausen <klausenbusk@hotmail.com>
+# Contributor: Egon Ashrafinia <e.ashrafinia@gmail.com>
+# Contributor: Tavian Barnes <tavianator@gmail.com>
+# Contributor: Jan de Groot <jgc@archlinux.org>
+# Contributor: Andreas Radke <andyrtr@archlinux.org>
+# Contributor: Thomas Dziedzic < gostrc at gmail >
+# Contributor: Antti "Tera" Oja <antti.bofh@gmail.com>
+# Contributor: Diego Jose <diegoxter1006@gmail.com>
+
+pkgname=lib32-mesa-git
+pkgdesc="an open-source implementation of the OpenGL specification, git version"
+pkgver=21.0.0_devel.132039.6df572532dc
+pkgrel=1
+arch=('x86_64')
+makedepends=('python-mako' 'lib32-libxml2' 'lib32-libx11' 'xorgproto'
+ 'lib32-gcc-libs' 'lib32-libvdpau' 'lib32-libelf' 'git' 'mesa-git' 'lib32-libglvnd'
+ 'wayland-protocols' 'lib32-wayland' 'meson' 'lib32-libva' 'lib32-libxrandr')
+depends=('mesa-git' 'lib32-gcc-libs' 'lib32-libdrm' 'lib32-wayland' 'lib32-libxxf86vm' 'lib32-libxdamage' 'lib32-libxshmfence'
+ 'lib32-elfutils' 'lib32-libunwind' 'lib32-lm_sensors' 'glslang' 'lib32-vulkan-icd-loader' 'lib32-zstd')
+optdepends=('opengl-man-pages: for the OpenGL API man pages')
+provides=('lib32-mesa' 'lib32-vulkan-intel' 'lib32-vulkan-radeon' 'lib32-libva-mesa-driver' 'lib32-mesa-vdpau' 'lib32-opengl-driver' 'lib32-vulkan-driver')
+conflicts=('lib32-mesa' 'lib32-vulkan-intel' 'lib32-vulkan-radeon' 'lib32-libva-mesa-driver' 'lib32-mesa-vdpau')
+url="https://www.mesa3d.org"
+license=('custom')
+source=('mesa::git+https://gitlab.freedesktop.org/mesa/mesa.git'
+ 'LICENSE'
+ 'llvm32.native'
+)
+
+md5sums=('SKIP'
+ '5c65a0fe315dd347e09b1f2826a1df5a'
+ '6b4a19068a323d7f90a3d3cd315ed1f9')
+sha512sums=('SKIP'
+ '25da77914dded10c1f432ebcbf29941124138824ceecaf1367b3deedafaecabc082d463abcfa3d15abff59f177491472b505bcb5ba0c4a51bb6b93b4721a23c2'
+ 'c7dbb390ebde291c517a854fcbe5166c24e95206f768cc9458ca896b2253aabd6df12a7becf831998721b2d622d0c02afdd8d519e77dea8e1d6807b35f0166fe')
+
+# NINJAFLAGS is an env var used to pass commandline options to ninja
+# NOTE: It's your responbility to validate the value of $NINJAFLAGS. If unsure, don't set it.
+
+# MESA_WHICH_LLVM is an environment variable used to determine which llvm package tree is used to built mesa-git against.
+# Adding a line to ~/.bash_rc that sets this value is the simplest way to ensure a specific choice.
+#
+# 1: llvm-minimal-git (aur) preferred value
+# 2: llvm-git (aur)
+# 3 llvm-git (lordheavy unoffical repo)
+# 4 llvm (stable from extra) default value
+#
+# N.B. make sure lib32-mesa-git uses same value for this as mesa-git to avoid problems !
+#
+
+if [[ ! $MESA_WHICH_LLVM ]] ; then
+ MESA_WHICH_LLVM=4
+fi
+
+case $MESA_WHICH_LLVM in
+ 1)
+ # aur lone_wolf-llvm-git
+ makedepends+=('lib32-llvm-minimal-git')
+ depends+=('lib32-llvm-libs-minimal-git')
+ ;;
+ 2)
+ # aur llvm-git
+ # depending on aur-lib32-llvm-* to avoid mixup with LH llvm-git
+ makedepends+=('aur-lib32-llvm-git')
+ depends+=('aur-lib32-llvm-libs-git')
+ ;;
+ 3)
+ # mesa-git/llvm-git (lordheavy unofficial repo)
+ makedepends+=('lib32-llvm-git')
+ depends+=('lib32-llvm-libs-git')
+ ;;
+ 4)
+ # extra/llvm
+ makedepends+=(lib32-llvm=11.0.0)
+ depends+=(lib32-llvm-libs=11.0.0)
+ ;;
+ *)
+esac
+
+
+pkgver() {
+ cd mesa
+ read -r _ver <VERSION
+ echo ${_ver/-/_}.$(git rev-list --count HEAD).$(git rev-parse --short HEAD)
+}
+
+prepare() {
+ # although removing _build folder in build() function feels more natural,
+ # that interferes with the spirit of makepkg --noextract
+ if [ -d _build ]; then
+ rm -rf _build
+ fi
+}
+build () {
+ export CC="gcc -m32"
+ export CXX="g++ -m32"
+ export PKG_CONFIG=/usr/bin/i686-pc-linux-gnu-pkg-config
+
+ meson setup mesa _build \
+ --native-file llvm32.native \
+ -D b_ndebug=true \
+ -D b_lto=true \
+ -D buildtype=plain \
+ --wrap-mode=nofallback \
+ -D prefix=/usr \
+ -D sysconfdir=/etc \
+ --libdir=/usr/lib32 \
+ -D platforms=x11,wayland \
+ -D dri-drivers=i915,i965,r200,r100,nouveau \
+ -D gallium-drivers=r300,r600,radeonsi,nouveau,svga,swrast,virgl,iris,zink \
+ -D vulkan-drivers=amd,intel \
+ -D dri3=enabled \
+ -D egl=enabled \
+ -D gallium-extra-hud=true \
+ -D vulkan-overlay-layer=true \
+ -D vulkan-device-select-layer=true \
+ -D gallium-nine=true \
+ -D gallium-omx=disabled \
+ -D gallium-opencl=disabled \
+ -D gallium-va=enabled \
+ -D gallium-vdpau=enabled \
+ -D gallium-xa=enabled \
+ -D gallium-xvmc=disabled \
+ -D gbm=enabled \
+ -D gles1=disabled \
+ -D gles2=enabled \
+ -D glvnd=true \
+ -D glx=dri \
+ -D libunwind=enabled \
+ -D llvm=enabled \
+ -D lmsensors=enabled \
+ -D osmesa=gallium \
+ -D shared-glapi=enabled \
+ -D valgrind=disabled \
+ -D tools=[] \
+ -D zstd=enabled \
+ -D microsoft-clc=disabled
+
+ meson configure _build
+
+ ninja $NINJAFLAGS -C _build
+}
+
+package() {
+ DESTDIR="$pkgdir" ninja $NINJAFLAGS -C _build install
+
+ # remove files provided by mesa-git
+ rm -rf "$pkgdir"/etc
+ rm -rf "$pkgdir"/usr/include
+ rm -rf "$pkgdir"/usr/share/glvnd/
+ rm -rf "$pkgdir"/usr/share/drirc.d/
+ rm -rf "$pkgdir"/usr/share/vulkan/explicit_layer.d/
+ rm -rf "$pkgdir"/usr/share/vulkan/implicit_layer.d/VkLayer_MESA_device_select.json
+
+ # remove script file from /usr/bin
+ # https://gitlab.freedesktop.org/mesa/mesa/issues/2230
+ rm "${pkgdir}/usr/bin/mesa-overlay-control.py"
+ rmdir "${pkgdir}/usr/bin"
+
+
+ # indirect rendering
+ ln -s /usr/lib32/libGLX_mesa.so.0 "${pkgdir}/usr/lib32/libGLX_indirect.so.0"
+ install -m644 -Dt "$pkgdir"/usr/share/licenses/$pkgbase/ "$srcdir"/LICENSE
+}
diff --git a/llvm32.native b/llvm32.native
new file mode 100644
index 000000000000..cb4442fff26e
--- /dev/null
+++ b/llvm32.native
@@ -0,0 +1,2 @@
+[binaries]
+llvm-config = '/usr/bin/llvm-config32'