enabled libglvnd

This commit is contained in:
LW-archlinux 2017-05-22 17:01:33 +02:00
parent ded28cf3ae
commit b775749565
4 changed files with 82 additions and 62 deletions

View File

@ -1,6 +1,6 @@
pkgbase = mesa-git pkgbase = mesa-git
pkgdesc = an open-source implementation of the OpenGL specification, git version pkgdesc = an open-source implementation of the OpenGL specification, git version
pkgver = 17.2.0_devel.92207.4eb0411ed7 pkgver = 17.2.0_devel.92208.30dc56bb5b
pkgrel = 1 pkgrel = 1
url = http://mesa3d.sourceforge.net url = http://mesa3d.sourceforge.net
arch = x86_64 arch = x86_64
@ -30,10 +30,15 @@ pkgbase = mesa-git
makedepends = vulkan-icd-loader makedepends = vulkan-icd-loader
makedepends = libgcrypt makedepends = libgcrypt
makedepends = libunwind makedepends = libunwind
makedepends = libglvnd
source = mesa::git://anongit.freedesktop.org/mesa/mesa source = mesa::git://anongit.freedesktop.org/mesa/mesa
source = LICENSE source = LICENSE
source = 0001-Fix-linkage-against-shared-glapi.patch
source = glvnd-fix-gl-dot-pc.patch
sha512sums = SKIP sha512sums = SKIP
sha512sums = 25da77914dded10c1f432ebcbf29941124138824ceecaf1367b3deedafaecabc082d463abcfa3d15abff59f177491472b505bcb5ba0c4a51bb6b93b4721a23c2 sha512sums = 25da77914dded10c1f432ebcbf29941124138824ceecaf1367b3deedafaecabc082d463abcfa3d15abff59f177491472b505bcb5ba0c4a51bb6b93b4721a23c2
sha512sums = fdf973f0387997cee16936bc978f52d60719a1a8610fa96768e2cec42ad790da31f72c00783246f047fc496de01f9e22aec0d46577ded9c2353dd6e6193b4294
sha512sums = 75849eca72ca9d01c648d5ea4f6371f1b8737ca35b14be179e14c73cc51dca0739c333343cdc228a6d464135f4791bcdc21734e2debecd29d57023c8c088b028
pkgname = mesa-git pkgname = mesa-git
pkgdesc = an open-source implementation of the OpenGL specification, git version pkgdesc = an open-source implementation of the OpenGL specification, git version
@ -56,31 +61,20 @@ pkgname = mesa-git
provides = mesa-vdpau provides = mesa-vdpau
provides = vulkan-driver provides = vulkan-driver
provides = opencl-driver provides = opencl-driver
provides = mesa-libgl
provides = opengl-driver
conflicts = mesa conflicts = mesa
conflicts = opencl-mesa conflicts = opencl-mesa
conflicts = vulkan-intel conflicts = vulkan-intel
conflicts = vulkan-radeon conflicts = vulkan-radeon
conflicts = libva-mesa-driver conflicts = libva-mesa-driver
conflicts = mesa-vdpau conflicts = mesa-vdpau
conflicts = mesa-libgl
replaces = mesa replaces = mesa
replaces = opencl-mesa replaces = opencl-mesa
replaces = vulkan-intel replaces = vulkan-intel
replaces = vulkan-radeon replaces = vulkan-radeon
replaces = libva-mesa-driver replaces = libva-mesa-driver
replaces = mesa-vdpau replaces = mesa-vdpau
pkgname = mesa-libgl-git
pkgdesc = Mesa 3-D graphics library
depends = mesa-git
provides = mesa-libgl
provides = libgl
provides = libgles
provides = libegl
provides = opengl-provider
conflicts = mesa-libgl
conflicts = libgles
conflicts = libegl
replaces = mesa-libgl replaces = mesa-libgl
replaces = libgles
replaces = libegl

View File

