all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
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


  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.