~ruther/guix-local

204568d027e25d3f2c09ad4c335e503ae3ed8c52 — Janneke Nieuwenhuizen 1 year, 3 months ago 55d53a2
gnu: guile-emacs: Update to f2d0459d6a4cda8b7c38b6fb12a55f1330ba50fa.

* gnu/packages/patches/guile-emacs-build-fixes.patch: Remove file.
* gnu/local.mk (dist_patch_DATA): Unregister it.
* gnu/packages/emacs.scm (guile-emacs): Update to
f2d0459d6a4cda8b7c38b6fb12a55f1330ba50fa.
[inputs]: Add imagemagick.
[synopsis, description]: Update.
[arguments]: Add --with-imagemagick.  Remove #:tests? #f (upstream has
disabled the test suite).

Change-Id: I585e8884635c02f5df38d9418f04ac0ae750303d
Signed-off-by: Ian Eure <ian@retrospec.tv>
3 files changed, 17 insertions(+), 109 deletions(-)

M gnu/local.mk
M gnu/packages/emacs.scm
D gnu/packages/patches/guile-emacs-build-fixes.patch
M gnu/local.mk => gnu/local.mk +0 -1
@@ 1559,7 1559,6 @@ dist_patch_DATA =						\
  %D%/packages/patches/guile-lzlib-hurd64.patch			\
  %D%/packages/patches/guile-present-coding.patch		\
  %D%/packages/patches/guile-rsvg-pkgconfig.patch		\
  %D%/packages/patches/guile-emacs-build-fixes.patch		\
  %D%/packages/patches/gtk2-fix-builder-test.patch		\
  %D%/packages/patches/gtk2-harden-list-store.patch		\
  %D%/packages/patches/gtk2-respect-GUIX_GTK2_PATH.patch	\

M gnu/packages/emacs.scm => gnu/packages/emacs.scm +17 -8
@@ 12,7 12,7 @@
;;; Copyright © 2017, 2019, 2020, 2023, 2024 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2017 Alex Vong <alexvong1995@gmail.com>
;;; Copyright © 2017, 2018 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2017, 2023, 2024 Janneke Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2017, 2023, 2024, 2025 Janneke Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2018, 2023 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2018 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2018, 2019, 2021 Tobias Geerinckx-Rice <me@tobias.gr>


@@ 69,6 69,7 @@
  #:use-module (gnu packages gtk)
  #:use-module (gnu packages guile)
  #:use-module (gnu packages image)
  #:use-module (gnu packages imagemagick)
  #:use-module (gnu packages lesstif)   ; motif
  #:use-module (gnu packages linux)     ; alsa-lib, gpm
  #:use-module (gnu packages mail)      ; for mailutils


@@ 639,8 640,8 @@ editor (with wide ints)" )

