From 1d59c9f8c55dc3093a0c4a2cc2f2665d6ea36f71 Mon Sep 17 00:00:00 2001 From: augiedoggie Date: Wed, 15 Feb 2023 20:12:20 -0700 Subject: [PATCH] emacs: update git rev and add stat() workaround patch (#7858) --- app-editors/emacs/emacs-29.0.60~git.recipe | 7 ++++--- app-editors/emacs/patches/file-equality.patch | 20 +++++++++++++++++++ 2 files changed, 24 insertions(+), 3 deletions(-) create mode 100644 app-editors/emacs/patches/file-equality.patch diff --git a/app-editors/emacs/emacs-29.0.60~git.recipe b/app-editors/emacs/emacs-29.0.60~git.recipe index 2794fcfa1..096bba065 100644 --- a/app-editors/emacs/emacs-29.0.60~git.recipe +++ b/app-editors/emacs/emacs-29.0.60~git.recipe @@ -13,12 +13,13 @@ news reader, debugger interface, calendar, and more. HOMEPAGE="https://gnu.org/s/emacs/" COPYRIGHT="2001-2022 Free Software Foundation, Inc." LICENSE="GNU GPL v3" -REVISION="3" -srcGitRev="89cb3c3f1576fdc69eb061cccc8b537f4b7c8228" +REVISION="4" +srcGitRev="2550e8bb0b03ee1c2c7a17d56c9f578bbbf1a9da" SOURCE_URI="https://github.com/emacs-mirror/emacs/archive/$srcGitRev.tar.gz" SOURCE_DIR="emacs-$srcGitRev" -CHECKSUM_SHA256="0e89572e96107510c6c7cc5e75aa916c872ac73440cd01dff327aa2b0bb203a8" +CHECKSUM_SHA256="dbd90dbda5237f73e3e64bedd010d0e2463206df9f89b357547e1336976efd15" ADDITIONAL_FILES="emacs.rdef.in" +PATCHES="file-equality.patch" ARCHITECTURES="all !x86_gcc2" SECONDARY_ARCHITECTURES="x86" diff --git a/app-editors/emacs/patches/file-equality.patch b/app-editors/emacs/patches/file-equality.patch new file mode 100644 index 000000000..02481d2a6 --- /dev/null +++ b/app-editors/emacs/patches/file-equality.patch @@ -0,0 +1,20 @@ +diff --git a/lisp/files.el b/lisp/files.el +index 0d24852358e..8f8af2c492f 100644 +--- a/lisp/files.el ++++ b/lisp/files.el +@@ -6357,6 +6357,15 @@ file-equal-p + (let (f1-attr f2-attr) + (and (setq f1-attr (file-attributes (file-truename file1))) + (setq f2-attr (file-attributes (file-truename file2))) ++ ;; Haiku systems change the file's last access timestamp ++ ;; every time `stat' is called. Make sure to not compare ++ ;; the timestamps in that case. ++ ++ (when (eq system-type 'haiku) ++ (ignore-errors ++ (setcar (nthcdr 4 f1-attr) nil) ++ (setcar (nthcdr 4 f2-attr) nil)) ++ t) + (equal f1-attr f2-attr)))))) + + (defun file-in-directory-p (file dir)