[packages/waffle] - new
qboosh
qboosh at pld-linux.org
Sun Apr 19 21:34:13 CEST 2026
commit 322b403b55f24f7da840132787425ebd221c926e
Author: Jakub Bogusz <qboosh at pld-linux.org>
Date: Sun Apr 19 21:34:36 2026 +0200
- new
waffle-c11-threads.patch | 22 +++++++
waffle.spec | 146 +++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 168 insertions(+)
---
diff --git a/waffle.spec b/waffle.spec
new file mode 100644
index 0000000..6bcd37d
--- /dev/null
+++ b/waffle.spec
@@ -0,0 +1,146 @@
+#
+# Conditional build:
+%bcond_without apidocs # API documentation
+%bcond_without static_libs # static libraries
+#
+Summary: Library for selecting an OpenGL API and window system at runtime
+Summary(pl.UTF-8): Biblioteka do wyboru API OpenGL i systemu okien w trakcie uruchamiania
+Name: waffle
+Version: 1.8.1
+Release: 1
+License: BSD
+Group: Libraries
+#Source0Download: https://gitlab.freedesktop.org/mesa/waffle/-/tags
+Source0: https://gitlab.freedesktop.org/mesa/waffle/-/archive/v%{version}/%{name}-v%{version}.tar.bz2
+# Source0-md5: e3e36e62380835b3ec05ae995851adaf
+Patch0: %{name}-c11-threads.patch
+URL: https://waffle.freedesktop.org/
+BuildRequires: EGL-devel
+BuildRequires: Mesa-libgbm-devel
+BuildRequires: OpenGL-devel
+BuildRequires: OpenGL-GLX-devel
+BuildRequires: docbook-dtd42-xml
+BuildRequires: docbook-style-xsl-nons
+BuildRequires: gcc >= 6:4.7
+# C11 threads support
+BuildRequires: glibc-devel >= 6:2.28
+BuildRequires: libdrm-devel
+BuildRequires: libxslt-progs
+BuildRequires: meson >= 0.53
+BuildRequires: ninja >= 1.5
+BuildRequires: pkgconfig
+BuildRequires: pkgconfig(wayland-egl) >= 9.1
+BuildRequires: pkgconfig(x11-xcb)
+BuildRequires: rpmbuild(macros) >= 2.042
+# wayland-client >= 1.10, wayland-scanner >= 1.15
+BuildRequires: wayland-devel >= 1.15
+# wayland-egl >= 9.1, what version of wayland?
+BuildRequires: wayland-egl-devel
+BuildRequires: wayland-protocols >= 1.12
+BuildRequires: xorg-lib-libX11-devel
+BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
+
+%description
+Waffle is a cross-platform library that allows one to defer selection
+of an OpenGL API and of window system until runtime. For example, on
+Linux, Waffle enables an application to select X11/EGL with an OpenGL 3.3
+core profile, Wayland with OpenGL ES2, and other window system/API
+combinations.
+
+%description -l pl.UTF-8
+Waffle to wieloplatformowa biblioteka umożliwiająca opóźnienie wyboru
+API OpenGL i systemu okien do czasu uruchomienia. Na przykład, pod
+Linuksem, Waffle pozwala aplikacji wybrać X11/EGL z profilem głównym
+OpenGL 3.3, Wayland z OpenGL ES2 lub inną kombinację systemu
+okien/API.
+
+%package devel
+Summary: Header files for waffle library
+Summary(pl.UTF-8): Pliki nagłówkowe biblioteki waffle
+Group: Development/Libraries
+Requires: %{name} = %{version}-%{release}
+Requires: EGL-devel
+Requires: Mesa-libgbm-devel
+Requires: OpenGL-devel
+Requires: libdrm-devel
+# wayland-client
+Requires: wayland-devel >= 1.10
+# wayland-egl >= 9.1, what version of wayland?
+Requires: wayland-egl-devel
+Requires: xorg-lib-libX11-devel
+
+%description devel
+Header files for waffle library.
+
+%description devel -l pl.UTF-8
+Pliki nagłówkowe biblioteki waffle.
+
+%package static
+Summary: Static waffle library
+Summary(pl.UTF-8): Statyczna biblioteka waffle
+Group: Development/Libraries
+Requires: %{name}-devel = %{version}-%{release}
+
+%description static
+Static waffle library.
+
+%description static -l pl.UTF-8
+Statyczna biblioteka waffle.
+
+%prep
+%setup -q -n %{name}-v%{version}
+%patch -P0 -p1
+
+%build
+%meson \
+ %{!?with_static_libs:--default-library=shared} \
+ -Dbuild-manpages=true \
+ -Dgbm=enabled \
+ -Dglx=enabled \
+ -Dsurfaceless_egl=enabled \
+ -Dwayland=enabled \
+ -Dx11_egl=enabled
+
+%meson_build
+
+%install
+rm -rf $RPM_BUILD_ROOT
+
+%meson_install
+
+install -d $RPM_BUILD_ROOT%{_examplesdir}
+%{__mv} $RPM_BUILD_ROOT%{_docdir}/waffle1/examples $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
+# packaged as %doc
+%{__rm} -r $RPM_BUILD_ROOT%{_docdir}/waffle1
+
+%clean
+rm -rf $RPM_BUILD_ROOT
+
+%post -p /sbin/ldconfig
+%postun -p /sbin/ldconfig
+
+%files
+%defattr(644,root,root,755)
+%doc LICENSE.txt README.md doc/release-notes/waffle-*
+%attr(755,root,root) %{_bindir}/wflinfo
+%{_libdir}/libwaffle-1.so.*.*.*
+%ghost %{_libdir}/libwaffle-1.so.0
+%{_mandir}/man1/wflinfo.1*
+%{bash_compdir}/wflinfo
+%{zsh_compdir}/_wflinfo
+
+%files devel
+%defattr(644,root,root,755)
+%{_libdir}/libwaffle-1.so
+%{_includedir}/waffle-1
+%{_pkgconfigdir}/waffle-1.pc
+%{_mandir}/man3/waffle_*.3*
+%{_mandir}/man7/waffle.7*
+%{_mandir}/man7/waffle_feature_test_macros.7*
+%{_examplesdir}/%{name}-%{version}
+
+%if %{with static_libs}
+%files static
+%defattr(644,root,root,755)
+%{_libdir}/libwaffle-1.a
+%endif
diff --git a/waffle-c11-threads.patch b/waffle-c11-threads.patch
new file mode 100644
index 0000000..f7c30c2
--- /dev/null
+++ b/waffle-c11-threads.patch
@@ -0,0 +1,22 @@
+--- waffle-v1.8.1/meson.build.orig 2026-04-19 19:27:46.765579699 +0200
++++ waffle-v1.8.1/meson.build 2026-04-19 19:28:00.582171515 +0200
+@@ -32,7 +32,7 @@ project(
+ license : 'BSD2',
+ meson_version : '>= 0.53',
+ # ubproject cmocka throws a Wclobbered ... make this a level=2 once it's fixed
+- default_options : ['c_std=c99', 'warning_level=1', 'buildtype=debugoptimized'],
++ default_options : ['c_std=c11', 'warning_level=1', 'buildtype=debugoptimized'],
+ )
+
+ waffle_name = meson.project_name() + '-1'
+--- waffle-v1.8.1/third_party/meson.build.orig 2026-04-19 19:28:06.222140960 +0200
++++ waffle-v1.8.1/third_party/meson.build 2026-04-19 19:28:09.655455694 +0200
+@@ -23,7 +23,7 @@
+ # OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+-subdir('threads')
++idep_threads = _dep_null
+ if host_machine.system() == 'windows'
+ subdir('getopt')
+ else
================================================================
---- gitweb:
http://git.pld-linux.org/gitweb.cgi/packages/waffle.git/commitdiff/322b403b55f24f7da840132787425ebd221c926e
More information about the pld-cvs-commit
mailing list