Epoch:1 to provide upgrade path from negativo17.org rpms
New snapshot Add patches to fix building on ARM (from Rob Clark) Add BuildRequires: python Add ldconfig scriptlets for library sub-packages
This commit is contained in:
parent
280f7a2910
commit
39deb04760
27
0001-OpenGL-Statically-export-a-few-more-things.patch
Normal file
27
0001-OpenGL-Statically-export-a-few-more-things.patch
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
From 55f564b77773e6bfcbe1fa6b1d613ea194b408ed Mon Sep 17 00:00:00 2001
|
||||||
|
From: Adam Jackson <ajax@redhat.com>
|
||||||
|
Date: Mon, 17 Oct 2016 16:58:56 -0400
|
||||||
|
Subject: [PATCH] OpenGL: Statically export a few more things
|
||||||
|
|
||||||
|
I'm... unsure if I like this.
|
||||||
|
|
||||||
|
Signed-off-by: Adam Jackson <ajax@redhat.com>
|
||||||
|
---
|
||||||
|
src/generate/genCommon.py | 1 +
|
||||||
|
1 file changed, 1 insertion(+)
|
||||||
|
|
||||||
|
diff --git a/src/generate/genCommon.py b/src/generate/genCommon.py
|
||||||
|
index 5781275..bb4e491 100644
|
||||||
|
--- a/src/generate/genCommon.py
|
||||||
|
+++ b/src/generate/genCommon.py
|
||||||
|
@@ -41,6 +41,7 @@ _LIBRARY_FEATURE_NAMES = {
|
||||||
|
"GL_VERSION_2_0", "GL_VERSION_2_1", "GL_VERSION_3_0", "GL_VERSION_3_1",
|
||||||
|
"GL_VERSION_3_2", "GL_VERSION_3_3", "GL_VERSION_4_0", "GL_VERSION_4_1",
|
||||||
|
"GL_VERSION_4_2", "GL_VERSION_4_3", "GL_VERSION_4_4", "GL_VERSION_4_5",
|
||||||
|
+ "GL_ARB_imaging", "GL_ARB_multitexture",
|
||||||
|
)),
|
||||||
|
"glesv1" : frozenset(("GL_VERSION_ES_CM_1_0", "GL_OES_point_size_array")),
|
||||||
|
"glesv2" : frozenset(("GL_ES_VERSION_2_0", "GL_ES_VERSION_3_0",
|
||||||
|
--
|
||||||
|
2.9.3
|
||||||
|
|
@ -0,0 +1,25 @@
|
|||||||
|
From 2e35628e90e0b524ecadea498a2ffe06b6b5a4fc Mon Sep 17 00:00:00 2001
|
||||||
|
From: Rob Clark <robdclark@gmail.com>
|
||||||
|
Date: Wed, 14 Dec 2016 08:40:44 -0500
|
||||||
|
Subject: [PATCH 2/6] Print out $host_cpu when undetected, for easier debugging
|
||||||
|
|
||||||
|
---
|
||||||
|
configure.ac | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/configure.ac b/configure.ac
|
||||||
|
index fdfaf00..29f90d8 100644
|
||||||
|
--- a/configure.ac
|
||||||
|
+++ b/configure.ac
|
||||||
|
@@ -117,7 +117,7 @@ if test "x$enable_asm" = xyes; then
|
||||||
|
AC_MSG_RESULT([yes, aarch64])
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
- AC_MSG_RESULT([no, platform not supported])
|
||||||
|
+ AC_MSG_RESULT([no, platform '$host_cpu' not supported])
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
fi
|
||||||
|
--
|
||||||
|
2.9.3
|
||||||
|
|
37
0003-Fix-compile-errors.patch
Normal file
37
0003-Fix-compile-errors.patch
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
From 07c095397bb336c2e4fbed89c6b9202730886acc Mon Sep 17 00:00:00 2001
|
||||||
|
From: Rob Clark <robdclark@gmail.com>
|
||||||
|
Date: Wed, 14 Dec 2016 09:35:40 -0500
|
||||||
|
Subject: [PATCH 3/6] Fix compile errors
|
||||||
|
|
||||||
|
---
|
||||||
|
src/GLdispatch/vnd-glapi/entry_armv7_tsd.c | 1 -
|
||||||
|
tests/dummy/EGL_dummy.c | 1 -
|
||||||
|
2 files changed, 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/src/GLdispatch/vnd-glapi/entry_armv7_tsd.c b/src/GLdispatch/vnd-glapi/entry_armv7_tsd.c
|
||||||
|
index faec5bf..2bce0c2 100644
|
||||||
|
--- a/src/GLdispatch/vnd-glapi/entry_armv7_tsd.c
|
||||||
|
+++ b/src/GLdispatch/vnd-glapi/entry_armv7_tsd.c
|
||||||
|
@@ -166,7 +166,6 @@ const int entry_stub_size = ARMV7_ENTRY_SIZE;
|
||||||
|
static const int TEMPLATE_OFFSET_CURRENT_TABLE = ARMV7_BYTECODE_SIZE - 3*4;
|
||||||
|
static const int TEMPLATE_OFFSET_CURRENT_TABLE_GET = ARMV7_BYTECODE_SIZE - 2*4;
|
||||||
|
static const int TEMPLATE_OFFSET_SLOT = ARMV7_BYTECODE_SIZE - 4;
|
||||||
|
-static const int TEMPLATE_OFFSETS_SIZE = 3*4;
|
||||||
|
|
||||||
|
void
|
||||||
|
entry_init_public(void)
|
||||||
|
diff --git a/tests/dummy/EGL_dummy.c b/tests/dummy/EGL_dummy.c
|
||||||
|
index 372e0a0..7860dce 100644
|
||||||
|
--- a/tests/dummy/EGL_dummy.c
|
||||||
|
+++ b/tests/dummy/EGL_dummy.c
|
||||||
|
@@ -56,7 +56,6 @@ static const char *PLATFORM_EXTENSIONS =
|
||||||
|
;
|
||||||
|
|
||||||
|
static const char *DISPLAY_EXTENSIONS = "";
|
||||||
|
-static const EGLint DUMMY_EGL_CONFIG_COUNT = 2;
|
||||||
|
|
||||||
|
typedef struct DummyEGLDisplayRec {
|
||||||
|
EGLenum platform;
|
||||||
|
--
|
||||||
|
2.9.3
|
||||||
|
|
@ -0,0 +1,34 @@
|
|||||||
|
From c386bd5a233ed82d51ff9200c40e97e1817881f9 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Rob Clark <robdclark@gmail.com>
|
||||||
|
Date: Wed, 14 Dec 2016 10:44:07 -0500
|
||||||
|
Subject: [PATCH 4/6] armv7: make sure asm is compiled in unified syntax mode
|
||||||
|
|
||||||
|
The individual stub functions already have .thumb_func but if syntax is
|
||||||
|
divided the assembler will reject the STUB_ASM_CODE.
|
||||||
|
---
|
||||||
|
src/GLdispatch/vnd-glapi/entry_armv7_tsd.c | 2 ++
|
||||||
|
1 file changed, 2 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/src/GLdispatch/vnd-glapi/entry_armv7_tsd.c b/src/GLdispatch/vnd-glapi/entry_armv7_tsd.c
|
||||||
|
index 2bce0c2..0ea8902 100644
|
||||||
|
--- a/src/GLdispatch/vnd-glapi/entry_armv7_tsd.c
|
||||||
|
+++ b/src/GLdispatch/vnd-glapi/entry_armv7_tsd.c
|
||||||
|
@@ -140,6 +140,7 @@ static uint16_t BYTECODE_TEMPLATE[] =
|
||||||
|
|
||||||
|
__asm__(".section wtext,\"ax\"\n"
|
||||||
|
".balign 4096\n"
|
||||||
|
+ ".syntax unified\n"
|
||||||
|
".globl public_entry_start\n"
|
||||||
|
".hidden public_entry_start\n"
|
||||||
|
"public_entry_start:\n");
|
||||||
|
@@ -148,6 +149,7 @@ __asm__(".section wtext,\"ax\"\n"
|
||||||
|
#include "mapi_tmp.h"
|
||||||
|
|
||||||
|
__asm__(".balign 4096\n"
|
||||||
|
+ ".syntax divided\n"
|
||||||
|
".globl public_entry_end\n"
|
||||||
|
".hidden public_entry_end\n"
|
||||||
|
"public_entry_end:\n"
|
||||||
|
--
|
||||||
|
2.9.3
|
||||||
|
|
25
0005-Treat-armv7hl-as-armv7l.patch
Normal file
25
0005-Treat-armv7hl-as-armv7l.patch
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
From ec5bd547b5fe2b82a4a72b9dbd7c0c47d41c7bde Mon Sep 17 00:00:00 2001
|
||||||
|
From: Rob Clark <robdclark@gmail.com>
|
||||||
|
Date: Wed, 14 Dec 2016 11:06:05 -0500
|
||||||
|
Subject: [PATCH 5/6] Treat armv7hl as armv7l
|
||||||
|
|
||||||
|
---
|
||||||
|
configure.ac | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/configure.ac b/configure.ac
|
||||||
|
index 29f90d8..9a68eb2 100644
|
||||||
|
--- a/configure.ac
|
||||||
|
+++ b/configure.ac
|
||||||
|
@@ -91,7 +91,7 @@ if test "x$enable_asm" = xyes; then
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
;;
|
||||||
|
- armv7l)
|
||||||
|
+ armv7*l)
|
||||||
|
asm_arch=armv7l
|
||||||
|
;;
|
||||||
|
aarch64)
|
||||||
|
--
|
||||||
|
2.9.3
|
||||||
|
|
49
0006-skip-tests-that-cannot-pass-with-pure-c-dispatch.patch
Normal file
49
0006-skip-tests-that-cannot-pass-with-pure-c-dispatch.patch
Normal file
@ -0,0 +1,49 @@
|
|||||||
|
From 0475afe8e1c20509799b8e41ebad64938315e630 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Rob Clark <robdclark@gmail.com>
|
||||||
|
Date: Mon, 9 Jan 2017 14:52:22 -0500
|
||||||
|
Subject: [PATCH 6/6] skip tests that cannot pass with pure-c dispatch
|
||||||
|
|
||||||
|
glvnd will not actually work 100% with pure-c dispatch.. but this at
|
||||||
|
least removes expected make-check fails so that it can be built.
|
||||||
|
---
|
||||||
|
tests/Makefile.am | 6 ++++++
|
||||||
|
1 file changed, 6 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/tests/Makefile.am b/tests/Makefile.am
|
||||||
|
index fb8408f..e413d5b 100644
|
||||||
|
--- a/tests/Makefile.am
|
||||||
|
+++ b/tests/Makefile.am
|
||||||
|
@@ -56,7 +56,9 @@ AM_CFLAGS = \
|
||||||
|
-I$(top_srcdir)/src/util/glvnd_pthread
|
||||||
|
|
||||||
|
|
||||||
|
+if ! GLDISPATCH_TYPE_PURE_C
|
||||||
|
TESTS += testpatchentrypoints_gldispatch.sh
|
||||||
|
+endif
|
||||||
|
check_PROGRAMS += testpatchentrypoints_gldispatch
|
||||||
|
testpatchentrypoints_gldispatch_SOURCES = \
|
||||||
|
testpatchentrypoints_gldispatch.c
|
||||||
|
@@ -74,6 +76,7 @@ testpatchentrypoints_gldispatch_LDADD += $(top_builddir)/src/util/libutils_misc.
|
||||||
|
# the scripts would be missing when you run "make dist" or "make distcheck".
|
||||||
|
|
||||||
|
TESTS_GLX =
|
||||||
|
+if ! GLDISPATCH_TYPE_PURE_C
|
||||||
|
TESTS_GLX += testglxmcbasic.sh
|
||||||
|
TESTS_GLX += testglxmcloop.sh
|
||||||
|
TESTS_GLX += testglxmcthreads.sh
|
||||||
|
@@ -81,9 +84,12 @@ TESTS_GLX += testglxmclate.sh
|
||||||
|
TESTS_GLX += testglxmcoldlink.sh
|
||||||
|
TESTS_GLX += testglxgetprocaddress.sh
|
||||||
|
TESTS_GLX += testglxgetprocaddress_genentry.sh
|
||||||
|
+endif
|
||||||
|
TESTS_GLX += testglxgetclientstr.sh
|
||||||
|
TESTS_GLX += testglxqueryversion.sh
|
||||||
|
+if ! GLDISPATCH_TYPE_PURE_C
|
||||||
|
TESTS_GLX += testpatchentrypoints.sh
|
||||||
|
+endif
|
||||||
|
|
||||||
|
if ENABLE_GLX
|
||||||
|
|
||||||
|
--
|
||||||
|
2.9.3
|
||||||
|
|
@ -1,80 +0,0 @@
|
|||||||
From 758b525463cd00478bf071d477ab58c92414b852 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Kyle Brenneman <kbrenneman@nvidia.com>
|
|
||||||
Date: Tue, 25 Oct 2016 17:32:47 -0600
|
|
||||||
Subject: [PATCH 1/2] GLdispatch: Don't call into the vendor from
|
|
||||||
__glDispatchForceUnpatch.
|
|
||||||
|
|
||||||
In __glDispatchForceUnpatch, don't call the vendor's releasePatch callback,
|
|
||||||
because the vendor library might have already been unloaded by that point.
|
|
||||||
---
|
|
||||||
src/GLdispatch/GLdispatch.c | 6 ++++--
|
|
||||||
1 file changed, 4 insertions(+), 2 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/src/GLdispatch/GLdispatch.c b/src/GLdispatch/GLdispatch.c
|
|
||||||
index 8c4c3a7..cf4254e 100644
|
|
||||||
--- a/src/GLdispatch/GLdispatch.c
|
|
||||||
+++ b/src/GLdispatch/GLdispatch.c
|
|
||||||
@@ -570,8 +570,10 @@ static int PatchEntrypoints(
|
|
||||||
|
|
||||||
if (stubCurrentPatchCb) {
|
|
||||||
// Notify the previous vendor that it no longer owns these
|
|
||||||
- // entrypoints.
|
|
||||||
- if (stubCurrentPatchCb->releasePatch != NULL) {
|
|
||||||
+ // entrypoints. If this is being called from a library unload,
|
|
||||||
+ // though, then skip the callback, because the vendor may have
|
|
||||||
+ // already been unloaded.
|
|
||||||
+ if (stubCurrentPatchCb->releasePatch != NULL && !force) {
|
|
||||||
stubCurrentPatchCb->releasePatch();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
From 8146a979d85e975587f3a20f0a6fdc2f04fa478f Mon Sep 17 00:00:00 2001
|
|
||||||
From: Kyle Brenneman <kbrenneman@nvidia.com>
|
|
||||||
Date: Tue, 25 Oct 2016 17:34:26 -0600
|
|
||||||
Subject: [PATCH 2/2] EGL: Don't call into the vendor library from __eglFini.
|
|
||||||
|
|
||||||
In __eglFini, check for a fork, but don't call __glDispatchCheckMultithreaded.
|
|
||||||
|
|
||||||
If a vendor has patched the OpenGL entrypoints, then
|
|
||||||
__glDispatchCheckMultithreaded will try to call the vendor's thread attach
|
|
||||||
callback, but the vendor library may have already been unloaded.
|
|
||||||
|
|
||||||
Fixes https://github.com/NVIDIA/libglvnd/issues/103
|
|
||||||
---
|
|
||||||
src/EGL/libegl.c | 8 ++++++--
|
|
||||||
1 file changed, 6 insertions(+), 2 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/src/EGL/libegl.c b/src/EGL/libegl.c
|
|
||||||
index 65e6605..e0a5488 100644
|
|
||||||
--- a/src/EGL/libegl.c
|
|
||||||
+++ b/src/EGL/libegl.c
|
|
||||||
@@ -1088,7 +1088,7 @@ static void __eglResetOnFork(void);
|
|
||||||
* Currently, this only detects whether a fork occurred since the last
|
|
||||||
* entrypoint was called, and performs recovery as needed.
|
|
||||||
*/
|
|
||||||
-void __eglThreadInitialize(void)
|
|
||||||
+void CheckFork(void)
|
|
||||||
{
|
|
||||||
volatile static int g_threadsInCheck = 0;
|
|
||||||
volatile static int g_lastPid = -1;
|
|
||||||
@@ -1120,7 +1120,11 @@ void __eglThreadInitialize(void)
|
|
||||||
sched_yield();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
+}
|
|
||||||
|
|
||||||
+void __eglThreadInitialize(void)
|
|
||||||
+{
|
|
||||||
+ CheckFork();
|
|
||||||
__glDispatchCheckMultithreaded();
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -1190,7 +1194,7 @@ void _fini(void)
|
|
||||||
#endif
|
|
||||||
{
|
|
||||||
/* Check for a fork before going further. */
|
|
||||||
- __eglThreadInitialize();
|
|
||||||
+ CheckFork();
|
|
||||||
|
|
||||||
/*
|
|
||||||
* If libEGL owns the current API state, lose current
|
|
176
libglvnd.spec
176
libglvnd.spec
@ -1,18 +1,29 @@
|
|||||||
%global commit0 28867bb6597d1cf879b12c60a4b512a23758d3f6
|
%global commit0 dc16f8c337703ad141f83583a4004fcf42e07766
|
||||||
%global shortcommit0 %(c=%{commit0}; echo ${c:0:7})
|
%global shortcommit0 %(c=%{commit0}; echo ${c:0:7})
|
||||||
|
|
||||||
Name: libglvnd
|
Name: libglvnd
|
||||||
Version: 0.2.999
|
Version: 0.2.999
|
||||||
Release: 6%{?commit0:.git%{shortcommit0}}%{?dist}
|
Release: 7%{?commit0:.git%{shortcommit0}}%{?dist}
|
||||||
|
# Provide an upgrade path from the negativo17.org pkgs which have Epoch 1
|
||||||
|
Epoch: 1
|
||||||
Summary: The GL Vendor-Neutral Dispatch library
|
Summary: The GL Vendor-Neutral Dispatch library
|
||||||
|
|
||||||
License: MIT
|
License: MIT
|
||||||
URL: https://github.com/NVIDIA/libglvnd
|
URL: https://github.com/NVIDIA/libglvnd
|
||||||
Source0: https://github.com/NVIDIA/%{name}/archive/%{commit0}.tar.gz#/%{name}-%{shortcommit0}.tar.gz
|
Source0: https://github.com/NVIDIA/%{name}/archive/%{commit0}.tar.gz#/%{name}-%{shortcommit0}.tar.gz
|
||||||
Patch0: egl_crash.patch
|
# https://github.com/NVIDIA/libglvnd/pull/100
|
||||||
|
Patch1: 0001-OpenGL-Statically-export-a-few-more-things.patch
|
||||||
|
# https://github.com/NVIDIA/libglvnd/pull/113
|
||||||
|
Patch2: 0002-Print-out-host_cpu-when-undetected-for-easier-debugg.patch
|
||||||
|
Patch3: 0003-Fix-compile-errors.patch
|
||||||
|
Patch4: 0004-armv7-make-sure-asm-is-compiled-in-unified-syntax-mo.patch
|
||||||
|
Patch5: 0005-Treat-armv7hl-as-armv7l.patch
|
||||||
|
# WIP
|
||||||
|
Patch6: 0006-skip-tests-that-cannot-pass-with-pure-c-dispatch.patch
|
||||||
|
|
||||||
BuildRequires: libtool
|
BuildRequires: libtool
|
||||||
BuildRequires: gcc
|
BuildRequires: gcc
|
||||||
|
BuildRequires: python
|
||||||
BuildRequires: libxml2-python
|
BuildRequires: libxml2-python
|
||||||
BuildRequires: pkgconfig(glproto)
|
BuildRequires: pkgconfig(glproto)
|
||||||
BuildRequires: pkgconfig(x11)
|
BuildRequires: pkgconfig(x11)
|
||||||
@ -24,29 +35,95 @@ BuildRequires: pkgconfig(xext)
|
|||||||
#https://github.com/NVIDIA/libglvnd/issues/93
|
#https://github.com/NVIDIA/libglvnd/issues/93
|
||||||
BuildRequires: xorg-x11-server-Xvfb
|
BuildRequires: xorg-x11-server-Xvfb
|
||||||
|
|
||||||
%{!?_with_mesa_glvnd_default:
|
%{?_without_mesa_glvnd_default:
|
||||||
%global __provides_exclude ^(libGL\\.so.*|libEGL\\.so.*|libGLESv2\\.so.*)$
|
%global __provides_exclude ^(libGL\\.so.*|libEGL\\.so.*|libGLES*\\.so.*)$
|
||||||
%global __requires_exclude ^(libGL\\.so.*|libEGL\\.so.*|libGLESv2\\.so.*)$
|
%global __requires_exclude ^(libGL\\.so.*|libEGL\\.so.*|libGLES*\\.so.*)$
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
%description
|
%description
|
||||||
libglvnd is an implementation of the vendor-neutral dispatch layer for
|
libglvnd is an implementation of the vendor-neutral dispatch layer for
|
||||||
arbitrating OpenGL API calls between multiple vendors on a per-screen basis.
|
arbitrating OpenGL API calls between multiple vendors on a per-screen basis.
|
||||||
|
|
||||||
|
|
||||||
%package devel
|
%package devel
|
||||||
Summary: Development files for %{name}
|
Summary: Development files for %{name}
|
||||||
Requires: %{name}%{?_isa} = :%{version}-%{release}
|
Requires: %{name}%{?_isa} = %{epoch}:%{version}-%{release}
|
||||||
|
Requires: %{name}-opengl%{?_isa} = %{epoch}:%{version}-%{release}
|
||||||
|
Requires: %{name}-gles%{?_isa} = %{epoch}:%{version}-%{release}
|
||||||
|
Requires: %{name}-glx%{?_isa} = %{epoch}:%{version}-%{release}
|
||||||
|
Requires: %{name}-egl%{?_isa} = %{epoch}:%{version}-%{release}
|
||||||
|
Requires: %{name}-core-devel%{?_isa} = %{epoch}:%{version}-%{release}
|
||||||
|
|
||||||
%description devel
|
%description devel
|
||||||
The %{name}-devel package contains libraries and header files for
|
The %{name}-devel package contains libraries and header files for
|
||||||
developing applications that use %{name}.
|
developing applications that use %{name}.
|
||||||
|
|
||||||
|
|
||||||
|
%package core-devel
|
||||||
|
Summary: Core development files for %{name}
|
||||||
|
|
||||||
|
%description core-devel
|
||||||
|
The %{name}-core-devel package is a bootstrap trick for Mesa, which wants
|
||||||
|
to build against the %{name} headers but does not link against any of
|
||||||
|
its libraries (and, initially, has file conflicts with them). If you are
|
||||||
|
not Mesa you almost certainly want %{name}-devel instead.
|
||||||
|
|
||||||
|
|
||||||
|
%package opengl
|
||||||
|
Summary: OpenGL support for libglvnd
|
||||||
|
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}
|
||||||
|
%{!?_without_mesa_glvnd_default:
|
||||||
|
# mesa is the default EGL implementation provider
|
||||||
|
Requires: mesa-libEGL%{?_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}
|
||||||
|
%{!?_without_mesa_glvnd_default:
|
||||||
|
# mesa is the default EGL implementation provider
|
||||||
|
Requires: mesa-libEGL%{?_isa}
|
||||||
|
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}
|
||||||
|
%{!?_without_mesa_glvnd_default:
|
||||||
|
# mesa is the default GL implementation provider
|
||||||
|
Requires: mesa-libGL%{?_isa}
|
||||||
|
Provides: libGL
|
||||||
|
Provides: libGL%{?_isa}
|
||||||
|
}
|
||||||
|
|
||||||
|
%description glx
|
||||||
|
libGL and libGLX are the common dispatch interface for the GLX API.
|
||||||
|
|
||||||
|
|
||||||
%prep
|
%prep
|
||||||
%autosetup -p1 -n %{name}-%{?commit0}%{?!commit0:%{version}}
|
%autosetup -p1 -n %{name}-%{?commit0}%{?!commit0:%{version}}
|
||||||
autoreconf -vif
|
autoreconf -vif
|
||||||
|
|
||||||
|
|
||||||
%build
|
%build
|
||||||
%configure \
|
%configure \
|
||||||
--disable-static \
|
--disable-static \
|
||||||
@ -60,18 +137,15 @@ autoreconf -vif
|
|||||||
%make_install INSTALL="install -p"
|
%make_install INSTALL="install -p"
|
||||||
find %{buildroot} -name '*.la' -delete
|
find %{buildroot} -name '*.la' -delete
|
||||||
|
|
||||||
%{!?_with_mesa_glvnd_default:
|
%{?_without_mesa_glvnd_default:
|
||||||
# Avoid conflict with mesa-libGL until mesa has gained libglvnd support
|
# Avoid conflict with mesa-libGL
|
||||||
mkdir -p %{buildroot}%{_libdir}/%{name}
|
mkdir -p %{buildroot}%{_libdir}/%{name}
|
||||||
for l in libEGL libGL libGLESv2 ; do
|
for l in libEGL libGL libGLESv1_CM libGLESv2 ; do
|
||||||
mv %{buildroot}%{_libdir}/${l}.so* \
|
mv %{buildroot}%{_libdir}/${l}.so* \
|
||||||
%{buildroot}%{_libdir}/%{name}
|
%{buildroot}%{_libdir}/%{name}
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
# Fedora does not provide libGLESv1_CM
|
|
||||||
rm -rf %{buildroot}%{_libdir}/libGLESv1_CM*
|
|
||||||
|
|
||||||
# Create directory layout
|
# Create directory layout
|
||||||
mkdir -p %{buildroot}%{_sysconfdir}/glvnd/egl_vendor.d
|
mkdir -p %{buildroot}%{_sysconfdir}/glvnd/egl_vendor.d
|
||||||
mkdir -p %{buildroot}%{_datadir}/glvnd/egl_vendor.d
|
mkdir -p %{buildroot}%{_datadir}/glvnd/egl_vendor.d
|
||||||
@ -87,33 +161,75 @@ xvfb-run -a make check V=1 || cat `find . -name test-suite.log`
|
|||||||
|
|
||||||
|
|
||||||
%post -p /sbin/ldconfig
|
%post -p /sbin/ldconfig
|
||||||
|
|
||||||
%postun -p /sbin/ldconfig
|
%postun -p /sbin/ldconfig
|
||||||
|
|
||||||
|
|
||||||
%files
|
%files
|
||||||
%doc README.md
|
%doc README.md
|
||||||
%{_libdir}/*.so.*
|
|
||||||
%{!?_with_mesa_glvnd_default:
|
|
||||||
%dir %{_libdir}/%{name}
|
|
||||||
%{_libdir}/%{name}/lib*GL*.so.*
|
|
||||||
}
|
|
||||||
%dir %{_sysconfdir}/glvnd
|
%dir %{_sysconfdir}/glvnd
|
||||||
%dir %{_sysconfdir}/glvnd/egl_vendor.d
|
|
||||||
%dir %{_datadir}/glvnd
|
%dir %{_datadir}/glvnd
|
||||||
%dir %{_datadir}/glvnd/egl_vendor.d
|
%{_libdir}/libGLdispatch.so.0*
|
||||||
|
|
||||||
%files devel
|
%post opengl -p /sbin/ldconfig
|
||||||
|
%postun opengl -p /sbin/ldconfig
|
||||||
|
%files opengl
|
||||||
|
%{_libdir}/libOpenGL.so.0*
|
||||||
|
|
||||||
|
%post gles -p /sbin/ldconfig
|
||||||
|
%postun gles -p /sbin/ldconfig
|
||||||
|
%files gles
|
||||||
|
%if 0%{?_without_mesa_glvnd_default}
|
||||||
|
%{_libdir}/%{name}/libGLES*.so.*
|
||||||
|
%else
|
||||||
|
%{_libdir}/libGLES*.so.*
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%post glx -p /sbin/ldconfig
|
||||||
|
%postun glx -p /sbin/ldconfig
|
||||||
|
%files glx
|
||||||
|
%if 0%{?_without_mesa_glvnd_default}
|
||||||
|
%{_libdir}/%{name}/libGL.so.*
|
||||||
|
%{_libdir}/%{name}/libGLX.so.*
|
||||||
|
%else
|
||||||
|
%{_libdir}/libGL.so.*
|
||||||
|
%{_libdir}/libGLX.so.*
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%post egl -p /sbin/ldconfig
|
||||||
|
%postun egl -p /sbin/ldconfig
|
||||||
|
%files egl
|
||||||
|
%dir %{_sysconfdir}/glvnd/egl_vendor.d
|
||||||
|
%dir %{_datadir}/glvnd/egl_vendor.d
|
||||||
|
%if 0%{?_without_mesa_glvnd_default}
|
||||||
|
%{_libdir}/%{name}/libEGL*.so.*
|
||||||
|
%else
|
||||||
|
%{_libdir}/libEGL*.so.*
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%files core-devel
|
||||||
%dir %{_includedir}/glvnd
|
%dir %{_includedir}/glvnd
|
||||||
%{_includedir}/glvnd/*.h
|
%{_includedir}/glvnd/*.h
|
||||||
%{!?_with_mesa_glvnd_default:
|
|
||||||
%{_libdir}/%{name}/lib*GL*.so
|
|
||||||
}
|
|
||||||
%{_libdir}/*.so
|
|
||||||
%{_libdir}/pkgconfig/*.pc
|
%{_libdir}/pkgconfig/*.pc
|
||||||
|
|
||||||
|
%files devel
|
||||||
|
%{_libdir}/lib*.so
|
||||||
|
%if 0%{?_without_mesa_glvnd_default}
|
||||||
|
%{_libdir}/%{name}/lib*.so
|
||||||
|
%endif
|
||||||
|
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Wed Jan 11 2017 Hans de Goede <hdegoede@redhat.com> - 1:0.2.999-7.gitdc16f8c
|
||||||
|
- Epoch:1 to provide upgrade path from negativo17.org rpms
|
||||||
|
- New snapshot
|
||||||
|
- Add patches to fix building on ARM (from Rob Clark)
|
||||||
|
- Add BuildRequires: python
|
||||||
|
- Add ldconfig scriptlets for library sub-packages
|
||||||
|
|
||||||
|
* Wed Jan 11 2017 Adam Jackson <ajax@redhat.com>
|
||||||
|
- Don't hide libraries in a subdir (rhbz#1413579)
|
||||||
|
- Split up libraries to appropriate subpackages
|
||||||
|
- Make the req/prov filter catch more cases
|
||||||
|
- Restore libGLESv1 for ABI compliance
|
||||||
|
|
||||||
* Wed Oct 26 2016 Leigh Scott <leigh123linux@googlemail.com> - 0.2.999-6.git28867bb
|
* Wed Oct 26 2016 Leigh Scott <leigh123linux@googlemail.com> - 0.2.999-6.git28867bb
|
||||||
- Update snapshot
|
- Update snapshot
|
||||||
- Fix EGL crash for KDE/Plasma (rfbz#4303)
|
- Fix EGL crash for KDE/Plasma (rfbz#4303)
|
||||||
|
Loading…
Reference in New Issue
Block a user