diff options
author | Vincent Grande | 2020-12-09 19:38:26 -0500 |
---|---|---|
committer | Vincent Grande | 2020-12-09 19:38:26 -0500 |
commit | 6c4f12cf270d565b31c7d339a4e9c6d950898db1 (patch) | |
tree | 24da07a4210197c1d02b187f500165c735972313 | |
download | aur-6c4f12cf270d565b31c7d339a4e9c6d950898db1.tar.gz |
initial upload
-rw-r--r-- | .SRCINFO | 62 | ||||
-rw-r--r-- | LICENSE | 82 | ||||
-rw-r--r-- | PKGBUILD | 166 | ||||
-rw-r--r-- | llvm32.native | 2 |
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' |