diff options
-rw-r--r-- | emacs/28.2/08_all_dbusbind.patch | 50 | ||||
-rw-r--r-- | emacs/28.3/01_all_libseccomp.patch | 15 | ||||
-rw-r--r-- | emacs/28.3/02_all_webkit-4.1.patch | 26 | ||||
-rw-r--r-- | emacs/29.1/01_all_xdisp-segfault.patch | 32 | ||||
-rw-r--r-- | emacs/29.1/02_all_modeline.patch | 28 | ||||
-rw-r--r-- | emacs/29.1/03_all_zlib-inflate.patch | 22 | ||||
-rw-r--r-- | emacs/29.1/04_all_tree-sitter.patch | 21 | ||||
-rw-r--r-- | emacs/29.1/05_all_small-ja-dic.patch | 92 |
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 @@ +- ++ |