GNU bug report logs - #39804
[PATCH] gnu: add emacs-exwm-next package (i.e. exwm for emacs-next)

Previous Next

Package: guix-patches;

Reported by: dakling <dario.klingenberg <at> web.de>

Date: Wed, 26 Feb 2020 21:27:02 UTC

Severity: normal

Tags: patch

To reply to this bug, email your comments to 39804 AT debbugs.gnu.org.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to guix-patches <at> gnu.org:
bug#39804; Package guix-patches. (Wed, 26 Feb 2020 21:27:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to dakling <dario.klingenberg <at> web.de>:
New bug report received and forwarded. Copy sent to guix-patches <at> gnu.org. (Wed, 26 Feb 2020 21:27:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: dakling <dario.klingenberg <at> web.de>
To: guix-patches <at> gnu.org
Subject: [PATCH] gnu: add emacs-exwm-next package (i.e. exwm for emacs-next)
Date: Wed, 26 Feb 2020 22:07:44 +0100
---
 gnu/packages/emacs-xyz.scm | 71 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 71 insertions(+)

diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index 6b9027df8a..c6df469895 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -8601,6 +8601,77 @@ It should enable you to implement low-level X11 applications.")
 built on top of XELB.")
     (license license:gpl3+)))

+(define-public emacs-exwm-next
+  (package
+    (name "emacs-exwm-next")
+    (version "0.23")
+    (synopsis "Emacs X window manager")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://elpa.gnu.org/packages/exwm-"
+                                  version ".tar"))
+              (sha256
+               (base32
+                "05w1v3wrp1lzz20zd9lcvr5nhk809kgy6svvkbs15xhnr6x55ad5"))))
+    (build-system emacs-build-system)
+    (propagated-inputs
+     `(("emacs-xelb" ,emacs-xelb)))
+    (inputs
+     `(("xhost" ,xhost)
+       ("emacs-next" ,emacs-next)
+       ("dbus" ,dbus)))
+    ;; The following functions and variables needed by emacs-exwm are
+    ;; not included in emacs-minimal:
+    ;; scroll-bar-mode, fringe-mode
+    ;; x-display-pixel-width, x-display-pixel-height
+    (arguments
+     `(#:emacs ,emacs
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'build 'install-xsession
+           (lambda* (#:key inputs outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out"))
+                    (xsessions (string-append out "/share/xsessions"))
+                    (bin (string-append out "/bin"))
+                    (exwm-executable (string-append bin "/exwm")))
+               ;; Add a .desktop file to xsessions
+               (mkdir-p xsessions)
+               (mkdir-p bin)
+               (with-output-to-file
+                   (string-append xsessions "/exwm.desktop")
+                 (lambda _
+                   (format #t "[Desktop Entry]~@
+                     Name=~a~@
+                     Comment=~a~@
+                     Exec=~a~@
+                     TryExec=~:*~a~@
+                     Type=Application~%" ,name ,synopsis exwm-executable)))
+               ;; Add a shell wrapper to bin
+               (with-output-to-file exwm-executable
+                 (lambda _
+                   (format #t "#!~a ~@
+                     ~a +SI:localuser:$USER ~@
+                     exec ~a --exit-with-session ~a \"$@\" --eval '~s' ~%"
+                           (string-append (assoc-ref inputs "bash") "/bin/sh")
+                           (string-append (assoc-ref inputs "xhost") "/bin/xhost")
+                           (string-append (assoc-ref inputs "dbus") "/bin/dbus-launch")
+                           (string-append (assoc-ref inputs "emacs-next") "/bin/emacs")
+                           '(cond
+                             ((file-exists-p "~/.exwm")
+                              (load-file "~/.exwm"))
+                             ((not (featurep 'exwm))
+                              (require 'exwm)
+                              (require 'exwm-config)
+                              (exwm-config-default)
+                              (message (concat "exwm configuration not found. "
+                                               "Falling back to default configuration...")))))))
+               (chmod exwm-executable #o555)
+               #t))))))
+    (home-page "https://github.com/ch11ng/exwm")
+    (description "EXWM is a full-featured tiling X window manager for Emacs
+built on top of XELB.")
+    (license license:gpl3+)))
+
 (define-public emacs-switch-window
   (package
     (name "emacs-switch-window")
--
2.25.1





Information forwarded to guix-patches <at> gnu.org:
bug#39804; Package guix-patches. (Thu, 27 Feb 2020 09:54:02 GMT) Full text and rfc822 format available.

Message #8 received at 39804 <at> debbugs.gnu.org (full text, mbox):

From: Pierre Neidhardt <mail <at> ambrevar.xyz>
To: dakling <dario.klingenberg <at> web.de>
Cc: 39804 <at> debbugs.gnu.org
Subject: Re: [bug#39804] [PATCH] gnu: add emacs-exwm-next package (i.e. exwm
 for emacs-next)
Date: Thu, 27 Feb 2020 10:53:22 +0100
[Message part 1 (text/plain, inline)]
Thanks for your submission.

Note that you need not create a new thread for to send a update of a
patch.  If you used the `git send-email` command, you could have used
the `--to=` option to send to the previous thread.  For instance

--8<---------------cut here---------------start------------->8---
git send-email --to=39756 <at> debbugs.gnu.org 0001-my-patch.diff
--8<---------------cut here---------------end--------------->8---

Comments below:

> ---
>  gnu/packages/emacs-xyz.scm | 71 ++++++++++++++++++++++++++++++++++++++
>  1 file changed, 71 insertions(+)
>
> diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
> index 6b9027df8a..c6df469895 100644
> --- a/gnu/packages/emacs-xyz.scm
> +++ b/gnu/packages/emacs-xyz.scm
> @@ -8601,6 +8601,77 @@ It should enable you to implement low-level X11 applications.")
>  built on top of XELB.")
>      (license license:gpl3+)))
>
> +(define-public emacs-exwm-next

I think you don't need to copy the whole package definition.  Instead,
you could `inherit' from the original definition and only adjust the
name, description, inputs and maybe arguments.

For instance

--8<---------------cut here---------------start------------->8---
(define-public emacs-exwm-next
  (package
    (inherit emacs)
    (name "emacs-exwm-next")
    (inputs ...)
    (synopsys ...)))
--8<---------------cut here---------------end--------------->8---

See `substitute-keyword-arguments' in the fftwf package for a convenient
way to modify just one argument.

> +  (package
> +    (name "emacs-exwm-next")
> +    (version "0.23")
> +    (synopsis "Emacs X window manager")

Maybe tell that this is using the next version of Emacs.

> +    (source (origin
> +              (method url-fetch)
> +              (uri (string-append "https://elpa.gnu.org/packages/exwm-"
> +                                  version ".tar"))
> +              (sha256
> +               (base32
> +                "05w1v3wrp1lzz20zd9lcvr5nhk809kgy6svvkbs15xhnr6x55ad5"))))
> +    (build-system emacs-build-system)
> +    (propagated-inputs
> +     `(("emacs-xelb" ,emacs-xelb)))
> +    (inputs
> +     `(("xhost" ,xhost)
> +       ("emacs-next" ,emacs-next)
> +       ("dbus" ,dbus)))
> +    ;; The following functions and variables needed by emacs-exwm are
> +    ;; not included in emacs-minimal:
> +    ;; scroll-bar-mode, fringe-mode
> +    ;; x-display-pixel-width, x-display-pixel-height
> +    (arguments
> +     `(#:emacs ,emacs

Shouldn't this be `emacs-next` as well?

Cheers!

-- 
Pierre Neidhardt
https://ambrevar.xyz/
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#39804; Package guix-patches. (Thu, 27 Feb 2020 22:05:01 GMT) Full text and rfc822 format available.

Message #11 received at 39804 <at> debbugs.gnu.org (full text, mbox):

From: dario <dario.klingenberg <at> web.de>
To: Pierre Neidhardt <mail <at> ambrevar.xyz>
Cc: 39804 <at> debbugs.gnu.org
Subject: Re: [bug#39804] [PATCH] gnu: add emacs-exwm-next package (i.e. exwm
 for emacs-next)
Date: Thu, 27 Feb 2020 23:04:50 +0100
Thanks for your feedback.

>> ---
>>  gnu/packages/emacs-xyz.scm | 71 ++++++++++++++++++++++++++++++++++++++
>>  1 file changed, 71 insertions(+)
>>
>> diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
>> index 6b9027df8a..c6df469895 100644
>> --- a/gnu/packages/emacs-xyz.scm
>> +++ b/gnu/packages/emacs-xyz.scm
>> @@ -8601,6 +8601,77 @@ It should enable you to implement low-level X11 applications.")
>>  built on top of XELB.")
>>      (license license:gpl3+)))
>>
>> +(define-public emacs-exwm-next
>
> I think you don't need to copy the whole package definition.  Instead,
> you could `inherit' from the original definition and only adjust the
> name, description, inputs and maybe arguments.
>
> For instance
>
> --8<---------------cut here---------------start------------->8---
> (define-public emacs-exwm-next
>   (package
>     (inherit emacs)
>     (name "emacs-exwm-next")
>     (inputs ...)
>     (synopsys ...)))
> --8<---------------cut here---------------end--------------->8---
>
> See `substitute-keyword-arguments' in the fftwf package for a convenient
> way to modify just one argument.
>
>> +  (package
>> +    (name "emacs-exwm-next")
>> +    (version "0.23")
>> +    (synopsis "Emacs X window manager")

Nice - I was not aware of that. The following definition seems to work
(see also the patch at the end of this mail)
> --8<---------------cut here---------------start------------->8---
(define-public emacs-exwm-next
  (package
    (inherit emacs-exwm)
    (name "emacs-exwm-next")
    (synopsis "Emacs X window manager using the next version of emacs")
    (inputs
     (cons
      `("emacs-next" ,emacs-next)
      (delete `("emacs" ,emacs)
              (package-inputs emacs-exwm))))))
> --8<---------------cut here---------------end------------->8---

>> +    (arguments
>> +     `(#:emacs ,emacs
>
> Shouldn't this be `emacs-next` as well?
I have to admit that I do not understand that part. If I change it to
emacs-next, the build fails with the error
> --8<---------------cut here---------------start------------->8---
phase `install' succeeded after 0.0 seconds
starting phase `make-autoloads'
Wrong type argument: stringp, nil
command "/gnu/store/1z520fgx6fiq426yf2174kal2q63a9q7-emacs-next-27.0.50-0.36abf68/bin/emacs" "--quick" "--batch" "--eval=(let ((backup-inhibited t) (generated-autoload-file \"/gnu/store/nnjcqc448yj79dxaj11fnq7s9a8zpc1z-emacs-exwm-next-test-0.23/share/emacs/site-lisp/exwm-next-test-autoloads.el\")) (update-directory-autoloads \"/gnu/store/nnjcqc448yj79dxaj11fnq7s9a8zpc1z-emacs-exwm-next-test-0.23/share/emacs/site-lisp\"))" failed with status 255
> --8<---------------cut here---------------end------------->8---
It is a bit difficult for me to understand what is going on here,
because, like I said, I do not really understand this part of the
package definition in the first place - sorry. However, without
modifying the arguments, everything seems to work.

The following patch seems to work (do I need to send it on its own? I am
new to this type of workflow.)

Best
Dario

---
 gnu/packages/emacs-xyz.scm | 72 ++++----------------------------------
 1 file changed, 6 insertions(+), 66 deletions(-)

diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index c6df469895..3d5b650df9 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -8603,74 +8603,14 @@ built on top of XELB.")

 (define-public emacs-exwm-next
   (package
+    (inherit emacs-exwm)
     (name "emacs-exwm-next")
-    (version "0.23")
-    (synopsis "Emacs X window manager")
-    (source (origin
-              (method url-fetch)
-              (uri (string-append "https://elpa.gnu.org/packages/exwm-"
-                                  version ".tar"))
-              (sha256
-               (base32
-                "05w1v3wrp1lzz20zd9lcvr5nhk809kgy6svvkbs15xhnr6x55ad5"))))
-    (build-system emacs-build-system)
-    (propagated-inputs
-     `(("emacs-xelb" ,emacs-xelb)))
+    (synopsis "Emacs X window manager using the next version of emacs")
     (inputs
-     `(("xhost" ,xhost)
-       ("emacs-next" ,emacs-next)
-       ("dbus" ,dbus)))
-    ;; The following functions and variables needed by emacs-exwm are
-    ;; not included in emacs-minimal:
-    ;; scroll-bar-mode, fringe-mode
-    ;; x-display-pixel-width, x-display-pixel-height
-    (arguments
-     `(#:emacs ,emacs
-       #:phases
-       (modify-phases %standard-phases
-         (add-after 'build 'install-xsession
-           (lambda* (#:key inputs outputs #:allow-other-keys)
-             (let* ((out (assoc-ref outputs "out"))
-                    (xsessions (string-append out "/share/xsessions"))
-                    (bin (string-append out "/bin"))
-                    (exwm-executable (string-append bin "/exwm")))
-               ;; Add a .desktop file to xsessions
-               (mkdir-p xsessions)
-               (mkdir-p bin)
-               (with-output-to-file
-                   (string-append xsessions "/exwm.desktop")
-                 (lambda _
-                   (format #t "[Desktop Entry]~@
-                     Name=~a~@
-                     Comment=~a~@
-                     Exec=~a~@
-                     TryExec=~:*~a~@
-                     Type=Application~%" ,name ,synopsis exwm-executable)))
-               ;; Add a shell wrapper to bin
-               (with-output-to-file exwm-executable
-                 (lambda _
-                   (format #t "#!~a ~@
-                     ~a +SI:localuser:$USER ~@
-                     exec ~a --exit-with-session ~a \"$@\" --eval '~s' ~%"
-                           (string-append (assoc-ref inputs "bash") "/bin/sh")
-                           (string-append (assoc-ref inputs "xhost") "/bin/xhost")
-                           (string-append (assoc-ref inputs "dbus") "/bin/dbus-launch")
-                           (string-append (assoc-ref inputs "emacs-next") "/bin/emacs")
-                           '(cond
-                             ((file-exists-p "~/.exwm")
-                              (load-file "~/.exwm"))
-                             ((not (featurep 'exwm))
-                              (require 'exwm)
-                              (require 'exwm-config)
-                              (exwm-config-default)
-                              (message (concat "exwm configuration not found. "
-                                               "Falling back to default configuration...")))))))
-               (chmod exwm-executable #o555)
-               #t))))))
-    (home-page "https://github.com/ch11ng/exwm")
-    (description "EXWM is a full-featured tiling X window manager for Emacs
-built on top of XELB.")
-    (license license:gpl3+)))
+     (cons
+      `("emacs-next" ,emacs-next)
+      (delete `("emacs" ,emacs)
+              (package-inputs emacs-exwm))))))

 (define-public emacs-switch-window
   (package
--
2.25.1




Information forwarded to guix-patches <at> gnu.org:
bug#39804; Package guix-patches. (Fri, 28 Feb 2020 08:33:01 GMT) Full text and rfc822 format available.

Message #14 received at 39804 <at> debbugs.gnu.org (full text, mbox):

From: Pierre Neidhardt <mail <at> ambrevar.xyz>
To: dario <dario.klingenberg <at> web.de>
Cc: 39804 <at> debbugs.gnu.org, Maxim Cournoyer <maxim.cournoyer <at> gmail.com>,
 Leo Prikler <leo.prikler <at> student.tugraz.at>
Subject: Re: [bug#39804] [PATCH] gnu: add emacs-exwm-next package (i.e. exwm
 for emacs-next)
Date: Fri, 28 Feb 2020 09:32:27 +0100
[Message part 1 (text/plain, inline)]
Hi Dario,

dario <dario.klingenberg <at> web.de> writes:

> Thanks for your feedback.
>
>>> ---
>>>  gnu/packages/emacs-xyz.scm | 71 ++++++++++++++++++++++++++++++++++++++
>>>  1 file changed, 71 insertions(+)
>>>
>>> diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
>>> index 6b9027df8a..c6df469895 100644
>>> --- a/gnu/packages/emacs-xyz.scm
>>> +++ b/gnu/packages/emacs-xyz.scm
>>> @@ -8601,6 +8601,77 @@ It should enable you to implement low-level X11 applications.")
>>>  built on top of XELB.")
>>>      (license license:gpl3+)))
>>>
>>> +(define-public emacs-exwm-next
>>
>> I think you don't need to copy the whole package definition.  Instead,
>> you could `inherit' from the original definition and only adjust the
>> name, description, inputs and maybe arguments.
>>
>> For instance
>>
>> --8<---------------cut here---------------start------------->8---
>> (define-public emacs-exwm-next
>>   (package
>>     (inherit emacs)
>>     (name "emacs-exwm-next")
>>     (inputs ...)
>>     (synopsys ...)))
>> --8<---------------cut here---------------end--------------->8---
>>
>> See `substitute-keyword-arguments' in the fftwf package for a convenient
>> way to modify just one argument.
>>
>>> +  (package
>>> +    (name "emacs-exwm-next")
>>> +    (version "0.23")
>>> +    (synopsis "Emacs X window manager")
>
> Nice - I was not aware of that. The following definition seems to work
> (see also the patch at the end of this mail)
>> --8<---------------cut here---------------start------------->8---
> (define-public emacs-exwm-next
>   (package
>     (inherit emacs-exwm)
>     (name "emacs-exwm-next")
>     (synopsis "Emacs X window manager using the next version of emacs")
>     (inputs
>      (cons
>       `("emacs-next" ,emacs-next)
>       (delete `("emacs" ,emacs)
>               (package-inputs emacs-exwm))))))

Maybe a bit better:

    (inputs
     `(("emacs" ,emacs-next)
       ,@(alist-delete "emacs" (package-inputs emacs-exwm))))))

>> --8<---------------cut here---------------end------------->8---
>
>>> +    (arguments
>>> +     `(#:emacs ,emacs
>>
>> Shouldn't this be `emacs-next` as well?
> I have to admit that I do not understand that part. If I change it to
> emacs-next, the build fails with the error
>> --8<---------------cut here---------------start------------->8---
> phase `install' succeeded after 0.0 seconds
> starting phase `make-autoloads'
> Wrong type argument: stringp, nil
> command "/gnu/store/1z520fgx6fiq426yf2174kal2q63a9q7-emacs-next-27.0.50-0.36abf68/bin/emacs" "--quick" "--batch" "--eval=(let ((backup-inhibited t) (generated-autoload-file \"/gnu/store/nnjcqc448yj79dxaj11fnq7s9a8zpc1z-emacs-exwm-next-test-0.23/share/emacs/site-lisp/exwm-next-test-autoloads.el\")) (update-directory-autoloads \"/gnu/store/nnjcqc448yj79dxaj11fnq7s9a8zpc1z-emacs-exwm-next-test-0.23/share/emacs/site-lisp\"))" failed with status 255
>> --8<---------------cut here---------------end------------->8---
> It is a bit difficult for me to understand what is going on here,
> because, like I said, I do not really understand this part of the
> package definition in the first place - sorry. However, without
> modifying the arguments, everything seems to work.

The `#:emacs` field tells the build system which Emacs package to use to
build this package.  There may be something that not compatible between
our current build system and emacs-next.

I've CC'ed Maxim and Leo, they might know more than me.

> The following patch seems to work (do I need to send it on its own? I am
> new to this type of workflow.)

Attaching to this email is fine.
Better is to use `git send-email` like so:

--8<---------------cut here---------------start------------->8---
git send-email --to=39804 <at> debbugs.gnu.org --in-reply-to=<MESSAGE-ID> 0001-your.patch
--8<---------------cut here---------------end--------------->8---

with <MESSAGE-ID> being the message ID of the email you are replying to.
You can get this message ID in various ways: one way that always works
is to look up the "message-id" header of the raw email.

Also when you generate the patch with git, set the subject prefix to
[PATCH v2] for the second iteration, PATCH v3 for the third, etc.

Thanks!

-- 
Pierre Neidhardt
https://ambrevar.xyz/
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#39804; Package guix-patches. (Fri, 28 Feb 2020 09:54:02 GMT) Full text and rfc822 format available.

Message #17 received at 39804 <at> debbugs.gnu.org (full text, mbox):

From: Leo Prikler <leo.prikler <at> student.tugraz.at>
To: Pierre Neidhardt <mail <at> ambrevar.xyz>, dario <dario.klingenberg <at> web.de>
Cc: 39804 <at> debbugs.gnu.org, Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: Re: [bug#39804] [PATCH] gnu: add emacs-exwm-next package (i.e. exwm
 for emacs-next)
Date: Fri, 28 Feb 2020 10:53:08 +0100
[Message part 1 (text/plain, inline)]
Am Freitag, den 28.02.2020, 09:32 +0100 schrieb Pierre Neidhardt:
> The `#:emacs` field tells the build system which Emacs package to use
> to
> build this package.  There may be something that not compatible
> between
> our current build system and emacs-next.
> 
> I've CC'ed Maxim and Leo, they might know more than me.
This issue should be addressed by #39375, which is currently waiting to
be pushed to master or staging.  I took the liberty to rewrite this
patch with that one in mind – the build succeeds now, but I'm not sure
how to run it.  Perhaps I'm missing a few bits.

Regards,
Leo

[0001-gnu-Add-emacs-xelb-next.patch (text/x-patch, attachment)]
[0002-gnu-Add-emacs-exwm-next.patch (text/x-patch, attachment)]

Information forwarded to guix-patches <at> gnu.org:
bug#39804; Package guix-patches. (Fri, 28 Feb 2020 14:46:02 GMT) Full text and rfc822 format available.

Message #20 received at 39804 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: Leo Prikler <leo.prikler <at> student.tugraz.at>
Cc: Pierre Neidhardt <mail <at> ambrevar.xyz>, dario <dario.klingenberg <at> web.de>,
 39804 <at> debbugs.gnu.org
Subject: Re: [bug#39804] [PATCH] gnu: add emacs-exwm-next package (i.e. exwm
 for emacs-next)
Date: Fri, 28 Feb 2020 09:45:06 -0500
Hi Leo,

Leo Prikler <leo.prikler <at> student.tugraz.at> writes:

> Am Freitag, den 28.02.2020, 09:32 +0100 schrieb Pierre Neidhardt:
>> The `#:emacs` field tells the build system which Emacs package to use
>> to
>> build this package.  There may be something that not compatible
>> between
>> our current build system and emacs-next.
>> 
>> I've CC'ed Maxim and Leo, they might know more than me.
> This issue should be addressed by #39375, which is currently waiting to
> be pushed to master or staging.  I took the liberty to rewrite this
> patch with that one in mind – the build succeeds now, but I'm not sure
> how to run it.  Perhaps I'm missing a few bits.

I'd rather understand why this is so -- there is no reason it should
have changed between Emacs 26 and Emacs 27.

The autoloads.elc file is loaded when doing:

--8<---------------cut here---------------start------------->8---
strace emacs --quick --batch --eval "(progn
 ;(require 'autoload)
 (let ((backup-inhibited t)
       (generated-autoload-file \"/tmp/toto\"))
   (update-directory-autoloads \"/tmp\")))" |& less

--8<---------------cut here---------------end--------------->8---

Noticed that I commented out the (require 'autoload) sexp.

The file is found:

--8<---------------cut here---------------start------------->8---
openat(AT_FDCWD, "/gnu/store/zpmsyn471y4hpgsbz652h4szyskzc2bm-profile/share/emacs/27.0.50/lisp/emacs-lisp/autoload.elc", O_RDONLY|O_CLOEXEC) = 5
--8<---------------cut here---------------end--------------->8---

And the autoload.elc contains:

--8<---------------cut here---------------start------------->8---
(fn &rest DIRS)
(defalias 'update-directory-autoloads #[128 "\306\307 \211\203\211@\310\311\"\204\211B\262A\266\202\202\210\312\313\314\"\315Q\262\316\317\320\321\322\323\324\325!\326\"\327\330%\"\"\306\211\211\211\211\331\332!\203K\333\334!\202L	\335	!\205[\336	!\3278\262r\337 q\210\212\340\341\n!\320\341	\"\"\262eb\210\342\306\314#\2034\343 \3448\211:\203\321\211@;\203\321\345\346\224!\210\3478\262\314\fD\235\203\235\262\211\211\203\315\211@\336!\3278\262\211\203\305\350\"\204\305B\262\340\f\"\262\210A\266\202\202\236\210\202\"\211;\203\"\335!\203\343\211\235\203\356\314\262\345\346\224!\210\202\"\350\3478\211\314\fD\235\203\376\202\377\211\262\336!\3278\262\"\203\"\314\262\345\346\224!\210\351p\n#\203\"\211B\262\211B\262\340	\"\262\266\202p)\206:\352\353\354\355\341	!P!\346	G\306\356%\346\306	\211\203\227\211@T\211\262\306\247\203f@Y\203l\357#\210\266\351\306\n#\211\262\203\215\211B\262\350\"\203\220\262\202\220\314\262\nA\266\202\202M\210\360!\210\203\306\361\362\"\262db\210\363\364\306\314#\210\365p\306\211	\203\277\202\300\f%\2109c\210\266\204\323\366\306!\210\202\326\367 \210\370 +\207" [autoload-modified-buffers generated-autoload-file buffer-file-name generate-autoload-section-header autoload--non-timestamp autoload-timestamps nil get-load-suffixes string-match "\\.\\(elc\\|so\\|dll\\)" "^[^=.].*" regexp-opt t "\\'" apply nconc mapcar make-byte-code 257 "\301\302!\303\300#\207" vconcat vector [directory-files expand-file-name t] 5 "\n\n(fn DIR)" called-interactively-p interactive read-file-name "Write autoload definitions to file: " file-exists-p file-attributes autoload-find-generated-file delete file-relative-name search-forward autoload-read-section-header 3 autoload-remove-section 0 4 time-less-p autoload-generate-file-autoloads (0 0 0 0) make-progress-reporter byte-compile-info-string "Scraping files for " 10 progress-reporter-do-update progress-reporter-done sort string< search-backward "\f" autoload-insert-section-header set-buffer-modified-p autoload--save-buffer autoload-save-buffers generate-autoload-section-trailer] 21 (#$ . 25075) "DUpdate autoloads from directory: "])
#@191 Update loaddefs.el autoloads in batch mode.
Calls `update-directory-autoloads' on the command line arguments.
Definitions are written to `generated-autoload-file' (which
should be non-nil).
--8<---------------cut here---------------end--------------->8---

Perhaps the byte compiled version has a bug that causes it to fail with

--8<---------------cut here---------------start------------->8---
Wrong type argument: stringp, nil
--8<---------------cut here---------------end--------------->8---

I'd rather this be understood (and fixed at its root) before continuing.

Maxim




Information forwarded to guix-patches <at> gnu.org:
bug#39804; Package guix-patches. (Tue, 03 Mar 2020 02:20:01 GMT) Full text and rfc822 format available.

Message #23 received at 39804 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: Leo Prikler <leo.prikler <at> student.tugraz.at>
Cc: Pierre Neidhardt <mail <at> ambrevar.xyz>, dario <dario.klingenberg <at> web.de>,
 39804 <at> debbugs.gnu.org
Subject: Re: [bug#39804] [PATCH] gnu: add emacs-exwm-next package (i.e. exwm
 for emacs-next)
Date: Mon, 02 Mar 2020 21:19:24 -0500
Leo Prikler <leo.prikler <at> student.tugraz.at> writes:

> Am Freitag, den 28.02.2020, 09:32 +0100 schrieb Pierre Neidhardt:
>> The `#:emacs` field tells the build system which Emacs package to use
>> to
>> build this package.  There may be something that not compatible
>> between
>> our current build system and emacs-next.
>> 
>> I've CC'ed Maxim and Leo, they might know more than me.
> This issue should be addressed by #39375, which is currently waiting to
> be pushed to master or staging.

If we don't hear back from
https://debbugs.gnu.org/cgi/bugreport.cgi?bug=39823 in a day or two, I'd
be OK with pushing #39375 to master.

> I took the liberty to rewrite this
> patch with that one in mind – the build succeeds now, but I'm not sure
> how to run it.  Perhaps I'm missing a few bits.
>
> Regards,
> Leo
>
> From 73eb9dac1bd13a8107aaedddecbe9bf7821a4841 Mon Sep 17 00:00:00 2001
> From: Leo Prikler <leo.prikler <at> student.tugraz.at>
> Date: Fri, 28 Feb 2020 10:46:23 +0100
> Subject: [PATCH 1/2] gnu: Add emacs-xelb-next.
>
> * gnu/packages/emacs-xyz.scm (emacs-xelb-next): New variable.
> ---
>  gnu/packages/emacs-xyz.scm | 8 ++++++++
>  1 file changed, 8 insertions(+)
>
> diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
> index 76b9746f69..fa007f158b 100644
> --- a/gnu/packages/emacs-xyz.scm
> +++ b/gnu/packages/emacs-xyz.scm
> @@ -9661,6 +9661,14 @@ features an object-oriented API and permits a certain degree of concurrency.
>  It should enable you to implement low-level X11 applications.")
>      (license license:gpl3+)))
>  
> +(define-public emacs-xelb-next
> +  (package
> +    (inherit emacs-xelb)
> +    (name "emacs-xelb-next")
> +    (arguments
> +     `(,@(package-arguments emacs-xelb)
> +       #:emacs ,emacs-next))))
> +
>  (define-public emacs-exwm
>    (package
>      (name "emacs-exwm")
> -- 
> 2.25.1
>
>
> From 19056fa969d830d5ee1065988f6a5b4f76fcbae9 Mon Sep 17 00:00:00 2001
> From: dakling <dario.klingenberg <at> web.de>
> Date: Wed, 26 Feb 2020 22:07:44 +0100
> Subject: [PATCH 2/2] gnu: Add emacs-exwm-next.
>
> * gnu/packages/emacs-xyz.scm (emacs-exwm-next): New variable.
> ---
>  gnu/packages/emacs-xyz.scm | 18 ++++++++++++++++++
>  1 file changed, 18 insertions(+)
>
> diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
> index fa007f158b..9567324da8 100644
> --- a/gnu/packages/emacs-xyz.scm
> +++ b/gnu/packages/emacs-xyz.scm
> @@ -9739,6 +9739,24 @@ It should enable you to implement low-level X11 applications.")
>  built on top of XELB.")
>      (license license:gpl3+)))
>  
> +(define-public emacs-exwm-next
> +  (package
> +    (inherit emacs-exwm)
> +    (name "emacs-exwm-next")
> +    (propagated-inputs
> +     `(("emacs-xelb" ,emacs-xelb-next)))
> +    (inputs
> +     `(("xhost" ,xhost)
> +       ("emacs-next" ,emacs-next)
> +       ("dbus" ,dbus)))
> +    (arguments
> +     `(,@(package-arguments emacs-exwm)
> +       #:emacs ,emacs-next))
> +    (home-page "https://github.com/ch11ng/exwm")
> +    (description "EXWM is a full-featured tiling X window manager for Emacs
> +built on top of XELB.")
> +    (license license:gpl3+)))

No need to repeat the home-page, description and license field.

Other than that, LGTM.

Maxim




Information forwarded to guix-patches <at> gnu.org:
bug#39804; Package guix-patches. (Wed, 11 Mar 2020 03:56:02 GMT) Full text and rfc822 format available.

Message #26 received at 39804 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: Leo Prikler <leo.prikler <at> student.tugraz.at>
Cc: Pierre Neidhardt <mail <at> ambrevar.xyz>, dario <dario.klingenberg <at> web.de>,
 39804 <at> debbugs.gnu.org
Subject: Re: [bug#39804] [PATCH] gnu: add emacs-exwm-next package (i.e. exwm
 for emacs-next)
Date: Tue, 10 Mar 2020 23:54:54 -0400
Hello Leo,

Maxim Cournoyer <maxim.cournoyer <at> gmail.com> writes:

> Leo Prikler <leo.prikler <at> student.tugraz.at> writes:
>
>> Am Freitag, den 28.02.2020, 09:32 +0100 schrieb Pierre Neidhardt:
>>> The `#:emacs` field tells the build system which Emacs package to use
>>> to
>>> build this package.  There may be something that not compatible
>>> between
>>> our current build system and emacs-next.
>>> 
>>> I've CC'ed Maxim and Leo, they might know more than me.
>> This issue should be addressed by #39375, which is currently waiting to
>> be pushed to master or staging.
>
> If we don't hear back from
> https://debbugs.gnu.org/cgi/bugreport.cgi?bug=39823 in a day or two, I'd
> be OK with pushing #39375 to master.

There have been no activity or reply on #39823 yet, so feel free to push
the workaround discussed earlier (on the master branch is fine).

Maxim




Information forwarded to guix-patches <at> gnu.org:
bug#39804; Package guix-patches. (Sun, 15 Mar 2020 13:50:01 GMT) Full text and rfc822 format available.

Message #29 received at 39804 <at> debbugs.gnu.org (full text, mbox):

From: Leo Prikler <leo.prikler <at> student.tugraz.at>
To: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Cc: Pierre Neidhardt <mail <at> ambrevar.xyz>, dario <dario.klingenberg <at> web.de>,
 39804 <at> debbugs.gnu.org
Subject: Re: [bug#39804] [PATCH] gnu: add emacs-exwm-next package (i.e. exwm
 for emacs-next)
Date: Sun, 15 Mar 2020 14:48:58 +0100
Am Dienstag, den 10.03.2020, 23:54 -0400 schrieb Maxim Cournoyer:
> Hello Leo,
> 
> Maxim Cournoyer <maxim.cournoyer <at> gmail.com> writes:
> 
> > Leo Prikler <leo.prikler <at> student.tugraz.at> writes:
> > 
> > > Am Freitag, den 28.02.2020, 09:32 +0100 schrieb Pierre Neidhardt:
> > > > The `#:emacs` field tells the build system which Emacs package
> > > > to use
> > > > to
> > > > build this package.  There may be something that not compatible
> > > > between
> > > > our current build system and emacs-next.
> > > > 
> > > > I've CC'ed Maxim and Leo, they might know more than me.
> > > This issue should be addressed by #39375, which is currently
> > > waiting to
> > > be pushed to master or staging.
> > 
> > If we don't hear back from
> > https://debbugs.gnu.org/cgi/bugreport.cgi?bug=39823 in a day or
> > two, I'd
> > be OK with pushing #39375 to master.
> 
> There have been no activity or reply on #39823 yet, so feel free to
> push
> the workaround discussed earlier (on the master branch is fine).
> 
> Maxim
Following the discussion in 39823, we now have two options.
1. loading the library in advance as I do.
2. wrapping our code in `(eval ...)'.
The latter has the advantage of not needing an additional function, but
both require a build system change.

WDYT?





Information forwarded to guix-patches <at> gnu.org:
bug#39804; Package guix-patches. (Tue, 17 Mar 2020 02:01:02 GMT) Full text and rfc822 format available.

Message #32 received at 39804 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: Leo Prikler <leo.prikler <at> student.tugraz.at>
Cc: Pierre Neidhardt <mail <at> ambrevar.xyz>, dario <dario.klingenberg <at> web.de>,
 39804 <at> debbugs.gnu.org
Subject: Re: [bug#39804] [PATCH] gnu: add emacs-exwm-next package (i.e. exwm
 for emacs-next)
Date: Mon, 16 Mar 2020 21:59:56 -0400
Hi Leo!

Leo Prikler <leo.prikler <at> student.tugraz.at> writes:

> Am Dienstag, den 10.03.2020, 23:54 -0400 schrieb Maxim Cournoyer:
>> Hello Leo,
>> 
>> Maxim Cournoyer <maxim.cournoyer <at> gmail.com> writes:
>> 
>> > Leo Prikler <leo.prikler <at> student.tugraz.at> writes:
>> > 
>> > > Am Freitag, den 28.02.2020, 09:32 +0100 schrieb Pierre Neidhardt:
>> > > > The `#:emacs` field tells the build system which Emacs package
>> > > > to use
>> > > > to
>> > > > build this package.  There may be something that not compatible
>> > > > between
>> > > > our current build system and emacs-next.
>> > > > 
>> > > > I've CC'ed Maxim and Leo, they might know more than me.
>> > > This issue should be addressed by #39375, which is currently
>> > > waiting to
>> > > be pushed to master or staging.
>> > 
>> > If we don't hear back from
>> > https://debbugs.gnu.org/cgi/bugreport.cgi?bug=39823 in a day or
>> > two, I'd
>> > be OK with pushing #39375 to master.
>> 
>> There have been no activity or reply on #39823 yet, so feel free to
>> push
>> the workaround discussed earlier (on the master branch is fine).
>> 
>> Maxim
> Following the discussion in 39823, we now have two options.
> 1. loading the library in advance as I do.
> 2. wrapping our code in `(eval ...)'.
> The latter has the advantage of not needing an additional function, but
> both require a build system change.
>
> WDYT?

#1 would be best, as it is a general fix, and we can even add a
 parameter to allow choosing between dynamic vs lexcal evaluation (see
 the doc for `eval', it takes such a parameter and defaults to
 dynamical).

Maxim




Information forwarded to guix-patches <at> gnu.org:
bug#39804; Package guix-patches. (Mon, 23 Mar 2020 01:53:02 GMT) Full text and rfc822 format available.

Message #35 received at 39804 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: Leo Prikler <leo.prikler <at> student.tugraz.at>
Cc: Pierre Neidhardt <mail <at> ambrevar.xyz>, dario <dario.klingenberg <at> web.de>,
 Maxim Cournoyer <maxim.cournoyer <at> gmail.com>, 39804 <at> debbugs.gnu.org
Subject: Re: [bug#39804] [PATCH] gnu: add emacs-exwm-next package (i.e. exwm
 for emacs-next)
Date: Sun, 22 Mar 2020 21:52:44 -0400
Hello!

Leo Prikler <leo.prikler <at> student.tugraz.at> writes:

> Am Dienstag, den 10.03.2020, 23:54 -0400 schrieb Maxim Cournoyer:
>> Hello Leo,
>> 
>> Maxim Cournoyer <maxim.cournoyer <at> gmail.com> writes:
>> 
>> > Leo Prikler <leo.prikler <at> student.tugraz.at> writes:
>> > 
>> > > Am Freitag, den 28.02.2020, 09:32 +0100 schrieb Pierre Neidhardt:
>> > > > The `#:emacs` field tells the build system which Emacs package
>> > > > to use
>> > > > to
>> > > > build this package.  There may be something that not compatible
>> > > > between
>> > > > our current build system and emacs-next.
>> > > > 
>> > > > I've CC'ed Maxim and Leo, they might know more than me.
>> > > This issue should be addressed by #39375, which is currently
>> > > waiting to
>> > > be pushed to master or staging.
>> > 
>> > If we don't hear back from
>> > https://debbugs.gnu.org/cgi/bugreport.cgi?bug=39823 in a day or
>> > two, I'd
>> > be OK with pushing #39375 to master.
>> 
>> There have been no activity or reply on #39823 yet, so feel free to
>> push
>> the workaround discussed earlier (on the master branch is fine).
>> 
>> Maxim

> Following the discussion in 39823, we now have two options.
> 1. loading the library in advance as I do.
> 2. wrapping our code in `(eval ...)'.
> The latter has the advantage of not needing an additional function, but
> both require a build system change.
>
> WDYT?

I went with option 2, and tested that emacs-exwm-next could be built.
The relevant commit is afc6b1c0b635e3268795c0f766be408c5e9858e7 on
master.

Maxim




Information forwarded to guix-patches <at> gnu.org:
bug#39804; Package guix-patches. (Mon, 23 Mar 2020 08:59:01 GMT) Full text and rfc822 format available.

Message #38 received at 39804 <at> debbugs.gnu.org (full text, mbox):

From: Pierre Neidhardt <mail <at> ambrevar.xyz>
To: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>,
 Leo Prikler <leo.prikler <at> student.tugraz.at>
Cc: 39804 <at> debbugs.gnu.org, dario <dario.klingenberg <at> web.de>,
 Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: Re: [bug#39804] [PATCH] gnu: add emacs-exwm-next package (i.e. exwm
 for emacs-next)
Date: Mon, 23 Mar 2020 09:57:50 +0100
[Message part 1 (text/plain, inline)]
Thanks!

-- 
Pierre Neidhardt
https://ambrevar.xyz/
[signature.asc (application/pgp-signature, inline)]

This bug report was last modified 4 years and 37 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.