commit f09e8fdd22ef082f992be26b6c041db5262065984872aadc5f68475e96f6d398 Author: Adrian Schröter Date: Fri May 3 14:59:44 2024 +0200 Sync from SUSE:SLFO:Main libglvnd revision 445e7e0d3c2084534c3404638c81fbd4 diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/baselibs.conf b/baselibs.conf new file mode 100644 index 0000000..5a21137 --- /dev/null +++ b/baselibs.conf @@ -0,0 +1,3 @@ +libglvnd + obsoletes "libglvnd0- <= " +libglvnd-devel diff --git a/disable-glx-tests.patch b/disable-glx-tests.patch new file mode 100644 index 0000000..e72f00c --- /dev/null +++ b/disable-glx-tests.patch @@ -0,0 +1,14 @@ +Index: libglvnd-1.3.2/tests/Makefile.am +=================================================================== +--- libglvnd-1.3.2.orig/tests/Makefile.am ++++ libglvnd-1.3.2/tests/Makefile.am +@@ -100,7 +100,8 @@ TESTS_GLX += testglxqueryversion.sh + + if ENABLE_GLX + +-TESTS += $(TESTS_GLX) ++# need a running X server ++# TESTS += $(TESTS_GLX) + + check_PROGRAMS += testglxcreatecontext + testglxcreatecontext_CFLAGS = $(CFLAGS_COMMON) $(X11_CFLAGS) diff --git a/libglvnd-1.7.0.tar.gz b/libglvnd-1.7.0.tar.gz new file mode 100644 index 0000000..6bf1b7b --- /dev/null +++ b/libglvnd-1.7.0.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:073e7292788d4d3eeb45ea6c7bdcce9bfdb3b3eef8d7dbd47f2f30dce046ef98 +size 839809 diff --git a/libglvnd.changes b/libglvnd.changes new file mode 100644 index 0000000..f20be94 --- /dev/null +++ b/libglvnd.changes @@ -0,0 +1,460 @@ +------------------------------------------------------------------- +Wed Oct 11 15:12:15 UTC 2023 - Bjørn Lie + +- Update to 1.7.0: + * meson.build: error out on unsupported OSes + * Update bin/symbols-check.py from mesa/mesa@9d42e31b + * EGL/libeglcurrent: fix crash on library unload + * HGL: add Haiku libGL.so implementation based on EGL + * symbols-check: Add Haiku platform symbols + * tests/egl: Fix LIBRARY_PATH on Haiku + +------------------------------------------------------------------- +Wed Dec 7 16:32:02 UTC 2022 - Dirk Müller + +- update to 1.6.0: + * Read gl.symbols when generating stubs for libGL.so + * Update GL headers and XML files + * Add support for loongarch64 + * GLX: Fix assembly stubs for x32 + * Fix pthreads lookup on FreeBSD + +------------------------------------------------------------------- +Sat Oct 1 11:15:04 UTC 2022 - Dirk Müller + +- update to 1.5.0: + * Add BTI landing pads for aarch64 + * Set current thread state to NULL in teardown + * Moving setspecific to before DestroyThreadState + * Fix a memory leak in libGLdispatch + * Use assembly stubs on armv6 +- drop libglvnd-add-bti.patch (upstream) + +------------------------------------------------------------------- +Thu Jul 14 12:09:50 UTC 2022 - Stefan Dirsch + +- let libglvnd require Mesa-dri so GL drivers are available on + Wayland-only desktop installations (boo#1201474) + +------------------------------------------------------------------- +Thu Mar 3 11:29:34 UTC 2022 - Stefan Dirsch + +- provide/obsolete Mesa-libGLESv1_CM1 and Mesa-libGLESv2-2 packages + (bsc#1196576) + +------------------------------------------------------------------- +Thu Feb 24 15:23:24 UTC 2022 - Guillaume GARDET + +- Update libglvnd-add-bti.patch from latest upstream submission + +------------------------------------------------------------------- +Fri Jan 21 09:05:39 UTC 2022 - Guillaume GARDET + +- Re-enable asm on aarch64 +- Add patch to fix run with BTI enabled on aarch64: + * libglvnd-add-bti.patch - boo#1188928 + +------------------------------------------------------------------- +Tue Jan 4 22:41:36 UTC 2022 - Dirk Müller + +- update to 1.4.0: + * tests cleanups + * Update bin/symbols-check.py from mesa/mesa@6f854145 + * Remove extra paragraph from license text. + * Add one more missing dep_x11_headers + * Update uthash to v2.3.0 + * EGL: Add support for eglQueryDisplayAttribKHR and NV. + +------------------------------------------------------------------- +Wed Nov 17 16:37:27 UTC 2021 - Guillaume GARDET + +- Disable asm on aarch64 Tumbleweed due to issue with BTI - boo#1188928 + +------------------------------------------------------------------- +Wed Oct 20 14:22:54 UTC 2021 - Stefan Dirsch + +- libglvnd.rpmlintrc + * workaround for future buildcheck (boo#1191763) + +------------------------------------------------------------------- +Mon Sep 27 13:40:47 UTC 2021 - Stefan Dirsch + +- covers jira#SLE/SLE-18743 + +------------------------------------------------------------------- +Fri Jul 23 11:32:17 UTC 2021 - Michael Pujos + +- update to 1.3.3, fixes boo#1188640 + +------------------------------------------------------------------- +Mon Aug 31 17:32:50 UTC 2020 - Stefan Dirsch + +- version 1.3.2 needed for jira#SLE/SLE-12880, jira#SLE/SLE-12882 + +------------------------------------------------------------------- +Mon Aug 17 13:59:23 UTC 2020 - Dirk Mueller + +- update to 1.3.2: + * Update GL/gl.h to match Mesa. + * GLdispatch: Improve the x86 tsd stubs performance. + * GLdispatch: Define dynamic dispatch stubs at compile time. + * GLdispatch: Change entry_generate_default_code to take an index. + * GLdispatch: Use all 4096 dynamic dispatch stubs. + * Remove -Werror from default CFLAGS + +- run tests +- add disable-glx-tests.patch: disable tests that require X +- remove 0001-include-install-GL-headers-when-GL-is-enabled.patch + 0002-Add-a-configure-option-to-disable-glesv1-or-glesv2.patch + 0003-egl-Sync-with-Khronos.patch - upstream + +------------------------------------------------------------------- +Sun Nov 24 12:50:20 UTC 2019 - Stefan Dirsch + +- removed n_0001-GL-Bump-GL-version-to-9-2.patch, which is no + longer needed with xorg-server 1.20.6 + +------------------------------------------------------------------- +Thu Nov 7 11:45:05 UTC 2019 - Stefan Dirsch + +- This release is needed for latest Mesa update in order to + support latest GPUs including Intel (jsc#SLE-7962, jsc#SLE-8024, + jsc#SLE-8022, jsc#SLE-10182) + +------------------------------------------------------------------- +Fri Oct 25 19:13:21 UTC 2019 - Stefan Dirsch + +- 0001-include-install-GL-headers-when-GL-is-enabled.patch + * A typo made it depend on EGL instead. +- 0002-Add-a-configure-option-to-disable-glesv1-or-glesv2.patch + * 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') +- 0003-egl-Sync-with-Khronos.patch + * Reserve enums 0x34A0..0x34AF for ANGLE project. (#93) + Closes: https://gitlab.freedesktop.org/glvnd/libglvnd/issues/193 + +------------------------------------------------------------------- +Mon Oct 7 21:32:25 UTC 2019 - Stefan Dirsch + +- move gl, egl, glesv1_cm and glesv2 pkgconfig files to doc + directory, so these can be picked up by Mesa build; no longer + require Mesa devel subpackages ... + +------------------------------------------------------------------- +Mon Oct 7 16:12:05 UTC 2019 - Stefan Dirsch + +- reverting inclusion of GL, EGL, GLES, GLES2, GLES3 headers; + no longer let libglvnd-devel package provide and obsolete + corresponding Mesa gl, egl, gles* devel subpackages; headers + just aren't compatible; instead require them ... +- supersedes patches: + * n_0001-eglplatform-fix-mesa-specific-defines.patch + * u_add-gl3ext.h + +------------------------------------------------------------------- +Sun Oct 6 10:51:27 UTC 2019 - Stefan Dirsch + +- let libglvnd-devel also provide/obsolete Mesa-libGLESv3-devel + +------------------------------------------------------------------- +Fri Sep 27 11:24:45 UTC 2019 - Stefan Dirsch + +- let libglvnd-devel provide/obsolete some of previous Mesa devel + packages: + * Mesa-libGL-devel + * Mesa-libEGL-devel + * Mesa-libGLESv1_CM-devel + * Mesa-libGLESv2-devel + * Mesa-KHR-devel +- u_add-gl3ext.h + * adds missing include/GLES/gl3ext.h + +------------------------------------------------------------------- +Thu Sep 26 07:01:41 UTC 2019 - Tobias Klausmann + +- Update to version 1.2.0: + * Changes: + + Libglvnd now includes and installs the header files for OpenGL, GLES, EGL, + and GLX. + + Added pkg-config files for each library. + + The X11 libraries are now an optional dependency if you're not building + GLX. +- n_0001-GL-Bump-GL-version-to-9-2.patch + * with a version of 1.2 the XServer build fails; set the version accordingly to + allow XServer builds again. +- n_0001-eglplatform-fix-mesa-specific-defines.patch + * the XServer fails to build; add the mesa specific defines to eglplatform, to + let it build again. + +------------------------------------------------------------------- +Tue Mar 19 15:30:52 UTC 2019 - Stefan Dirsch + +- Update to release 1.1.1 + * Fixed a potential race condition with entrypoint patching + * Fixed the TSD dispatch stubs for PPC64LE + * Fixed a segfault when generating GLX dispatch stubs for AARCH64 + +------------------------------------------------------------------- +Mon Aug 27 12:30:13 UTC 2018 - sndirsch@suse.com + +- Update to release 1.1.0 + * Changes + + Update the OpenGL XML and header files. + + EGL: Remove a few unused functions in egldispatchstubs.c. + + GLdispatch: Add a version script for the TSD build. + + Some fixes for "make dist" + + GLdispatch: Use --version-script instead -export-symbols. + + Merge branch 'freebsd-fixes' + + Add a (void*) cast for the last parameter when calling mincore. + + Use sh instead of bash for the test scripts. + + configure: Recognize both "x86_64" and "amd64" for host_cpu. + + configure: Check if linking against libdl is necessary. + + GL: Expand glapi_gen_libglglxstubs in the makefile. + + Move the glapi_gen_libglglxstubs function into the GL makefile. + + vnd-glapi: Change glapi_gen_mapi to a makefile variable. + + Move the glapi_gen_mapi function into the vnd-glapi makefile. + + generate: Remove glapi_gen_libopengl_exports. + + GL: Don't generate g_glapi_mapi_gl_tmp.h + + Merge pull request #150 from aaronp24/work-around-xorgproto-api-break + + Merge pull request #153 from RAOF/fix-egl-platform-detection-crash + + Handle dlsym succeeding with info.dli_sname == NULL. + + Merge pull request #152 from kbrenneman/fix-eglMakeCurrent-bad-display + + Always return an error from eglMakeCurrent if the EGLDispaly is invalid + + GLX: Work around 'X_GLXCreateContextAtrribsARB' typo fix API break + + Merge pull request #148 from kbrenneman/bump-library-versions + + Bump the version numbers in the library filenames. + + Merge pull request #143 from kbrenneman/gldispatch-fix-execmem + + GLdispatch: Fix the allocation size for the dynamic stubs. + + GLdispatch: Remove obsolete #ifdefs from u_execmem.c. + + Merge pull request #140 from kbrenneman/add-GLX_EXT_no_config_context + + tests: Only use glXCreateContext in testglxmakecurrent. + + tests: Add a test for creating GLX contexts. + + tests/GLX_dummy: Add a vendor-provided create context function + + tests: Add a dummy attribute for glXQueryContext. + + tests: Add support for GLX_EXT_no_context_config to GLX_dummy + + tests: Remove the vendor dispatch stub for glXCreateContextAttribsARB. + + Add support for GLX_EXT_no_config_context. + +------------------------------------------------------------------- +Thu Apr 19 13:24:28 UTC 2018 - sndirsch@suse.com + +- update to release 1.0.0 + * Now that both the EGL and GLX interfaces are defined and stable, + set the package version to 1.0.0. + * Changes + + GLX: Fix an error in handling GLX dispatch stubs. + + EGL: Fix handling a malloc failure in eglQueryString. + + GLdispatch: Clean up the assembly dispatch code. + + GLdispatch aarch64: Align the dispatch stubs to a 64K page size. + + Fix typo in _LIBRARY_FEATURE_NAMES. + + Merge pull request #131 from michalsrb/fix-missing-gles-symbols + + Merge branch 'fix-aarch64-page-size' + + Convert lq/stq instructions + + Merge pull request #125 from kbrenneman/ppc64le-convert-lq-stq + + Don't #define USE_ASM (defined(USE_X86_ASM) || ... ) + + Remove -Wno-misleading-indentation + + Remove the cJSON README and tests + + Update cJSON to version 1.5.9 + + Merge pull request #135 from aaronp24/remove-misleading-indentation + + Fix memory leak in LoadVendorsFromConfigDir + + Cleanup winsys dispatch index list on EGL mapping teardown + + Merge pull request #137 from polarina/memleak + + Set package version to 1.0.0. +- supersedes U_Fix-typo-in-LIBRARY_FEATURE_NAMES.patch + +------------------------------------------------------------------- +Wed Jan 3 20:48:01 UTC 2018 - tchvatal@suse.com + +- Make sure to use only python3 for the build and do not rely + on env calls for python + +------------------------------------------------------------------- +Mon Aug 14 13:35:51 UTC 2017 - msrb@suse.com + +- U_Fix-typo-in-LIBRARY_FEATURE_NAMES.patch + * Fix typo that caused gles 3.1 and 3.2 symbols to be missing in + the generated libraries. (bnc#1052776) + +------------------------------------------------------------------- +Wed Jun 21 14:48:46 UTC 2017 - zaitor@opensuse.org + +- Update to version 0.1.2~20170620~d850cdd: + * EGL: detect platform gbm vendor capability. + * EGL: add platform gbm detection in eglGetDisplay. + * EGL: alias "drm" to gbm when using EGL_PLATFORM. + * EGL: honour eglGetPlatformDisplay's attrib_list. + * PPC64LE: Fix the cache clear instructions (boo#1045185). + * configure: Remove AC_PROG_CXX. + * EGL: Allow vendor libraries to identify platforms for + eglGetDisplay. + * GL: Use a table to look up core GLX functions. + +------------------------------------------------------------------- +Thu Jun 1 11:37:20 UTC 2017 - zaitor@opensuse.org + +- Update to version 0.1.2~20170427~6bcecd8: + * Print out $host_cpu when undetected, for easier debugging. + * Fix compile errors. + * armv7: make sure asm is compiled in unified syntax mode. + * Treat armv7hl as armv7l. + * tests: Expand the unit tests for libGLdispatch. + * GLdispatch: Minor cleanup of the x86-64 TLS stubs. + * GLdispatch: Add support for x32. + * Shorten the generated x86-64 TLS stubs. + * GLX: Fix GLX entrypoint generation for x32. + * tests: Add support for x32. + * GLdispatch: Remove the ".syntax divided" directive for ARMv7. + * Update the README file. + * GLdispatch: Fix TEXTREL in the ARMv7 TSD stubs. + * GLdispatch: Improve the documentation in entry_arm7_tsd.c. + * Makefile and structural changes for ppc64le support. + * GLdispatch: Implement the TSD dispatch stubs for PPC64LE. + * GLdispatch: Implement the TLS dispatch stubs for PPC64LE. + * GLX: Implement GLX dispatch stubs for PPC64LE. + * tests: Fill in the ASM code in the template in patch_ppc64le(). + * GLX: Add cache-flushing sequence to the generated GLX stubs. + * GLdispatch: Rename entry_x86_64_common.c to entry_simple_asm.c. + +------------------------------------------------------------------- +Thu Jun 1 11:15:20 UTC 2017 - alarrosa@suse.com + +- Obsolete libglvnd0 <= %version-%release instead of only older + versions in order to fix conflicts on TW. + +------------------------------------------------------------------- +Sat Apr 29 20:59:17 UTC 2017 - jengelh@inai.de + +- The package misuses an SLPP package name (libglvnd0) while not + being SLPP — there is not even a libglvnd.so.0. Since + implementing SLPP does not make much sense either (these are all + just compat wrappers), switch to libglvnd. +- Avoid doubleshipping of README. + +------------------------------------------------------------------- +Fri Apr 7 11:09:23 UTC 2017 - jengelh@inai.de + +- Replace old $RPM_ shell vars by macros +- Converge on one style of using macros (drop curlies) +- RPM group correction + +------------------------------------------------------------------- +Wed Mar 29 08:56:19 UTC 2017 - sndirsch@suse.com + +- baselibs.conf: added -devel package + +------------------------------------------------------------------- +Tue Mar 28 14:34:53 UTC 2017 - sndirsch@suse.com + +- fixed/improved summary/description of libglvnd-devel package + +------------------------------------------------------------------- +Mon Mar 27 14:40:29 UTC 2017 - sndirsch@suse.com + +- removed unneeded rpmlintrc + +------------------------------------------------------------------- +Fri Jan 20 13:15:07 UTC 2017 - zaitor@opensuse.org + +- Update to version 0.1.1~20161222~dc16f8c: + * Update the README file. + * util: Add a local implementation of vsprintf(3). + * tests: Fix testpatchentrypoints. + * util: Add functions for splitting a string into tokens. + * Checked in the EGL headers. + * Checked in a copy of the cJSON library. + * EGL: Initial implementation of libEGL. + * EGL: Implement EGL_KHR_debug. + * GLdispatch: Remove an incorrect assert. + * util: Add trylock functions to glnvd_pthread. + * GLX: Fix a deadlock in teardown + * EGL: Rework the current rendering API. + * EGL: Fix a crash in __eglGetVendorFromDevice. + * EGL: Improve eglGetDisplay platform guessing. + * EGL: Check for some client extensions when loading the vendors. + * EGL: Check the version number in the JSON files. + * EGL: Trim the dispatch stub list. + * Change the package version to 0.1.999. + * GLX: Keep track of the displays passed to glXMakeCurrent. + * EGL: Fix a few errors in EGL_KHR_debug. + * EGL: Change __EGLapiImports to use (void *) for function + pointers. + * EGL: Add -Wno-misleading-indentation for cJSON. + * utils: Add cJSON.h to noinst_HEADERS. + * EGL: Change the vendor config search paths. + * EGL: Fix a couple of typos. + * Increment the package version to 0.2. + * Don't use 'xrange' because Python 3 doesn't have it. + * EGL: Fix an uninitialized variable. + * Factor out some common extension string functions. + * tests: Some minor cleanup + * tests: Rename GLX_dummy directory. + * tests: Move the entrypoint patching code into a helper library. + * tests: Add a more extensive test for entrypoint patching. + * GLX: Add an environment variable to specify a vendor for a + single screen. + * tests: Rewrite testglxgetprocaddress. + * tests: Add a test for generated GLX entrypoints. + * Change the assembly templates for ARMv7 to use uint16_t. + * Fix a crash in process termination when EGL and GLX are both + loaded. + * chmod -x files that aren't scripts + * GLdispatch: Don't call into the vendor from + __glDispatchForceUnpatch. + * EGL: Don't call into the vendor library from __eglFini. + * EGL: Better wayland detection in eglGetDisplay + * EGL: Add display detection for X11. + * EGL: Fix an unitialized variable in IsX11Display. + * tests: Skip testglxqueryversion if the server doesn't support + GLX. + * EGL: Fix the python command line. + * tests: Remove init_test_env.sh and fini_test_env.sh. + * tests: Add a basic test for eglGetPlatformDisplay. + * tests: Add a test for eglGetProcAddress. + * tests: Add a test for EGL device functions. + * tests: Add a test for eglMakeCurrent. + * tests: Add a test for eglGetError. + * tests: Add a test for EGL_KHR_debug. + * Add support for aarch64. + * GLdispatch: Fix the x86 TLS stubs. + * GLdispatch: Fix TEXTREL in the x86 TSD stubs. + * GLdispatch: Remove public_string_pool. + * GLdispatch: Remove _glapi_init_table_from_callback. + * GLdispatch: Remove the __GLdispatchProcEntry list. + * tests: Clean up tests makefile. + * Add configure options for the EGL, GLX, and GLES libraries. + * configure: Change the description for --disable-gles. + +------------------------------------------------------------------- +Fri Jan 20 12:35:16 UTC 2017 - zaitor@opensuse.org + +- Update to version 0.1.1: + * GLX: Some additional cleanup for the GLX dispatch table. + * Remove uneeded xorg-server dependency + * tests: Add more GLX functions to GLX_dummy. + * tests: Clean up the function arrays in GLX_dummy. + * tests: Implement glXCreateContextAttribsARB in GLX_dummy. + * tests: Expand the MakeCurrent tests to the GLXFBConfig-based + functions. + * tests: Merge the dummy and patchentry libraries. + * GLX: Fix a couple of errors. + * GLdispatch: Don't unpatch entrypoints in + __glDispatchLoseCurrent. +- Add _service and use it to update to current relase. +- Replace autoreconf for autogen.sh call ref info in README. + +------------------------------------------------------------------- +Tue Jul 12 11:56:23 UTC 2016 - sndirsch@suse.com + +- added Recommends to Mesa-libGL1/Mesa-libGL-devel + +------------------------------------------------------------------- +Fri Jun 3 09:20:28 UTC 2016 - sndirsch@suse.com + +- fixed build on 32bit with SUSE < 1330 + +------------------------------------------------------------------- +Thu Jun 2 15:43:46 UTC 2016 - sndirsch@suse.com + +- created libglvnd package + diff --git a/libglvnd.rpmlintrc b/libglvnd.rpmlintrc new file mode 100644 index 0000000..3867c6e --- /dev/null +++ b/libglvnd.rpmlintrc @@ -0,0 +1 @@ +addFilter(".*shlib-policy-name-error SONAME.*") diff --git a/libglvnd.spec b/libglvnd.spec new file mode 100644 index 0000000..6ea668d --- /dev/null +++ b/libglvnd.spec @@ -0,0 +1,129 @@ +# +# spec file for package libglvnd +# +# Copyright (c) 2023 SUSE LLC +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via https://bugs.opensuse.org/ +# + + +# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# +Name: libglvnd +Version: 1.7.0 +Release: 0 +Summary: The GL Vendor-Neutral Dispatch library +License: MIT +Group: Development/Libraries/C and C++ +URL: https://github.com/NVIDIA/libglvnd +Source: %{url}/archive/v%{version}.tar.gz#/%{name}-%{version}.tar.gz +Source1: baselibs.conf +Source2: libglvnd.rpmlintrc +Patch1: disable-glx-tests.patch +BuildRequires: autoconf +BuildRequires: automake +BuildRequires: libtool +BuildRequires: pkgconfig +BuildRequires: python3-base +BuildRequires: python3-xml +BuildRequires: pkgconfig(glproto) +BuildRequires: pkgconfig(x11) +BuildRequires: pkgconfig(xext) +Provides: libglvnd0 = %{version}-%{release} +Obsoletes: libglvnd0 <= %{version}-%{release} +Provides: Mesa-libGLESv1_CM1 +Obsoletes: Mesa-libGLESv1_CM1 +Provides: Mesa-libGLESv2-2 +Obsoletes: Mesa-libGLESv2-2 +Requires: Mesa-dri + +%description +Vendor-neutral dispatch layer for arbitrating OpenGL API calls between +multiple vendors on a per-screen basis, as described by Andy Ritger's +OpenGL ABI proposal. + +%package devel +Summary: Development files for libglvnd +Group: Development/Libraries/C and C++ +Requires: %{name} = %{version} + +%description devel +Vendor-neutral dispatch layer for arbitrating OpenGL API calls between +multiple vendors on a per-screen basis, as described by Andy Ritger's +OpenGL ABI proposal. This package contains the required files for +development. + +%prep +%autosetup -p1 +# fix env shebang to call py3 directly +sed -i -e "1s|#!.*|#!%{_bindir}/python3|" src/generate/*.py + +%build +./autogen.sh +%configure \ +%if 0%{?suse_version} < 1330 + --libdir=%{_prefix}/X11R6/%{_lib} \ +%endif + --disable-static \ + --disable-headers \ + --disable-silent-rules +%make_build + +%install +%make_install +find %{buildroot} -type f -name "*.la" -delete -print +>%{_builddir}/%{name}-%{version}/filelist.rpm +%if 0%{?suse_version} < 1330 +mkdir -p %{buildroot}/%{_libdir}/pkgconfig +mv %{buildroot}%{_prefix}/X11R6/%{_lib}/pkgconfig/*.pc %{buildroot}/%{_libdir}/pkgconfig +if [ "%{_lib}" == "lib64" ]; then + mkdir -p %{buildroot}/%{_sysconfdir}/ld.so.conf.d + cat > %{buildroot}/%{_sysconfdir}/ld.so.conf.d/%{name}.conf << EOF +%{_prefix}/X11R6/%{_lib} +%{_prefix}/X11R6/lib +EOF + echo "%config %{_sysconfdir}/ld.so.conf.d/%{name}.conf" >%{_builddir}/%{name}-%{version}/filelist.rpm +fi +%endif +mkdir -p %{buildroot}%{_docdir}/%{name}/pkgconfig +mv %{buildroot}/%{_libdir}/pkgconfig/{gl,egl,glesv1_cm,glesv2}.pc \ + %{buildroot}%{_docdir}/%{name}/pkgconfig + +%check +%make_build check + +%post -p /sbin/ldconfig +%postun -p /sbin/ldconfig + +%files -f filelist.rpm +%doc README.md +%{_docdir}/%{name}/pkgconfig +%if 0%{?suse_version} < 1330 +%dir %{_prefix}/X11R6 +%dir %{_prefix}/X11R6/%{_lib} +%{_prefix}/X11R6/%{_lib}/lib*.so.* +%else +%{_libdir}/lib*.so.* +%endif + +%files devel +%if 0%{?suse_version} < 1330 +%dir %{_prefix}/X11R6 +%dir %{_prefix}/X11R6/%{_lib} +%{_prefix}/X11R6/%{_lib}/lib*.so +%else +%{_libdir}/lib*.so +%endif +%{_libdir}/pkgconfig/*.pc +%{_includedir}/glvnd/ + +%changelog