@ -0,0 +1,26 @@
From 1b5a187c3c31513ae39cd2a917a3234c2c5f87fc Mon Sep 17 00:00:00 2001
From: Adam Jackson <ajax@redhat.com>
Date: Wed, 12 Oct 2016 13:41:33 -0400
Subject: [PATCH] Fix linkage against shared glapi
Signed-off-by: Adam Jackson <ajax@redhat.com>
---
src/gallium/targets/osmesa/Makefile.am | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/src/gallium/targets/osmesa/Makefile.am b/src/gallium/targets/osmesa/Makefile.am
index 5d39486..04add87 100644
--- a/src/gallium/targets/osmesa/Makefile.am
+++ b/src/gallium/targets/osmesa/Makefile.am
@@ -63,7 +63,7 @@ lib@OSMESA_LIB@_la_LIBADD = \
$(top_builddir)/src/gallium/drivers/trace/libtrace.la \
$(top_builddir)/src/gallium/drivers/softpipe/libsoftpipe.la \
$(top_builddir)/src/gallium/state_trackers/osmesa/libosmesa.la \
- $(top_builddir)/src/mapi/glapi/libglapi.la \
+ $(top_builddir)/src/mapi/shared-glapi/libglapi.la \
$(SHARED_GLAPI_LIB) \
$(OSMESA_LIB_DEPS) \
$(CLOCK_LIB)
--
2.9.3

View File