(define-public guile-emacs
  (let ((upstream-version "31.0.50")
        (commit "8f87cbc1dae6a9e77368afc5736df8c342e9153d")
        (revision "0"))
        (commit "f2d0459d6a4cda8b7c38b6fb12a55f1330ba50fa")
        (revision "2"))
    (package
      (inherit emacs)
      (name "guile-emacs")


@@ 651,18 652,25 @@ editor (with wide ints)" )
                      (url "https://codeberg.org/lyrra/guilemacs")
                      (commit commit)))
                (file-name (git-file-name name version))
                (patches (search-patches "guile-emacs-build-fixes.patch"))
                (sha256
                 (base32
                  "1yhxy6d5i673y35i66d2x975zih3cw6p59ylsb8xk68wds6s7xrl"))))
                  "0ry0dn9xrndpz54hs92dnnsw4xa4qn4lz898ldlh2rs47ah1f4wl"))))
      (native-inputs
       (modify-inputs (package-native-inputs emacs)
         (prepend autoconf automake guile-for-guile-emacs)))
      (inputs
       (modify-inputs (package-inputs emacs)
         (prepend imagemagick)))
      (home-page "https://guile-emacs.org")
      (synopsis "Emacs text editor powered by Guile('s elisp implementation)")
      (description
       "Guile-Emacs brings Emacs and Guile together by providing a new Elisp
implementation based on Guile's compiler technology, serving as the basis for
a more expressive and extensible version of Elisp.

Started in 2014 as a GSOC project, Guile-Emacs was resurrected in 2024.")
      (arguments
       (substitute-keyword-arguments `(;; Tests aren't passing for now.
                                       #:tests? #f
                                       #:strip-binaries? #f
       (substitute-keyword-arguments `(#:strip-binaries? #f
                                       ,@(package-arguments emacs))
         ((#:configure-flags flags ''())
          #~`("CFLAGS=-Og -ggdb3"


@@ 672,6 680,7 @@ editor (with wide ints)" )
              "--with-jpeg=no"
              "--without-cairo"
              "--without-tree-sitter"
              "--with-imagemagick"
              ,@(fold delete #$flags '("--with-cairo"
                                       "--with-modules"
                                       "--with-native-compilation=aot"))))

D gnu/packages/patches/guile-emacs-build-fixes.patch => gnu/packages/patches/guile-emacs-build-fixes.patch +0 -100
@@ 1,100 0,0 @@
From 49e8725b66cb721931a9a5f0f35405e19ccee956 Mon Sep 17 00:00:00 2001
From: Janneke Nieuwenhuizen <janneke@gnu.org>
Date: Sat, 7 Dec 2024 20:52:04 +0100
Subject: [PATCH 1/3] robin's patch.

---
 src/gtkutil.c | 4 ++--
 src/print.c   | 5 ++---
 2 files changed, 4 insertions(+), 5 deletions(-)

diff --git a/src/gtkutil.c b/src/gtkutil.c
index b1471d56eb9..be72b50c9ef 100644
--- a/src/gtkutil.c
+++ b/src/gtkutil.c
@@ -241,13 +241,13 @@ xg_display_open (char *display_name, GdkDisplay **dpy)
 {
   GdkDisplay *gdpy;
 
-  unrequest_sigio ();  /* See comment in x_display_ok, xterm.c.  */
+  // unrequest_sigio ();  /* See comment in x_display_ok, xterm.c.  */
 #ifndef HAVE_PGTK
   gdpy = gdk_display_open (display_name);
 #else
   gdpy = gdk_display_open (strlen (display_name) == 0 ? NULL : display_name);
 #endif
-  request_sigio ();
+  // request_sigio ();
   if (!gdpy_def && gdpy)
     {
       gdpy_def = gdpy;
diff --git a/src/print.c b/src/print.c
index 002274bd7da..e2c2251bf5c 100644
--- a/src/print.c
+++ b/src/print.c
@@ -2532,9 +2532,8 @@ print_object (Lisp_Object obj, Lisp_Object printcharfun, bool escapeflag)
         else
           scm_write (obj, port);
         scm_display (SCM_MAKE_CHAR ('>'), port);
-        //guilemacs: this looks wrong (size_byte = -1)
-        //strout (scm_to_locale_string (scm_get_output_string (port)),
-        //        -1, -1, printcharfun);
+	char* str = scm_to_locale_string (scm_get_output_string (port));
+	strout (str, strlen(str), strlen(str), printcharfun);
         scm_close_port (port);
       }
       break;
-- 
2.46.0

From 325fc39906198c33d78e33895e385916099a283f Mon Sep 17 00:00:00 2001
From: Janneke Nieuwenhuizen <janneke@gnu.org>
Date: Sat, 7 Dec 2024 19:00:45 +0100
Subject: [PATCH 2/3] src/xfns.c: Link fix.

---
 src/xfns.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/xfns.c b/src/xfns.c
index 858402613b4..94fde4b9e84 100644
--- a/src/xfns.c
+++ b/src/xfns.c
@@ -8921,7 +8921,8 @@ x_hide_tip (bool delete)
       else
 	tip_frame = Qnil;
 
-      return unbind_to (count, was_open);
+      dynwind_end ();
+      return was_open;
     }
 #else /* not USE_GTK */
   if (NILP (tip_frame)
-- 
2.46.0

From 7754d875df5c9cb8fefa44604061479108429bce Mon Sep 17 00:00:00 2001
From: Janneke Nieuwenhuizen <janneke@gnu.org>
Date: Sat, 7 Dec 2024 20:14:17 +0100
Subject: [PATCH 3/3] dump fix: comment use of cl-function-documentation.

---
 lisp/simple.el | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lisp/simple.el b/lisp/simple.el
index 15c790226b5..d1ceded84ae 100644
--- a/lisp/simple.el
+++ b/lisp/simple.el
@@ -2800,7 +2800,7 @@ command-completion--command-for-this-buffer-function
 '(cl-defmethod function-documentation ((function accessor))
   (oclosure--accessor-docstring function)) ;; FIXME: η-reduce!
 
-(cl-defmethod function-documentation ((f cconv--interactive-helper))
+'(cl-defmethod function-documentation ((f cconv--interactive-helper))
   (function-documentation (cconv--interactive-helper--fun f)))
 
 ;; This should be in `oclosure.el' but that file is loaded before `cl-generic'.
-- 
2.46.0