diff mbox

[bug#39412,0/2] gnu: emacs-telega: Build with emacs-wide-int on 32-bit systems.

Message ID 87pnbrhfkk.fsf@GlaDOS.home
State Accepted
Headers show

Commit Message

Diego Nicola Barbato April 28, 2020, 2:04 p.m. UTC
Hi,

Diego Nicola Barbato <dnbarbato@posteo.de> writes:

[...]

>> long I wonder if it'd be better for it to be unbuildable on 32-bit
>> systems than to make it installable but unusable without changing other
>> installed packages.
>
> IMO it's ok for it to require changing other installed packages during a
> transitional period (e.g. guix repl currently doesn't work with
> `guile-readline' and requires that the guile3.0 variant be installed
> instead due to the transition in progress from Guile 2 to Guile 3).  I
> do believe that the failure mode of Telega running with `emacs' instead
> of `emacs-wide-int' on a 32-bit system is problematic because it doesn't
> make it clear what's wrong and how to fix it.  I have tried to address
> this in v2 of my patch series by patching Telega to run
> `telega-test-env' (the failing test) on startup (i.e. `M-x telega').
> That way it fails immediately with the following error message:
>
>   Emacs with wide ints (--with-wide-int) is required
>
> This should hopefully lead users on the right track.

I've rebased the patches on master and modified the last one such that
`telega-test-env' doesn't display a message when it succeeds.

[...]

Regards,

Diego

Comments

Efraim Flashner April 28, 2020, 5:46 p.m. UTC | #1
Looks good. patch pushed!
Diego Nicola Barbato April 28, 2020, 8:27 p.m. UTC | #2
Efraim Flashner <efraim@flashner.co.il> writes:

> Looks good. patch pushed!

Thanks!

I went ahead and closed https://debbugs.gnu.org/39406.
diff mbox

Patch

From 6f6a35fd07559aa484a59c4b6267e01db41921a3 Mon Sep 17 00:00:00 2001
From: Diego Nicola Barbato <dnbarbato@posteo.de>
Date: Fri, 7 Feb 2020 17:59:31 +0100
Subject: [PATCH v3 3/3] gnu: emacs-telega: Test Emacs environment on startup.

Print a more helpful error message when someone attempts to run Telega on an
incompatible Emacs (e.g a 32-bit Emacs without wide ints).

* gnu/packages/patches/telega-test-env.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/emacs-xyz.scm (emacs-telega): Use it.
---
 gnu/local.mk                               |  1 +
 gnu/packages/emacs-xyz.scm                 |  2 ++
 gnu/packages/patches/telega-test-env.patch | 14 ++++++++++++++
 3 files changed, 17 insertions(+)
 create mode 100644 gnu/packages/patches/telega-test-env.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index 9f212434a9..5787c675dd 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1470,6 +1470,7 @@  dist_patch_DATA =						\
   %D%/packages/patches/tcsh-fix-autotest.patch			\
   %D%/packages/patches/tcsh-fix-out-of-bounds-read.patch	\
   %D%/packages/patches/teensy-loader-cli-help.patch		\
+  %D%/packages/patches/telega-test-env.patch			\
   %D%/packages/patches/texinfo-5-perl-compat.patch		\
   %D%/packages/patches/texlive-bin-CVE-2018-17407.patch		\
   %D%/packages/patches/texlive-bin-luatex-poppler-compat.patch	\
diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index e5bd414d75..01758bbbc5 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -21328,6 +21328,8 @@  fish-completion.  It can be used in both Eshell and M-x shell.")
          (sha256
           (base32
            "0mv6i80958d9crzspzik5xh5g8326115bvg2frgv0dp9p6rm86m3"))
+         (patches
+          (search-patches "telega-test-env.patch"))
          (file-name (git-file-name name version))))
       (build-system gnu-build-system)
       (arguments
diff --git a/gnu/packages/patches/telega-test-env.patch b/gnu/packages/patches/telega-test-env.patch
new file mode 100644
index 0000000000..75fe2e12fc
--- /dev/null
+++ b/gnu/packages/patches/telega-test-env.patch
@@ -0,0 +1,14 @@ 
+Test Emacs environment on startup.
+
+Patch by Diego N. Barbato
+
+--- a/telega.el	2020-02-07 17:07:18.549970090 +0100
++++ b/telega.el	2020-02-07 17:10:08.383499765 +0100
+@@ -82,6 +82,7 @@
+   "Start telegramming.
+ If prefix ARG is given, then will not pop to telega root buffer."
+   (interactive "P")
++  (telega-test-env t)
+   (telega--create-hier)
+ 
+   (unless (telega-server-live-p)
-- 
2.26.0