From 5efba81bd0543cf2ef9bc231192b19af507913c6 Mon Sep 17 00:00:00 2001 From: Peter Oliver Date: Thu, 31 Oct 2024 14:59:17 +0000 Subject: [PATCH 01/12] Fix typo in emacs-gtk+x11 Requires. --- emacs.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/emacs.spec b/emacs.spec index 43f49e3..9213808 100644 --- a/emacs.spec +++ b/emacs.spec @@ -158,7 +158,7 @@ GTK toolkit. %if %{with gtkx11} %package gtk+x11 Summary: GNU Emacs text editor with GTK toolkit X support -Requires: libgccjit +Requires: google-noto-sans-mono-vf-fonts Requires(preun): /usr/sbin/alternatives Requires(posttrans): /usr/sbin/alternatives Requires: emacs-common = %{epoch}:%{version}-%{release} From 18b74c329fa39cb61739f3aae47cafde6609a197 Mon Sep 17 00:00:00 2001 From: Peter Oliver Date: Fri, 3 Jan 2025 14:01:21 +0000 Subject: [PATCH 02/12] Require XPM pixbuf loader for GTK builds (#2335309) --- emacs.spec | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/emacs.spec b/emacs.spec index 9213808..c4b0586 100644 --- a/emacs.spec +++ b/emacs.spec @@ -127,12 +127,17 @@ BuildRequires: pkgconfig(systemd) BuildRequires: util-linux %endif +%if "%{_lib}" == "lib64" +%global marker ()(64bit) +%endif + # Emacs doesn't run without a font, rhbz#732422 Requires: google-noto-sans-mono-vf-fonts Requires(preun): /usr/sbin/alternatives Requires(posttrans): /usr/sbin/alternatives Requires: emacs-common = %{epoch}:%{version}-%{release} +Requires: libpixbufloader-xpm.so%{?marker} Provides: emacs(bin) = %{epoch}:%{version}-%{release} Supplements: ((libwayland-server and emacs-common) unless emacs-nw) @@ -162,6 +167,7 @@ Requires: google-noto-sans-mono-vf-fonts Requires(preun): /usr/sbin/alternatives Requires(posttrans): /usr/sbin/alternatives Requires: emacs-common = %{epoch}:%{version}-%{release} +Requires: libpixbufloader-xpm.so%{?marker} Provides: emacs(bin) = %{epoch}:%{version}-%{release} Supplements: ((xorg-x11-server-Xorg and emacs-common) unless emacs-nw) From b16738093b5b542138ba7afb6ca376716a8eb426 Mon Sep 17 00:00:00 2001 From: Peter Oliver Date: Thu, 13 Mar 2025 17:23:51 +0000 Subject: [PATCH 03/12] Relax dependencies of emacs-terminal. --- emacs.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/emacs.spec b/emacs.spec index c4b0586..c9fe420 100644 --- a/emacs.spec +++ b/emacs.spec @@ -266,7 +266,7 @@ emacs-lucid, or emacs-nw. %package terminal Summary: A desktop menu item for GNU Emacs terminal. -Requires: emacs = %{epoch}:%{version}-%{release} +Requires: (emacs or emacs-gtk+x11 or emacs-lucid) BuildArch: noarch %description terminal From 09edb60c03b149606e32f8060c12e54e678dc52c Mon Sep 17 00:00:00 2001 From: Benson Muite Date: Sun, 25 May 2025 23:03:23 +0300 Subject: [PATCH 04/12] Partial update to 30.1 - Enable tests - Build has segmentation fault on i686 --- 0001-Skip-failing-tests.patch | 68 ++++++++ 0001-Skip-tree-sitter-tests.patch | 241 ++++++++++++++++++++++++++++ emacs-pgtk-on-x-error-message.patch | 33 ++-- emacs-system-crypto-policies.patch | 9 +- emacs.spec | 37 +++-- 5 files changed, 350 insertions(+), 38 deletions(-) create mode 100644 0001-Skip-failing-tests.patch create mode 100644 0001-Skip-tree-sitter-tests.patch diff --git a/0001-Skip-failing-tests.patch b/0001-Skip-failing-tests.patch new file mode 100644 index 0000000..89ba58e --- /dev/null +++ b/0001-Skip-failing-tests.patch @@ -0,0 +1,68 @@ +diff -ruN emacs-30.1/test/lisp/emacs-lisp/lisp-mnt-tests.el emacs-30.1-mod/test/lisp/emacs-lisp/lisp-mnt-tests.el +--- emacs-30.1/test/lisp/emacs-lisp/lisp-mnt-tests.el 2025-02-18 21:31:36.000000000 +0300 ++++ emacs-30.1-mod/test/lisp/emacs-lisp/lisp-mnt-tests.el 2025-05-25 09:22:08.042761149 +0300 +@@ -31,6 +31,7 @@ + ("Mats Lidell" . "matsl@gnu.org"))))) + + (ert-deftest lm--tests-lm-package-requires () ++ (skip-when (getenv "RPM_BUILD_ROOT")) + (with-temp-buffer + (insert ";; Package-Requires: ((emacs 29.1))") + (should (equal (lm-package-requires) '((emacs 29.1))))) +diff -ruN emacs-30.1/test/lisp/emacs-lisp/package-tests.el emacs-30.1-mod/test/lisp/emacs-lisp/package-tests.el +--- emacs-30.1/test/lisp/emacs-lisp/package-tests.el 2025-02-18 21:31:36.000000000 +0300 ++++ emacs-30.1-mod/test/lisp/emacs-lisp/package-tests.el 2025-05-25 09:20:39.979057989 +0300 +@@ -220,6 +220,7 @@ + + (ert-deftest package-test-desc-from-buffer () + "Parse an elisp buffer to get a `package-desc' object." ++ (skip-when (getenv "RPM_BUILD_ROOT")) + (with-package-test (:basedir (ert-resource-directory) + :file "simple-single-1.3.el") + (let ((pi (package-buffer-info))) +@@ -849,6 +850,7 @@ + + (ert-deftest package-x-test-upload-buffer () + "Test creating an \"archive-contents\" file" ++ (skip-when (getenv "RPM_BUILD_ROOT")) + (with-package-test (:basedir (ert-resource-directory) + :file "simple-single-1.3.el" + :upload-base t) +@@ -882,6 +884,7 @@ + + (ert-deftest package-x-test-upload-new-version () + "Test uploading a new version of a package" ++ (skip-when (getenv "RPM_BUILD_ROOT")) + (with-package-test (:basedir (ert-resource-directory) + :file "simple-single-1.3.el" + :upload-base t) +diff -ruN emacs-30.1/test/lisp/eshell/esh-var-tests.el emacs-30.1-mod/test/lisp/eshell/esh-var-tests.el +--- emacs-30.1/test/lisp/eshell/esh-var-tests.el 2025-02-18 21:31:36.000000000 +0300 ++++ emacs-30.1-mod/test/lisp/eshell/esh-var-tests.el 2025-05-25 17:38:24.332568272 +0300 +@@ -262,6 +262,7 @@ + + (ert-deftest esh-var-test/interp-temp-cmd () + "Interpolate command result redirected to temp file." ++ :tags (if (getenv "RPM_BUILD_ROOT") '(:unstable)) + (eshell-command-result-equal "cat $" "hi")) + + (ert-deftest esh-var-test/interp-concat-lisp () +diff -ruN emacs-30.1/test/lisp/proced-tests.el emacs-30.1-mod/test/lisp/proced-tests.el +--- emacs-30.1/test/lisp/proced-tests.el 2025-02-18 01:38:58.000000000 +0300 ++++ emacs-30.1-mod/test/lisp/proced-tests.el 2025-05-25 15:50:54.429876499 +0300 +@@ -115,6 +115,7 @@ + (proced--assert-emacs-pid-in-buffer)))) + + (ert-deftest proced-refine-test () ++ (skip-when (getenv "RPM_BUILD_ROOT")) + ;; %CPU is not implemented on macOS + (skip-when (eq system-type 'darwin)) + (proced--within-buffer +@@ -130,6 +131,7 @@ + (forward-line))))) + + (ert-deftest proced-refine-with-update-test () ++ :tags (if (getenv "RPM_BUILD_ROOT") '(:unstable)) + (skip-when (eq system-type 'darwin)) + (proced--within-buffer + 'verbose diff --git a/0001-Skip-tree-sitter-tests.patch b/0001-Skip-tree-sitter-tests.patch new file mode 100644 index 0000000..4df0ac6 --- /dev/null +++ b/0001-Skip-tree-sitter-tests.patch @@ -0,0 +1,241 @@ +diff -ruN emacs-30.1/test/src/treesit-tests.el emacs-30.1-mod/test/src/treesit-tests.el +--- emacs-30.1/test/src/treesit-tests.el 2025-02-18 21:31:36.000000000 +0300 ++++ emacs-30.1-mod/test/src/treesit-tests.el 2025-05-25 08:15:40.255043945 +0300 +@@ -62,6 +62,7 @@ + + (ert-deftest treesit-basic-parsing () + "Test basic parsing routines." ++ (skip-when (getenv "RPM_BUILD_ROOT")) + (skip-unless (treesit-language-available-p 'json)) + (with-temp-buffer + (let ((parser (treesit-parser-create 'json))) +@@ -89,6 +90,7 @@ + + (ert-deftest treesit-node-api () + "Tests for node API." ++ (skip-when (getenv "RPM_BUILD_ROOT")) + (skip-unless (treesit-language-available-p 'json)) + (with-temp-buffer + (let (parser root-node doc-node object-node pair-node) +@@ -190,6 +192,7 @@ + + (ert-deftest treesit-indirect-buffer () + "Tests for indirect buffers." ++ (skip-when (getenv "RPM_BUILD_ROOT")) + (skip-unless (treesit-language-available-p 'json)) + (let ((base (get-buffer-create "*treesit test*")) + parser indirect) +@@ -226,6 +229,7 @@ + + (ert-deftest treesit-search-subtree () + "Test `treesit-search-subtree'." ++ (skip-when (getenv "RPM_BUILD_ROOT")) + (skip-unless (treesit-language-available-p 'json)) + (with-temp-buffer + (let (parser root array) +@@ -269,6 +273,7 @@ + (defmacro treesit--ert-search-setup (&rest body) + "Setup macro used by `treesit-search-forward' and friends. + BODY is the test body." ++ (skip-when (getenv "RPM_BUILD_ROOT")) + (declare (debug (&rest form))) + `(with-temp-buffer + (let (parser root array) +@@ -282,6 +287,7 @@ + + (ert-deftest treesit-search-forward () + "Test `treesit-search-forward'." ++ (skip-when (getenv "RPM_BUILD_ROOT")) + (skip-unless (treesit-language-available-p 'json)) + (treesit--ert-search-setup + (cl-loop for cursor = (treesit-node-child array 0) +@@ -299,6 +305,7 @@ + + (ert-deftest treesit-search-forward-named-only () + "Test `treesit-search-forward'." ++ (skip-when (getenv "RPM_BUILD_ROOT")) + (skip-unless (treesit-language-available-p 'json)) + (treesit--ert-search-setup + (cl-loop for cursor = (treesit-node-child +@@ -314,6 +321,7 @@ + + (ert-deftest treesit-search-backward () + "Test `treesit-search-forward'." ++ (skip-when (getenv "RPM_BUILD_ROOT")) + (skip-unless (treesit-language-available-p 'json)) + (treesit--ert-search-setup + (cl-loop for cursor = (treesit-node-child array -1) +@@ -332,6 +340,7 @@ + + (ert-deftest treesit-search-backward-named-only () + "Test `treesit-search-forward'." ++ (skip-when (getenv "RPM_BUILD_ROOT")) + (skip-unless (treesit-language-available-p 'json)) + (treesit--ert-search-setup + (cl-loop for cursor = (treesit-node-child +@@ -347,6 +356,7 @@ + + (ert-deftest treesit-search-forward-predicate () + "Test various form of supported predicates in search functions." ++ (skip-when (getenv "RPM_BUILD_ROOT")) + (skip-unless (treesit-language-available-p 'json)) + (treesit--ert-search-setup + ;; The following tests are adapted from `treesit-search-forward'. +@@ -388,6 +398,7 @@ + + (ert-deftest treesit-search-forward-predicate-invalid-predicate () + "Test tree-sitter's ability to detect invalid predicates." ++ (skip-when (getenv "RPM_BUILD_ROOT")) + (skip-unless (treesit-language-available-p 'json)) + (treesit--ert-search-setup + (dolist (pred '( 1 (not 1) (not "2" "3") (or) (or 1) 'a)) +@@ -400,6 +411,7 @@ + + (ert-deftest treesit-cursor-helper-with-missing-node () + "Test treesit_cursor_helper with a missing node." ++ (skip-when (getenv "RPM_BUILD_ROOT")) + (skip-unless (treesit-language-available-p 'json)) + (treesit--ert-search-setup + (delete-char -1) +@@ -416,6 +428,7 @@ + + (ert-deftest treesit-query-api () + "Tests for query API." ++ (skip-when (getenv "RPM_BUILD_ROOT")) + (skip-unless (treesit-language-available-p 'json)) + (with-temp-buffer + (let (parser root-node) +@@ -481,6 +494,7 @@ + + (ert-deftest treesit-narrow () + "Tests if narrowing works." ++ (skip-when (getenv "RPM_BUILD_ROOT")) + (skip-unless (treesit-language-available-p 'json)) + (with-temp-buffer + (let (parser) +@@ -538,6 +552,7 @@ + edits like this don't produce assertion errors. (I inserted a + bunch of assertions that checks e.g. visible_beg <= + visible_end.)" ++ (skip-when (getenv "RPM_BUILD_ROOT")) + (skip-unless (treesit-language-available-p 'json)) + (with-temp-buffer + (let (parser) +@@ -619,6 +634,7 @@ + + (ert-deftest treesit-range () + "Tests if range works." ++ (skip-when (getenv "RPM_BUILD_ROOT")) + (skip-unless (treesit-language-available-p 'json)) + (with-temp-buffer + (let (parser) +@@ -672,6 +688,7 @@ + + (ert-deftest treesit-range-offset () + "Tests if range offsets work." ++ (skip-when (getenv "RPM_BUILD_ROOT")) + (skip-unless (treesit-language-available-p 'javascript)) + (with-temp-buffer + (let ((query '(((call_expression (identifier) @_html_template_fn +@@ -686,11 +703,13 @@ + + (ert-deftest treesit-range-merge () + "Test merging ranges." ++ (skip-when (getenv "RPM_BUILD_ROOT")) + (should (equal (treesit--merge-ranges '((1 . 1) (3 . 483)) nil 1 488) + nil))) + + (ert-deftest treesit-range-fixup-after-edit () + "Tests if Emacs can fix OOB ranges after deleting text or narrowing." ++ (skip-when (getenv "RPM_BUILD_ROOT")) + (skip-unless (treesit-language-available-p 'json)) + (with-temp-buffer + (let ((parser (treesit-parser-create 'json))) +@@ -752,6 +771,7 @@ + + (ert-deftest treesit-multi-lang () + "Tests if parsing multiple language works." ++ (skip-when (getenv "RPM_BUILD_ROOT")) + (skip-unless (and (treesit-language-available-p 'html) + (treesit-language-available-p 'css) + (treesit-language-available-p 'javascript))) +@@ -790,6 +810,7 @@ + + (ert-deftest treesit-parser-supplemental () + "Supplemental node functions." ++ (skip-when (getenv "RPM_BUILD_ROOT")) + (skip-unless (treesit-language-available-p 'json)) + ;; `treesit-parse-string'. + (should (equal (treesit-node-string +@@ -809,6 +830,7 @@ + + (ert-deftest treesit-node-supplemental () + "Supplemental node functions." ++ (skip-when (getenv "RPM_BUILD_ROOT")) + (skip-unless (treesit-language-available-p 'json)) + (let (parser root-node doc-node) + (progn +@@ -859,6 +881,7 @@ + + (ert-deftest treesit-node-at () + "Test `treesit-node-at'." ++ (skip-when (getenv "RPM_BUILD_ROOT")) + (skip-unless (treesit-language-available-p 'json)) + (let (parser) + (progn +@@ -889,6 +912,7 @@ + + (ert-deftest treesit-node-check () + "Test `treesit-node-check'." ++ (skip-when (getenv "RPM_BUILD_ROOT")) + (skip-unless (treesit-language-available-p 'json)) + (let (parser root-node array-node comment-node) + (progn +@@ -1184,6 +1208,7 @@ + + (ert-deftest treesit-defun-navigation-nested-2 () + "Test defun navigation using `js-ts-mode'." ++ (skip-when (getenv "RPM_BUILD_ROOT")) + (skip-unless (treesit-language-available-p 'javascript)) + ;; Nested defun navigation + (require 'js) +@@ -1195,6 +1220,7 @@ + + (ert-deftest treesit-defun-navigation-nested-3 () + "Test defun navigation using `bash-ts-mode'." ++ (skip-when (getenv "RPM_BUILD_ROOT")) + (skip-unless (treesit-language-available-p 'bash)) + ;; Nested defun navigation + (treesit--ert-test-defun-navigation +@@ -1208,6 +1234,7 @@ + (ert-deftest treesit-defun-navigation-nested-4 () + "Test defun navigation using Elixir. + This tests bug#60355." ++ (skip-when (getenv "RPM_BUILD_ROOT")) + (skip-unless (treesit-language-available-p 'elixir)) + ;; Nested defun navigation + (let ((pred (lambda (node) +@@ -1224,6 +1251,7 @@ + + (ert-deftest treesit-defun-navigation-top-level () + "Test top-level only defun navigation." ++ (skip-when (getenv "RPM_BUILD_ROOT")) + (skip-unless (treesit-language-available-p 'python)) + ;; Nested defun navigation + (require 'python) +@@ -1235,6 +1263,7 @@ + + (ert-deftest treesit-search-subtree-forward-1 () + "Test search subtree forward." ++ (skip-when (getenv "RPM_BUILD_ROOT")) + (skip-unless (treesit-language-available-p 'python)) + (require 'python) + (python-ts-mode) +@@ -1252,6 +1281,7 @@ + + (ert-deftest treesit-search-subtree-backward-1 () + "Test search subtree with backward=t." ++ (skip-when (getenv "RPM_BUILD_ROOT")) + (skip-unless (treesit-language-available-p 'python)) + (require 'python) + (python-ts-mode) diff --git a/emacs-pgtk-on-x-error-message.patch b/emacs-pgtk-on-x-error-message.patch index cfc7c3d..673fd0f 100644 --- a/emacs-pgtk-on-x-error-message.patch +++ b/emacs-pgtk-on-x-error-message.patch @@ -1,26 +1,13 @@ -From eaaf4883aee50974eeb03e529a29585f8ddc1d9d Mon Sep 17 00:00:00 2001 -From: Bhavin Gandhi -Date: Wed, 31 May 2023 22:44:54 +0530 -Subject: [PATCH] Add package names to PGTK on X error message - ---- - src/pgtkterm.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/src/pgtkterm.c b/src/pgtkterm.c -index c00e13550bd..ce51bff5947 100644 ---- a/src/pgtkterm.c -+++ b/src/pgtkterm.c -@@ -6680,7 +6680,8 @@ pgtk_display_x_warning (GdkDisplay *display) - " System. That configuration is unsupported and" - " will lead to sporadic crashes during transfer of" - " large selection data. It will also lead to" -- " various problems with keyboard input."); -+ " various problems with keyboard input." -+ "\nInstall emacs-gtk+x11 or emacs-lucid package."); +diff -ruN emacs-30.1/src/pgtkterm.c emacs-30.1-mod3/src/pgtkterm.c +--- emacs-30.1/src/pgtkterm.c 2025-02-18 21:31:36.000000000 +0300 ++++ emacs-30.1-mod3/src/pgtkterm.c 2025-05-25 19:12:51.952225248 +0300 +@@ -7000,7 +7000,8 @@ + " System. That configuration is unsupported and\n" + " will lead to sporadic crashes during transfer of\n" + " large selection data. It will also lead to\n" +- " various problems with keyboard input.\n"); ++ " various problems with keyboard input.\n" ++ " Install emacs-gtk+x11 or emacs-lucid package.\n"); gtk_label_set_line_wrap (GTK_LABEL (label), TRUE); gtk_container_add (GTK_CONTAINER (content_area), label); gtk_widget_show (label); --- -2.40.1 - diff --git a/emacs-system-crypto-policies.patch b/emacs-system-crypto-policies.patch index 2f2435c..8a8b975 100644 --- a/emacs-system-crypto-policies.patch +++ b/emacs-system-crypto-policies.patch @@ -1,11 +1,12 @@ ---- a/src/gnutls.c 2016-01-24 10:29:58.000000000 +0100 -+++ b/src/gnutls.c 2016-02-02 09:32:28.477274274 +0100 -@@ -1557,7 +1557,7 @@ +diff -ruN emacs-30.1/src/gnutls.c emacs-30.1-mod2/src/gnutls.c +--- emacs-30.1/src/gnutls.c 2025-02-18 21:31:36.000000000 +0300 ++++ emacs-30.1-mod2/src/gnutls.c 2025-05-25 18:56:46.143142320 +0300 +@@ -1974,7 +1974,7 @@ gnutls_certificate_credentials_t x509_cred = NULL; gnutls_anon_client_credentials_t anon_cred = NULL; Lisp_Object global_init; - char const *priority_string_ptr = "NORMAL"; /* default priority string. */ + char const *priority_string_ptr = "@SYSTEM"; /* default priority string. */ char *c_hostname; + const char *c_pass; - /* Placeholders for the property list elements. */ diff --git a/emacs.spec b/emacs.spec index c9fe420..ac3dc50 100644 --- a/emacs.spec +++ b/emacs.spec @@ -1,14 +1,21 @@ # This file is encoded in UTF-8. -*- coding: utf-8 -*- %bcond gpm %[!(0%{?rhel} >= 10)] +%ifnarch %{ix86} %bcond_without gtkx11 %bcond_without lucid %bcond_without nw +%else +# Builds fail on i686 +%bcond_with gtkx11 +%bcond_with lucid +%bcond_with nw +%endif Summary: GNU Emacs text editor Name: emacs Epoch: 1 -Version: 29.4 +Version: 30.1 Release: %autorelease License: GPL-3.0-or-later AND CC0-1.0 URL: https://www.gnu.org/software/emacs/ @@ -41,25 +48,25 @@ Patch: emacs-desktop.patch Patch: emacs-pgtk-on-x-error-message.patch # Skip failing tests (patches taken from Emacs Git) -Patch: 0001-Fix-failing-help-fns-test.patch -Patch: 0001-Fix-flymake-tests-with-GCC-14.patch - +#Patch: 0001-Fix-failing-help-fns-test.patch +#Patch: 0001-Fix-flymake-tests-with-GCC-14.patch +Patch: 0001-Skip-failing-tests.patch # Fix intermittently failing test (https://debbugs.gnu.org/cgi/bugreport.cgi?bug=72073) -Patch: 0001-Fix-wdired-test-unfinished-edit-01-when-temp-dirname.patch +#Patch: 0001-Fix-wdired-test-unfinished-edit-01-when-temp-dirname.patch # Fix intermittently failing test (https://debbugs.gnu.org/cgi/bugreport.cgi?bug=72120) -Patch: 0001-Fix-intermittent-failure-of-dired-test-bug27243-02.patch -Patch: 0004-Try-harder-to-stabalise-dired-test-bug27243-02.patch +#Patch: 0001-Fix-intermittent-failure-of-dired-test-bug27243-02.patch +#Patch: 0004-Try-harder-to-stabalise-dired-test-bug27243-02.patch # Skip intermittently failing tests -Patch: 0002-Test-eshell-test-subcommand-reset-in-pipeline-is-uns.patch +#Patch: 0002-Test-eshell-test-subcommand-reset-in-pipeline-is-uns.patch Patch: 0003-Mark-multiple-mml-sec-tests-as-unstable-when-built-i.patch # Workaround for https://bugzilla.redhat.com/show_bug.cgi?id=2276822 # (https://debbugs.gnu.org/cgi/bugreport.cgi?bug=63555). If GDK ever # gets any new backends, this patch may need extending. -Patch: 0001-Apply-display-kluge-for-PGTK-too.patch -Patch: 0002-Fall-back-to-the-terminal-from-pure-GTK-when-no-disp.patch +#Patch: 0001-Apply-display-kluge-for-PGTK-too.patch +#Patch: 0002-Fall-back-to-the-terminal-from-pure-GTK-when-no-disp.patch BuildRequires: alsa-lib-devel BuildRequires: atk-devel @@ -96,6 +103,14 @@ BuildRequires: libxml2-devel BuildRequires: m17n-lib-devel BuildRequires: make BuildRequires: ncurses-devel +BuildRequires: rust-tree-sitter-bash-devel +BuildRequires: rust-tree-sitter-cli-devel +BuildRequires: rust-tree-sitter-css-devel +BuildRequires: rust-tree-sitter-elixir-devel +BuildRequires: rust-tree-sitter-html-devel +BuildRequires: rust-tree-sitter-javascript-devel +BuildRequires: rust-tree-sitter-json-devel +BuildRequires: rust-tree-sitter-python-devel BuildRequires: sqlite-devel BuildRequires: systemd-devel BuildRequires: texinfo @@ -177,7 +192,6 @@ This package provides an emacs-gtk+x11 binary with support for the X Window System, using the GTK toolkit. %endif - %if %{with lucid} %package lucid Summary: GNU Emacs text editor with Lucid toolkit X support @@ -767,6 +781,7 @@ fi %{_datadir}/icons/hicolor/scalable/apps/emacs.svg %{_datadir}/icons/hicolor/scalable/apps/emacs.ico %{_datadir}/icons/hicolor/scalable/mimetypes/emacs-document.svg +%{_infodir}/elisp_type_hierarchy.* %{_mandir}/man1/ebrowse.1* %{_mandir}/man1/emacs.1* %{_mandir}/man1/etags.emacs.1* From eb7d7857480ad0058fcd4c3f5a5e68bce595efc7 Mon Sep 17 00:00:00 2001 From: Benson Muite Date: Tue, 27 May 2025 21:48:25 +0300 Subject: [PATCH 05/12] Update to 30.1 in F41 --- 0001-Base-puresize.patch | 16 ++++++++++++++++ emacs.spec | 29 +++++++++-------------------- 2 files changed, 25 insertions(+), 20 deletions(-) create mode 100644 0001-Base-puresize.patch diff --git a/0001-Base-puresize.patch b/0001-Base-puresize.patch new file mode 100644 index 0000000..664ffcc --- /dev/null +++ b/0001-Base-puresize.patch @@ -0,0 +1,16 @@ +diff -ruN emacs-30.1/src/puresize.h emacs-30.1-mod4/src/puresize.h +--- emacs-30.1/src/puresize.h 2025-02-18 21:31:36.000000000 +0300 ++++ emacs-30.1-mod4/src/puresize.h 2025-05-27 14:17:15.067370990 +0300 +@@ -47,8 +47,12 @@ + #endif + + #ifndef BASE_PURESIZE ++#if defined __i386__ ++#define BASE_PURESIZE (4500000 + SYSTEM_PURESIZE_EXTRA + SITELOAD_PURESIZE_EXTRA) ++#else + #define BASE_PURESIZE (3400000 + SYSTEM_PURESIZE_EXTRA + SITELOAD_PURESIZE_EXTRA) + #endif ++#endif + + /* Increase BASE_PURESIZE by a ratio depending on the machine's word size. */ + #ifndef PURESIZE_RATIO diff --git a/emacs.spec b/emacs.spec index ac3dc50..8dad6ee 100644 --- a/emacs.spec +++ b/emacs.spec @@ -1,16 +1,9 @@ # This file is encoded in UTF-8. -*- coding: utf-8 -*- %bcond gpm %[!(0%{?rhel} >= 10)] -%ifnarch %{ix86} %bcond_without gtkx11 %bcond_without lucid %bcond_without nw -%else -# Builds fail on i686 -%bcond_with gtkx11 -%bcond_with lucid -%bcond_with nw -%endif Summary: GNU Emacs text editor Name: emacs @@ -47,26 +40,22 @@ Patch: emacs-libdir-vs-systemd.patch Patch: emacs-desktop.patch Patch: emacs-pgtk-on-x-error-message.patch -# Skip failing tests (patches taken from Emacs Git) -#Patch: 0001-Fix-failing-help-fns-test.patch -#Patch: 0001-Fix-flymake-tests-with-GCC-14.patch -Patch: 0001-Skip-failing-tests.patch -# Fix intermittently failing test (https://debbugs.gnu.org/cgi/bugreport.cgi?bug=72073) -#Patch: 0001-Fix-wdired-test-unfinished-edit-01-when-temp-dirname.patch +# Increase BASE_PURESIZE, can likely be removed in next release +# as no longer on development branch +# https://lists.gnu.org/archive/html/emacs-devel/2025-02/txtMuC0fL80Sf.txt +# https://lists.gnu.org/archive/html/emacs-devel/2025-02/msg01027.html +Patch: 0001-Base-puresize.patch -# Fix intermittently failing test (https://debbugs.gnu.org/cgi/bugreport.cgi?bug=72120) -#Patch: 0001-Fix-intermittent-failure-of-dired-test-bug27243-02.patch -#Patch: 0004-Try-harder-to-stabalise-dired-test-bug27243-02.patch +# Skip failing tests +Patch: 0001-Skip-failing-tests.patch # Skip intermittently failing tests -#Patch: 0002-Test-eshell-test-subcommand-reset-in-pipeline-is-uns.patch -Patch: 0003-Mark-multiple-mml-sec-tests-as-unstable-when-built-i.patch +Patch: 0003-Mark-multiple-mml-sec-tests-as-unstable-when-built-i.patch # Workaround for https://bugzilla.redhat.com/show_bug.cgi?id=2276822 # (https://debbugs.gnu.org/cgi/bugreport.cgi?bug=63555). If GDK ever # gets any new backends, this patch may need extending. -#Patch: 0001-Apply-display-kluge-for-PGTK-too.patch -#Patch: 0002-Fall-back-to-the-terminal-from-pure-GTK-when-no-disp.patch +Patch: 0002-Fall-back-to-the-terminal-from-pure-GTK-when-no-disp.patch BuildRequires: alsa-lib-devel BuildRequires: atk-devel From e0945d124809f02cd7893b6ef18408cf7b0cb0a5 Mon Sep 17 00:00:00 2001 From: Benson Muite Date: Tue, 27 May 2025 22:01:35 +0300 Subject: [PATCH 06/12] Add sources for 30.1 --- .gitignore | 2 ++ sources | 4 ++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 71d5258..29831a7 100644 --- a/.gitignore +++ b/.gitignore @@ -42,3 +42,5 @@ /emacs-29.4.tar.xz.sig /php-mode.el /results_emacs/ +/emacs-30.1.tar.xz +/emacs-30.1.tar.xz.sig diff --git a/sources b/sources index e7ca0a5..11bd85d 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (emacs-29.4.tar.xz) = 66b38081cb01d2c46ff7beefb45986cc225b4c922c30712ad0d456c6cae5507176ed99418c8f26948c5375c8afde4e4b2507d23ed997dbb5392d12150a121d80 -SHA512 (emacs-29.4.tar.xz.sig) = 6c20269c260fb7f6d8b9b4582be25179a5adaaa1b9d94e68d55890f7b0b211dfd396c7005694b0154471ab3769f12e5067b8f4ec21720755d9087d89a8c722f6 +SHA512 (emacs-30.1.tar.xz) = 511a6a1d2a170a207913692e1349344b70a0b5202b8d1ae27dc7256e589c77ae9e35da16fc2a098bf9f1b8d0f60233f452ed8d6744b70b907f3484c42f2d7d7f +SHA512 (emacs-30.1.tar.xz.sig) = 59ef724ff765fb76b9b9cfb8bd3853e001e9e6cefa65e2c49822238c11d619f916284f5b118cefff1bcd6c70f4ebcc1e420754cc225002164b56ced3caa954bd From fb8331f31cea064d002a88d4204aac9e7c6d8093 Mon Sep 17 00:00:00 2001 From: Benson Muite Date: Wed, 28 May 2025 02:29:39 +0300 Subject: [PATCH 07/12] Skip additional failing test --- 0001-Skip-failing-tests.patch | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/0001-Skip-failing-tests.patch b/0001-Skip-failing-tests.patch index 89ba58e..f20a686 100644 --- a/0001-Skip-failing-tests.patch +++ b/0001-Skip-failing-tests.patch @@ -47,6 +47,17 @@ diff -ruN emacs-30.1/test/lisp/eshell/esh-var-tests.el emacs-30.1-mod/test/lisp/ (eshell-command-result-equal "cat $" "hi")) (ert-deftest esh-var-test/interp-concat-lisp () +diff -ruN emacs-30.1/test/lisp/files-tests.el emacs-30.1-mod/test/lisp/files-tests.el +--- emacs-30.1/test/lisp/files-tests.el 2025-02-18 21:31:36.000000000 +0300 ++++ emacs-30.1-mod/test/lisp/files-tests.el 2025-05-28 02:20:54.969542636 +0300 +@@ -169,6 +169,7 @@ + (ert-deftest files-tests-safe-local-variable-directories () + ;; safe-local-variable-directories should be risky, + ;; so use it as an arbitrary risky variable. ++ + :tags (if (getenv "RPM_BUILD_ROOT") '(:unstable)) + (let ((test-alist '((safe-local-variable-directories . "some_val"))) + (fakedir default-directory) + (enable-local-eval t)) diff -ruN emacs-30.1/test/lisp/proced-tests.el emacs-30.1-mod/test/lisp/proced-tests.el --- emacs-30.1/test/lisp/proced-tests.el 2025-02-18 01:38:58.000000000 +0300 +++ emacs-30.1-mod/test/lisp/proced-tests.el 2025-05-25 15:50:54.429876499 +0300 From 8ea9f9361314b72ed0a525be900a6a0d1116fe8d Mon Sep 17 00:00:00 2001 From: Benson Muite Date: Wed, 28 May 2025 03:33:58 +0300 Subject: [PATCH 08/12] Typo fix in test patch --- 0001-Skip-failing-tests.patch | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/0001-Skip-failing-tests.patch b/0001-Skip-failing-tests.patch index f20a686..a99c33c 100644 --- a/0001-Skip-failing-tests.patch +++ b/0001-Skip-failing-tests.patch @@ -54,7 +54,7 @@ diff -ruN emacs-30.1/test/lisp/files-tests.el emacs-30.1-mod/test/lisp/files-tes (ert-deftest files-tests-safe-local-variable-directories () ;; safe-local-variable-directories should be risky, ;; so use it as an arbitrary risky variable. -+ + :tags (if (getenv "RPM_BUILD_ROOT") '(:unstable)) ++ :tags (if (getenv "RPM_BUILD_ROOT") '(:unstable)) (let ((test-alist '((safe-local-variable-directories . "some_val"))) (fakedir default-directory) (enable-local-eval t)) From 1877afcac9b285549de538bef7cb4671368895ca Mon Sep 17 00:00:00 2001 From: Peter Oliver Date: Mon, 16 Jun 2025 11:59:55 +0100 Subject: [PATCH 09/12] Package emacsclient should conflict with the last F40 emacs-common. --- emacs.spec | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/emacs.spec b/emacs.spec index 8dad6ee..53c5a16 100644 --- a/emacs.spec +++ b/emacs.spec @@ -216,9 +216,7 @@ support, for running on a terminal only. %package -n emacsclient Summary: Remotely control GNU Emacs - -# This is a moving target whilst Fedora 40 is still receivng updates: -Conflicts: emacs-common < %{epoch}:%{version}-%{release} +Conflicts: emacs-common < 1:29.4-12 %description -n emacsclient %desc From 7bb9e151e8110fe05891c34a728d70c87cce3ed0 Mon Sep 17 00:00:00 2001 From: Peter Oliver Date: Fri, 15 Aug 2025 11:12:37 +0100 Subject: [PATCH 10/12] Update to version 30.2, fixing rhbz#2388544 --- .gitignore | 2 ++ emacs.spec | 2 +- sources | 4 ++-- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 29831a7..4486f32 100644 --- a/.gitignore +++ b/.gitignore @@ -44,3 +44,5 @@ /results_emacs/ /emacs-30.1.tar.xz /emacs-30.1.tar.xz.sig +/emacs-30.2.tar.xz +/emacs-30.2.tar.xz.sig diff --git a/emacs.spec b/emacs.spec index 53c5a16..e04279e 100644 --- a/emacs.spec +++ b/emacs.spec @@ -8,7 +8,7 @@ Summary: GNU Emacs text editor Name: emacs Epoch: 1 -Version: 30.1 +Version: 30.2 Release: %autorelease License: GPL-3.0-or-later AND CC0-1.0 URL: https://www.gnu.org/software/emacs/ diff --git a/sources b/sources index 11bd85d..37f14cc 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (emacs-30.1.tar.xz) = 511a6a1d2a170a207913692e1349344b70a0b5202b8d1ae27dc7256e589c77ae9e35da16fc2a098bf9f1b8d0f60233f452ed8d6744b70b907f3484c42f2d7d7f -SHA512 (emacs-30.1.tar.xz.sig) = 59ef724ff765fb76b9b9cfb8bd3853e001e9e6cefa65e2c49822238c11d619f916284f5b118cefff1bcd6c70f4ebcc1e420754cc225002164b56ced3caa954bd +SHA512 (emacs-30.2.tar.xz) = 313432d11e95c74f8cd35c5b1da442e6223f5d40f9173c55883c0339ecbfb97a0bedf79177ef8902afd3e33c078a233777bed01f5caffa1e7524f17d58bfc9a2 +SHA512 (emacs-30.2.tar.xz.sig) = ab5b5d0624b37ac662cf9914e8807fc37ee273c107f1a19ca75a527b6b9a85ce35f9436d03d8a988876cce7e7bebcc6c4a1251b0ceb08785b56bf42743f246e1 From 57ec29b4669a15a130d9109d98fdc4b3dd372152 Mon Sep 17 00:00:00 2001 From: Peter Oliver Date: Tue, 25 Feb 2025 17:25:54 +0000 Subject: [PATCH 11/12] Abandon checks There are currently too many intermittent failures to make them useful. --- 0001-Fix-failing-help-fns-test.patch | 30 --- 0001-Fix-flymake-tests-with-GCC-14.patch | 28 -- ...nt-failure-of-dired-test-bug27243-02.patch | 30 --- ...unfinished-edit-01-when-temp-dirname.patch | 29 --- 0001-Skip-failing-tests.patch | 79 ------ 0001-Skip-tree-sitter-tests.patch | 241 ------------------ ...-subcommand-reset-in-pipeline-is-uns.patch | 25 -- ...l-sec-tests-as-unstable-when-built-i.patch | 84 ------ ...-to-stabalise-dired-test-bug27243-02.patch | 38 --- emacs.spec | 8 +- 10 files changed, 2 insertions(+), 590 deletions(-) delete mode 100644 0001-Fix-failing-help-fns-test.patch delete mode 100644 0001-Fix-flymake-tests-with-GCC-14.patch delete mode 100644 0001-Fix-intermittent-failure-of-dired-test-bug27243-02.patch delete mode 100644 0001-Fix-wdired-test-unfinished-edit-01-when-temp-dirname.patch delete mode 100644 0001-Skip-failing-tests.patch delete mode 100644 0001-Skip-tree-sitter-tests.patch delete mode 100644 0002-Test-eshell-test-subcommand-reset-in-pipeline-is-uns.patch delete mode 100644 0003-Mark-multiple-mml-sec-tests-as-unstable-when-built-i.patch delete mode 100644 0004-Try-harder-to-stabalise-dired-test-bug27243-02.patch diff --git a/0001-Fix-failing-help-fns-test.patch b/0001-Fix-failing-help-fns-test.patch deleted file mode 100644 index c24d7f5..0000000 --- a/0001-Fix-failing-help-fns-test.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 75ca15f2a3146b17fde5e2a50ad9102c6108ba7f Mon Sep 17 00:00:00 2001 -From: Stefan Kangas -Date: Sun, 23 Jun 2024 20:54:22 +0200 -Subject: [PATCH] Fix failing help-fns-test - -* test/lisp/help-fns-tests.el (help-fns-test-lisp-defun): -Fix failing test. ---- - test/lisp/help-fns-tests.el | 5 ++--- - 1 file changed, 2 insertions(+), 3 deletions(-) - -diff --git a/test/lisp/help-fns-tests.el b/test/lisp/help-fns-tests.el -index c3e8ca49723..fabf1959658 100644 ---- a/test/lisp/help-fns-tests.el -+++ b/test/lisp/help-fns-tests.el -@@ -63,9 +63,8 @@ help-fns-test-lisp-macro - (should (string-match regexp result)))) - - (ert-deftest help-fns-test-lisp-defun () -- (let ((regexp (if (featurep 'native-compile) -- "a native-compiled Lisp function in .+subr\\.el" -- "a byte-compiled Lisp function in .+subr\\.el")) -+ (let ((regexp (rx "a " (or "byte-compiled" "native-compiled") -+ " Lisp function in " nonl "subr.el" nonl)) - (result (help-fns-tests--describe-function 'last))) - (should (string-match regexp result)))) - --- -2.45.2 - diff --git a/0001-Fix-flymake-tests-with-GCC-14.patch b/0001-Fix-flymake-tests-with-GCC-14.patch deleted file mode 100644 index 484561d..0000000 --- a/0001-Fix-flymake-tests-with-GCC-14.patch +++ /dev/null @@ -1,28 +0,0 @@ -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-Fix-intermittent-failure-of-dired-test-bug27243-02.patch b/0001-Fix-intermittent-failure-of-dired-test-bug27243-02.patch deleted file mode 100644 index f3e821f..0000000 --- a/0001-Fix-intermittent-failure-of-dired-test-bug27243-02.patch +++ /dev/null @@ -1,30 +0,0 @@ -From c86645dde30fbd54ae0f187e4428a09ad75e0ba8 Mon Sep 17 00:00:00 2001 -From: Peter Oliver -Date: Mon, 15 Jul 2024 12:03:47 +0100 -Subject: [PATCH] Fix intermittent failure of dired-test-bug27243-02 - -* test/lisp/dired-tests.el (dired-test-bug27243-02): Exclude free disk -space from dired listing in this test, in case it changes while it's -running and confuses the result. ---- - test/lisp/dired-tests.el | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -diff --git a/test/lisp/dired-tests.el b/test/lisp/dired-tests.el -index 2589281e5e1..ea47043dfc5 100644 ---- a/test/lisp/dired-tests.el -+++ b/test/lisp/dired-tests.el -@@ -189,7 +189,9 @@ dired-test-bug27243-01 - (ert-deftest dired-test-bug27243-02 () - "Test for https://debbugs.gnu.org/cgi/bugreport.cgi?bug=27243#28 ." - (ert-with-temp-directory test-dir -- (let ((dired-auto-revert-buffer t) buffers) -+ (let ((dired-auto-revert-buffer t) -+ (dired-free-space nil) -+ buffers) - ;; On MS-Windows, get rid of 8+3 short names in test-dir, if the - ;; corresponding long file names exist, otherwise such names trip - ;; string comparisons below. --- -2.45.2 - diff --git a/0001-Fix-wdired-test-unfinished-edit-01-when-temp-dirname.patch b/0001-Fix-wdired-test-unfinished-edit-01-when-temp-dirname.patch deleted file mode 100644 index 370d314..0000000 --- a/0001-Fix-wdired-test-unfinished-edit-01-when-temp-dirname.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 90734f5a3ba9998886e0b03382878a2fb514d015 Mon Sep 17 00:00:00 2001 -From: Peter Oliver -Date: Fri, 12 Jul 2024 10:52:23 +0100 -Subject: [PATCH] Fix wdired-test-unfinished-edit-01 when temp dirname contains - "foo" - -* test/lisp/wdired-tests.el (wdired-test-unfinished-edit-01): Don't -modify the random directory name if, by chance, it happens to contain -the substring "foo". ---- - test/lisp/wdired-tests.el | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/test/lisp/wdired-tests.el b/test/lisp/wdired-tests.el -index f7bff743058..f6d2194e998 100644 ---- a/test/lisp/wdired-tests.el -+++ b/test/lisp/wdired-tests.el -@@ -114,7 +114,7 @@ wdired-test-unfinished-edit-01 - (setq test-dir (file-truename test-dir)) - (let* ((test-file (concat (file-name-as-directory test-dir) "foo.c")) - (replace "bar") -- (new-file (string-replace "foo" replace test-file))) -+ (new-file (string-replace "/foo" (concat "/" replace) test-file))) - (write-region "" nil test-file nil 'silent) - (let ((buf (find-file-noselect test-dir))) - (unwind-protect --- -2.45.2 - diff --git a/0001-Skip-failing-tests.patch b/0001-Skip-failing-tests.patch deleted file mode 100644 index a99c33c..0000000 --- a/0001-Skip-failing-tests.patch +++ /dev/null @@ -1,79 +0,0 @@ -diff -ruN emacs-30.1/test/lisp/emacs-lisp/lisp-mnt-tests.el emacs-30.1-mod/test/lisp/emacs-lisp/lisp-mnt-tests.el ---- emacs-30.1/test/lisp/emacs-lisp/lisp-mnt-tests.el 2025-02-18 21:31:36.000000000 +0300 -+++ emacs-30.1-mod/test/lisp/emacs-lisp/lisp-mnt-tests.el 2025-05-25 09:22:08.042761149 +0300 -@@ -31,6 +31,7 @@ - ("Mats Lidell" . "matsl@gnu.org"))))) - - (ert-deftest lm--tests-lm-package-requires () -+ (skip-when (getenv "RPM_BUILD_ROOT")) - (with-temp-buffer - (insert ";; Package-Requires: ((emacs 29.1))") - (should (equal (lm-package-requires) '((emacs 29.1))))) -diff -ruN emacs-30.1/test/lisp/emacs-lisp/package-tests.el emacs-30.1-mod/test/lisp/emacs-lisp/package-tests.el ---- emacs-30.1/test/lisp/emacs-lisp/package-tests.el 2025-02-18 21:31:36.000000000 +0300 -+++ emacs-30.1-mod/test/lisp/emacs-lisp/package-tests.el 2025-05-25 09:20:39.979057989 +0300 -@@ -220,6 +220,7 @@ - - (ert-deftest package-test-desc-from-buffer () - "Parse an elisp buffer to get a `package-desc' object." -+ (skip-when (getenv "RPM_BUILD_ROOT")) - (with-package-test (:basedir (ert-resource-directory) - :file "simple-single-1.3.el") - (let ((pi (package-buffer-info))) -@@ -849,6 +850,7 @@ - - (ert-deftest package-x-test-upload-buffer () - "Test creating an \"archive-contents\" file" -+ (skip-when (getenv "RPM_BUILD_ROOT")) - (with-package-test (:basedir (ert-resource-directory) - :file "simple-single-1.3.el" - :upload-base t) -@@ -882,6 +884,7 @@ - - (ert-deftest package-x-test-upload-new-version () - "Test uploading a new version of a package" -+ (skip-when (getenv "RPM_BUILD_ROOT")) - (with-package-test (:basedir (ert-resource-directory) - :file "simple-single-1.3.el" - :upload-base t) -diff -ruN emacs-30.1/test/lisp/eshell/esh-var-tests.el emacs-30.1-mod/test/lisp/eshell/esh-var-tests.el ---- emacs-30.1/test/lisp/eshell/esh-var-tests.el 2025-02-18 21:31:36.000000000 +0300 -+++ emacs-30.1-mod/test/lisp/eshell/esh-var-tests.el 2025-05-25 17:38:24.332568272 +0300 -@@ -262,6 +262,7 @@ - - (ert-deftest esh-var-test/interp-temp-cmd () - "Interpolate command result redirected to temp file." -+ :tags (if (getenv "RPM_BUILD_ROOT") '(:unstable)) - (eshell-command-result-equal "cat $" "hi")) - - (ert-deftest esh-var-test/interp-concat-lisp () -diff -ruN emacs-30.1/test/lisp/files-tests.el emacs-30.1-mod/test/lisp/files-tests.el ---- emacs-30.1/test/lisp/files-tests.el 2025-02-18 21:31:36.000000000 +0300 -+++ emacs-30.1-mod/test/lisp/files-tests.el 2025-05-28 02:20:54.969542636 +0300 -@@ -169,6 +169,7 @@ - (ert-deftest files-tests-safe-local-variable-directories () - ;; safe-local-variable-directories should be risky, - ;; so use it as an arbitrary risky variable. -+ :tags (if (getenv "RPM_BUILD_ROOT") '(:unstable)) - (let ((test-alist '((safe-local-variable-directories . "some_val"))) - (fakedir default-directory) - (enable-local-eval t)) -diff -ruN emacs-30.1/test/lisp/proced-tests.el emacs-30.1-mod/test/lisp/proced-tests.el ---- emacs-30.1/test/lisp/proced-tests.el 2025-02-18 01:38:58.000000000 +0300 -+++ emacs-30.1-mod/test/lisp/proced-tests.el 2025-05-25 15:50:54.429876499 +0300 -@@ -115,6 +115,7 @@ - (proced--assert-emacs-pid-in-buffer)))) - - (ert-deftest proced-refine-test () -+ (skip-when (getenv "RPM_BUILD_ROOT")) - ;; %CPU is not implemented on macOS - (skip-when (eq system-type 'darwin)) - (proced--within-buffer -@@ -130,6 +131,7 @@ - (forward-line))))) - - (ert-deftest proced-refine-with-update-test () -+ :tags (if (getenv "RPM_BUILD_ROOT") '(:unstable)) - (skip-when (eq system-type 'darwin)) - (proced--within-buffer - 'verbose diff --git a/0001-Skip-tree-sitter-tests.patch b/0001-Skip-tree-sitter-tests.patch deleted file mode 100644 index 4df0ac6..0000000 --- a/0001-Skip-tree-sitter-tests.patch +++ /dev/null @@ -1,241 +0,0 @@ -diff -ruN emacs-30.1/test/src/treesit-tests.el emacs-30.1-mod/test/src/treesit-tests.el ---- emacs-30.1/test/src/treesit-tests.el 2025-02-18 21:31:36.000000000 +0300 -+++ emacs-30.1-mod/test/src/treesit-tests.el 2025-05-25 08:15:40.255043945 +0300 -@@ -62,6 +62,7 @@ - - (ert-deftest treesit-basic-parsing () - "Test basic parsing routines." -+ (skip-when (getenv "RPM_BUILD_ROOT")) - (skip-unless (treesit-language-available-p 'json)) - (with-temp-buffer - (let ((parser (treesit-parser-create 'json))) -@@ -89,6 +90,7 @@ - - (ert-deftest treesit-node-api () - "Tests for node API." -+ (skip-when (getenv "RPM_BUILD_ROOT")) - (skip-unless (treesit-language-available-p 'json)) - (with-temp-buffer - (let (parser root-node doc-node object-node pair-node) -@@ -190,6 +192,7 @@ - - (ert-deftest treesit-indirect-buffer () - "Tests for indirect buffers." -+ (skip-when (getenv "RPM_BUILD_ROOT")) - (skip-unless (treesit-language-available-p 'json)) - (let ((base (get-buffer-create "*treesit test*")) - parser indirect) -@@ -226,6 +229,7 @@ - - (ert-deftest treesit-search-subtree () - "Test `treesit-search-subtree'." -+ (skip-when (getenv "RPM_BUILD_ROOT")) - (skip-unless (treesit-language-available-p 'json)) - (with-temp-buffer - (let (parser root array) -@@ -269,6 +273,7 @@ - (defmacro treesit--ert-search-setup (&rest body) - "Setup macro used by `treesit-search-forward' and friends. - BODY is the test body." -+ (skip-when (getenv "RPM_BUILD_ROOT")) - (declare (debug (&rest form))) - `(with-temp-buffer - (let (parser root array) -@@ -282,6 +287,7 @@ - - (ert-deftest treesit-search-forward () - "Test `treesit-search-forward'." -+ (skip-when (getenv "RPM_BUILD_ROOT")) - (skip-unless (treesit-language-available-p 'json)) - (treesit--ert-search-setup - (cl-loop for cursor = (treesit-node-child array 0) -@@ -299,6 +305,7 @@ - - (ert-deftest treesit-search-forward-named-only () - "Test `treesit-search-forward'." -+ (skip-when (getenv "RPM_BUILD_ROOT")) - (skip-unless (treesit-language-available-p 'json)) - (treesit--ert-search-setup - (cl-loop for cursor = (treesit-node-child -@@ -314,6 +321,7 @@ - - (ert-deftest treesit-search-backward () - "Test `treesit-search-forward'." -+ (skip-when (getenv "RPM_BUILD_ROOT")) - (skip-unless (treesit-language-available-p 'json)) - (treesit--ert-search-setup - (cl-loop for cursor = (treesit-node-child array -1) -@@ -332,6 +340,7 @@ - - (ert-deftest treesit-search-backward-named-only () - "Test `treesit-search-forward'." -+ (skip-when (getenv "RPM_BUILD_ROOT")) - (skip-unless (treesit-language-available-p 'json)) - (treesit--ert-search-setup - (cl-loop for cursor = (treesit-node-child -@@ -347,6 +356,7 @@ - - (ert-deftest treesit-search-forward-predicate () - "Test various form of supported predicates in search functions." -+ (skip-when (getenv "RPM_BUILD_ROOT")) - (skip-unless (treesit-language-available-p 'json)) - (treesit--ert-search-setup - ;; The following tests are adapted from `treesit-search-forward'. -@@ -388,6 +398,7 @@ - - (ert-deftest treesit-search-forward-predicate-invalid-predicate () - "Test tree-sitter's ability to detect invalid predicates." -+ (skip-when (getenv "RPM_BUILD_ROOT")) - (skip-unless (treesit-language-available-p 'json)) - (treesit--ert-search-setup - (dolist (pred '( 1 (not 1) (not "2" "3") (or) (or 1) 'a)) -@@ -400,6 +411,7 @@ - - (ert-deftest treesit-cursor-helper-with-missing-node () - "Test treesit_cursor_helper with a missing node." -+ (skip-when (getenv "RPM_BUILD_ROOT")) - (skip-unless (treesit-language-available-p 'json)) - (treesit--ert-search-setup - (delete-char -1) -@@ -416,6 +428,7 @@ - - (ert-deftest treesit-query-api () - "Tests for query API." -+ (skip-when (getenv "RPM_BUILD_ROOT")) - (skip-unless (treesit-language-available-p 'json)) - (with-temp-buffer - (let (parser root-node) -@@ -481,6 +494,7 @@ - - (ert-deftest treesit-narrow () - "Tests if narrowing works." -+ (skip-when (getenv "RPM_BUILD_ROOT")) - (skip-unless (treesit-language-available-p 'json)) - (with-temp-buffer - (let (parser) -@@ -538,6 +552,7 @@ - edits like this don't produce assertion errors. (I inserted a - bunch of assertions that checks e.g. visible_beg <= - visible_end.)" -+ (skip-when (getenv "RPM_BUILD_ROOT")) - (skip-unless (treesit-language-available-p 'json)) - (with-temp-buffer - (let (parser) -@@ -619,6 +634,7 @@ - - (ert-deftest treesit-range () - "Tests if range works." -+ (skip-when (getenv "RPM_BUILD_ROOT")) - (skip-unless (treesit-language-available-p 'json)) - (with-temp-buffer - (let (parser) -@@ -672,6 +688,7 @@ - - (ert-deftest treesit-range-offset () - "Tests if range offsets work." -+ (skip-when (getenv "RPM_BUILD_ROOT")) - (skip-unless (treesit-language-available-p 'javascript)) - (with-temp-buffer - (let ((query '(((call_expression (identifier) @_html_template_fn -@@ -686,11 +703,13 @@ - - (ert-deftest treesit-range-merge () - "Test merging ranges." -+ (skip-when (getenv "RPM_BUILD_ROOT")) - (should (equal (treesit--merge-ranges '((1 . 1) (3 . 483)) nil 1 488) - nil))) - - (ert-deftest treesit-range-fixup-after-edit () - "Tests if Emacs can fix OOB ranges after deleting text or narrowing." -+ (skip-when (getenv "RPM_BUILD_ROOT")) - (skip-unless (treesit-language-available-p 'json)) - (with-temp-buffer - (let ((parser (treesit-parser-create 'json))) -@@ -752,6 +771,7 @@ - - (ert-deftest treesit-multi-lang () - "Tests if parsing multiple language works." -+ (skip-when (getenv "RPM_BUILD_ROOT")) - (skip-unless (and (treesit-language-available-p 'html) - (treesit-language-available-p 'css) - (treesit-language-available-p 'javascript))) -@@ -790,6 +810,7 @@ - - (ert-deftest treesit-parser-supplemental () - "Supplemental node functions." -+ (skip-when (getenv "RPM_BUILD_ROOT")) - (skip-unless (treesit-language-available-p 'json)) - ;; `treesit-parse-string'. - (should (equal (treesit-node-string -@@ -809,6 +830,7 @@ - - (ert-deftest treesit-node-supplemental () - "Supplemental node functions." -+ (skip-when (getenv "RPM_BUILD_ROOT")) - (skip-unless (treesit-language-available-p 'json)) - (let (parser root-node doc-node) - (progn -@@ -859,6 +881,7 @@ - - (ert-deftest treesit-node-at () - "Test `treesit-node-at'." -+ (skip-when (getenv "RPM_BUILD_ROOT")) - (skip-unless (treesit-language-available-p 'json)) - (let (parser) - (progn -@@ -889,6 +912,7 @@ - - (ert-deftest treesit-node-check () - "Test `treesit-node-check'." -+ (skip-when (getenv "RPM_BUILD_ROOT")) - (skip-unless (treesit-language-available-p 'json)) - (let (parser root-node array-node comment-node) - (progn -@@ -1184,6 +1208,7 @@ - - (ert-deftest treesit-defun-navigation-nested-2 () - "Test defun navigation using `js-ts-mode'." -+ (skip-when (getenv "RPM_BUILD_ROOT")) - (skip-unless (treesit-language-available-p 'javascript)) - ;; Nested defun navigation - (require 'js) -@@ -1195,6 +1220,7 @@ - - (ert-deftest treesit-defun-navigation-nested-3 () - "Test defun navigation using `bash-ts-mode'." -+ (skip-when (getenv "RPM_BUILD_ROOT")) - (skip-unless (treesit-language-available-p 'bash)) - ;; Nested defun navigation - (treesit--ert-test-defun-navigation -@@ -1208,6 +1234,7 @@ - (ert-deftest treesit-defun-navigation-nested-4 () - "Test defun navigation using Elixir. - This tests bug#60355." -+ (skip-when (getenv "RPM_BUILD_ROOT")) - (skip-unless (treesit-language-available-p 'elixir)) - ;; Nested defun navigation - (let ((pred (lambda (node) -@@ -1224,6 +1251,7 @@ - - (ert-deftest treesit-defun-navigation-top-level () - "Test top-level only defun navigation." -+ (skip-when (getenv "RPM_BUILD_ROOT")) - (skip-unless (treesit-language-available-p 'python)) - ;; Nested defun navigation - (require 'python) -@@ -1235,6 +1263,7 @@ - - (ert-deftest treesit-search-subtree-forward-1 () - "Test search subtree forward." -+ (skip-when (getenv "RPM_BUILD_ROOT")) - (skip-unless (treesit-language-available-p 'python)) - (require 'python) - (python-ts-mode) -@@ -1252,6 +1281,7 @@ - - (ert-deftest treesit-search-subtree-backward-1 () - "Test search subtree with backward=t." -+ (skip-when (getenv "RPM_BUILD_ROOT")) - (skip-unless (treesit-language-available-p 'python)) - (require 'python) - (python-ts-mode) diff --git a/0002-Test-eshell-test-subcommand-reset-in-pipeline-is-uns.patch b/0002-Test-eshell-test-subcommand-reset-in-pipeline-is-uns.patch deleted file mode 100644 index 94b83bf..0000000 --- a/0002-Test-eshell-test-subcommand-reset-in-pipeline-is-uns.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 8ae158173d1d748d55e2605c04d33a95739e055c Mon Sep 17 00:00:00 2001 -From: Peter Oliver -Date: Mon, 15 Jul 2024 16:17:38 +0100 -Subject: [PATCH 2/3] Test eshell-test/subcommand-reset-in-pipeline is unstable - -Could be related to https://debbugs.gnu.org/cgi/bugreport.cgi?bug=65602 ---- - test/lisp/eshell/eshell-tests.el | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/test/lisp/eshell/eshell-tests.el b/test/lisp/eshell/eshell-tests.el -index 3812a4117ac..8c13d4af237 100644 ---- a/test/lisp/eshell/eshell-tests.el -+++ b/test/lisp/eshell/eshell-tests.el -@@ -79,6 +79,7 @@ eshell-test/pipe-subcommand-with-pipe - - (ert-deftest eshell-test/subcommand-reset-in-pipeline () - "Check that subcommands reset `eshell-in-pipeline-p'." -+ :tags (if (getenv "RPM_BUILD_ROOT") '(:unstable)) - (skip-unless (executable-find "cat")) - (dolist (template '("echo {%s} | *cat" - "echo ${%s} | *cat" --- -2.45.2 - diff --git a/0003-Mark-multiple-mml-sec-tests-as-unstable-when-built-i.patch b/0003-Mark-multiple-mml-sec-tests-as-unstable-when-built-i.patch deleted file mode 100644 index 68c21c8..0000000 --- a/0003-Mark-multiple-mml-sec-tests-as-unstable-when-built-i.patch +++ /dev/null @@ -1,84 +0,0 @@ -From bf512d1bad98bcd1dc87da93fd2e7f415be14501 Mon Sep 17 00:00:00 2001 -From: Peter Oliver -Date: Mon, 15 Jul 2024 16:19:10 +0100 -Subject: [PATCH 3/4] Mark multiple mml-sec tests as unstable when built in an - RPM - -* test/lisp/gnus/mml-sec-tests.el: Mark unstable tests which have been -seen to intermittently fail at -https://koji.fedoraproject.org/koji/packageinfo?packageID=560 ---- - test/lisp/gnus/mml-sec-tests.el | 8 ++++++++ - 1 file changed, 8 insertions(+) - -diff --git a/test/lisp/gnus/mml-sec-tests.el b/test/lisp/gnus/mml-sec-tests.el -index 7abd1bd65a3..2bd52bf3ee0 100644 ---- a/test/lisp/gnus/mml-sec-tests.el -+++ b/test/lisp/gnus/mml-sec-tests.el -@@ -210,6 +210,7 @@ mml-secure-test-key-fixture - - (ert-deftest mml-secure-key-checks () - "Test mml-secure-check-user-id and mml-secure-check-sub-key on sample keys." -+ :tags (if (getenv "RPM_BUILD_ROOT") '(:unstable)) - (skip-unless (test-conf)) - (mml-secure-test-fixture - (lambda () -@@ -278,6 +279,7 @@ mml-secure-key-checks - - (ert-deftest mml-secure-find-usable-keys-1 () - "Make sure that expired and disabled keys and revoked UIDs are not used." -+ :tags (if (getenv "RPM_BUILD_ROOT") '(:unstable)) - (skip-unless (test-conf)) - (mml-secure-test-fixture - (lambda () -@@ -317,6 +319,7 @@ mml-secure-find-usable-keys-1 - - (ert-deftest mml-secure-find-usable-keys-2 () - "Test different ways to search for keys." -+ :tags (if (getenv "RPM_BUILD_ROOT") '(:unstable)) - (skip-unless (test-conf)) - (mml-secure-test-fixture - (lambda () -@@ -369,6 +372,7 @@ mml-secure-find-usable-keys-2 - - (ert-deftest mml-secure-select-preferred-keys-1 () - "If only one key exists for an e-mail address, it is the preferred one." -+ :tags (if (getenv "RPM_BUILD_ROOT") '(:unstable)) - (skip-unless (test-conf)) - (mml-secure-test-fixture - (lambda () -@@ -380,6 +384,7 @@ mml-secure-select-preferred-keys-1 - - (ert-deftest mml-secure-select-preferred-keys-2 () - "If multiple keys exists for an e-mail address, customization is necessary." -+ :tags (if (getenv "RPM_BUILD_ROOT") '(:unstable)) - (skip-unless (test-conf)) - (mml-secure-test-fixture - (lambda () -@@ -407,6 +412,7 @@ mml-secure-select-preferred-keys-2 - - (ert-deftest mml-secure-select-preferred-keys-3 () - "Expired customized keys are removed if multiple keys are available." -+ :tags (if (getenv "RPM_BUILD_ROOT") '(:unstable)) - (skip-unless (test-conf)) - (mml-secure-test-fixture - (lambda () -@@ -581,6 +587,7 @@ mml-secure-test-en-decrypt-with-passphrase - (ert-deftest mml-secure-en-decrypt-1 () - "Encrypt message; then decrypt and test for expected result. - In this test, the single matching key is chosen automatically." -+ :tags (if (getenv "RPM_BUILD_ROOT") '(:unstable)) - (skip-unless (test-conf)) - (dolist (method (enc-standards) nil) - ;; no-exp@example.org with single encryption key -@@ -625,6 +632,7 @@ mml-secure-en-decrypt-3 - (ert-deftest mml-secure-en-decrypt-4 () - "Encrypt message; then decrypt and test for expected result. - In this test, encrypt-to-self variables are set to lists." -+ :tags (if (getenv "RPM_BUILD_ROOT") '(:unstable)) - (skip-unless (test-conf)) - ;; Send from sub@example.org, which has two keys; encrypt to both. - (let ((mml-secure-openpgp-encrypt-to-self --- -2.47.0 - diff --git a/0004-Try-harder-to-stabalise-dired-test-bug27243-02.patch b/0004-Try-harder-to-stabalise-dired-test-bug27243-02.patch deleted file mode 100644 index d7aa8fe..0000000 --- a/0004-Try-harder-to-stabalise-dired-test-bug27243-02.patch +++ /dev/null @@ -1,38 +0,0 @@ -From e0f0549ac6766ab565dbd581098b96792a807727 Mon Sep 17 00:00:00 2001 -From: Peter Oliver -Date: Wed, 17 Jul 2024 00:06:02 +0100 -Subject: [PATCH 4/4] Try harder to stabalise dired-test-bug27243-02 - -* test/lisp/dired-tests.el (dired-test-bug27243-02): Don't rely on the -expected point, since columns will move if the size of the parent directory -changes order of magnitude. ---- - test/lisp/dired-tests.el | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - -diff --git a/test/lisp/dired-tests.el b/test/lisp/dired-tests.el -index ea47043dfc5..6078e99e13c 100644 ---- a/test/lisp/dired-tests.el -+++ b/test/lisp/dired-tests.el -@@ -190,7 +190,6 @@ dired-test-bug27243-02 - "Test for https://debbugs.gnu.org/cgi/bugreport.cgi?bug=27243#28 ." - (ert-with-temp-directory test-dir - (let ((dired-auto-revert-buffer t) -- (dired-free-space nil) - buffers) - ;; On MS-Windows, get rid of 8+3 short names in test-dir, if the - ;; corresponding long file names exist, otherwise such names trip -@@ -216,7 +215,9 @@ dired-test-bug27243-02 - ;; Sanity check: point should now be back on the subdirectory. - (should (eq (point) pt1)) - (push (dired test-dir) buffers) -- (should (eq (point) pt1))) -+ (should (equal (dired-file-name-at-point) -+ (concat (file-name-as-directory test-dir) -+ (file-name-as-directory "test-subdir"))))) - (dolist (buf buffers) - (when (buffer-live-p buf) (kill-buffer buf))))))) - --- -2.45.2 - diff --git a/emacs.spec b/emacs.spec index e04279e..502f5e0 100644 --- a/emacs.spec +++ b/emacs.spec @@ -46,12 +46,6 @@ Patch: emacs-pgtk-on-x-error-message.patch # https://lists.gnu.org/archive/html/emacs-devel/2025-02/msg01027.html Patch: 0001-Base-puresize.patch -# Skip failing tests -Patch: 0001-Skip-failing-tests.patch - -# Skip intermittently failing tests -Patch: 0003-Mark-multiple-mml-sec-tests-as-unstable-when-built-i.patch - # Workaround for https://bugzilla.redhat.com/show_bug.cgi?id=2276822 # (https://debbugs.gnu.org/cgi/bugreport.cgi?bug=63555). If GDK ever # gets any new backends, this patch may need extending. @@ -651,6 +645,8 @@ cd build-nw cd .. %endif + +%check appstream-util validate-relax --nonet %{buildroot}/%{_metainfodir}/*.metainfo.xml desktop-file-validate %{buildroot}/%{_datadir}/applications/*.desktop From caca17c2ebfe712a812d88a4925a86517436e2e1 Mon Sep 17 00:00:00 2001 From: Peter Oliver Date: Sun, 17 Aug 2025 23:40:14 +0100 Subject: [PATCH 12/12] Fix bad cherry-pick. --- emacs.spec | 28 ---------------------------- 1 file changed, 28 deletions(-) diff --git a/emacs.spec b/emacs.spec index 502f5e0..7802c66 100644 --- a/emacs.spec +++ b/emacs.spec @@ -618,34 +618,6 @@ find %{buildroot}%{_libdir}/ -name '*eln' -type f | xargs chmod -x find %{buildroot}%{_libdir}/ -name '*eln' -type f | xargs touch -%check -# A number of tests that don't work on GNU EMBA are also unstable when -# run in Koji. -export EMACS_EMBA_CI=1 - -cd build-pgtk -%make_build check -cd .. - -%if %{with gtkx11} -cd build-gtk+x11 -%make_build check -cd .. -%endif - -%if %{with lucid} -cd build-lucid -%make_build check -cd .. -%endif - -%if %{with nw} -cd build-nw -%make_build check -cd .. -%endif - - %check appstream-util validate-relax --nonet %{buildroot}/%{_metainfodir}/*.metainfo.xml desktop-file-validate %{buildroot}/%{_datadir}/applications/*.desktop