aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--emacs/28.2/08_all_dbusbind.patch50
-rw-r--r--emacs/28.3/01_all_libseccomp.patch15
-rw-r--r--emacs/28.3/02_all_webkit-4.1.patch26
-rw-r--r--emacs/29.1/01_all_xdisp-segfault.patch32
-rw-r--r--emacs/29.1/02_all_modeline.patch28
-rw-r--r--emacs/29.1/03_all_zlib-inflate.patch22
-rw-r--r--emacs/29.1/04_all_tree-sitter.patch21
-rw-r--r--emacs/29.1/05_all_small-ja-dic.patch92
8 files changed, 245 insertions, 41 deletions
diff --git a/emacs/28.2/08_all_dbusbind.patch b/emacs/28.2/08_all_dbusbind.patch
new file mode 100644
index 0000000..994ec12
--- /dev/null
+++ b/emacs/28.2/08_all_dbusbind.patch
@@ -0,0 +1,50 @@
+Fix D-Bus session bus issue when running as a daemon
+Patch backported from emacs-29 branch
+https://bugs.gentoo.org/908438
+
+commit 1383efe01d0ee8ba3ea8da5ab41b07f5672191bf
+Author: Michael Albinus <michael.albinus@gmx.de>
+Date: Mon Jun 12 12:45:38 2023 +0200
+
+ Fix setting $DBUS_SESSION_BUS_ADDRESS after Emacs has started
+
+--- emacs-28.2/doc/misc/dbus.texi
++++ emacs-28.2/doc/misc/dbus.texi
+@@ -1853,8 +1853,24 @@
+ corresponding bus. For the system and session buses, this function is
+ called when loading @file{dbus.el}, there is no need to call it again.
+
+-The function returns the number of connections this Emacs session has
+-established to the @var{bus} under the same unique name
++If Emacs was invoked when there was no D-Bus session bus available
++yet, you can set the environment variable
++@env{DBUS_SESSION_BUS_ADDRESS} once the session bus daemon is running
++and offering the address. Calling @code{dbus-init-bus} initializes
++the connection to the session bus.
++
++@lisp
++(setenv "DBUS_SESSION_BUS_ADDRESS" "unix:path=/run/user/1000/bus")
++
++@result{} "unix:path=/run/user/1000/bus"
++
++(dbus-init-bus :session)
++
++@result{} 2
++@end lisp
++
++@code{dbus-init-bus} returns the number of connections this Emacs
++session has established to the @var{bus} under the same unique name
+ (@pxref{dbus-get-unique-name}). It depends on the libraries Emacs is
+ linked with, and on the environment Emacs is running. For example, if
+ Emacs is linked with the GTK+ toolkit, and it runs in a GTK+-aware
+--- emacs-28.2/src/dbusbind.c
++++ emacs-28.2/src/dbusbind.c
+@@ -276,7 +276,7 @@
+
+ #define XD_DBUS_VALIDATE_BUS_ADDRESS(bus) \
+ do { \
+- char const *session_bus_address = getenv ("DBUS_SESSION_BUS_ADDRESS"); \
++ char const *session_bus_address = egetenv ("DBUS_SESSION_BUS_ADDRESS"); \
+ if (STRINGP (bus)) \
+ { \
+ DBusAddressEntry **entries; \
diff --git a/emacs/28.3/01_all_libseccomp.patch b/emacs/28.3/01_all_libseccomp.patch
deleted file mode 100644
index ecbbba0..0000000
--- a/emacs/28.3/01_all_libseccomp.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-libseccomp is detected by configure but doesn't appear to have any
-effect on the installed image. For now, disable it unconditionally.
-https://bugs.gentoo.org/857906
-
---- emacs-28.2/configure.ac
-+++ emacs-28.2/configure.ac
-@@ -4373,7 +4373,7 @@
- ]])])
- AC_SUBST([HAVE_SECCOMP])
-
--EMACS_CHECK_MODULES([LIBSECCOMP], [libseccomp >= 2.5.2])
-+HAVE_LIBSECCOMP=no
- AC_SUBST([HAVE_LIBSECCOMP])
- AC_SUBST([LIBSECCOMP_LIBS])
- AC_SUBST([LIBSECCOMP_CFLAGS])
diff --git a/emacs/28.3/02_all_webkit-4.1.patch b/emacs/28.3/02_all_webkit-4.1.patch
deleted file mode 100644
index 950fd78..0000000
--- a/emacs/28.3/02_all_webkit-4.1.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-Migrate from net-libs/webkit-gtk:4 to :4.1
-Backported from emacs-29 branch
-https://bugs.gentoo.org/893670
-
-commit 7287b7b53a17f9b2d1b474466106806a9d57af47
-Author: Ulrich Müller <ulm@gentoo.org>
-Date: Thu Feb 9 10:58:48 2023 +0100
-
- Support webkit2gtk-4.1
-
---- emacs-28.2/configure.ac
-+++ emacs-28.2/configure.ac
-@@ -2784,8 +2784,12 @@
- if test "$with_xwidgets" != "no"; then
- if test "$USE_GTK_TOOLKIT" = "GTK3" && test "$window_system" != "none"; then
- WEBKIT_REQUIRED=2.12
-- WEBKIT_MODULES="webkit2gtk-4.0 >= $WEBKIT_REQUIRED"
-+ WEBKIT_MODULES="webkit2gtk-4.1 >= $WEBKIT_REQUIRED"
- EMACS_CHECK_MODULES([WEBKIT], [$WEBKIT_MODULES])
-+ if test "$HAVE_WEBKIT" = "no"; then
-+ WEBKIT_MODULES="webkit2gtk-4.0 >= $WEBKIT_REQUIRED"
-+ EMACS_CHECK_MODULES([WEBKIT], [$WEBKIT_MODULES])
-+ fi
- HAVE_XWIDGETS=$HAVE_WEBKIT
- XWIDGETS_OBJ="xwidget.o"
- elif test "${NS_IMPL_COCOA}" = "yes"; then
diff --git a/emacs/29.1/01_all_xdisp-segfault.patch b/emacs/29.1/01_all_xdisp-segfault.patch
new file mode 100644
index 0000000..835185b
--- /dev/null
+++ b/emacs/29.1/01_all_xdisp-segfault.patch
@@ -0,0 +1,32 @@
+Fix segmentation fault due to invalid mode-line-format
+Patch backported from master branch
+https://debbugs.gnu.org/64893
+
+commit 7ea3f39deec3d54914077455e70605a14eb7d200
+Author: Eli Zaretskii <eliz@gnu.org>
+Date: Thu Jul 27 15:34:38 2023 +0300
+
+ Avoid crashes due to invalid 'mode-line-format'
+
+ * src/xdisp.c (display_mode_element, redisplay_window_error):
+ Don't take XCAR of what can be Qnil. (Bug#64893)
+
+--- emacs-29.1/src/xdisp.c
++++ emacs-29.1/src/xdisp.c
+@@ -17601,6 +17601,7 @@ redisplay_window_error (Lisp_Object erro
+ if (max_redisplay_ticks > 0
+ && CONSP (error_data)
+ && EQ (XCAR (error_data), Qerror)
++ && CONSP (XCDR (error_data))
+ && STRINGP (XCAR (XCDR (error_data))))
+ Vdelayed_warnings_list = Fcons (list2 (XCAR (error_data),
+ XCAR (XCDR (error_data))),
+@@ -27091,7 +27092,7 @@ display_mode_element (struct it *it, int
+
+ oprops = Fcopy_sequence (oprops);
+ tem = props;
+- while (CONSP (tem))
++ while (CONSP (tem) && CONSP (XCDR (tem)))
+ {
+ oprops = plist_put (oprops, XCAR (tem),
+ XCAR (XCDR (tem)));
diff --git a/emacs/29.1/02_all_modeline.patch b/emacs/29.1/02_all_modeline.patch
new file mode 100644
index 0000000..d51a79e
--- /dev/null
+++ b/emacs/29.1/02_all_modeline.patch
@@ -0,0 +1,28 @@
+Avoid spurious whitespace in the modeline
+Patch backported from master branch
+https://debbugs.gnu.org/58183
+
+commit 8c3338f6ba354218aee12c223d778be4180f892b
+Author: Ulrich Müller <ulm@gentoo.org>
+Date: Fri Jul 28 12:21:42 2023 +0200
+
+ Avoid spurious whitespace in the modeline of emacsclient frames
+
+ * lisp/bindings.el (mode-line-client): Compute 'help-echo text
+ property in advance. (Bug#58183)
+
+--- emacs-29/lisp/bindings.el
++++ emacs-29/lisp/bindings.el
+@@ -226,9 +226,9 @@ mode-line-mule-info
+ (put 'mode-line-mule-info 'risky-local-variable t)
+
+ (defvar mode-line-client
+- `(""
+- (:propertize ("" (:eval (if (frame-parameter nil 'client) "@" "")))
+- help-echo ,(purecopy "emacsclient frame")))
++ `(:eval
++ (if (frame-parameter nil 'client)
++ ,(propertize "@" 'help-echo (purecopy "emacsclient frame"))))
+ "Mode line construct for identifying emacsclient frames.")
+ ;; Autoload if this file no longer dumped.
+ ;;;###autoload
diff --git a/emacs/29.1/03_all_zlib-inflate.patch b/emacs/29.1/03_all_zlib-inflate.patch
new file mode 100644
index 0000000..b31847a
--- /dev/null
+++ b/emacs/29.1/03_all_zlib-inflate.patch
@@ -0,0 +1,22 @@
+Support decompressing pigz-compressed files
+Patch from master branch
+https://bugs.gentoo.org/911539
+https://debbugs.gnu.org/64893
+
+commit 46b6d175054e8f6bf7cb45e112048c0cf02bfee9
+Author: Amritpal Singh <sysgrammer@protonmail.com>
+Date: Fri Jun 2 10:51:21 2023 +0530
+
+ Support files compressed by 'pigz'
+
+--- a/src/decompress.c
++++ b/src/decompress.c
+@@ -151,7 +151,7 @@
+ return -1;
+
+ accumulate_and_process_md5 (out, MD5_BLOCKSIZE - stream.avail_out, &ctx);
+- } while (!stream.avail_out);
++ } while (stream.avail_in && !stream.avail_out);
+
+ } while (res != Z_STREAM_END);
+
diff --git a/emacs/29.1/04_all_tree-sitter.patch b/emacs/29.1/04_all_tree-sitter.patch
new file mode 100644
index 0000000..b49c542
--- /dev/null
+++ b/emacs/29.1/04_all_tree-sitter.patch
@@ -0,0 +1,21 @@
+Fix build failure with tree-sitter
+Patch from emacs-29 branch
+https://bugs.gentoo.org/911826
+https://debbugs.gnu.org/65123
+
+commit e1874c4e8bff165abc5c2e842b4381b65da67ebb
+Author: Eli Zaretskii <eliz@gnu.org>
+Date: Mon Aug 7 16:20:17 2023 +0300
+
+ * configure.ac (HAVE_TREE_SITTER): Set NEED_DYNLIB=yes (bug#65123).
+
+--- a/configure.ac
++++ b/configure.ac
+@@ -3254,6 +3254,7 @@ AC_DEFUN
+ [HAVE_TREE_SITTER=yes], [HAVE_TREE_SITTER=no])
+ if test "${HAVE_TREE_SITTER}" = yes; then
+ AC_DEFINE(HAVE_TREE_SITTER, 1, [Define if using tree-sitter.])
++ NEED_DYNLIB=yes
+ else
+ EMACS_CHECK_MODULES([TREE_SITTER], [tree-sitter >= 0.6.3],
+ [HAVE_TREE_SITTER=yes], [HAVE_TREE_SITTER=no])
diff --git a/emacs/29.1/05_all_small-ja-dic.patch b/emacs/29.1/05_all_small-ja-dic.patch
new file mode 100644
index 0000000..117edbd
--- /dev/null
+++ b/emacs/29.1/05_all_small-ja-dic.patch
@@ -0,0 +1,92 @@
+Regenerate Japanese dictionary with --with-small-ja-dic option
+Patch from emacs-29 branch
+https://debbugs.gnu.org/66125
+
+Also update the following generated files:
+* leim/small-ja-dic-option
+* lisp/leim/ja-dic/ja-dic.{el,elc}
+
+commit 7d5fee0feaa5740f3fbbfc6d5f13855bf58b9c25
+Author: Eli Zaretskii <eliz@gnu.org>
+Date: Sun Sep 24 15:30:01 2023 +0300
+
+ Support regeneration of ja-dic.el under '--with-small-ja-dic'
+
+--- a/.gitignore
++++ b/.gitignore
+@@ -95,6 +95,7 @@ lisp/cedet/semantic/grammar-wy.el
+ lisp/eshell/esh-groups.el
+ lisp/finder-inf.el
+ lisp/leim/ja-dic/
++leim/small-ja-dic-option
+ lisp/leim/leim-list.el
+ lisp/leim/quail/4Corner.el
+ lisp/leim/quail/ARRAY30.el
+--- a/leim/Makefile.in
++++ b/leim/Makefile.in
+@@ -26,6 +26,7 @@ SHELL =
+ # Here are the things that we expect ../configure to edit.
+ srcdir=@srcdir@
+ top_builddir = @top_builddir@
++top_srcdir = @top_srcdir@
+
+ # Where the generated files go.
+ leimdir = ${srcdir}/../lisp/leim
+@@ -134,9 +135,15 @@ ${leimdir}/leim-list.el:
+
+ ${leimdir}/ja-dic/ja-dic.el: | $(leimdir)/ja-dic
+
++# This is used to support regeneration of ja-dic when the SMALL_JA_DIC
++# option is flipped by the configure-time option.
++small-ja-dic-option: ../config.status
++ $(AM_V_GEN)echo "Small ja-dic option: $(SMALL_JA_DIC)" > $@.$$$$ && \
++ ${top_srcdir}/build-aux/move-if-change $@.$$$$ $@
++
+ .PHONY: generate-ja-dic
+ generate-ja-dic: ${leimdir}/ja-dic/ja-dic.el
+-${leimdir}/ja-dic/ja-dic.el: $(srcdir)/SKK-DIC/SKK-JISYO.L
++${leimdir}/ja-dic/ja-dic.el: $(srcdir)/SKK-DIC/SKK-JISYO.L small-ja-dic-option
+ $(AM_V_GEN)$(RUN_EMACS) -batch -l ja-dic-cnv \
+ -f batch-skkdic-convert -dir "$(leimdir)/ja-dic" $(JA_DIC_NO_REDUCTION_OPTION) "$<"
+
+--- a/lisp/international/ja-dic-cnv.el
++++ b/lisp/international/ja-dic-cnv.el
+@@ -346,6 +346,8 @@ skkdic-convert
+ (erase-buffer)
+ (buffer-disable-undo)
+ (generate-lisp-file-heading ja-dic-filename 'skkdic-convert :code nil)
++ (insert (format ";; Generated with small ja-dic option: %s\n\n"
++ (if no-reduction "no" "yes")))
+ (insert ";; Original SKK dictionary file: "
+ (file-relative-name (expand-file-name filename) dirname)
+ "\n\n"
+--- a/make-dist
++++ b/make-dist
+@@ -357,6 +357,7 @@ possibly_non_vc_files=
+ MANIFEST aclocal.m4 configure
+ admin/charsets/jisx2131-filter
+ src/config.in
++ leim/small-ja-dic-option
+ "$(
+ find admin doc etc lisp \
+ \( -name '*.el' -o -name '*.elc' -o -name '*.map' -o -name '*.stamp' \
+--- /dev/null
++++ b/leim/small-ja-dic-option
+@@ -0,0 +1 @@
++Small ja-dic option: no
+--- a/lisp/leim/ja-dic/ja-dic.el
++++ b/lisp/leim/ja-dic/ja-dic.el
+@@ -3,6 +3,8 @@
+
+ ;; This file is part of GNU Emacs.
+
++;; Generated with small ja-dic option: no
++
+ ;; Original SKK dictionary file: ../../../leim/SKK-DIC/SKK-JISYO.L
+
+ ;;; Start of the header of the original SKK dictionary.
+--- a/lisp/leim/ja-dic/ja-dic.elc
++++ b/lisp/leim/ja-dic/ja-dic.elc
+@@ -5,1 +5,1 @@
+-
++