diff --git a/0001-Fix-flymake-tests-with-GCC-14.patch b/0001-Fix-flymake-tests-with-GCC-14.patch new file mode 100644 index 0000000..484561d --- /dev/null +++ b/0001-Fix-flymake-tests-with-GCC-14.patch @@ -0,0 +1,28 @@ +From a769f171e7ebb8e30f198f4328d46f47fe7958fb Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Ulrich=20M=C3=BCller?= +Date: Mon, 24 Jun 2024 15:20:26 +0200 +Subject: [PATCH] ; Fix flymake tests with GCC 14. + +* test/lisp/progmodes/flymake-tests.el (included-c-header-files): +Fix test failure with GCC 14. (Bug#71749) +--- + test/lisp/progmodes/flymake-tests.el | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/test/lisp/progmodes/flymake-tests.el b/test/lisp/progmodes/flymake-tests.el +index 21dbb0711d2..93bc9028031 100644 +--- a/test/lisp/progmodes/flymake-tests.el ++++ b/test/lisp/progmodes/flymake-tests.el +@@ -174,7 +174,8 @@ included-c-header-files + (flymake-tests--with-flymake + ("some-problems.h") + (flymake-goto-next-error) +- (should (eq 'flymake-warning (face-at-point))) ++ ;; implicit-int was promoted from warning to error in GCC 14 ++ (should (memq (face-at-point) '(flymake-warning flymake-error))) + (flymake-goto-next-error) + (should (eq 'flymake-error (face-at-point))) + (should-error (flymake-goto-next-error nil nil t))) +-- +2.45.2 + diff --git a/0001-Tag-process-tests-multiple-threads-waiting-unstable-.patch b/0001-Tag-process-tests-multiple-threads-waiting-unstable-.patch new file mode 100644 index 0000000..5bddc6b --- /dev/null +++ b/0001-Tag-process-tests-multiple-threads-waiting-unstable-.patch @@ -0,0 +1,29 @@ +From d3a62e79847f00855eac69477fa3cd78014106c4 Mon Sep 17 00:00:00 2001 +From: Peter Oliver +Date: Mon, 8 Jul 2024 14:26:26 +0100 +Subject: [PATCH] Tag process-tests/multiple-threads-waiting :unstable in RPM + %check + +* test/src/process-tests.el (process-tests/multiple-threads-waiting): +Tag it as :unstable when building an RPM package. +--- + test/src/process-tests.el | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/test/src/process-tests.el b/test/src/process-tests.el +index 15d46cbae15..ceeaa9f1554 100644 +--- a/test/src/process-tests.el ++++ b/test/src/process-tests.el +@@ -895,7 +895,8 @@ process-tests/sentinel-with-multiple-processes + (list (list process "finished\n")))))))))) + + (ert-deftest process-tests/multiple-threads-waiting () +- :tags (if (getenv "EMACS_EMBA_CI") '(:unstable)) ++ :tags (if (or (getenv "EMACS_EMBA_CI") (getenv "RPM_BUILD_ROOT")) ++ '(:unstable)) + (skip-unless (fboundp 'make-thread)) + (with-timeout (60 (ert-fail "Test timed out")) + (process-tests--with-processes processes +-- +2.45.2 + diff --git a/emacs.spec b/emacs.spec index 93b9e8c..0a8a129 100644 --- a/emacs.spec +++ b/emacs.spec @@ -32,6 +32,10 @@ Patch3: emacs-libdir-vs-systemd.patch Patch4: emacs-desktop.patch Patch5: emacs-pgtk-on-x-error-message.patch +# Skip failing tests: +Patch: 0001-Fix-flymake-tests-with-GCC-14.patch +Patch: 0001-Tag-process-tests-multiple-threads-waiting-unstable-.patch + BuildRequires: gcc BuildRequires: atk-devel BuildRequires: cairo-devel @@ -251,14 +255,14 @@ rm keyring autoconf +# Avoid trademark issues grep -v "tetris.elc" lisp/Makefile.in > lisp/Makefile.in.new \ && mv lisp/Makefile.in.new lisp/Makefile.in grep -v "pong.elc" lisp/Makefile.in > lisp/Makefile.in.new \ && mv lisp/Makefile.in.new lisp/Makefile.in - -# Avoid trademark issues rm -f lisp/play/tetris.el lisp/play/tetris.elc rm -f lisp/play/pong.el lisp/play/pong.elc +sed -i "s/'tetris/'doctor/" test/src/doc-tests.el %ifarch %{ix86} %define setarch setarch %{_arch} -R @@ -569,10 +573,28 @@ find %{buildroot}%{_libdir}/ -name '*eln' -type f | xargs chmod -x # see: https://bugzilla.redhat.com/show_bug.cgi?id=2157979#c11 find %{buildroot}%{_libdir}/ -name '*eln' -type f | xargs touch + %check +cd build-pgtk +%make_build check +cd .. + +cd build-gtk+x11 +%make_build check +cd .. + +cd build-lucid +%make_build check +cd .. + +cd build-nw +%make_build check +cd .. + appstream-util validate-relax --nonet %{buildroot}/%{_metainfodir}/*.metainfo.xml desktop-file-validate %{buildroot}/%{_datadir}/applications/*.desktop + %preun if [ $1 = 0 ]; then /usr/sbin/alternatives --remove emacs %{_bindir}/emacs-pgtk || :