@ -10,30 +10,39 @@
# Contributor: Diego Jose <diegoxter1006@gmail.com> # Contributor: Diego Jose <diegoxter1006@gmail.com>
pkgbase=mesa-git pkgbase=mesa-git
pkgname=('mesa-git' 'mesa-libgl-git') pkgname=('mesa-git')
pkgdesc="an open-source implementation of the OpenGL specification, git version" pkgdesc="an open-source implementation of the OpenGL specification, git version"
pkgver=17.2.0_devel.92207.4eb0411ed7 pkgver=17.2.0_devel.92208.30dc56bb5b
pkgrel=1 pkgrel=1
arch=('x86_64') arch=('x86_64')
makedepends=('git' 'python2-mako' 'llvm-svn' 'libclc' 'clang-svn' 'libdrm' 'glproto' makedepends=('git' 'python2-mako' 'llvm-svn' 'libclc' 'clang-svn' 'libdrm' 'glproto'
'dri2proto' 'dri3proto' 'presentproto' 'libxml2' 'libx11' 'libxshmfence' 'dri2proto' 'dri3proto' 'presentproto' 'libxml2' 'libx11' 'libxshmfence'
'libxxf86vm' 'libxdamage' 'libvdpau' 'libva' 'wayland' 'elfutils' 'libomxil-bellagio' 'libxxf86vm' 'libxdamage' 'libvdpau' 'libva' 'wayland' 'elfutils' 'libomxil-bellagio'
'libtxc_dxtn' 'ocl-icd' 'vulkan-icd-loader' 'libgcrypt' 'libunwind') 'libtxc_dxtn' 'ocl-icd' 'vulkan-icd-loader' 'libgcrypt' 'libunwind' 'libglvnd')
url="http://mesa3d.sourceforge.net" url="http://mesa3d.sourceforge.net"
license=('custom') license=('custom')
# source=('mesa::git+https://anongit.freedesktop.org/git/mesa/mesa.git'
source=('mesa::git://anongit.freedesktop.org/mesa/mesa' source=('mesa::git://anongit.freedesktop.org/mesa/mesa'
'LICENSE' 'LICENSE'
'0001-Fix-linkage-against-shared-glapi.patch'
'glvnd-fix-gl-dot-pc.patch'
) )
sha512sums=('SKIP' sha512sums=('SKIP'
'25da77914dded10c1f432ebcbf29941124138824ceecaf1367b3deedafaecabc082d463abcfa3d15abff59f177491472b505bcb5ba0c4a51bb6b93b4721a23c2' '25da77914dded10c1f432ebcbf29941124138824ceecaf1367b3deedafaecabc082d463abcfa3d15abff59f177491472b505bcb5ba0c4a51bb6b93b4721a23c2'
) 'fdf973f0387997cee16936bc978f52d60719a1a8610fa96768e2cec42ad790da31f72c00783246f047fc496de01f9e22aec0d46577ded9c2353dd6e6193b4294'
'75849eca72ca9d01c648d5ea4f6371f1b8737ca35b14be179e14c73cc51dca0739c333343cdc228a6d464135f4791bcdc21734e2debecd29d57023c8c088b028')
# prepare() { prepare() {
# cd mesa cd ${srcdir}/mesa
# pthread-stubs is useless on linux
# patch -Np1 -i "$srcdir"/disable-pthread-stubs-on-linux.patch # glvnd support patches - from Fedora
#} # non-upstreamed ones
patch -Np1 -i ../glvnd-fix-gl-dot-pc.patch
patch -Np1 -i ../0001-Fix-linkage-against-shared-glapi.patch
# patch -Np1 -i ../0001-glxglvnddispatch-Add-missing-dispatch-for-GetDriverC.patch
# upstreamed, see https://cgit.freedesktop.org/mesa/mesa/commit/?id=84f764a7591715104b28c035c837ce9fd86157ad
}
pkgver() { pkgver() {
cd mesa cd mesa
@ -60,7 +69,8 @@ build () {
--enable-omx \ --enable-omx \
--enable-opencl \ --enable-opencl \
--enable-opencl-icd \ --enable-opencl-icd \
--enable-glx-tls --enable-glx-tls \
--enable-libglvnd
# Used configure settings # Used configure settings
@ -98,6 +108,8 @@ build () {
# --enable-opencl-icd Build an OpenCL ICD library to be loaded by an ICD implementation # --enable-opencl-icd Build an OpenCL ICD library to be loaded by an ICD implementation
# [default=disabled] # [default=disabled]
# --enable-glx-tls enable TLS support in GLX # --enable-glx-tls enable TLS support in GLX
# [default=disabled]
# --enable-libglvnd Build GLX and EGL for libglvnd
# [default=disabled] # [default=disabled]
make make
@ -110,49 +122,25 @@ package_mesa-git () {
depends=('libdrm' 'wayland' 'libxxf86vm' 'libxdamage' 'libxshmfence' 'libelf' depends=('libdrm' 'wayland' 'libxxf86vm' 'libxdamage' 'libxshmfence' 'libelf'
'libomxil-bellagio' 'libtxc_dxtn' 'llvm-libs-svn' 'libunwind') 'libomxil-bellagio' 'libtxc_dxtn' 'llvm-libs-svn' 'libunwind')
optdepends=('opengl-man-pages: for the OpenGL API man pages') optdepends=('opengl-man-pages: for the OpenGL API man pages')
provides=('mesa' 'opencl-mesa' 'vulkan-intel' 'vulkan-radeon' 'libva-mesa-driver' 'mesa-vdpau' 'vulkan-driver' 'opencl-driver') provides=('mesa' 'opencl-mesa' 'vulkan-intel' 'vulkan-radeon' 'libva-mesa-driver' 'mesa-vdpau' 'vulkan-driver' 'opencl-driver' 'mesa-libgl' 'opengl-driver')
replaces=('mesa' 'opencl-mesa' 'vulkan-intel' 'vulkan-radeon' 'libva-mesa-driver' 'mesa-vdpau') replaces=('mesa' 'opencl-mesa' 'vulkan-intel' 'vulkan-radeon' 'libva-mesa-driver' 'mesa-vdpau' 'mesa-libgl')
conflicts=('mesa' 'opencl-mesa' 'vulkan-intel' 'vulkan-radeon' 'libva-mesa-driver' 'mesa-vdpau') conflicts=('mesa' 'opencl-mesa' 'vulkan-intel' 'vulkan-radeon' 'libva-mesa-driver' 'mesa-vdpau' 'mesa-libgl')
cd mesa cd mesa
make DESTDIR="$pkgdir" install make DESTDIR="$pkgdir" install
# remove vulkan headers as they are provided by vulkan-headers package # remove vulkan headers as they are provided by vulkan-headers package
rm -rf "$pkgdir"/usr/include/vulkan/vk_platform.h "$pkgdir"/usr/include/vulkan/vulkan.h rm -rf "$pkgdir"/usr/include/vulkan/vk_platform.h "$pkgdir"/usr/include/vulkan/vulkan.h
install -m755 -d ${pkgdir}/usr/lib/mesa # remove files present in libglvnd
# move libgl/EGL/glesv*.so to not conflict with blobs ? rm $pkgdir/usr/lib/libGLESv1_CM.so
mv -v "$pkgdir"/usr/lib/libGL.so* "$pkgdir"/usr/lib/mesa/ rm $pkgdir/usr/lib/libGLESv1_CM.so.1
mv -v "$pkgdir"/usr/lib/libEGL.so* "$pkgdir"/usr/lib/mesa/ rm $pkgdir/usr/lib/libGLESv2.so
mv -v "$pkgdir"/usr/lib/libGLES*.so* "$pkgdir"/usr/lib/mesa/ rm $pkgdir/usr/lib/libGLESv2.so.2
rm $pkgdir/usr/lib/libGLESv2.so.2.0.0
# indirect rendering
ln -s /usr/lib/libGLX_mesa.so.0 ${pkgdir}/usr/lib/libGLX_indirect.so.0
install -m755 -d "$pkgdir"/usr/share/licenses/$pkgbase install -m755 -d "$pkgdir"/usr/share/licenses/$pkgbase
install -m644 "$srcdir"/LICENSE "$pkgdir"/usr/share/licenses/$pkgbase/ install -m644 "$srcdir"/LICENSE "$pkgdir"/usr/share/licenses/$pkgbase/
} }
package_mesa-libgl-git () {
pkgdesc="Mesa 3-D graphics library"
depends=('mesa-git')
provides=('mesa-libgl' 'libgl' 'libgles' 'libegl' 'opengl-provider')
replaces=('mesa-libgl' 'libgles' 'libegl')
conflicts=('mesa-libgl' 'libgles' 'libegl')
install -m755 -d "$pkgdir"/usr/lib/
ln -s /usr/lib/mesa/libGL.so.1.2.0 "$pkgdir"/usr/lib/libGL.so.1.2.0
ln -s libGL.so.1.2.0 "$pkgdir"/usr/lib/libGL.so.1
ln -s libGL.so.1.2.0 "$pkgdir"/usr/lib/libGL.so
ln -s /usr/lib/mesa/libEGL.so.1.0.0 "$pkgdir"/usr/lib/libEGL.so.1.0.0
ln -s libEGL.so.1.0.0 "$pkgdir"/usr/lib/libEGL.so.1
ln -s libEGL.so.1.0.0 "$pkgdir"/usr/lib/libEGL.so
ln -s /usr/lib/mesa/libGLESv1_CM.so.1.1.0 "$pkgdir"/usr/lib/libGLESv1_CM.so.1.1.0
ln -s libGLESv1_CM.so.1.1.0 "$pkgdir"/usr/lib/libGLESv1_CM.so.1
ln -s libGLESv1_CM.so.1.1.0 "$pkgdir"/usr/lib/libGLESv1_CM.so
ln -s /usr/lib/mesa/libGLESv2.so.2.0.0 "$pkgdir"/usr/lib/libGLESv2.so.2.0.0
ln -s libGLESv2.so.2.0.0 "$pkgdir"/usr/lib/libGLESv2.so.2
ln -s libGLESv2.so.2.0.0 "$pkgdir"/usr/lib/libGLESv2.so
install -m755 -d "$pkgdir"/usr/share/licenses/mesa-libgl-git
install -m644 "$srcdir"/LICENSE "$pkgdir"/usr/share/licenses/mesa-libgl-git/
}

12
glvnd-fix-gl-dot-pc.patch Normal file
View File

@ -0,0 +1,12 @@
diff -up mesa-12.0.3/src/mesa/gl.pc.in.jx mesa-12.0.3/src/mesa/gl.pc.in
--- mesa-12.0.3/src/mesa/gl.pc.in.jx 2016-01-18 02:39:26.000000000 -0500
+++ mesa-12.0.3/src/mesa/gl.pc.in 2016-10-25 13:06:44.013159358 -0400
@@ -7,7 +7,7 @@ Name: gl
Description: Mesa OpenGL library
Requires.private: @GL_PC_REQ_PRIV@
Version: @PACKAGE_VERSION@
-Libs: -L${libdir} -l@GL_LIB@
+Libs: -L${libdir} -lGL
Libs.private: @GL_PC_LIB_PRIV@
Cflags: -I${includedir} @GL_PC_CFLAGS@
glx_tls: @GLX_TLS@