diff mbox series

[bug#54829,v3,3/3] gnu: emacs: Add support for socket activation.

Message ID ea79ad869b1630dd0ecd9cc5d5dd04b6333e8522.camel@gmail.com
State Accepted
Headers show
Series None | expand

Commit Message

Liliana Marie Prikler April 10, 2022, 11:32 a.m. UTC
* gnu/packages/emacs.scm (emacs)[#:phases]: Add ‘enable-elogind’.
[inputs]: Add elogind.
[native-inputs]: Add autoconf.
---
 gnu/packages/emacs.scm | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

Comments

Ludovic Courtès April 28, 2022, 12:15 p.m. UTC | #1
Hi,

Liliana Marie Prikler <liliana.prikler@gmail.com> skribis:

> * gnu/packages/emacs.scm (emacs)[#:phases]: Add ‘enable-elogind’.
> [inputs]: Add elogind.
> [native-inputs]: Add autoconf.

[...]

> +          (add-after 'unpack 'enable-elogind
> +            (lambda _
> +              (substitute* "configure.ac"
> +                (("libsystemd") "libelogind"))

I suggest making that substitution in ‘configure’…

>      (native-inputs
> -     (list pkg-config texinfo))
> +     (list autoconf pkg-config texinfo))

… so you don’t need this extra dependency.

Otherwise it LGTM.

Perhaps you can push to a ‘wip-emacs-28’ branch, and then ping me or
another admin on #guix so we can tell ci.guix to build it.  Once it’s
built and we don’t see regressions, we can merge in ‘master’ (should
take a day or two at most I suppose).

Thanks,
Ludo’.

PS: First time it takes more than a few hours for a new Emacs version to
    land in Guix!  :-)
M April 28, 2022, 3:06 p.m. UTC | #2
Ludovic Courtès schreef op do 28-04-2022 om 14:15 [+0200]:
> > +          (add-after 'unpack 'enable-elogind
> > +            (lambda _
> > +              (substitute* "configure.ac"
> > +                (("libsystemd") "libelogind"))
> 
> I suggest making that substitution in ‘configure’…
> 
> >       (native-inputs
> > -     (list pkg-config texinfo))
> > +     (list autoconf pkg-config texinfo))
> 
> … so you don’t need this extra dependency.

I thought the idea was to, long term, build 'configure' from source
(except for packages low on the graph where there would be bootstrap
problems)?

https://lists.gnu.org/archive/html/guix-devel/2022-04/msg00065.html

Greetings,
Maxime.
Liliana Marie Prikler April 28, 2022, 3:31 p.m. UTC | #3
Am Donnerstag, dem 28.04.2022 um 17:06 +0200 schrieb Maxime Devos:
> Ludovic Courtès schreef op do 28-04-2022 om 14:15 [+0200]:
> > > +          (add-after 'unpack 'enable-elogind
> > > +            (lambda _
> > > +              (substitute* "configure.ac"
> > > +                (("libsystemd") "libelogind"))
> > 
> > I suggest making that substitution in ‘configure’…
> > 
> > >       (native-inputs
> > > -     (list pkg-config texinfo))
> > > +     (list autoconf pkg-config texinfo))
> > 
> > … so you don’t need this extra dependency.
> 
> I thought the idea was to, long term, build 'configure' from source
> (except for packages low on the graph where there would be bootstrap
> problems)?
> 
> https://lists.gnu.org/archive/html/guix-devel/2022-04/msg00065.html
To add to this, configure doesn't exist in emacs-next variants, so I
find it better to just wrap the existing code in a (when (file-exists?
...) ...) rather than boot from blessed blobs in this particular
instance.

Cheers
Liliana Marie Prikler April 28, 2022, 4:58 p.m. UTC | #4
Hi,

Am Donnerstag, dem 28.04.2022 um 14:15 +0200 schrieb Ludovic Courtès:
> Perhaps you can push to a ‘wip-emacs-28’ branch, and then ping me or
> another admin on #guix so we can tell ci.guix to build it.  Once it’s
> built and we don’t see regressions, we can merge in ‘master’ (should
> take a day or two at most I suppose).
I pushed an ‘emacs-28’ branch (dropped the ‘wip-’ by accident), in
which emacs, emacs-next and emacs-next-pgtk are all updated.  Native
compilation in emacs is still missing though, but someone with commit
access and enough time to spare could add it.

Cheers
Ludovic Courtès April 28, 2022, 8:15 p.m. UTC | #5
Maxime Devos <maximedevos@telenet.be> skribis:

> Ludovic Courtès schreef op do 28-04-2022 om 14:15 [+0200]:
>> > +          (add-after 'unpack 'enable-elogind
>> > +            (lambda _
>> > +              (substitute* "configure.ac"
>> > +                (("libsystemd") "libelogind"))
>> 
>> I suggest making that substitution in ‘configure’…
>> 
>> >       (native-inputs
>> > -     (list pkg-config texinfo))
>> > +     (list autoconf pkg-config texinfo))
>> 
>> … so you don’t need this extra dependency.
>
> I thought the idea was to, long term, build 'configure' from source
> (except for packages low on the graph where there would be bootstrap
> problems)?
>
> https://lists.gnu.org/archive/html/guix-devel/2022-04/msg00065.html

Ah yes, that too.  See?  The power of habits, the beauty of
self-contradiction.  :-)

Liliana: I guess Maxime is right, you can keep this version.

Thanks,
Ludo’.
Feng Shu April 29, 2022, 3:22 a.m. UTC | #6
Liliana Marie Prikler <liliana.prikler@gmail.com> writes:

> Hi,
>
> Am Donnerstag, dem 28.04.2022 um 14:15 +0200 schrieb Ludovic Courtès:
>> Perhaps you can push to a ‘wip-emacs-28’ branch, and then ping me or
>> another admin on #guix so we can tell ci.guix to build it.  Once it’s
>> built and we don’t see regressions, we can merge in ‘master’ (should
>> take a day or two at most I suppose).
> I pushed an ‘emacs-28’ branch (dropped the ‘wip-’ by accident), in
> which emacs, emacs-next and emacs-next-pgtk are all updated.  Native

What about add --with-xinput2 emacs-next, use version 2 of the X Input Extension for input

> compilation in emacs is still missing though, but someone with commit
> access and enough time to spare could add it.
>
> Cheers

--
Liliana Marie Prikler April 29, 2022, 6:53 p.m. UTC | #7
Am Freitag, dem 29.04.2022 um 11:22 +0800 schrieb Feng Shu:
> Liliana Marie Prikler <liliana.prikler@gmail.com> writes:
> 
> > Hi,
> > 
> > Am Donnerstag, dem 28.04.2022 um 14:15 +0200 schrieb Ludovic
> > Courtès:
> > > Perhaps you can push to a ‘wip-emacs-28’ branch, and then ping me
> > > or another admin on #guix so we can tell ci.guix to build it. 
> > > Once it’s built and we don’t see regressions, we can merge in
> > > ‘master’ (should take a day or two at most I suppose).
> > I pushed an ‘emacs-28’ branch (dropped the ‘wip-’ by accident), in
> > which emacs, emacs-next and emacs-next-pgtk are all updated. 
> > Native
> 
> What about add --with-xinput2 emacs-next, use version 2 of the X
> Input Extension for input
I'm probably not up to date to all the Emacs stuff, but given that
"guix show xinput" only delivers 1.6, I don't think that's relevant
yet.  Or is it?
Feng Shu April 29, 2022, 9:56 p.m. UTC | #8
--
发自我的网易邮箱手机智能版
<br/><br/><br/>


----- Original Message -----
From: "Liliana Marie Prikler" <liliana.prikler@gmail.com>
To: "Feng Shu" <tumashu@163.com>
Cc: "Ludovic Courtès" <ludo@gnu.org>, "Maxime Devos" <maximedevos@telenet.be>, 54829@debbugs.gnu.org, zimoun <zimon.toutoune@gmail.com>
Sent: Fri, 29 Apr 2022 20:53:03 +0200
Subject: Re: [bug#54829] [PATCH 0/2] Update Emacs to 28.1 and add socket activation

Am Freitag, dem 29.04.2022 um 11:22 +0800 schrieb Feng Shu:
> Liliana Marie Prikler <liliana.prikler@gmail.com> writes:
> 
> > Hi,
> > 
> > Am Donnerstag, dem 28.04.2022 um 14:15 +0200 schrieb Ludovic
> > Courtès:
> > > Perhaps you can push to a ‘wip-emacs-28’ branch, and then ping me
> > > or another admin on #guix so we can tell ci.guix to build it. 
> > > Once it’s built and we don’t see regressions, we can merge in
> > > ‘master’ (should take a day or two at most I suppose).
> > I pushed an ‘emacs-28’ branch (dropped the ‘wip-’ by accident), in
> > which emacs, emacs-next and emacs-next-pgtk are all updated. 
> > Native
> 
> What about add --with-xinput2 emacs-next, use version 2 of the X
> Input Extension for input
I'm probably not up to date to all the Emacs stuff, but given that
"guix show xinput" only delivers 1.6, I don't think that's relevant

yet.  Or is it?







no, i think it use X11/extensions/XInput2.h
Maxim Cournoyer May 18, 2022, 4:13 a.m. UTC | #9
Hi,

Liliana Marie Prikler <liliana.prikler@gmail.com> writes:

> Am Freitag, dem 29.04.2022 um 11:22 +0800 schrieb Feng Shu:
>> Liliana Marie Prikler <liliana.prikler@gmail.com> writes:
>> 
>> > Hi,
>> > 
>> > Am Donnerstag, dem 28.04.2022 um 14:15 +0200 schrieb Ludovic
>> > Courtès:
>> > > Perhaps you can push to a ‘wip-emacs-28’ branch, and then ping me
>> > > or another admin on #guix so we can tell ci.guix to build it. 
>> > > Once it’s built and we don’t see regressions, we can merge in
>> > > ‘master’ (should take a day or two at most I suppose).
>> > I pushed an ‘emacs-28’ branch (dropped the ‘wip-’ by accident), in
>> > which emacs, emacs-next and emacs-next-pgtk are all updated. 
>> > Native
>> 
>> What about add --with-xinput2 emacs-next, use version 2 of the X
>> Input Extension for input
> I'm probably not up to date to all the Emacs stuff, but given that
> "guix show xinput" only delivers 1.6, I don't think that's relevant
> yet.  Or is it?

As it seems this change was merge, don't forget to close it if
everything mentioned here was taken care of :-)

Thanks,

Maxim
Liliana Marie Prikler May 18, 2022, 5:47 p.m. UTC | #10
Am Mittwoch, dem 18.05.2022 um 00:13 -0400 schrieb Maxim Cournoyer:
> As it seems this change was merge, don't forget to close it if
> everything mentioned here was taken care of :-)
Well, it's not literally "everything" related to Emacs 28, but it is at
least this series, so I'll mark it as done.  Also deleted the emacs-28
branch as it's no longer relevant.

Cheers
diff mbox series

Patch

diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm
index a32fe624dd..847731b95d 100644
--- a/gnu/packages/emacs.scm
+++ b/gnu/packages/emacs.scm
@@ -131,6 +131,11 @@  (define-public emacs
                                 "--disable-build-details")
       #:phases
       #~(modify-phases %standard-phases
+          (add-after 'unpack 'enable-elogind
+            (lambda _
+              (substitute* "configure.ac"
+                (("libsystemd") "libelogind"))
+              (delete-file "configure")))
           (add-after 'unpack 'patch-program-file-names
             (lambda* (#:key inputs #:allow-other-keys)
               (substitute* '("src/callproc.c"
@@ -271,6 +276,7 @@  (define* (emacs-byte-compile-directory dir)
            gmp
            ghostscript
            poppler
+           elogind
 
            ;; When looking for libpng `configure' links with `-lpng -lz', so we
            ;; must also provide zlib as an input.
@@ -290,7 +296,7 @@  (define* (emacs-byte-compile-directory dir)
            libotf
            m17n-lib))
     (native-inputs
-     (list pkg-config texinfo))
+     (list autoconf pkg-config texinfo))
     (native-search-paths
      (list (search-path-specification
             (variable "EMACSLOADPATH")