From: Diego Nicola Barbato <dnbarbato@posteo.de>
To: Efraim Flashner <efraim@flashner.co.il>
Cc: 39412@debbugs.gnu.org
Subject: [bug#39412] [PATCH 0/2] gnu: emacs-telega: Build with emacs-wide-int on 32-bit systems.
Date: Tue, 28 Apr 2020 16:04:27 +0200 [thread overview]
Message-ID: <87pnbrhfkk.fsf@GlaDOS.home> (raw)
In-Reply-To: <87eetfcl4r.fsf@GlaDOS.home> (Diego Nicola Barbato's message of "Thu, 26 Mar 2020 14:15:48 +0100")
[-- Attachment #1: Type: text/plain, Size: 1209 bytes --]
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
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: v3-0001-gnu-Add-emacs-wide-int.patch --]
[-- Type: text/x-patch, Size: 1122 bytes --]
From 0197316358bc496f1d6868f3e41be7121ed8fa5f Mon Sep 17 00:00:00 2001
From: Diego Nicola Barbato <dnbarbato@posteo.de>
Date: Sun, 29 Dec 2019 00:41:48 +0100
Subject: [PATCH v3 1/3] gnu: Add emacs-wide-int.
* gnu/packages/emacs.scm (emacs-wide-int): New variable.
---
gnu/packages/emacs.scm | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm
index 3d0368be4e..ab7cc20d10 100644
--- a/gnu/packages/emacs.scm
+++ b/gnu/packages/emacs.scm
@@ -401,6 +401,17 @@ editor (without an X toolkit)" )
((#:configure-flags cf)
`(cons "--with-x-toolkit=no" ,cf)))))))
+(define-public emacs-wide-int
+ (package
+ (inherit emacs)
+ (name "emacs-wide-int")
+ (synopsis "The extensible, customizable, self-documenting text
+editor (with wide ints)" )
+ (arguments
+ (substitute-keyword-arguments (package-arguments emacs)
+ ((#:configure-flags flags)
+ `(cons "--with-wide-int" ,flags))))))
+
(define-public guile-emacs
(let ((commit "41120e0f595b16387eebfbf731fff70481de1b4b")
(revision "0"))
--
2.26.0
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #3: v3-0002-gnu-emacs-telega-Build-with-emacs-wide-int-on-32-.patch --]
[-- Type: text/x-patch, Size: 1359 bytes --]
From 1b86cf0846233b19b4905537d566f9ea40f76dbd Mon Sep 17 00:00:00 2001
From: Diego Nicola Barbato <dnbarbato@posteo.de>
Date: Sun, 29 Dec 2019 01:03:38 +0100
Subject: [PATCH v3 2/3] gnu: emacs-telega: Build with emacs-wide-int on 32-bit
systems.
Fixes <https://bugs.gnu.org/39406>.
Reported by <lmedeiros@riseup.net>.
* gnu/packages/emacs-xyz.scm (emacs-telega)[native-inputs]: Replace emacs with
emacs-wide-int on 32-bit systems. This is needed because Telega requires
62-bit wide ints.
---
gnu/packages/emacs-xyz.scm | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index 0ae3f72fb7..e5bd414d75 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -21419,7 +21419,12 @@ fish-completion. It can be used in both Eshell and M-x shell.")
(native-inputs
`(("tdlib" ,tdlib)
("libtgvoip" ,libtgvoip) ; VoIP support.
- ("emacs" ,emacs)
+ ;; Use Emacs with wide ints on 32-bit architectures.
+ ("emacs" ,(match (%current-system)
+ ((or "i686-linux" "armhf-linux")
+ emacs-wide-int)
+ (_
+ emacs)))
("python" ,python)))
(synopsis "GNU Emacs client for the Telegram messenger")
(description
--
2.26.0
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #4: v3-0003-gnu-emacs-telega-Test-Emacs-environment-on-startu.patch --]
[-- Type: text/x-patch, Size: 2541 bytes --]
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
next prev parent reply other threads:[~2020-04-28 14:09 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-02-04 9:43 [bug#39412] [PATCH 0/2] gnu: emacs-telega: Build with emacs-wide-int on 32-bit systems Diego Nicola Barbato
2020-02-04 9:49 ` [bug#39412] [PATCH 1/2] gnu: Add emacs-wide-int Diego Nicola Barbato
2020-02-04 9:49 ` [bug#39412] [PATCH 2/2] gnu: emacs-telega: Build with emacs-wide-int on 32-bit systems Diego Nicola Barbato
2020-02-04 11:14 ` [bug#39412] [PATCH 0/2] " Efraim Flashner
2020-03-26 13:15 ` Diego Nicola Barbato
2020-03-26 13:17 ` [bug#39412] [PATCH v2 1/3] gnu: Add emacs-wide-int Diego Nicola Barbato
2020-03-26 13:17 ` [bug#39412] [PATCH v2 2/3] gnu: emacs-telega: Build with emacs-wide-int on 32-bit systems Diego Nicola Barbato
2020-03-26 13:18 ` [bug#39412] [PATCH v2 3/3] gnu: emacs-telega: Test Emacs environment on startup Diego Nicola Barbato
2020-04-28 14:04 ` Diego Nicola Barbato [this message]
2020-04-28 17:46 ` bug#39412: [PATCH 0/2] gnu: emacs-telega: Build with emacs-wide-int on 32-bit systems Efraim Flashner
2020-04-28 20:27 ` [bug#39412] " Diego Nicola Barbato
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87pnbrhfkk.fsf@GlaDOS.home \
--to=dnbarbato@posteo.de \
--cc=39412@debbugs.gnu.org \
--cc=efraim@flashner.co.il \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/guix.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.