From 5efba81bd0543cf2ef9bc231192b19af507913c6 Mon Sep 17 00:00:00 2001 From: Peter Oliver Date: Thu, 31 Oct 2024 14:59:17 +0000 Subject: [PATCH 1/5] 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 2/5] 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 3/5] 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 4/5] 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 5/5] 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