diff options
author | SovietReimu1228 | 2022-05-10 07:47:25 +0900 |
---|---|---|
committer | SovietReimu1228 | 2022-05-10 07:47:25 +0900 |
commit | ea4336bb19425d08264bccd0016487b5fa51fce6 (patch) | |
tree | a7444dd917b6b90e07ea74904a3fb9cc0802bb7e | |
download | aur-ea4336bb19425d08264bccd0016487b5fa51fce6.tar.gz |
First commit
-rw-r--r-- | .SRCINFO | 91 | ||||
-rw-r--r-- | .gitignore | 5 | ||||
-rw-r--r-- | LICENSE | 82 | ||||
-rw-r--r-- | PKGBUILD | 126 |
4 files changed, 304 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO new file mode 100644 index 000000000000..d5acdcf6979b --- /dev/null +++ b/.SRCINFO @@ -0,0 +1,91 @@ +pkgbase = mesa-rusticl-git + pkgdesc = An open-source implementation of the OpenGL specification, with Rusticl + pkgver = 22.1.0_devel.150548.320d00f985a.d41d8cd98f00b204e9800998ecf8427e + pkgrel = 1 + url = https://www.mesa3d.org + arch = x86_64 + license = custom + makedepends = python-mako + makedepends = libxml2 + makedepends = libx11 + makedepends = xorgproto + makedepends = libdrm + makedepends = libxshmfence + makedepends = libxxf86vm + makedepends = libxdamage + makedepends = libvdpau + makedepends = libva + makedepends = wayland + makedepends = wayland-protocols + makedepends = zstd + makedepends = elfutils + makedepends = llvm + makedepends = libomxil-bellagio + makedepends = libclc + makedepends = clang + makedepends = libglvnd + makedepends = libunwind + makedepends = lm_sensors + makedepends = libxrandr + makedepends = valgrind + makedepends = glslang + makedepends = vulkan-icd-loader + makedepends = directx-headers + makedepends = cmake + makedepends = meson + makedepends = rust + makedepends = rust-bindgen + depends = libdrm + depends = libxcb + depends = wayland + depends = python + depends = libclc + depends = clang + depends = libx11 + depends = libxshmfence + depends = zstd + depends = libelf + depends = llvm-libs + depends = expat + depends = libxxf86vm + depends = libxdamage + depends = libomxil-bellagio + depends = libunwind + depends = lm_sensors + depends = libglvnd + depends = vulkan-icd-loader + depends = spirv-llvm-translator + optdepends = opencl-headers: headers necessary for OpenCL development + optdepends = opengl-man-pages: for the OpenGL API man pages + optdepends = compiler-rt: opencl + provides = vulkan-mesa-layers + provides = opencl-mesa + provides = vulkan-intel + provides = vulkan-radeon + provides = vulkan-swrast + provides = libva-mesa-driver + provides = mesa-vdpau + provides = mesa + provides = opencl-driver + provides = vulkan-driver + provides = mesa-libgl + provides = opengl-driver + conflicts = vulkan-mesa-layers + conflicts = opencl-mesa + conflicts = vulkan-intel + conflicts = vulkan-radeon + conflicts = vulkan-swrast + conflicts = libva-mesa-driver + conflicts = mesa-vdpau + conflicts = mesa + conflicts = vulkan-mesa-layer + conflicts = vulkan-mesa + conflicts = mesa-libgl + source = mesa::git+https://gitlab.freedesktop.org/karolherbst/mesa.git#branch=rusticl/main + source = LICENSE + md5sums = SKIP + md5sums = 5c65a0fe315dd347e09b1f2826a1df5a + sha512sums = SKIP + sha512sums = 25da77914dded10c1f432ebcbf29941124138824ceecaf1367b3deedafaecabc082d463abcfa3d15abff59f177491472b505bcb5ba0c4a51bb6b93b4721a23c2 + +pkgname = mesa-rusticl-git diff --git a/.gitignore b/.gitignore new file mode 100644 index 000000000000..d35ed4c56721 --- /dev/null +++ b/.gitignore @@ -0,0 +1,5 @@ +mesa-git-* +mesa +pkg +src + 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..8e705f962217 --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,126 @@ +# Maintainer: SovietReimu1228 <reimussr at protonmail dot ch> + +pkgname=mesa-rusticl-git +pkgdesc="An open-source implementation of the OpenGL specification, with Rusticl" +pkgver=22.1.0_devel.150548.320d00f985a.d41d8cd98f00b204e9800998ecf8427e +pkgrel=1 +arch=('x86_64') +makedepends=('python-mako' 'libxml2' 'libx11' 'xorgproto' 'libdrm' 'libxshmfence' 'libxxf86vm' + 'libxdamage' 'libvdpau' 'libva' 'wayland' 'wayland-protocols' 'zstd' 'elfutils' 'llvm' + 'libomxil-bellagio' 'libclc' 'clang' 'libglvnd' 'libunwind' 'lm_sensors' 'libxrandr' + 'valgrind' 'glslang' 'vulkan-icd-loader' 'directx-headers' 'cmake' 'meson' + 'rust' 'rust-bindgen') +depends=('libdrm' 'libxcb' 'wayland' 'python' + 'libclc' 'clang' + 'libx11' 'libxshmfence' 'zstd' + 'libelf' 'llvm-libs' + 'expat' + 'libxxf86vm' 'libxdamage' 'libomxil-bellagio' 'libunwind' 'lm_sensors' 'libglvnd' 'vulkan-icd-loader' + 'spirv-llvm-translator') +optdepends=('opencl-headers: headers necessary for OpenCL development' + 'opengl-man-pages: for the OpenGL API man pages' + 'compiler-rt: opencl') +provides=('vulkan-mesa-layers' 'opencl-mesa' 'vulkan-intel' 'vulkan-radeon' 'vulkan-swrast' 'libva-mesa-driver' 'mesa-vdpau' 'mesa' + 'opencl-driver' 'vulkan-driver' 'mesa-libgl' 'opengl-driver') +conflicts=('vulkan-mesa-layers' 'opencl-mesa' 'vulkan-intel' 'vulkan-radeon' 'vulkan-swrast' 'libva-mesa-driver' 'mesa-vdpau' 'mesa' + 'vulkan-mesa-layer' 'vulkan-mesa' 'mesa-libgl') +url="https://www.mesa3d.org" +license=('custom') +# I couldn't build rusticl/wip branch, so I set branch to rusticl/main. +source=('mesa::git+https://gitlab.freedesktop.org/karolherbst/mesa.git#branch=rusticl/main' + '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. + +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 prefix=/usr \ + -D sysconfdir=/etc \ + -D platforms=x11,wayland \ + -D gallium-drivers=r300,r600,radeonsi,nouveau,svga,swrast,virgl,iris,zink,crocus,d3d12 \ + -D vulkan-drivers=amd,intel,swrast \ + -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 valgrind=enabled \ + -D vulkan-layers=device-select,intel-nullhw,overlay \ + -D microsoft-clc=disabled \ + -D gallium-rusticl=true \ + -D opencl-spirv=true \ + -D shader-cache=enabled + + 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" +} |