summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libglvnd/.footprint28
-rw-r--r--libglvnd/.signature7
-rw-r--r--libglvnd/0001-glx-Add-another-fallback-library-name.patch30
-rw-r--r--libglvnd/Pkgfile26
-rw-r--r--libglvnd/egl-use-device-dispatch-if-at-least-one-vendor-suceeds.patch37
5 files changed, 96 insertions, 32 deletions
diff --git a/libglvnd/.footprint b/libglvnd/.footprint
index f96b04d6..bc94a835 100644
--- a/libglvnd/.footprint
+++ b/libglvnd/.footprint
@@ -10,11 +10,6 @@ drwxr-xr-x root/root usr/include/GL/
-rw-r--r-- root/root usr/include/GL/glext.h
-rw-r--r-- root/root usr/include/GL/glx.h
-rw-r--r-- root/root usr/include/GL/glxext.h
-drwxr-xr-x root/root usr/include/GLES/
--rw-r--r-- root/root usr/include/GLES/egl.h
--rw-r--r-- root/root usr/include/GLES/gl.h
--rw-r--r-- root/root usr/include/GLES/glext.h
--rw-r--r-- root/root usr/include/GLES/glplatform.h
drwxr-xr-x root/root usr/include/GLES2/
-rw-r--r-- root/root usr/include/GLES2/gl2.h
-rw-r--r-- root/root usr/include/GLES2/gl2ext.h
@@ -32,38 +27,27 @@ drwxr-xr-x root/root usr/include/glvnd/
-rw-r--r-- root/root usr/include/glvnd/libeglabi.h
-rw-r--r-- root/root usr/include/glvnd/libglxabi.h
drwxr-xr-x root/root usr/lib/
--rwxr-xr-x root/root usr/lib/libEGL.la
-lrwxrwxrwx root/root usr/lib/libEGL.so -> libEGL.so.1.1.0
+lrwxrwxrwx root/root usr/lib/libEGL.so -> libEGL.so.1
lrwxrwxrwx root/root usr/lib/libEGL.so.1 -> libEGL.so.1.1.0
-rwxr-xr-x root/root usr/lib/libEGL.so.1.1.0
--rwxr-xr-x root/root usr/lib/libGL.la
-lrwxrwxrwx root/root usr/lib/libGL.so -> libGL.so.1.7.0
+lrwxrwxrwx root/root usr/lib/libGL.so -> libGL.so.1
lrwxrwxrwx root/root usr/lib/libGL.so.1 -> libGL.so.1.7.0
-rwxr-xr-x root/root usr/lib/libGL.so.1.7.0
--rwxr-xr-x root/root usr/lib/libGLESv1_CM.la
-lrwxrwxrwx root/root usr/lib/libGLESv1_CM.so -> libGLESv1_CM.so.1.2.0
-lrwxrwxrwx root/root usr/lib/libGLESv1_CM.so.1 -> libGLESv1_CM.so.1.2.0
--rwxr-xr-x root/root usr/lib/libGLESv1_CM.so.1.2.0
--rwxr-xr-x root/root usr/lib/libGLESv2.la
-lrwxrwxrwx root/root usr/lib/libGLESv2.so -> libGLESv2.so.2.1.0
+lrwxrwxrwx root/root usr/lib/libGLESv2.so -> libGLESv2.so.2
lrwxrwxrwx root/root usr/lib/libGLESv2.so.2 -> libGLESv2.so.2.1.0
-rwxr-xr-x root/root usr/lib/libGLESv2.so.2.1.0
--rwxr-xr-x root/root usr/lib/libGLX.la
-lrwxrwxrwx root/root usr/lib/libGLX.so -> libGLX.so.0.0.0
+lrwxrwxrwx root/root usr/lib/libGLX.so -> libGLX.so.0
lrwxrwxrwx root/root usr/lib/libGLX.so.0 -> libGLX.so.0.0.0
-rwxr-xr-x root/root usr/lib/libGLX.so.0.0.0
--rwxr-xr-x root/root usr/lib/libGLdispatch.la
-lrwxrwxrwx root/root usr/lib/libGLdispatch.so -> libGLdispatch.so.0.0.0
+lrwxrwxrwx root/root usr/lib/libGLdispatch.so -> libGLdispatch.so.0
lrwxrwxrwx root/root usr/lib/libGLdispatch.so.0 -> libGLdispatch.so.0.0.0
-rwxr-xr-x root/root usr/lib/libGLdispatch.so.0.0.0
--rwxr-xr-x root/root usr/lib/libOpenGL.la
-lrwxrwxrwx root/root usr/lib/libOpenGL.so -> libOpenGL.so.0.0.0
+lrwxrwxrwx root/root usr/lib/libOpenGL.so -> libOpenGL.so.0
lrwxrwxrwx root/root usr/lib/libOpenGL.so.0 -> libOpenGL.so.0.0.0
-rwxr-xr-x root/root usr/lib/libOpenGL.so.0.0.0
drwxr-xr-x root/root usr/lib/pkgconfig/
-rw-r--r-- root/root usr/lib/pkgconfig/egl.pc
-rw-r--r-- root/root usr/lib/pkgconfig/gl.pc
--rw-r--r-- root/root usr/lib/pkgconfig/glesv1_cm.pc
-rw-r--r-- root/root usr/lib/pkgconfig/glesv2.pc
-rw-r--r-- root/root usr/lib/pkgconfig/glx.pc
-rw-r--r-- root/root usr/lib/pkgconfig/libglvnd.pc
diff --git a/libglvnd/.signature b/libglvnd/.signature
index 41ac678b..7222ba01 100644
--- a/libglvnd/.signature
+++ b/libglvnd/.signature
@@ -1,6 +1,7 @@
untrusted comment: verify with /etc/ports/xorg.pub
-RWTSGWF5Q7TndHOoivpDddyOt9FzXNo3TaNW2l7aYQY2dmaJTRMeOzgao6A6jqgJcLQ1msKYWAnauna393CkoDNVZ4pg8z0vqgQ=
-SHA256 (Pkgfile) = 1e05e44c732c1b5bae6ae1b1ebe5f2f95779bb9b5b445ce77314129d7871f135
-SHA256 (.footprint) = 6985f48e756c581f213eaf84b8f0234a608ec31c3ead594210caf1e5f0e62f72
+RWTSGWF5Q7TndFpnf6Qyi8ydbNwfcUXTGc4UNWZBQGw9niKaoAjVaAvgwAMaKeq4aBFdQNd3ryNzTYJ7ykPJZkuHM1vq8B84kQI=
+SHA256 (Pkgfile) = 0b5e06fed9bd7f15eb89d4858e5038f0baf9258f9025a7115c6ab985cbf86dc8
+SHA256 (.footprint) = 6798d697285c16167537bef2780cd0682141672178ff89352fb055ce8c3e64bd
SHA256 (libglvnd-1.3.4.tar.gz) = 8f4218d7cdaf89d5b7eced818e810ccbc76f4bb9cba36d66eddac5a7ca892bab
SHA256 (eglplatform.h) = fb6f2775ee3f3536de579b232b6bc48261a6678f91ab39bf8a1c1e05dde68d04
+SHA256 (0001-glx-Add-another-fallback-library-name.patch) = 87565356c31b20e60ded9f17ab76d442dd2cd36bfa4214a0de9699c49106ce43
diff --git a/libglvnd/0001-glx-Add-another-fallback-library-name.patch b/libglvnd/0001-glx-Add-another-fallback-library-name.patch
new file mode 100644
index 00000000..0c8cb952
--- /dev/null
+++ b/libglvnd/0001-glx-Add-another-fallback-library-name.patch
@@ -0,0 +1,30 @@
+From 24606973bfabd75285fbd489264235167ba0f44c Mon Sep 17 00:00:00 2001
+From: Adam Jackson <ajax@redhat.com>
+Date: Thu, 14 Jun 2018 11:25:21 -0400
+Subject: [PATCH] glx: Add another fallback library name
+
+This is mostly to avoid file conflicts with external packaging.
+
+Signed-off-by: Adam Jackson <ajax@redhat.com>
+---
+ src/GLX/libglxmapping.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/src/GLX/libglxmapping.c b/src/GLX/libglxmapping.c
+index be384f8..2016a04 100644
+--- a/src/GLX/libglxmapping.c
++++ b/src/GLX/libglxmapping.c
+@@ -591,6 +591,10 @@ __GLXvendorInfo *__glXLookupVendorByScreen(Display *dpy, const int screen)
+ vendor = __glXLookupVendorByName(FALLBACK_VENDOR_NAME);
+ }
+
++ if (!vendor) {
++ vendor = __glXLookupVendorByName("system");
++ }
++
+ dpyInfo->vendors[screen] = vendor;
+ }
+ __glvndPthreadFuncs.rwlock_unlock(&dpyInfo->vendorLock);
+--
+2.17.0
+
diff --git a/libglvnd/Pkgfile b/libglvnd/Pkgfile
index 8ba36f8c..96122f2e 100644
--- a/libglvnd/Pkgfile
+++ b/libglvnd/Pkgfile
@@ -5,17 +5,29 @@
name=libglvnd
version=1.3.4
-release=1
+release=2
source=(https://github.com/NVIDIA/$name/archive/v$version/$name-$version.tar.gz \
- eglplatform.h)
+ eglplatform.h
+ 0001-glx-Add-another-fallback-library-name.patch)
build() {
- cd $name-$version
+ #prt-get isinst xorg-libx11 xorg-libxext xorg-xorgproto && PKGMK_GLVND+=' --enable-x11 --enable-glx'; patch -Np1 -d $name-$version -i $SRC/EGL_NO_X11.patch
+ PKGMK_GLVND+=' -D x11=enabled -D glx=enabled'
- autoreconf -if
- ./configure --prefix=/usr
- make
- make DESTDIR=$PKG install
+ # https://src.fedoraproject.org/rpms/libglvnd/tree/rawhide
+ patch -Np1 -d $name-$version -i $SRC/0001-glx-Add-another-fallback-library-name.patch
+
+ meson setup $name-$version build $PKGMK_GLVND \
+ --prefix=/usr \
+ --buildtype=plain \
+ --wrap-mode nodownload \
+ -D b_lto=true \
+ -D b_pie=true \
+ -D gles1=false \
+ -D egl=true \
+ -D tls=disabled
+ meson compile -C build
+ DESTDIR=$PKG meson install -C build
# replace EGL/eglplatform.h with the newer mesa version
install -m 0644 $SRC/eglplatform.h $PKG/usr/include/EGL/
diff --git a/libglvnd/egl-use-device-dispatch-if-at-least-one-vendor-suceeds.patch b/libglvnd/egl-use-device-dispatch-if-at-least-one-vendor-suceeds.patch
new file mode 100644
index 00000000..529e8955
--- /dev/null
+++ b/libglvnd/egl-use-device-dispatch-if-at-least-one-vendor-suceeds.patch
@@ -0,0 +1,37 @@
+From a527411da713b2068974c46d7129326520dc5923 Mon Sep 17 00:00:00 2001
+From: Ronan Pigott <rpigott@berkeley.edu>
+Date: Wed, 18 Nov 2020 11:05:59 -0700
+Subject: [PATCH] egl: use device dispatch if at least one vendor suceeds
+
+Currently, in InitDeviceListInternal if any egl vendor fails to list
+its devices for any reason the construction of the device list is
+abandoned. That means that even if we have one vendor successfully
+serving the application, the failure of another vendor library will
+break any api calls related to egl devices.
+
+Instead, if a vendor fails queryDevicesEXT the device mapping logic
+should proceed as if it listed no devices. If the relevant device
+belongs to the failed vendor then the dispatch will still fail with
+EGL_BAD_DEVICE.
+---
+ src/EGL/libeglmapping.c | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/src/EGL/libeglmapping.c b/src/EGL/libeglmapping.c
+index c736172..7cf5a87 100644
+--- a/src/EGL/libeglmapping.c
++++ b/src/EGL/libeglmapping.c
+@@ -276,7 +276,9 @@ static EGLBoolean AddVendorDevices(__EGLvendorInfo *vendor)
+ }
+
+ if (!vendor->staticDispatch.queryDevicesEXT(0, NULL, &count)) {
+- return EGL_FALSE;
++ // Even if this vendor fails, we can still return the devices from any
++ // other vendors
++ return EGL_TRUE;
+ }
+ if (count <= 0) {
+ return EGL_TRUE;
+--
+GitLab
+

Generated by cgit