summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorSovietReimu12282022-05-10 07:47:25 +0900
committerSovietReimu12282022-05-10 07:47:25 +0900
commitea4336bb19425d08264bccd0016487b5fa51fce6 (patch)
treea7444dd917b6b90e07ea74904a3fb9cc0802bb7e
downloadaur-ea4336bb19425d08264bccd0016487b5fa51fce6.tar.gz
First commit
-rw-r--r--.SRCINFO91
-rw-r--r--.gitignore5
-rw-r--r--LICENSE82
-rw-r--r--PKGBUILD126
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"
+}