libepoxy/libepoxy.spec

106 lines
3.2 KiB
RPMSpec
Raw Permalink Normal View History

#
# spec file for package libepoxy
#
# Copyright (c) 2021 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/
#
%define sonum 0
Name: libepoxy
Version: 1.5.10
Release: 0
Summary: OpenGL function pointer management library
License: MIT
Group: Development/Libraries/C and C++
URL: https://github.com/anholt/libepoxy
# Source0: %%{url}/releases/download/%%{version}/%%{name}-%%{version}.tar.xz
Source0: %{url}/archive/refs/tags/1.5.10.tar.gz#/%{name}-%{version}.tar.gz
Source1: baselibs.conf
BuildRequires: meson >= 0.48
BuildRequires: pkgconfig
Accepting request 760830 from home:StefanBruens:branches:openSUSE:Factory - Update to version 1.5.4: + Don't build GLX tests if X11 support is disabled + Add unit tests for epoxy_gl_version() + Reduce the size of the binary by reusing static strings + Fix build on Solaris + Update the GL registries - Only require python3-base package for building instead of full python3 package. - Allow building with meson 0.46: Add Lower-the-minimum-required-version-of-Meson.patch - Remove pkgconfig dependecies for glesv1_cm and glesv2: Starting with mesa commit b01524fff05 "meson: don't build libGLES*.so with GLVND" mesa stopped providing glesv1_cm.pc and glesv2.pc along. Let epoxy find the libraries directly instead. - Update to version 1.5.3: + Fix build with uClibc + Fix GLES3 symbol lookup + Fix conditional compilation + Require Meson 0.47 + Fix Autotools build with EGL-X11 support - Changes from version 1.5.2: + Fix the detection of the -z,relro linker flag + Query the EGL context version when bootstrapping on GLES + Avoid inadvertedly loading libraries when probing for them + Consistently use abort() instead of exit() for internal state checks + Fix a performance regression in the global function pointer trampolines introduced by using -Bsymbolic-functions + Improve performance when using GL function pointers like glAlphaFunc - Changes from version 1.5.1: + Generalise checks for dlvsym + Add an option for disabling building the test suite + Typo fixes in the comments and documentation + Simplify the Meson configuration logic for EGL and GLX + Use assert when no context is found + Remove a test superceded by GLVND + Avoid Meson warnings when testing for linker arguments - Pass tests=false to meson, ensure we do not build the test-suite. - Drop la files removal, they are no longer built. - Run spec-cleaner, modernize spec. - Update to version 1.5.0: + Bump the Meson dependency to 0.44.1. + Include Xlib.h in the tests that use X11 API. + Update the GL registry to OpenGL 4.6. + Add gl and egl private dependencies in the pkg-config file. + Allow building Epoxy without X11 support. + Rename the Meson configuration options to be more idiomatic. + New API: - epoxy_set_resolver_failure_handler(). - epoxy_glsl_version(). - epoxy_extension_in_string(). - Do a minor spec cleanup, use autosetup macro. - Pass docs=false, glx=yes, egl=yes and x11=true to meson, ensure we build the features we want. - -devel package requires pkgconfig(x11), pkgconfig(egl) but those deps are not generated automatically. - Update to version 1.4.3: + Require Meson 0.39.1; the previous release already had an implicit requirement on this version. + Allow disabling EGL support when building Epoxy. + Add support for building on Haiku. + Update EGL registry from Khronos. - Switch to meson build: + Drop autoconf, automake and libtool BuildRequires, and drop conditional autogen.sh call. + Add meson BuildRequires and add meson macros, drop autotools macros. - Correct docs installed. - Use "Full and pretty" source name. - Run spec-cleaner. - Add pkgconfig(glesv1_cm) and pkgconfig(glesv2) BuildRequires: Build the optional gles v1 and v2 support. - Update to version 1.4.2: * Add C++ guards around generated headers. * Add z,relro and z,now to the GCC linker flags. * Add explicit version flags for macOS builds. * Add missing visibility compiler flags. * Prefer using pkg-config files to find GLES. * Fix build on MSVC 2013 when using the inline keyword. * Fix dlwrap on aarch64. * Require Meson ≥ 0.38.1. * Allow building Epoxy as a Meson sub-project. * Avoid crashes when running Epoxy on X servers without GLX. - Update to version 1.4.1: * Find the appropriate version of the Python interpreter when building. * Ensure that the dispatch generation script works with Python 2.x and 3.x. * Ensure that Epoxy builds correctly under Windows. * Fix location of the m4 macros in the autotools build. - Changes from version 1.4.0: * Epoxy can now build with MSVC versions prior to 2013; we still recommend using a recent, C99-compatible compiler, like MSVC 2015. * When used under X11, Epoxy now attempts to handle the cases where the GLX extension is not built or not available. * GLX can now be enabled and disabled at configuration time; this allows building Epoxy with GLX on macOS, and allows building Epoxy without GLX on embedded platforms. * Epoxy now exposes API that lets dependent projects safely check if platform API like GLX and EGL is available at run time. * EGL support has been improved on Windows, and made more resilient on other platforms. * Epoxy supports building with the Meson build system, which has Ninja, Visual Studio, and XCode backends. * Epoxy can generate its API reference using Doxygen (currently only available on Meson builds). * The GL registry has been updated with the latest version of the API references provided by Khronos; Epoxy now supports the API introduced by OpenGL 4.5. - Update to 1.3.1 * brown-paper-bag fix to unexport another private symbol that we'd leaked, noticed when I went diffing the exported symbols between v1.2 and v1.3 for the debian build. - Changes since 1.3.0: * MSVC 2013 support. * OSX drops GLX support. * Updates to the registry * Fixes for a nonconformant GL implementation * Library size reductions * Reproducible builds - Drop u_sort-the-providers-by-their-enum-not-by-their-functi.patch, merged upstream - Add baselibs.conf in order to build 32bit packages. - u_sort-the-providers-by-their-enum-not-by-their-functi.patch * sort the providers by their enum not by their function name; patch by coolo (bnc#917533) - Update to 1.2 *This is a bugfix and feature release. On the feature side of things, it brings in an updated registry with support for GLES 3.1 and EGL 1.5, along with miscellaneous other extensions, and many more aliases for GLES functions. On the bugfix side, it should be much more portable to non-Mesa drivers (nvidia binary in particular) and systems with mixed Mesa and non-Mesa drivers, and actually install the wgl headers in the windows build. - Explicitly BuildRequire pkgconfig(x11), and don't count other packages drag it in - Drop git_fixes.patch, merged upstream - Init libepoxy package OBS-URL: https://build.opensuse.org/request/show/760830 OBS-URL: https://build.opensuse.org/package/show/X11:XOrg/libepoxy?expand=0&rev=14
2020-01-04 22:45:39 +01:00
BuildRequires: python3-base
BuildRequires: pkgconfig(egl)
BuildRequires: pkgconfig(gl)
BuildRequires: pkgconfig(x11)
BuildRequires: pkgconfig(xorg-macros)
%description
Epoxy is a library for handling OpenGL function pointer management for you.
It hides the complexity of dlopen(), dlsym(), glXGetProcAddress(),
eglGetProcAddress(), etc. from the app developer, with very little knowledge
needed on their part. They get to read GL specs and write code using undecorated
function names like glCompileShader().
%package -n %{name}%{sonum}
Summary: OpenGL function pointer management library
Group: Development/Libraries/C and C++
%description -n %{name}%{sonum}
Epoxy is a library for handling OpenGL function pointer management for you.
It hides the complexity of dlopen(), dlsym(), glXGetProcAddress(),
eglGetProcAddress(), etc. from the app developer, with very little knowledge
needed on their part. They get to read GL specs and write code using undecorated
function names like glCompileShader().
%package devel
Summary: Development files for libepoxy
Group: Development/Libraries/C and C++
Requires: %{name}%{sonum} = %{version}
Requires: glibc-devel
Accepting request 760830 from home:StefanBruens:branches:openSUSE:Factory - Update to version 1.5.4: + Don't build GLX tests if X11 support is disabled + Add unit tests for epoxy_gl_version() + Reduce the size of the binary by reusing static strings + Fix build on Solaris + Update the GL registries - Only require python3-base package for building instead of full python3 package. - Allow building with meson 0.46: Add Lower-the-minimum-required-version-of-Meson.patch - Remove pkgconfig dependecies for glesv1_cm and glesv2: Starting with mesa commit b01524fff05 "meson: don't build libGLES*.so with GLVND" mesa stopped providing glesv1_cm.pc and glesv2.pc along. Let epoxy find the libraries directly instead. - Update to version 1.5.3: + Fix build with uClibc + Fix GLES3 symbol lookup + Fix conditional compilation + Require Meson 0.47 + Fix Autotools build with EGL-X11 support - Changes from version 1.5.2: + Fix the detection of the -z,relro linker flag + Query the EGL context version when bootstrapping on GLES + Avoid inadvertedly loading libraries when probing for them + Consistently use abort() instead of exit() for internal state checks + Fix a performance regression in the global function pointer trampolines introduced by using -Bsymbolic-functions + Improve performance when using GL function pointers like glAlphaFunc - Changes from version 1.5.1: + Generalise checks for dlvsym + Add an option for disabling building the test suite + Typo fixes in the comments and documentation + Simplify the Meson configuration logic for EGL and GLX + Use assert when no context is found + Remove a test superceded by GLVND + Avoid Meson warnings when testing for linker arguments - Pass tests=false to meson, ensure we do not build the test-suite. - Drop la files removal, they are no longer built. - Run spec-cleaner, modernize spec. - Update to version 1.5.0: + Bump the Meson dependency to 0.44.1. + Include Xlib.h in the tests that use X11 API. + Update the GL registry to OpenGL 4.6. + Add gl and egl private dependencies in the pkg-config file. + Allow building Epoxy without X11 support. + Rename the Meson configuration options to be more idiomatic. + New API: - epoxy_set_resolver_failure_handler(). - epoxy_glsl_version(). - epoxy_extension_in_string(). - Do a minor spec cleanup, use autosetup macro. - Pass docs=false, glx=yes, egl=yes and x11=true to meson, ensure we build the features we want. - -devel package requires pkgconfig(x11), pkgconfig(egl) but those deps are not generated automatically. - Update to version 1.4.3: + Require Meson 0.39.1; the previous release already had an implicit requirement on this version. + Allow disabling EGL support when building Epoxy. + Add support for building on Haiku. + Update EGL registry from Khronos. - Switch to meson build: + Drop autoconf, automake and libtool BuildRequires, and drop conditional autogen.sh call. + Add meson BuildRequires and add meson macros, drop autotools macros. - Correct docs installed. - Use "Full and pretty" source name. - Run spec-cleaner. - Add pkgconfig(glesv1_cm) and pkgconfig(glesv2) BuildRequires: Build the optional gles v1 and v2 support. - Update to version 1.4.2: * Add C++ guards around generated headers. * Add z,relro and z,now to the GCC linker flags. * Add explicit version flags for macOS builds. * Add missing visibility compiler flags. * Prefer using pkg-config files to find GLES. * Fix build on MSVC 2013 when using the inline keyword. * Fix dlwrap on aarch64. * Require Meson ≥ 0.38.1. * Allow building Epoxy as a Meson sub-project. * Avoid crashes when running Epoxy on X servers without GLX. - Update to version 1.4.1: * Find the appropriate version of the Python interpreter when building. * Ensure that the dispatch generation script works with Python 2.x and 3.x. * Ensure that Epoxy builds correctly under Windows. * Fix location of the m4 macros in the autotools build. - Changes from version 1.4.0: * Epoxy can now build with MSVC versions prior to 2013; we still recommend using a recent, C99-compatible compiler, like MSVC 2015. * When used under X11, Epoxy now attempts to handle the cases where the GLX extension is not built or not available. * GLX can now be enabled and disabled at configuration time; this allows building Epoxy with GLX on macOS, and allows building Epoxy without GLX on embedded platforms. * Epoxy now exposes API that lets dependent projects safely check if platform API like GLX and EGL is available at run time. * EGL support has been improved on Windows, and made more resilient on other platforms. * Epoxy supports building with the Meson build system, which has Ninja, Visual Studio, and XCode backends. * Epoxy can generate its API reference using Doxygen (currently only available on Meson builds). * The GL registry has been updated with the latest version of the API references provided by Khronos; Epoxy now supports the API introduced by OpenGL 4.5. - Update to 1.3.1 * brown-paper-bag fix to unexport another private symbol that we'd leaked, noticed when I went diffing the exported symbols between v1.2 and v1.3 for the debian build. - Changes since 1.3.0: * MSVC 2013 support. * OSX drops GLX support. * Updates to the registry * Fixes for a nonconformant GL implementation * Library size reductions * Reproducible builds - Drop u_sort-the-providers-by-their-enum-not-by-their-functi.patch, merged upstream - Add baselibs.conf in order to build 32bit packages. - u_sort-the-providers-by-their-enum-not-by-their-functi.patch * sort the providers by their enum not by their function name; patch by coolo (bnc#917533) - Update to 1.2 *This is a bugfix and feature release. On the feature side of things, it brings in an updated registry with support for GLES 3.1 and EGL 1.5, along with miscellaneous other extensions, and many more aliases for GLES functions. On the bugfix side, it should be much more portable to non-Mesa drivers (nvidia binary in particular) and systems with mixed Mesa and non-Mesa drivers, and actually install the wgl headers in the windows build. - Explicitly BuildRequire pkgconfig(x11), and don't count other packages drag it in - Drop git_fixes.patch, merged upstream - Init libepoxy package OBS-URL: https://build.opensuse.org/request/show/760830 OBS-URL: https://build.opensuse.org/package/show/X11:XOrg/libepoxy?expand=0&rev=14
2020-01-04 22:45:39 +01:00
Requires: pkgconfig(egl)
Requires: pkgconfig(x11)
%description devel
Epoxy is a library for handling OpenGL function pointer management for you.
It hides the complexity of dlopen(), dlsym(), glXGetProcAddress(),
eglGetProcAddress(), etc. from the app developer, with very little knowledge
needed on their part. They get to read GL specs and write code using undecorated
function names like glCompileShader().
Development files.
%prep
%autosetup
%build
%meson \
-D docs=false \
-D glx=yes \
-D egl=yes \
-D x11=true \
-D tests=false \
%{nil}
%meson_build
%install
%meson_install
%post -n %{name}%{sonum} -p /sbin/ldconfig
%postun -n %{name}%{sonum} -p /sbin/ldconfig
%files -n %{name}%{sonum}
%license COPYING
%{_libdir}/libepoxy.so.*
%files devel
%doc README.md
%{_libdir}/libepoxy.so
%{_libdir}/pkgconfig/epoxy.pc
%{_includedir}/epoxy/
%changelog