From 94c82b31e45ddb02cfe0cd0d51ec7023f43634c2 Mon Sep 17 00:00:00 2001 From: Kevin Mihelich Date: Sat, 19 Oct 2019 17:11:30 +0000 Subject: [PATCH] extra/libglvnd to 1.2.0-3 --- ...e-option-to-disable-glesv1-or-glesv2.patch | 122 ++++++++++++++++++ extra/libglvnd/PKGBUILD | 20 ++- 2 files changed, 135 insertions(+), 7 deletions(-) create mode 100644 extra/libglvnd/0001-Add-a-configure-option-to-disable-glesv1-or-glesv2.patch diff --git a/extra/libglvnd/0001-Add-a-configure-option-to-disable-glesv1-or-glesv2.patch b/extra/libglvnd/0001-Add-a-configure-option-to-disable-glesv1-or-glesv2.patch new file mode 100644 index 000000000..4a7d4353f --- /dev/null +++ b/extra/libglvnd/0001-Add-a-configure-option-to-disable-glesv1-or-glesv2.patch @@ -0,0 +1,122 @@ +From 3a1fb32c3b2ba0bc28952759c33dc98bb5260125 Mon Sep 17 00:00:00 2001 +From: Laurent Carlier +Date: Tue, 8 Oct 2019 16:34:16 +0000 +Subject: [PATCH] Add a configure option to disable glesv1 or glesv2 + +Because mesa can be built without glesv1 so it breaks autodetection. + +Fixes: https://bugs.archlinux.org/task/64032 ('mesa-demos doesn't build, unable to find GLES/gl.h') +--- + configure.ac | 23 +++++++++++++++-------- + include/Makefile.am | 24 ++++++++++++++++++------ + src/Makefile.am | 4 +++- + 3 files changed, 36 insertions(+), 15 deletions(-) + +diff --git a/configure.ac b/configure.ac +index faa0379..eb68d3b 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -70,13 +70,19 @@ if test "x$enable_x11" != "xyes" -a "x$enable_glx" = "xyes" ; then + AC_MSG_ERROR([Can't build GLX without X11.]) + fi + +-AC_ARG_ENABLE([gles], +- [AS_HELP_STRING([--disable-gles], +- [Do not build the libGLES*.so libraries @<:@default=enabled@:>@])], +- [enable_gles="$enableval"], +- [enable_gles=yes] +-) +-AM_CONDITIONAL([ENABLE_GLES], [test "x$enable_gles" = "xyes"]) ++AC_ARG_ENABLE([gles1], ++ [AS_HELP_STRING([--disable-gles1], ++ [disable support for OpenGL ES 1.x API @<:@default=enabled@:>@])], ++ [enable_gles1="$enableval"], ++ [enable_gles1=yes]) ++AM_CONDITIONAL([ENABLE_GLES1], [test "x$enable_gles1" = "xyes"]) ++ ++AC_ARG_ENABLE([gles2], ++ [AS_HELP_STRING([--disable-gles2], ++ [disable support for OpenGL ES 2.x and 3.x API @<:@default=enabled@:>@])], ++ [enable_gles2="$enableval"], ++ [enable_gles2=yes]) ++AM_CONDITIONAL([ENABLE_GLES2], [test "x$enable_gles2" = "xyes"]) + + AC_ARG_ENABLE([headers], + [AS_HELP_STRING([--disable-headers], +@@ -87,7 +93,8 @@ AC_ARG_ENABLE([headers], + AM_CONDITIONAL([ENABLE_GL_HEADERS], [test "x$enable_headers" = "xyes"]) + AM_CONDITIONAL([ENABLE_EGL_HEADERS], [test "x$enable_headers" = "xyes" -a "x$enable_egl" = "xyes"]) + AM_CONDITIONAL([ENABLE_GLX_HEADERS], [test "x$enable_headers" = "xyes" -a "x$enable_glx" = "xyes"]) +-AM_CONDITIONAL([ENABLE_GLES_HEADERS], [test "x$enable_headers" = "xyes" -a "x$enable_gles" = "xyes"]) ++AM_CONDITIONAL([ENABLE_GLES1_HEADERS], [test "x$enable_headers" = "xyes" -a "x$enable_gles1" = "xyes"]) ++AM_CONDITIONAL([ENABLE_GLES2_HEADERS], [test "x$enable_headers" = "xyes" -a "x$enable_gles2" = "xyes"]) + + dnl + dnl Arch/platform-specific settings. Copied from mesa +diff --git a/include/Makefile.am b/include/Makefile.am +index 3d81d17..0c41dc7 100644 +--- a/include/Makefile.am ++++ b/include/Makefile.am +@@ -17,14 +17,18 @@ GL_HEADER_FILES = \ + GL/glext.h \ + KHR/khrplatform.h + +-GLES_HEADER_FILES = \ ++GLES1_HEADER_FILES = \ + GLES/egl.h \ + GLES/gl.h \ + GLES/glext.h \ +- GLES/glplatform.h \ ++ GLES/glplatform.h ++ ++GLES2_HEADER_FILES = \ + GLES2/gl2ext.h \ + GLES2/gl2.h \ +- GLES2/gl2platform.h \ ++ GLES2/gl2platform.h ++ ++GLES3_HEADER_FILES = \ + GLES3/gl31.h \ + GLES3/gl32.h \ + GLES3/gl3.h \ +@@ -45,10 +49,18 @@ else + noinst_HEADERS += $(GL_HEADER_FILES) + endif + +-if ENABLE_GLES_HEADERS +-nobase_include_HEADERS += $(GLES_HEADER_FILES) ++if ENABLE_GLES1_HEADERS ++nobase_include_HEADERS += $(GLES1_HEADER_FILES) ++else ++noinst_HEADERS += $(GLES1_HEADER_FILES) ++endif ++ ++if ENABLE_GLES2_HEADERS ++nobase_include_HEADERS += $(GLES2_HEADER_FILES) ++nobase_include_HEADERS += $(GLES3_HEADER_FILES) + else +-noinst_HEADERS += $(GLES_HEADER_FILES) ++noinst_HEADERS += $(GLES2_HEADER_FILES) ++noinst_HEADERS += $(GLES3_HEADER_FILES) + endif + + if ENABLE_GLX_HEADERS +diff --git a/src/Makefile.am b/src/Makefile.am +index 5f7ce79..821346f 100644 +--- a/src/Makefile.am ++++ b/src/Makefile.am +@@ -12,8 +12,10 @@ SUBDIRS += GLX + SUBDIRS += GL + endif + +-if ENABLE_GLES ++if ENABLE_GLES1 + SUBDIRS += GLESv1 ++endif ++if ENABLE_GLES2 + SUBDIRS += GLESv2 + endif + +-- +2.23.0 + diff --git a/extra/libglvnd/PKGBUILD b/extra/libglvnd/PKGBUILD index c3a5c8b02..bf48441e6 100644 --- a/extra/libglvnd/PKGBUILD +++ b/extra/libglvnd/PKGBUILD @@ -5,7 +5,7 @@ pkgname=libglvnd pkgver=1.2.0 -pkgrel=2 +pkgrel=3 pkgdesc="The GL Vendor-Neutral Dispatch library" arch=('x86_64') url="https://github.com/NVIDIA/libglvnd" @@ -13,16 +13,26 @@ license=('custom:BSD-like') makedepends=('libxext' 'libx11' 'glproto' 'python') provides=('libgl' 'libegl' 'libgles') source=("$pkgname-$pkgver.tar.gz::https://github.com/NVIDIA/libglvnd/archive/v$pkgver.tar.gz" + 0001-Add-a-configure-option-to-disable-glesv1-or-glesv2.patch LICENSE) sha512sums=('0e0e9c3f303739c73f5bee4c2aaef9eff56440345f2f1ce285ee98eb94c1e5e740774dd501aeeed1299aa25a449d813a850e95282999a3ca4648d2381d6c8fa6' + 'b2d2e8fd7ea92bfc913d0b808d15c801e7c3ceb484bdd60700fd1c9ce27b4fbd4b68e568e967599f2e5132cc1ed382ec87a07c16bd3bfa5c4d920f2d9600e689' 'bf0f4a7e04220a407400f89226ecc1f798cc43035f2538cc8860e5088e1f84140baf0d4b0b28f66e4b802d4d6925769a1297c24e1ba39c1c093902b2931781a5') +prepare() { + cd $pkgname-$pkgver + + # merged upstream + patch -Np1 -i ../0001-Add-a-configure-option-to-disable-glesv1-or-glesv2.patch + + ./autogen.sh +} + build() { cd $pkgname-$pkgver - ./autogen.sh [[ $CARCH != "armv7h" ]] && CONFIG="--disable-asm" ./configure --prefix=/usr \ - --disable-headers $CONFIG + --disable-gles1 $CONFIG make } @@ -34,8 +44,4 @@ package() { make DESTDIR="$pkgdir" install install -Dm644 ../LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE - - # FS#64044 - rm "$pkgdir"/usr/lib/pkgconfig/glesv1* - rm "$pkgdir"/usr/lib/libGLESv1* }