diff --git a/.gitignore b/.gitignore index 07ab210..738b2b8 100644 --- a/.gitignore +++ b/.gitignore @@ -41,3 +41,34 @@ /wayland-1.12.0.tar.xz /wayland-1.12.91.tar.xz /wayland-1.13.0.tar.xz +/wayland-1.13.91.tar.xz +/wayland-1.13.92.tar.xz +/wayland-1.13.93.tar.xz +/wayland-1.14.0.tar.xz +/wayland-1.14.91.tar.xz +/wayland-1.14.92.tar.xz +/wayland-1.14.93.tar.xz +/wayland-1.15.0.tar.xz +/wayland-1.15.92.tar.xz +/wayland-1.15.93.tar.xz +/wayland-1.16.0.tar.xz +/wayland-1.16.91.tar.xz +/wayland-1.16.92.tar.xz +/wayland-1.17.0.tar.xz +/wayland-1.18.0.tar.xz +/wayland-1.19.0.tar.xz +/wayland-1.20.0.tar.xz +/wayland-1.21.0.tar.xz +/wayland-1.21.0.tar.xz.sig +/wayland-1.22.0.tar.xz +/wayland-1.22.0.tar.xz.sig +/wayland-1.23.0.tar.xz +/wayland-1.23.0.tar.xz.sig +/wayland-1.23.1.tar.xz +/wayland-1.23.1.tar.xz.sig +/wayland-1.24.0.tar.xz +/wayland-1.24.0.tar.xz.sig +/wayland-1.25.0.tar.xz +/wayland-1.25.0.tar.xz.sig +/wayland-1.26.0.tar.xz +/wayland-1.26.0.tar.xz.sig diff --git a/0001-doc-add-option-to-not-build-the-book.patch b/0001-doc-add-option-to-not-build-the-book.patch new file mode 100644 index 0000000..f0556a5 --- /dev/null +++ b/0001-doc-add-option-to-not-build-the-book.patch @@ -0,0 +1,53 @@ +From f1798e0601aff530f1f9025067ff46d2867a1009 Mon Sep 17 00:00:00 2001 +From: Yaakov Selkowitz +Date: Thu, 9 Jul 2026 17:02:36 -0400 +Subject: [PATCH] doc: add option to not build the book + +mdbook is not available in all distributions, and other documentation does +not require it. + +Signed-off-by: Yaakov Selkowitz +--- + doc/meson.build | 6 ++++-- + meson_options.txt | 4 ++++ + 2 files changed, 8 insertions(+), 2 deletions(-) + +diff --git a/doc/meson.build b/doc/meson.build +index b9f6fcb..7b3d7d8 100644 +--- a/doc/meson.build ++++ b/doc/meson.build +@@ -6,7 +6,7 @@ dot = find_program('dot') + doxygen = find_program('doxygen') + xsltproc = find_program('xsltproc') + xmlto = find_program('xmlto') +-mdbook = find_program('mdbook') ++mdbook = find_program('mdbook', required: get_option('book')) + + cmd = run_command(doxygen, '--version', check: true) + message('doxygen: ' + cmd.stdout().strip()) +@@ -40,4 +40,6 @@ publican_html_dir = 'html' + + subdir('doxygen') + subdir('publican') +-subdir('book') ++if mdbook.found() ++ subdir('book') ++endif +diff --git a/meson_options.txt b/meson_options.txt +index 02c2346..3445f3f 100644 +--- a/meson_options.txt ++++ b/meson_options.txt +@@ -22,6 +22,10 @@ option('dtd_validation', + description: 'Validate the protocol DTD (requires libxml2)', + type: 'boolean', + value: true) ++option('book', ++ description: 'Build the Wayland Book (requires mdbook)', ++ type: 'boolean', ++ value: true) + option('icon_directory', + description: 'Location used to look for cursors (defaults to ${datadir}/icons if unset)', + type: 'string', +-- +2.55.0 + diff --git a/emersion-gpg-key.asc b/emersion-gpg-key.asc new file mode 100644 index 0000000..cc3b6a0 Binary files /dev/null and b/emersion-gpg-key.asc differ diff --git a/sources b/sources index c2d9ace..e621965 100644 --- a/sources +++ b/sources @@ -1 +1,2 @@ -SHA512 (wayland-1.13.0.tar.xz) = 163bae2c2c2e79e03dda9a57b1e3a1060eff9e0b053b70ad00a6949a1d40f4c40d0244340c2603109fcbfe919533c2ce196338b27587fd3bda996e615d51e543 +SHA512 (wayland-1.26.0.tar.xz) = 50861b0c40cedec5f31b49ff1e99fc135a299fa4a8e2ff50ff4bac3f42e2f3f7be38271929fd2f6e58d83d5df516f643946ceba7937cc199581487c082c7ec31 +SHA512 (wayland-1.26.0.tar.xz.sig) = 051de7c3c80c8cef9cf713d7346467a2ce10c10ed7a39f49f3567d0ed08f409179c56e10ce8657e9eed8c544eafb2e254e251d147b13e472e60becf46100d56a diff --git a/tests-Fix-new-ID-type-handling-in-argument_from_va_list-test.patch b/tests-Fix-new-ID-type-handling-in-argument_from_va_list-test.patch deleted file mode 100644 index da0ff83..0000000 --- a/tests-Fix-new-ID-type-handling-in-argument_from_va_list-test.patch +++ /dev/null @@ -1,55 +0,0 @@ -From patchwork Thu Feb 23 12:47:41 2017 -Content-Type: text/plain; charset="utf-8" -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -Subject: tests: Fix "new ID" type handling in argument_from_va_list test -From: Carlos Garnacho -X-Patchwork-Id: 140495 -Message-Id: <20170223124741.471-1-carlosg@gnome.org> -To: wayland-devel@lists.freedesktop.org -Cc: Carlos Garnacho -Date: Thu, 23 Feb 2017 13:47:41 +0100 - -New IDs are internally dealt with as objects, however this test -expected to deal with 'n' as the uint32_t type that's just seen -through the wire. We should give it an object instead, and -expect an object from it. - -https://bugs.freedesktop.org/show_bug.cgi?id=99899 - -Signed-off-by: Carlos Garnacho -Reviewed-by: Pekka Paalanen -Tested-by: Kalev Lember ---- - tests/connection-test.c | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -diff --git a/tests/connection-test.c b/tests/connection-test.c -index 1c688f1..8be6c38 100644 ---- a/tests/connection-test.c -+++ b/tests/connection-test.c -@@ -142,7 +142,7 @@ va_list_wrapper(const char *signature, union wl_argument *args, int count, ...) - TEST(argument_from_va_list) - { - union wl_argument args[WL_CLOSURE_MAX_ARGS]; -- struct wl_object fake_object; -+ struct wl_object fake_object, fake_new_object; - struct wl_array fake_array; - - va_list_wrapper("i", args, 1, 100); -@@ -154,13 +154,13 @@ TEST(argument_from_va_list) - - va_list_wrapper("?iuf?sonah", args, 8, - 102, 103, wl_fixed_from_int(104), "value", -- &fake_object, 105, &fake_array, 106); -+ &fake_object, &fake_new_object, &fake_array, 106); - assert(args[0].i == 102); - assert(args[1].u == 103); - assert(args[2].f == wl_fixed_from_int(104)); - assert(strcmp(args[3].s, "value") == 0); - assert(args[4].o == &fake_object); -- assert(args[5].n == 105); -+ assert(args[5].o == &fake_new_object); - assert(args[6].a == &fake_array); - assert(args[7].h == 106); - } diff --git a/wayland.spec b/wayland.spec index acf3c81..a7e2b78 100644 --- a/wayland.spec +++ b/wayland.spec @@ -1,24 +1,38 @@ +%bcond book %{undefined rhel} + Name: wayland -Version: 1.13.0 -Release: 1%{?dist} +Version: 1.26.0 +Release: 2%{?dist} Summary: Wayland Compositor Infrastructure +# SPDX License: MIT URL: http://wayland.freedesktop.org/ -Source0: http://wayland.freedesktop.org/releases/%{name}-%{version}.tar.xz -# Fix the tests to pass on ppc64 -Patch0: tests-Fix-new-ID-type-handling-in-argument_from_va_list-test.patch +Source0: https://gitlab.freedesktop.org/%{name}/%{name}/-/releases/%{version}/downloads/%{name}-%{version}.tar.xz +Source1: https://gitlab.freedesktop.org/%{name}/%{name}/-/releases/%{version}/downloads/%{name}-%{version}.tar.xz.sig +Source2: emersion-gpg-key.asc -BuildRequires: chrpath +# https://gitlab.freedesktop.org/wayland/wayland/-/merge_requests/548 +Patch0: 0001-doc-add-option-to-not-build-the-book.patch + +BuildRequires: gcc +BuildRequires: gcc-c++ BuildRequires: docbook-style-xsl BuildRequires: doxygen BuildRequires: expat-devel BuildRequires: graphviz BuildRequires: libxml2-devel BuildRequires: libxslt +%if %{with book} +BuildRequires: mdbook +%endif +BuildRequires: meson BuildRequires: pkgconfig(libffi) BuildRequires: xmlto +# For origin certification +BuildRequires: gnupg2 + %description Wayland is a protocol for a compositor to talk to its clients as well as a C library implementation of that protocol. The compositor can be a standalone @@ -26,81 +40,20 @@ display server running on Linux kernel modesetting and evdev input devices, an X application, or a wayland client itself. The clients can be traditional applications, X servers (rootless or fullscreen) or other display servers. +%dnl ------------------------------------------------------------------------ + %package devel Summary: Development files for %{name} Requires: libwayland-client%{?_isa} = %{version}-%{release} Requires: libwayland-cursor%{?_isa} = %{version}-%{release} +Requires: libwayland-egl%{?_isa} = %{version}-%{release} Requires: libwayland-server%{?_isa} = %{version}-%{release} -# For upgrade path from F24 -Provides: libwayland-client-devel = %{version}-%{release} -Obsoletes: libwayland-client-devel < 1.11.91 -Provides: libwayland-cursor-devel = %{version}-%{release} -Obsoletes: libwayland-cursor-devel < 1.11.91 -Provides: libwayland-server-devel = %{version}-%{release} -Obsoletes: libwayland-server-devel < 1.11.91 +Requires: pkgconfig(libffi) %description devel The %{name}-devel package contains libraries and header files for developing applications that use %{name}. -%package doc -Summary: Wayland development documentation -BuildArch: noarch -# For upgrade path from F22 -Obsoletes: wayland < 1.8.91 -%description doc -Wayland development documentation - -%package -n libwayland-client -Summary: Wayland client library -%description -n libwayland-client -Wayland client library - -%package -n libwayland-cursor -Summary: Wayland cursor library -%description -n libwayland-cursor -Wayland cursor library - -%package -n libwayland-server -Summary: Wayland server library -%description -n libwayland-server -Wayland server library - - -%prep -%setup -q -%patch0 -p1 - - -%build -%configure --disable-static --enable-documentation -make %{?_smp_mflags} - - -%install -%make_install - -find $RPM_BUILD_ROOT -name \*.la | xargs rm -f - -# Remove lib64 rpaths -chrpath -d $RPM_BUILD_ROOT%{_libdir}/libwayland-cursor.so - -%check -mkdir -m 700 tests/run -XDG_RUNTIME_DIR=$PWD/tests/run make check || \ -{ rc=$?; cat test-suite.log; exit $rc; } - - -%post -n libwayland-client -p /sbin/ldconfig -%postun -n libwayland-client -p /sbin/ldconfig - -%post -n libwayland-cursor -p /sbin/ldconfig -%postun -n libwayland-cursor -p /sbin/ldconfig - -%post -n libwayland-server -p /sbin/ldconfig -%postun -n libwayland-server -p /sbin/ldconfig - - %files devel %{_bindir}/wayland-scanner %{_includedir}/wayland-*.h @@ -113,23 +66,256 @@ XDG_RUNTIME_DIR=$PWD/tests/run make check || \ %{_datadir}/wayland/wayland.dtd %{_mandir}/man3/*.3* +%dnl ------------------------------------------------------------------------ + +%package doc +Summary: Wayland development documentation +BuildArch: noarch +%if %{with book} +# Required for mdbook generated docs +Requires: adobe-source-code-pro-fonts +Requires: open-sans-fonts +%endif + +%description doc +Wayland development documentation + %files doc -%doc README TODO +%doc README.md %{_datadir}/doc/wayland/ +%dnl ------------------------------------------------------------------------ + +%package -n libwayland-client +Summary: Wayland client library + +%description -n libwayland-client +Wayland client library + %files -n libwayland-client %license COPYING %{_libdir}/libwayland-client.so.0* +%dnl ------------------------------------------------------------------------ + +%package -n libwayland-cursor +Summary: Wayland cursor library +Requires: libwayland-client%{?_isa} = %{version}-%{release} + +%description -n libwayland-cursor +Wayland cursor library + %files -n libwayland-cursor %license COPYING %{_libdir}/libwayland-cursor.so.0* +%dnl ------------------------------------------------------------------------ + +%package -n libwayland-egl +Summary: Wayland egl library + +%description -n libwayland-egl +Wayland egl library + +%files -n libwayland-egl +%license COPYING +%{_libdir}/libwayland-egl.so.1* + +%dnl ------------------------------------------------------------------------ + +%package -n libwayland-server +Summary: Wayland server library + +%description -n libwayland-server +Wayland server library + %files -n libwayland-server %license COPYING %{_libdir}/libwayland-server.so.0* +%dnl ------------------------------------------------------------------------ + +%prep +%{gpgverify} --keyring='%{SOURCE2}' --signature='%{SOURCE1}' --data='%{SOURCE0}' +%autosetup -p1 + +%conf +%meson %{!?with_book:-Dbook=false} + +%build +%meson_build + +%install +%meson_install + +%check +%meson_test + %changelog +* Fri Jul 17 2026 Yaakov Selkowitz - 1.26.0-2 +- Conditionalize book documentation + +* Thu Jul 16 2026 Neal Gompa - 1.26.0-1 +- Update to 1.26.0 + +* Sun Jun 07 2026 Neal Gompa - 1.25.0-1 +- Update to 1.25.0 +- Modernize spec + +* Sat Jan 17 2026 Fedora Release Engineering - 1.24.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild + +* Mon Oct 13 2025 Olivier Fourdan - 1.24.0-2 +- Add dependency on libffi for the devel package (#2403323) + +* Tue Aug 05 2025 Neal Gompa - 1.24.0-1 +- Update to 1.24.0 + +* Fri Jul 25 2025 Fedora Release Engineering - 1.23.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + +* Mon Apr 14 2025 Olivier Fourdan - 1.23.1-1 +- Update to 1.23.1 + +* Sun Jan 19 2025 Fedora Release Engineering - 1.23.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + +* Sat Jul 20 2024 Fedora Release Engineering - 1.23.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + +* Fri Jun 28 2024 Olivier Fourdan - 1.23.0-1 +- Update to 1.23.0 + +* Sat Jan 27 2024 Fedora Release Engineering - 1.22.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Thu Sep 07 2023 José Expósito +- SPDX migration: license is already SPDX compatible + +* Sat Jul 22 2023 Fedora Release Engineering - 1.22.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Tue Apr 04 2023 Kalev Lember - 1.22.0-1 +- Update to 1.22.0 + +* Sat Jan 21 2023 Fedora Release Engineering - 1.21.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Tue Jul 26 2022 Mike Rochefort - 1.21.0-1 +- Update to 1.21.0 + +* Sat Jul 23 2022 Fedora Release Engineering - 1.20.0-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Mon Mar 21 2022 Olivier Fourdan - 1.20.0-4 +- Close file descriptors not needed + rhbz#2062030 + +* Sat Jan 22 2022 Fedora Release Engineering - 1.20.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Sat Jan 08 2022 Miro Hrončok - 1.20.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Changes/LIBFFI34 + +* Thu Dec 16 2021 Kalev Lember - 1.20.0-1 +- Update to 1.20.0 + +* Fri Jul 23 2021 Fedora Release Engineering - 1.19.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Thu Jan 28 2021 Kalev Lember - 1.19.0-1 +- Update to 1.19.0 +- Switch to meson build system +- Drop old provides + +* Wed Jan 27 2021 Fedora Release Engineering - 1.18.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Wed Jul 29 2020 Fedora Release Engineering - 1.18.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Wed Feb 12 2020 Kalev Lember - 1.18.0-1 +- Update to 1.18.0 +- Drop no longer needed obsoletes/provides + +* Fri Jan 31 2020 Fedora Release Engineering - 1.17.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Sat Jul 27 2019 Fedora Release Engineering - 1.17.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Thu Mar 21 2019 Kalev Lember - 1.17.0-1 +- Update to 1.17.0 + +* Thu Mar 07 2019 Kalev Lember - 1.16.92-1 +- Update to 1.16.92 + +* Thu Feb 28 2019 Kalev Lember - 1.16.91-1 +- Update to 1.16.91 + +* Sun Feb 03 2019 Fedora Release Engineering - 1.16.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Tue Sep 11 2018 Kalev Lember - 1.16.0-1 +- Update to 1.16.0 + +* Mon Aug 13 2018 Kalev Lember - 1.15.93-1 +- Update to 1.15.93 + +* Tue Jul 31 2018 Florian Weimer - 1.15.92-2 +- Rebuild with fixed binutils + +* Sun Jul 29 2018 Kalev Lember - 1.15.92-1 +- Update to 1.15.92 + +* Sat Jul 14 2018 Fedora Release Engineering - 1.15.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Mon Apr 09 2018 Kalev Lember - 1.15.0-1 +- Update to 1.15.0 + +* Wed Apr 04 2018 Kalev Lember - 1.14.93-2 +- Make mesa-libwayland-egl obsoleting actually work + +* Tue Apr 03 2018 Kalev Lember - 1.14.93-1 +- Update to 1.14.93 + +* Tue Mar 20 2018 Kalev Lember - 1.14.92-1 +- Update to 1.14.92 +- Remove F22 upgrade path obsoletes + +* Sat Mar 03 2018 Igor Gnatenko - 1.14.91-2 +- Improve Obsoletes + +* Tue Feb 27 2018 Kalev Lember - 1.14.91-1 +- Update to 1.14.91 +- Add new libwayland-egl subpackage and obsolete mesa-libwayland-egl +- Remove ldconfig scriptlets + +* Fri Feb 09 2018 Fedora Release Engineering - 1.14.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Tue Dec 12 2017 Kalev Lember - 1.14.0-2 +- cursor: Fix heap overflows when parsing malicious files (#1522638) + +* Wed Aug 09 2017 Kalev Lember - 1.14.0-1 +- Update to 1.14.0 + +* Wed Aug 02 2017 Kalev Lember - 1.13.93-1 +- Update to 1.13.93 + +* Sun Jul 30 2017 Florian Weimer - 1.13.92-2 +- Rebuild with binutils fix for ppc64le (#1475636) + +* Wed Jul 26 2017 Kalev Lember - 1.13.92-1 +- Update to 1.13.92 + +* Wed Jul 19 2017 Kalev Lember - 1.13.91-1 +- Update to 1.13.91 + +* Thu Jun 1 2017 Owen Taylor otaylor@redhat.com> - 1.13.0-2 +- Add a patch fixing a build error with newer versions of graphviz + * Wed Feb 22 2017 Kalev Lember - 1.13.0-1 - Update to 1.13.0