Last active
May 7, 2022 21:10
-
-
Save SirToffski/37b5022a05ab8a62d9e26270912da7b7 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Maintainer: Reza Jahanbakhshi <reza.jahanbakhshi at gmail dot com | |
# Contributor: Lone_Wolf <[email protected]> | |
# Contributor: Armin K. <krejzi at email dot com> | |
# Contributor: Kristian Klausen <[email protected]> | |
# Contributor: Egon Ashrafinia <[email protected]> | |
# Contributor: Tavian Barnes <[email protected]> | |
# Contributor: Jan de Groot <[email protected]> | |
# Contributor: Andreas Radke <[email protected]> | |
# Contributor: Thomas Dziedzic < gostrc at gmail > | |
# Contributor: Antti "Tera" Oja <[email protected]> | |
# Contributor: Diego Jose <[email protected]> | |
pkgname=mesa-git | |
pkgdesc="an open-source implementation of the OpenGL specification, git version" | |
pkgver=22.2.0_devel.153080.53fe6f10846.6aa0994e8686145503079d47a8bd2ae8 | |
pkgrel=1 | |
arch=('x86_64') | |
makedepends=('git' 'python-mako' 'xorgproto' | |
'libxml2' 'libx11' 'libvdpau' 'libva' 'elfutils' 'libxrandr' | |
'wayland-protocols' 'meson' 'ninja' 'glslang' 'libclc') | |
depends=('libdrm' 'libxxf86vm' 'libxdamage' 'libxshmfence' 'libelf' | |
'libomxil-bellagio' 'libunwind' 'libglvnd' 'wayland' 'lm_sensors' '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-swrast' 'vulkan-driver' 'mesa-libgl' 'opengl-driver' 'opencl-driver') | |
conflicts=('mesa' 'opencl-mesa' 'vulkan-intel' 'vulkan-radeon' 'vulkan-mesa-layer' 'libva-mesa-driver' 'mesa-vdpau' 'vulkan-swrast' 'mesa-libgl') | |
url="https://www.mesa3d.org" | |
license=('custom') | |
source=('mesa::git+https://gitlab.freedesktop.org/mesa/mesa.git#branch=main' | |
'LICENSE' | |
'workaround--LLVM15-FTBFS-no-more-Coroutines.h.patch') | |
md5sums=('SKIP' | |
'5c65a0fe315dd347e09b1f2826a1df5a' | |
'a4e1e8a8a90b6434b80d8ec859747e0c') | |
sha512sums=('SKIP' | |
'25da77914dded10c1f432ebcbf29941124138824ceecaf1367b3deedafaecabc082d463abcfa3d15abff59f177491472b505bcb5ba0c4a51bb6b93b4721a23c2' | |
'ee96c9c3c29cfd7bffc1ee72fecf6bdd9a4ac7245afa11e7b28432e8695fc9d16d241cb8330029e5460cc54898258b87bc73d99fc1bf9743ce9bb718a85f5806') | |
# 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=2 | |
fi | |
case $MESA_WHICH_LLVM in | |
1) | |
# aur llvm-minimal-git | |
makedepends+=('llvm-minimal-git') | |
depends+=('llvm-libs-minimal-git') | |
;; | |
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=13.0.1 clang=13.0.1) | |
depends+=(llvm-libs=13.0.1) | |
optdepends+=('clang: opencl' 'compiler-rt: opencl') | |
;; | |
*) | |
esac | |
pkgver() { | |
cd mesa | |
local _ver | |
read -r _ver <VERSION | |
local _patchver | |
local _patchfile | |
for _patchfile in "${source[@]}"; do | |
_patchfile="${_patchfile%%::*}" | |
_patchfile="${_patchfile##*/}" | |
[[ $_patchfile = *.patch ]] || continue | |
_patchver="${_patchver}$(md5sum ${srcdir}/${_patchfile} | cut -c1-32)" | |
done | |
_patchver="$(echo -n $_patchver | md5sum | cut -c1-32)" | |
echo ${_ver/-/_}.$(git rev-list --count HEAD).$(git rev-parse --short HEAD).${_patchver} | |
} | |
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 | |
local _patchfile | |
for _patchfile in "${source[@]}"; do | |
_patchfile="${_patchfile%%::*}" | |
_patchfile="${_patchfile##*/}" | |
[[ $_patchfile = *.patch ]] || continue | |
echo "Applying patch $_patchfile..." | |
patch --directory=mesa --forward --strip=1 --input="${srcdir}/${_patchfile}" | |
done | |
} | |
build () { | |
meson setup mesa _build \ | |
-D b_ndebug=true \ | |
-D b_lto=true \ | |
-D buildtype=plain \ | |
--wrap-mode=nofallback \ | |
-D prefix=/usr \ | |
-D sysconfdir=/etc \ | |
-D platforms=x11,wayland \ | |
-D gallium-drivers=r300,r600,radeonsi,nouveau,svga,swrast,virgl,iris,zink,crocus \ | |
-D vulkan-drivers=amd,intel,swrast,virtio-experimental \ | |
-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=enabled \ | |
-D llvm=enabled \ | |
-D lmsensors=enabled \ | |
-D osmesa=true \ | |
-D shared-glapi=enabled \ | |
-D gallium-opencl=icd \ | |
-D valgrind=disabled \ | |
-D vulkan-layers=device-select,overlay \ | |
-D tools=[] \ | |
-D zstd=enabled \ | |
-D microsoft-clc=disabled \ | |
-D video-codecs=vc1dec,h264dec,h264enc,h265dec,h265enc | |
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" | |
} | |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
--- | |
src/gallium/auxiliary/gallivm/lp_bld.h | 2 +- | |
1 file changed, 1 insertion(+), 1 deletion(-) | |
--- a/src/gallium/auxiliary/gallivm/lp_bld.h | |
+++ b/src/gallium/auxiliary/gallivm/lp_bld.h | |
@@ -81,7 +81,7 @@ | |
#define LLVMInsertBasicBlock ILLEGAL_LLVM_FUNCTION | |
#define LLVMCreateBuilder ILLEGAL_LLVM_FUNCTION | |
-#if LLVM_VERSION_MAJOR >= 8 | |
+#if LLVM_VERSION_MAJOR >= 8 && LLVM_VERSION_MAJOR < 15 | |
#define GALLIVM_HAVE_CORO 1 | |
#else | |
#define GALLIVM_HAVE_CORO 0 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment