summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.SRCINFO65
-rw-r--r--LICENSE82
-rw-r--r--PKGBUILD155
3 files changed, 302 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..bd4439399f87
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,65 @@
+pkgbase = mesa-minimal-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 = git
+ makedepends = python-mako
+ makedepends = xorgproto
+ makedepends = libxml2
+ makedepends = libx11
+ makedepends = libvdpau
+ makedepends = libva
+ makedepends = elfutils
+ makedepends = libxrandr
+ makedepends = ocl-icd
+ makedepends = wayland-protocols
+ makedepends = meson
+ makedepends = ninja
+ makedepends = glslang
+ makedepends = llvm=11.0.0
+ makedepends = clang=11.0.0
+ depends = libdrm
+ depends = libxxf86vm
+ depends = libxdamage
+ depends = libxshmfence
+ depends = libelf
+ depends = libomxil-bellagio
+ depends = libglvnd
+ depends = wayland
+ depends = libclc
+ depends = vulkan-icd-loader
+ depends = zstd
+ depends = expat
+ depends = llvm-libs=11.0.0
+ optdepends = opengl-man-pages: for the OpenGL API man pages
+ optdepends = clang: opencl
+ optdepends = compiler-rt: opencl
+ provides = mesa
+ provides = opencl-mesa
+ provides = vulkan-intel
+ provides = vulkan-radeon
+ provides = vulkan-mesa-layer
+ provides = libva-mesa-driver
+ provides = mesa-vdpau
+ provides = vulkan-driver
+ provides = opengl-driver
+ provides = opencl-driver
+ conflicts = mesa
+ conflicts = opencl-mesa
+ conflicts = vulkan-intel
+ conflicts = vulkan-radeon
+ conflicts = vulkan-mesa-layer
+ conflicts = libva-mesa-driver
+ conflicts = mesa-vdpau
+ source = mesa::git+https://gitlab.freedesktop.org/mesa/mesa.git
+ source = LICENSE
+ md5sums = SKIP
+ md5sums = 5c65a0fe315dd347e09b1f2826a1df5a
+ sha512sums = SKIP
+ sha512sums = 25da77914dded10c1f432ebcbf29941124138824ceecaf1367b3deedafaecabc082d463abcfa3d15abff59f177491472b505bcb5ba0c4a51bb6b93b4721a23c2
+
+pkgname = mesa-minimal-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..6673079f8286
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,155 @@
+# Contributor: 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=mesa-minimal-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=('git' 'python-mako' 'xorgproto'
+ 'libxml2' 'libx11' 'libvdpau' 'libva' 'elfutils' 'libxrandr'
+ 'ocl-icd' 'wayland-protocols' 'meson' 'ninja' 'glslang')
+depends=('libdrm' 'libxxf86vm' 'libxdamage' 'libxshmfence' 'libelf'
+ 'libomxil-bellagio' 'libglvnd' 'wayland' 'libclc' 'vulkan-icd-loader' 'zstd' 'expat')
+optdepends=('opengl-man-pages: for the OpenGL API man pages')
+provides=('mesa' 'opencl-mesa' 'vulkan-intel' 'vulkan-radeon' 'vulkan-mesa-layer' 'libva-mesa-driver' 'mesa-vdpau' 'vulkan-driver' 'opengl-driver' 'opencl-driver')
+conflicts=('mesa' 'opencl-mesa' 'vulkan-intel' 'vulkan-radeon' 'vulkan-mesa-layer' 'libva-mesa-driver' 'mesa-vdpau')
+url="https://www.mesa3d.org"
+license=('custom')
+source=('mesa::git+https://gitlab.freedesktop.org/mesa/mesa.git'
+ 'LICENSE')
+md5sums=('SKIP'
+ '5c65a0fe315dd347e09b1f2826a1df5a')
+sha512sums=('SKIP'
+ '25da77914dded10c1f432ebcbf29941124138824ceecaf1367b3deedafaecabc082d463abcfa3d15abff59f177491472b505bcb5ba0c4a51bb6b93b4721a23c2')
+
+# 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 that determines which llvm package tree is used to built mesa-git against.
+# Adding a line to ~/.bashrc that sets this value is the simplest way to ensure a specific choice.
+#
+# NOTE: Aur helpers don't handle this method well, check the sticky comments on mesa-git aur page .
+#
+# 1: llvm-minimal-git (aur) preferred value
+# 2: AUR llvm-git
+# 3: llvm-git from LordHeavy unofficial repo
+# 4 llvm (stable from extra) Default value
+#
+
+if [[ ! $MESA_WHICH_LLVM ]] ; then
+ MESA_WHICH_LLVM=4
+fi
+
+case $MESA_WHICH_LLVM in
+ 1)
+ # aur llvm-minimal-git
+ makedepends+=('llvm-minimal-git')
+ depends+=('llvm-libs-minimal-git')
+ optdepends+=('llvm-minimal-git: opencl')
+ ;;
+ 2)
+ # aur llvm-git
+ # depending on aur-llvm-* to avoid mixup with LH llvm-git
+ makedepends+=('aur-llvm-git')
+ depends+=('aur-llvm-libs-git')
+ optdepends+=('aur-llvm-git: opencl')
+ ;;
+ 3)
+ # mesa-git/llvm-git (lordheavy unofficial repo)
+ makedepends+=('llvm-git' 'clang-git')
+ depends+=('llvm-libs-git')
+ optdepends+=('clang-git: opencl' 'compiler-rt: opencl')
+ ;;
+ 4)
+ # extra/llvm
+ makedepends+=(llvm=11.0.0 clang=11.0.0)
+ depends+=(llvm-libs=11.0.0)
+ optdepends+=('clang: opencl' 'compiler-rt: opencl')
+ ;;
+ *)
+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 () {
+ meson setup mesa _build \
+ -D b_ndebug=false \
+ -D b_lto=true \
+ -D buildtype=plain \
+ --wrap-mode=nofallback \
+ -D prefix=/usr \
+ -D sysconfdir=/etc \
+ -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 gallium-nine=true \
+ -D gallium-omx=bellagio \
+ -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=disabled \
+ -D llvm=enabled \
+ -D lmsensors=disabled \
+ -D osmesa=gallium \
+ -D shared-glapi=enabled \
+ -D gallium-opencl=icd \
+ -D valgrind=disabled \
+ -D vulkan-overlay-layer=true \
+ -D vulkan-device-select-layer=true \
+ -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 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/lib/libGLX_mesa.so.0 "${pkgdir}/usr/lib/libGLX_indirect.so.0"
+
+ install -m644 -Dt "${pkgdir}/usr/share/licenses/${pkgname}" "${srcdir}/LICENSE"
+}