[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