diff --git a/backport-0001-glx-Add-another-fallback-library-name.patch b/backport-0001-glx-Add-another-fallback-library-name.patch new file mode 100644 index 0000000000000000000000000000000000000000..c5f6ae3ccbd2c15815bb73ca4c91836e1b0557c7 --- /dev/null +++ b/backport-0001-glx-Add-another-fallback-library-name.patch @@ -0,0 +1,30 @@ +From 24606973bfabd75285fbd489264235167ba0f44c Mon Sep 17 00:00:00 2001 +From: Adam Jackson +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 +--- + 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 + \ No newline at end of file diff --git a/backport-libglvnd-python3.patch b/backport-libglvnd-python3.patch new file mode 100644 index 0000000000000000000000000000000000000000..6abf59f5590c6a2ed2fb1e1bff748e19c008fcec --- /dev/null +++ b/backport-libglvnd-python3.patch @@ -0,0 +1,64 @@ +diff -up libglvnd-1.3.1/bin/symbols-check.py.orig libglvnd-1.3.1/bin/symbols-check.py +--- libglvnd-1.3.1/bin/symbols-check.py.orig 2020-02-21 22:28:47.000000000 +0100 ++++ libglvnd-1.3.1/bin/symbols-check.py 2020-02-28 11:38:55.126765978 +0100 +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + # encoding=utf-8 + # Copyright © 2018-2019 Intel Corporation + +diff -up libglvnd-1.3.1/src/generate/eglFunctionList.py.orig libglvnd-1.3.1/src/generate/eglFunctionList.py +diff -up libglvnd-1.3.1/src/generate/genCommon.py.orig libglvnd-1.3.1/src/generate/genCommon.py +--- libglvnd-1.3.1/src/generate/genCommon.py.orig 2020-02-21 22:28:47.000000000 +0100 ++++ libglvnd-1.3.1/src/generate/genCommon.py 2020-02-28 11:38:55.148766076 +0100 +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + + # (C) Copyright 2015, NVIDIA CORPORATION. + # All Rights Reserved. +diff -up libglvnd-1.3.1/src/generate/gen_egl_dispatch.py.orig libglvnd-1.3.1/src/generate/gen_egl_dispatch.py +--- libglvnd-1.3.1/src/generate/gen_egl_dispatch.py.orig 2020-02-21 22:28:47.000000000 +0100 ++++ libglvnd-1.3.1/src/generate/gen_egl_dispatch.py 2020-02-28 11:38:55.155766107 +0100 +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + + """ + Generates dispatch functions for EGL. +diff -up libglvnd-1.3.1/src/generate/gen_gldispatch_mapi.py.orig libglvnd-1.3.1/src/generate/gen_gldispatch_mapi.py +--- libglvnd-1.3.1/src/generate/gen_gldispatch_mapi.py.orig 2020-02-21 22:28:47.000000000 +0100 ++++ libglvnd-1.3.1/src/generate/gen_gldispatch_mapi.py 2020-02-28 11:38:55.150766085 +0100 +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + + # Copyright (C) 2010 LunarG Inc. + # (C) Copyright 2015, NVIDIA CORPORATION. +diff -up libglvnd-1.3.1/src/generate/gen_libgl_glxstubs.py.orig libglvnd-1.3.1/src/generate/gen_libgl_glxstubs.py +--- libglvnd-1.3.1/src/generate/gen_libgl_glxstubs.py.orig 2020-02-21 22:28:47.000000000 +0100 ++++ libglvnd-1.3.1/src/generate/gen_libgl_glxstubs.py 2020-02-28 11:38:55.152766094 +0100 +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + + # (C) Copyright 2015, NVIDIA CORPORATION. + # All Rights Reserved. +diff -up libglvnd-1.3.1/src/generate/gen_libOpenGL_exports.py.orig libglvnd-1.3.1/src/generate/gen_libOpenGL_exports.py +--- libglvnd-1.3.1/src/generate/gen_libOpenGL_exports.py.orig 2020-02-21 22:28:47.000000000 +0100 ++++ libglvnd-1.3.1/src/generate/gen_libOpenGL_exports.py 2020-02-28 11:38:55.160766129 +0100 +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + + # (C) Copyright 2015, NVIDIA CORPORATION. + # All Rights Reserved. +diff -up libglvnd-1.3.1/src/GLX/gen_glx_stubs.py.orig libglvnd-1.3.1/src/GLX/gen_glx_stubs.py +--- libglvnd-1.3.1/src/GLX/gen_glx_stubs.py.orig 2020-02-21 22:28:47.000000000 +0100 ++++ libglvnd-1.3.1/src/GLX/gen_glx_stubs.py 2020-02-28 11:38:55.168766164 +0100 +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + + import sys + \ No newline at end of file diff --git a/libglvnd-1.3.2.tar.gz b/libglvnd-1.3.2.tar.gz deleted file mode 100644 index 9e6b5232714ae2d058bef9503bede1b1feaed8c9..0000000000000000000000000000000000000000 Binary files a/libglvnd-1.3.2.tar.gz and /dev/null differ diff --git a/libglvnd-1.3.4.tar.gz b/libglvnd-1.3.4.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..74ae9dae3e6544f03acff4668fd8e8091b21a263 Binary files /dev/null and b/libglvnd-1.3.4.tar.gz differ diff --git a/libglvnd.spec b/libglvnd.spec index 29a8076c556bb1f11d32ff794545674b187cf813..343e361e74ee818faacdfad37113bea1cb2e71e6 100644 --- a/libglvnd.spec +++ b/libglvnd.spec @@ -1,28 +1,21 @@ Name: libglvnd -Version: 1.3.2 -Release: 3 +Version: 1.3.4 +Release: 1 Epoch: 1 Summary: The GL Vendor-Neutral Dispatch library License: MIT URL: https://github.com/NVIDIA/libglvnd Source0: https://github.com/NVIDIA/libglvnd/archive/v%{version}/%{name}-%{version}.tar.gz +Patch6000: backport-libglvnd-python3.patch +Patch6001: backport-0001-glx-Add-another-fallback-library-name.patch + BuildRequires: libtool xorg-x11-server-Xvfb pkgconfig(xext) pkgconfig(x11) BuildRequires: gcc python3-rpm-macros python3-libxml2 pkgconfig(glproto) Requires: mesa-libEGL%{?_isa} >= 13.0.4-1 Requires: mesa-libGL%{?_isa} >= 13.0.4-1 -Provides: %{name}-egl %{name}-egl%{?_isa} %{name}-gles %{name}-gles%{?_isa} %{name}-glx -Obsoletes: %{name}-egl %{name}-gles %{name}-glx -Provides: %{name}-glx%{?_isa} %{name}-opengl %{name}-opengl%{?_isa} libGLES libGLES%{?_isa} -Obsoletes: %{name}-opengl libGLES -Provides: libEG libEGL libEGL%{?_isa} libGL libGL%{?_isa} -Obsoletes: libEG libEGL libGL -Obsoletes: mesa-libGLES < 19.3.0~rc1 -Provides: mesa-libGLES -Provides: mesa-libGLES%{?_isa} - %description libglvnd is a vendor-neutral dispatch layer for arbitrating OpenGL API calls between multiple vendors. It allows multiple drivers from different vendors to coexist on the same filesystem, and determines @@ -32,6 +25,9 @@ which vendor to dispatch each API call to at runtime. Summary: Development files for %{name} Requires: %{name} = %{epoch}:%{version}-%{release} Provides: libglvnd-core-devel = %{epoch}:%{version}-%{release} +Requires: %{name}-gles%{?_isa} = %{epoch}:%{version}-%{release} +Requires: %{name}-glx%{?_isa} = %{epoch}:%{version}-%{release} +Requires: %{name}-egl%{?_isa} = %{epoch}:%{version}-%{release} Obsoletes: libglvnd-core-devel < %{epoch}:%{version}-%{release} Requires: libX11-devel%{?_isa} Obsoletes: mesa-libGLES-devel < %{epoch}:%{version}-%{release} @@ -63,13 +59,48 @@ Requires: %{name}%{?_isa} = %{epoch}:%{version}-%{release} %description opengl libOpenGL is the common dispatch interface for the workstation OpenGL API. +%package gles +Summary: GLES support for libglvnd +Requires: %{name}%{?_isa} = %{epoch}:%{version}-%{release} +Requires: mesa-libEGL%{?_isa} >= 13.0.4-1 +Obsoletes: mesa-libGLES < 19.3.0~rc1 +Provides: mesa-libGLES +Provides: mesa-libGLES%{?_isa} +Provides: libGLES +Provides: libGLES%{?_isa} + +%description gles +libGLESv[12] are the common dispatch interface for the GLES API. + +%package egl +Summary: EGL support for libglvnd +Requires: %{name}%{?_isa} = %{epoch}:%{version}-%{release} +Requires: mesa-libEGL%{?_isa} >= 13.0.4-1 +Provides: libEGL +Provides: libEGL%{?_isa} + +%description egl +libEGL are the common dispatch interface for the EGL API. + +%package glx +Summary: GLX support for libglvnd +Requires: %{name}%{?_isa} = %{epoch}:%{version}-%{release} +Requires: mesa-libGL%{?_isa} >= 13.0.4-1 +Provides: libGL +Provides: libGL%{?_isa} + +%description glx +libGL and libGLX are the common dispatch interface for the GLX API. %prep %autosetup -n %{name}-%{version} -p1 autoreconf -vif %build export PYTHON=%{__python3} -%configure --enable-asm --enable-tls +%configure \ + --disable-static \ + --enable-asm \ + --enable-tls %make_build V=1 @@ -91,22 +122,32 @@ xvfb-run -s '-screen 0 640x480x24' -d make check V=1 || (cat `find . -name test- %files %defattr(-,root,root) %doc README.md +%dir %{_sysconfdir}/glvnd/ +%dir %{_datadir}/glvnd/ %{_libdir}/libGLdispatch.so.0* +%ldconfig_scriptlets opengl +%files opengl +%{_libdir}/libOpenGL.so.0* + +%ldconfig_scriptlets gles +%files gles %{_libdir}/libGLES*.so.* + +%ldconfig_scriptlets glx +%files glx %{_libdir}/libGL.so.* %{_libdir}/libGLX.so.* -%{_libdir}/libEGL*.so.* - + +%ldconfig_scriptlets egl +%files egl %dir %{_sysconfdir}/glvnd/egl_vendor.d/ -%dir %{_sysconfdir}/egl/egl_external_platform.d/ %dir %{_datadir}/glvnd/egl_vendor.d/ +%dir %{_sysconfdir}/egl/ +%dir %{_sysconfdir}/egl/egl_external_platform.d/ +%dir %{_datadir}/egl/ %dir %{_datadir}/egl/egl_external_platform.d/ - -%ldconfig_scriptlets opengl -%files opengl -%{_libdir}/libOpenGL.so.0* - - +%{_libdir}/libEGL*.so.* + %files core-devel %dir %{_includedir}/glvnd/ %{_includedir}/glvnd/*.h @@ -114,14 +155,28 @@ xvfb-run -s '-screen 0 640x480x24' -d make check V=1 || (cat `find . -name test- %files devel %defattr(-,root,root) -%{_libdir}/lib*.so -%{_includedir}/glvnd/* -%{_includedir}/*G* -%{_includedir}/KHR -%{_libdir}/pkgconfig/g*.pc -%{_libdir}/pkgconfig/*gl.pc - +%dir %{_includedir}/EGL/ +%dir %{_includedir}/GL/ +%dir %{_includedir}/GLES/ +%dir %{_includedir}/GLES2/ +%dir %{_includedir}/GLES3/ +%dir %{_includedir}/KHR/ +%{_includedir}/EGL/*.h +%{_includedir}/GL/*.h +%{_includedir}/GLES/*.h +%{_includedir}/GLES2/*.h +%{_includedir}/GLES3/*.h +%{_includedir}/KHR/*.h +%{_libdir}/lib*.so +%{_libdir}/pkgconfig/gl*.pc +%{_libdir}/pkgconfig/egl.pc +%{_libdir}/pkgconfig/opengl.pc + %changelog +* Wed Dec 1 2021 Leigh xingxing - 1:1.3.4-1 +- Update to 1.3.4 +- split glx egl gles package + * Mon Sep 13 2021 wangkerong - 1:1.3.2-3 - split opengl core-devel subpackages from devel package @@ -159,4 +214,4 @@ xvfb-run -s '-screen 0 640x480x24' -d make check V=1 || (cat `find . -name test- - DESC:change the provides of libglvnd-core-devel * Tue Sep 17 2019 openEuler Buildteam - 1:1.1.0-3 -- Package init \ No newline at end of file +- Package init