diff options
author | Tim Biermann <tbier@posteo.de> | 2021-09-19 20:07:18 +0200 |
---|---|---|
committer | Tim Biermann <tbier@posteo.de> | 2021-09-19 20:07:18 +0200 |
commit | d0bc9b0ad1066ad815aa15f34774cd48aef75ea8 (patch) | |
tree | 6bdfbe94cc1f367925c375dbed0ce4cd5856333e | |
parent | a941377dae1002c483e5e044b4b1aaba58ebc7bb (diff) | |
download | xorg-d0bc9b0ad1066ad815aa15f34774cd48aef75ea8.tar.gz xorg-d0bc9b0ad1066ad815aa15f34774cd48aef75ea8.tar.xz |
[notify] libglvnd: build system changed to meson/ninja, check revdep afterwards
-rw-r--r-- | libglvnd/.footprint | 28 | ||||
-rw-r--r-- | libglvnd/.signature | 7 | ||||
-rw-r--r-- | libglvnd/0001-glx-Add-another-fallback-library-name.patch | 30 | ||||
-rw-r--r-- | libglvnd/Pkgfile | 26 | ||||
-rw-r--r-- | libglvnd/egl-use-device-dispatch-if-at-least-one-vendor-suceeds.patch | 37 |
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 + |