summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorkevall4742020-11-20 17:16:16 -0500
committerkevall4742020-11-20 17:16:16 -0500
commitef557b5a5d6691178c7e99e0a23090f2a16ecdb4 (patch)
tree6de2343121436c0d1233767bb112e9f3d73e2557
parentcd6c53d64a1b40aed9a05699911c9c446a16108c (diff)
downloadaur-ef557b5a5d6691178c7e99e0a23090f2a16ecdb4.tar.gz
rebase pkgbuild now install in usr dir and provides ocl-icd and libglvnd
-rw-r--r--.SRCINFO46
-rw-r--r--PKGBUILD143
2 files changed, 157 insertions, 32 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 1622a5fa9b40..a7b0273600df 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,5 +1,5 @@
pkgbase = mesa-aco
- pkgdesc = Mesa stable release. ACO enable by default. More options are enable than the standard mesa package
+ pkgdesc = Mesa stable release. ACO enable by default. More options are enable than the standard mesa package. Provides ocl-icd and libglvnd.
pkgver = 20.2.2
pkgrel = 1
url = https://mesa3d.org/
@@ -12,8 +12,6 @@ pkgbase = mesa-aco
makedepends = ninja
makedepends = git
makedepends = ninjas2
- makedepends = spirv-tools
- makedepends = spirv-llvm-translator
makedepends = clang
makedepends = libxvmc
makedepends = python
@@ -38,7 +36,6 @@ pkgbase = mesa-aco
makedepends = libxv
makedepends = libxvmc
makedepends = libepoxy
- makedepends = gtk3
depends = libdrm
depends = libelf
depends = libglvnd
@@ -54,12 +51,49 @@ pkgbase = mesa-aco
depends = libclc
depends = expat
depends = vulkan-icd-loader
+ provides = mesa
+ provides = opencl-mesa
+ provides = vulkan-intel
+ provides = vulkan-radeon
+ provides = vulkan-driver
+ provides = vulkan-mesa-layer
+ provides = libva-mesa-driver
+ provides = mesa-vdpau
+ provides = opengl-driver
+ provides = opencl-driver
+ provides = mesa-libgl
+ provides = libglvnd
+ provides = libgl
+ provides = libegl
+ provides = libgles
+ provides = ocl-icd
+ provides = opencl-icd-loader
+ conflicts = mesa
+ conflicts = opencl-mesa
+ conflicts = vulkan-intel
+ conflicts = vulkan-radeon
+ conflicts = vulkan-mesa-layer
+ conflicts = libva-mesa-driver
+ conflicts = mesa-vdpau
+ conflicts = libglvnd
+ conflicts = ocl-icd
+ conflicts = mesa-aco-rc
conflicts = mesa-llvm
conflicts = mesa-llvm-rc
- conflicts = mesa-aco-rc
+ conflicts = mesa-git
+ replaces = mesa
+ replaces = opencl-mesa
+ replaces = vulkan-intel
+ replaces = vulkan-radeon
+ replaces = vulkan-mesa-layer
+ replaces = libva-mesa-driver
+ replaces = mesa-vdpau
+ replaces = libglvnd
+ replaces = ocl-icd
+ replaces = mesa-aco-rc
replaces = mesa-llvm
replaces = mesa-llvm-rc
- replaces = mesa-aco-rc
+ replaces = mesa-git
source = https://archive.mesa3d.org/mesa-20.2.2.tar.xz
source = LICENSE
md5sums = SKIP
diff --git a/PKGBUILD b/PKGBUILD
index 6342ffc90203..27bfd3265c59 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,41 +1,51 @@
#Maintainer: kevall474 <kevall474@tuta.io> <https://github.com/kevall474>
+#Credits: Lone_Wolf <lone_wolf@klaas-de-kat.nl> ---> For the base PKGBULD
+#Credits: Laurent Carlier <lordheavym@gmail.com> ---> For the base PKGBUILD
+
pkgname=mesa-aco
pkgver=20.2.2
pkgrel=1
-pkgdesc="Mesa stable release. ACO enable by default. More options are enable than the standard mesa package"
+pkgdesc="Mesa stable release. ACO enable by default. More options are enable than the standard mesa package. Provides ocl-icd and libglvnd."
arch=(x86_64)
url="https://mesa3d.org/"
license=('MIT')
depends=("libdrm" "libelf" "libglvnd" "libomxil-bellagio" "libunwind" "libxdamage" "libxxf86vm" "llvm-libs"
"lm_sensors" "wayland" "zstd" "libxshmfence" "libclc" "expat" "vulkan-icd-loader")
-makedepends=("bison" "flex" "valgrind" "meson" "ninja" "git" "ninjas2" "spirv-tools" "spirv-llvm-translator" "clang" "libxvmc"
- "python" "python-appdirs" "python-mako" "python-evdev" "elfutils" "glslang" "libva" "libepoxy" "libxv" "libvdpau"
- "libx11" "libxml2" "libxrandr" "llvm" "libconfig" "gtk3" "wayland-protocols" "xorgproto" "patch" "libxv" "libxvmc"
- "libepoxy" "gtk3")
-conflicts=("mesa-llvm" "mesa-llvm-rc" "mesa-aco-rc")
-replaces=("mesa-llvm" "mesa-llvm-rc" "mesa-aco-rc")
+makedepends=("bison" "flex" "valgrind" "meson" "ninja" "git" "ninjas2" "clang" "libxvmc"
+ "python" "python-appdirs" "python-mako" "python-evdev" "elfutils" "glslang" "libva" "libepoxy" "libxv" "libvdpau"
+ "libx11" "libxml2" "libxrandr" "llvm" "libconfig" "gtk3" "wayland-protocols" "xorgproto" "patch" "libxv" "libxvmc"
+ "libepoxy")
+conflicts=("mesa" "opencl-mesa" "vulkan-intel" "vulkan-radeon" "vulkan-mesa-layer" "libva-mesa-driver" "mesa-vdpau" "libglvnd" "ocl-icd"
+ "mesa-aco-rc" "mesa-llvm" "mesa-llvm-rc" "mesa-git")
+replaces=("mesa" "opencl-mesa" "vulkan-intel" "vulkan-radeon" "vulkan-mesa-layer" "libva-mesa-driver" "mesa-vdpau" "libglvnd" "ocl-icd"
+ "mesa-aco-rc" "mesa-llvm" "mesa-llvm-rc" "mesa-git")
+provides=("mesa" "opencl-mesa" "vulkan-intel" "vulkan-radeon" "vulkan-driver" "vulkan-mesa-layer" "libva-mesa-driver" "mesa-vdpau" "opengl-driver"
+ "opencl-driver" "mesa-libgl" "libglvnd" "libgl" "libegl" "libgles" "ocl-icd" "opencl-icd-loader")
source=("https://archive.mesa3d.org/mesa-${pkgver}.tar.xz"
"LICENSE")
md5sums=("SKIP"
- "SKIP")
+ "SKIP")
-build() {
+package() {
cd mesa-${pkgver}
# remove build dir if there is one
- echo "remove build dir if there is one"
+ msg2 "Remove build dir if there is one"
if dir build; then
rm -rf build
fi
# create build dir
- echo "create build dir"
- mkdir build
+ msg2 "Create build dir"
+ mkdir -p -v build
# build
- echo "build with meson"
+ msg2 "Build with meson"
meson build/ \
- -Dplatforms=x11,wayland,drm,surfaceless \
+ -D b_ndebug=true \
+ -D b_lto=true \
+ -Dprefix=/usr \
+ -Dplatforms=x11,wayland \
-Ddri3=enabled \
-Ddri-drivers=i915,i965,r100,r200,nouveau \
-Dgallium-drivers=r300,r600,radeonsi,nouveau,virgl,svga,swrast,iris,zink,freedreno,v3d,vc4,etnaviv,tegra,kmsro \
@@ -47,7 +57,7 @@ build() {
-Dgallium-xa=enabled \
-Dgallium-nine=true \
-Dgallium-opencl=standalone \
- -Dopencl-spirv=true \
+ -Dopencl-spirv=false \
-Dvulkan-drivers=amd,intel \
-Dshader-cache=enabled \
-Dvulkan-overlay-layer=true \
@@ -57,7 +67,7 @@ build() {
-Dgles2=enabled \
-Dopengl=true \
-Dgbm=enabled \
- -Dglx=auto \
+ -Dglx=dri \
-Degl=enabled \
-Dglvnd=false \
-Dllvm=enabled \
@@ -65,26 +75,107 @@ build() {
-Dvalgrind=enabled \
-Dlibunwind=enabled \
-Dlmsensors=enabled \
- -Dbuild-tests=true \
- -Dbuild-aco-tests=true \
-Dselinux=false \
-Dosmesa=gallium \
-Dswr-arches=avx,avx2,knl,skx \
-Dshared-swr=true \
- -Dtools=all \
-Dpower8=enabled \
-Dxlib-lease=enabled \
-Dglx-direct=true \
-Dzstd=enabled
-}
-package() {
# compiling mesa and installing to "$pkgdir"
- echo "compiling mesa and installing to "$pkgdir""
- DESTDIR="$pkgdir" ninja $NINJAFLAGS -C mesa-${pkgver}/build/ install
+ msg2 "Compiling mesa and installing to "$pkgdir""
+ 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"
+ rm -rf "${pkgdir}/usr/bin"
+
+ #Recompile for libEGL_mesa libGLX_mesa libMesaOpenCL
+ msg2 "Recompile mesa for libEGL_mesa libGLX_mesa libMesaOpenCL"
+
+ # remove build dir if there is one
+ msg2 "Remove build dir if there is one"
+ if dir build; then
+ rm -rf build
+ fi
+
+ # create build dir
+ msg2 "Create build dir"
+ mkdir -p -v build
+
+ msg2 "Create fakeinstall dir"
+ mkdir -p -v "${srcdir}"/fakeinstall
+
+ # build
+ msg2 "Build with meson"
+ meson build/ \
+ -D b_ndebug=true \
+ -D b_lto=true \
+ -Dprefix=/usr \
+ -Dplatforms=x11,wayland \
+ -Ddri3=enabled \
+ -Ddri-drivers=i915,i965,r100,r200,nouveau \
+ -Dgallium-drivers=r300,r600,radeonsi,nouveau,virgl,svga,swrast,iris,zink,freedreno,v3d,vc4,etnaviv,tegra,kmsro \
+ -Dgallium-extra-hud=true \
+ -Dgallium-vdpau=enabled \
+ -Dgallium-xvmc=enabled \
+ -Dgallium-omx=auto \
+ -Dgallium-va=enabled \
+ -Dgallium-xa=enabled \
+ -Dgallium-nine=true \
+ -Dgallium-opencl=icd \
+ -Dopencl-spirv=false \
+ -Dvulkan-drivers=amd,intel \
+ -Dshader-cache=enabled \
+ -Dvulkan-overlay-layer=true \
+ -Dvulkan-device-select-layer=true \
+ -Dshared-glapi=enabled \
+ -Dgles1=enabled \
+ -Dgles2=enabled \
+ -Dopengl=true \
+ -Dgbm=enabled \
+ -Dglx=dri \
+ -Degl=enabled \
+ -Dglvnd=true \
+ -Dllvm=enabled \
+ -Dshared-llvm=disabled \
+ -Dvalgrind=enabled \
+ -Dlibunwind=enabled \
+ -Dlmsensors=enabled \
+ -Dselinux=false \
+ -Dosmesa=gallium \
+ -Dswr-arches=avx,avx2,knl,skx \
+ -Dshared-swr=true \
+ -Dpower8=enabled \
+ -Dxlib-lease=enabled \
+ -Dglx-direct=true \
+ -Dzstd=enabled
+
+ # compiling mesa and installing to "$pkgdir"
+ msg2 "Recompiling mesa and installing to fakeinstall"
+ DESTDIR="${srcdir}"/fakeinstall ninja $NINJAFLAGS -C build/ install
+
+ #Copy *libEGL_mesa* to "${pkgdir}"/usr/lib/
+ cp -v -r "${srcdir}"/fakeinstall/usr/lib/*libEGL_mesa* "${pkgdir}"/usr/lib/
+
+ #Copy to *libGLX_mesa* "${pkgdir}"/usr/lib/
+ cp -v -r "${srcdir}"/fakeinstall/usr/lib/*libGLX_mesa* "${pkgdir}"/usr/lib/
+
+ #Copy to *libMesaOpenCL* "${pkgdir}"/usr/lib/
+ cp -v -r "${srcdir}"/fakeinstall/usr/lib/*libMesaOpenCL* "${pkgdir}"/usr/lib/
+
+ #Copy etc/ to ${pkgdir}
+ msg2 "Copy etc/ to ${pkgdir}"
+ cp -v -r "${srcdir}"/fakeinstall/etc "${pkgdir}"
+
+ # indirect rendering
+ ln -s /usr/lib/libGLX_mesa.so.0 "${pkgdir}/usr/lib/libGLX_indirect.so.0"
# installing licencse
- echo "installing license"
- install -dm755 "${pkgdir}"/usr/local/share/licenses/${pkgname}-${pkgver}/
- cp "${srcdir}"/LICENSE "${pkgdir}"/usr/local/share/licenses/${pkgname}-${pkgver}/
+ msg2 "Installing license"
+ install -dm755 "${pkgdir}"/usr/share/licenses/${pkgname}-${pkgver}/
+ cp -v -r "${srcdir}"/LICENSE "${pkgdir}"/usr/share/licenses/${pkgname}-${pkgver}/
}