GNU bug report logs - #37717
[PATCH 0/3] gnu: Add kmonad.

Previous Next

Package: guix-patches;

Reported by: "Alex Griffin" <a <at> ajgrf.com>

Date: Sat, 12 Oct 2019 19:33:01 UTC

Severity: normal

Tags: patch

Done: "Alex Griffin" <a <at> ajgrf.com>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 37717 in the body.
You can then email your comments to 37717 AT debbugs.gnu.org in the normal way.

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#37717; Package guix-patches. (Sat, 12 Oct 2019 19:33:03 GMT) Full text and rfc822 format available.

Acknowledgement sent to "Alex Griffin" <a <at> ajgrf.com>:
New bug report received and forwarded. Copy sent to guix-patches <at> gnu.org. (Sat, 12 Oct 2019 19:33:03 GMT) Full text and rfc822 format available.

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

From: "Alex Griffin" <a <at> ajgrf.com>
To: guix-patches <at> gnu.org
Subject: [PATCH 0/3] gnu: Add kmonad.
Date: Sat, 12 Oct 2019 19:32:19 +0000
This patch series adds kmonad, an advanced keyboard remapping utility inspired by the open source QMK keyboard firmware project.

https://github.com/david-janssen/kmonad
-- 
Alex Griffin




Information forwarded to guix-patches <at> gnu.org:
bug#37717; Package guix-patches. (Sat, 12 Oct 2019 19:35:01 GMT) Full text and rfc822 format available.

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

From: "Alex Griffin" <a <at> ajgrf.com>
To: 37717 <at> debbugs.gnu.org
Subject: [PATCH 1/3] gnu: Add ghc-atomic-primops.
Date: Sat, 12 Oct 2019 19:33:58 +0000
[Message part 1 (text/plain, inline)]

-- 
Alex Griffin
[0001-gnu-Add-ghc-atomic-primops.patch (text/x-patch, attachment)]

Information forwarded to guix-patches <at> gnu.org:
bug#37717; Package guix-patches. (Sat, 12 Oct 2019 19:35:02 GMT) Full text and rfc822 format available.

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

From: "Alex Griffin" <a <at> ajgrf.com>
To: 37717 <at> debbugs.gnu.org
Subject: [PATCH 2/3] gnu: Add ghc-unagi-chan.
Date: Sat, 12 Oct 2019 19:34:27 +0000
[Message part 1 (text/plain, inline)]

-- 
Alex Griffin
[0002-gnu-Add-ghc-unagi-chan.patch (text/x-patch, attachment)]

Information forwarded to guix-patches <at> gnu.org:
bug#37717; Package guix-patches. (Sat, 12 Oct 2019 19:39:01 GMT) Full text and rfc822 format available.

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

From: "Alex Griffin" <a <at> ajgrf.com>
To: 37717 <at> debbugs.gnu.org
Subject: [PATCH 3/3] gnu: Add kmonad.
Date: Sat, 12 Oct 2019 19:38:10 +0000
[Message part 1 (text/plain, inline)]
This patch adds KMonad. A KMonad service is probably in order at some point, because to avoid running it as root you need to set up group permissions and udev rules.
-- 
Alex Griffin
[0003-gnu-Add-kmonad.patch (text/x-patch, attachment)]

Information forwarded to guix-patches <at> gnu.org:
bug#37717; Package guix-patches. (Sat, 12 Oct 2019 22:34:02 GMT) Full text and rfc822 format available.

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

From: "Alex Griffin" <a <at> ajgrf.com>
To: 37717 <at> debbugs.gnu.org
Subject: [PATCH 3/3] gnu: Add kmonad.
Date: Sat, 12 Oct 2019 22:32:58 +0000
[Message part 1 (text/plain, inline)]
I went ahead and added the necessary udev rule to the kmonad package. The revised patch is attached. I've tested it and confirmed that if you add your user to the input group, and include kmonad in your system udev rules [1], you can run kmonad as an unprivileged user.

[1]: https://guix.gnu.org/manual/en/html_node/Base-Services.html

-- 
Alex Griffin
[0003-gnu-Add-kmonad.patch (text/x-patch, attachment)]

Information forwarded to guix-patches <at> gnu.org:
bug#37717; Package guix-patches. (Fri, 18 Oct 2019 18:24:02 GMT) Full text and rfc822 format available.

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

From: Marius Bakke <mbakke <at> fastmail.com>
To: Alex Griffin <a <at> ajgrf.com>, 37717 <at> debbugs.gnu.org
Subject: Re: [bug#37717] [PATCH 1/3] gnu: Add ghc-atomic-primops.
Date: Fri, 18 Oct 2019 20:23:22 +0200
[Message part 1 (text/plain, inline)]
"Alex Griffin" <a <at> ajgrf.com> writes:

> From 77ff329dd34d307f19629086baf44c1623858fa1 Mon Sep 17 00:00:00 2001
> From: Alex Griffin <a <at> ajgrf.com>
> Date: Sat, 12 Oct 2019 13:34:43 -0500
> Subject: [PATCH 1/3] gnu: Add ghc-atomic-primops.
>
> * gnu/packages/haskell-xyz.scm (ghc-atomic-primops): New variable.

[...]

> diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm
> index 2977398880..37df2ed909 100644
> --- a/gnu/packages/haskell-xyz.scm
> +++ b/gnu/packages/haskell-xyz.scm
> @@ -381,6 +382,31 @@ over threads in Haskell, in which @code{Async a} is a concurrent thread that
>  will eventually deliver a value of type @code{a}.")
>      (license license:bsd-3)))
>  
> +(define-public ghc-atomic-primops
> +  (package
> +    (name "ghc-atomic-primops")
> +    (version "0.8.3")

Note: we follow the Stackage LTS versions for GHC 7.4, currently 12.26.
So I think we should take version 0.8.2 instead:

https://www.stackage.org/lts-12.26/package/atomic-primops-0.8.2

(hopefully Timothy or someone can correct me if I'm wrong here)

> +    (source
> +     (origin
> +       (method url-fetch)
> +       (uri (string-append
> +             "https://hackage.haskell.org/package/atomic-primops/atomic-primops-"
> +             version
> +             ".tar.gz"))

Can you align these lines a bit?

> +       (sha256
> +        (base32
> +         "03n5dmyplrqgbyf8dr91izkxci7gkl3i3fnp82i5ld869zrgjfh0"))))
> +    (build-system haskell-build-system)
> +    (inputs `(("ghc-primitive" ,ghc-primitive)))
> +    (home-page "https://github.com/rrnewton/haskell-lockfree/wiki")
> +    (synopsis "Safe approach to CAS and other atomic ops")
> +    (description
> +     "After GHC 7.4 a new @code{casMutVar#} primop became available, but it's
> +difficult to use safely, because pointer equality is a highly unstable property
> +in Haskell.  This library provides a safer method based on the concept of
> +@code{Ticket}s.")

Can you try to adjust the first sentence so that it reads better?
Perhaps something along the lines of "GHC 7.4 introduced a new
@code{casMutVar#} PrimOp which is difficult to use safely, because ...".

[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#37717; Package guix-patches. (Fri, 18 Oct 2019 18:29:02 GMT) Full text and rfc822 format available.

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

From: Marius Bakke <mbakke <at> fastmail.com>
To: Alex Griffin <a <at> ajgrf.com>, 37717 <at> debbugs.gnu.org
Subject: Re: [bug#37717] [PATCH 2/3] gnu: Add ghc-unagi-chan.
Date: Fri, 18 Oct 2019 20:28:31 +0200
[Message part 1 (text/plain, inline)]
"Alex Griffin" <a <at> ajgrf.com> writes:

> From 12b43fc165aafce2844f8edf9dad99f89bcad943 Mon Sep 17 00:00:00 2001
> From: Alex Griffin <a <at> ajgrf.com>
> Date: Sat, 12 Oct 2019 13:45:35 -0500
> Subject: [PATCH 2/3] gnu: Add ghc-unagi-chan.
>
> * gnu/packages/haskell-xyz.scm (ghc-unagi-chan): New variable.

[...]

> +(define-public ghc-unagi-chan
> +  (package
> +    (name "ghc-unagi-chan")
> +    (version "0.4.1.2")
> +    (source
> +     (origin
> +       (method url-fetch)
> +       (uri (string-append
> +             "https://hackage.haskell.org/package/unagi-chan/unagi-chan-"
> +             version
> +             ".tar.gz"))

I did not find this package in Stackage 12.26, so I guess it's OK to
take this one.  It's nice if you can prettify these lines, though :-)

> +       (sha256
> +        (base32
> +         "1lnl5n4jnjmm4chp461glcwkrrw63rjz3fvprwxcy3lkpbkrqvgn"))))
> +    (build-system haskell-build-system)
> +    (inputs
> +     `(("ghc-atomic-primops" ,ghc-atomic-primops)
> +       ("ghc-primitive" ,ghc-primitive)))
> +    (arguments
> +     `(#:tests? #f ; FIXME: Tests can't find Data.Primitive.Addr

Should this not be provided by 'ghc-primitive'?  Perhaps it is expecting
a different version?
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#37717; Package guix-patches. (Fri, 18 Oct 2019 18:38:01 GMT) Full text and rfc822 format available.

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

From: Marius Bakke <mbakke <at> fastmail.com>
To: Alex Griffin <a <at> ajgrf.com>, 37717 <at> debbugs.gnu.org
Subject: Re: [bug#37717] [PATCH 3/3] gnu: Add kmonad.
Date: Fri, 18 Oct 2019 20:37:31 +0200
[Message part 1 (text/plain, inline)]
"Alex Griffin" <a <at> ajgrf.com> writes:

> I went ahead and added the necessary udev rule to the kmonad package. The revised patch is attached. I've tested it and confirmed that if you add your user to the input group, and include kmonad in your system udev rules [1], you can run kmonad as an unprivileged user.

Nice work!

> From 93c0d7fd68c8bee08162dfb93725675dfd9d8101 Mon Sep 17 00:00:00 2001
> From: Alex Griffin <a <at> ajgrf.com>
> Date: Sat, 12 Oct 2019 13:55:49 -0500
> Subject: [PATCH 3/3] gnu: Add kmonad.
>
> * gnu/packages/haskell-apps.scm (kmonad): New variable.

[...]

> +(define-public kmonad
> +  (package
> +    (name "kmonad")
> +    (version "0.2.0")
> +    (source
> +     (origin
> +       (method git-fetch)
> +       (uri (git-reference
> +             (url "https://github.com/david-janssen/kmonad.git")
> +             (commit "06d7b8c709efa695be35df9bde91275cbb2ba099")))
> +       (file-name (git-file-name name version))
> +       (sha256
> +        (base32 "1rjr4h5yq63x3kad6yn4p8v26389sd9dgr5n2w73s1chafapzwwd"))))
> +    (build-system haskell-build-system)
> +    (arguments
> +     `(#:phases
> +       (modify-phases %standard-phases
> +         (delete 'haddock)             ; Haddock fails to generate docs
> +         (add-after 'install 'install-udev-rules
> +           (lambda* (#:key outputs #:allow-other-keys)
> +             (let* ((out (assoc-ref outputs "out"))
> +                    (rules (string-append out "/lib/udev/rules.d")))
> +               (mkdir-p rules)
> +               (with-output-to-file (string-append rules "/70-kmonad.rules")
> +                 (lambda _
> +                   (display
> +                    (string-append
> +                     "KERNEL==\"uinput\", MODE=\"0660\", "
> +                     "GROUP=\"input\", OPTIONS+=\"static_node=uinput\""))
> +                   (newline))))))

Nitpicking, but I have a preference for the more explicit
'call-with-output-file', as well as using 'format':

(call-with-output-file (string-append rules ...)
  (lambda (port)
    (format port "KERNEL...~%")))

YMMV.  This phase should return #t, though.

Otherwise LGTM.
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#37717; Package guix-patches. (Fri, 18 Oct 2019 18:48:01 GMT) Full text and rfc822 format available.

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

From: Marius Bakke <mbakke <at> fastmail.com>
To: Alex Griffin <a <at> ajgrf.com>, 37717 <at> debbugs.gnu.org
Subject: Re: [bug#37717] [PATCH 0/3] gnu: Add kmonad.
Date: Fri, 18 Oct 2019 20:47:20 +0200
[Message part 1 (text/plain, inline)]
"Alex Griffin" <a <at> ajgrf.com> writes:

> This patch series adds kmonad, an advanced keyboard remapping utility inspired by the open source QMK keyboard firmware project.
>
> https://github.com/david-janssen/kmonad

Thanks!  kmonad looks like a great tool.

I sent some feedback on the individual patches.  Can you create an
account on Savannah if you haven't already?  Then you can push the next
version yourself.  :-)

Please also send a reply to this message signed by the same GPG key that
you will use to sign commits, and make sure to upload it to Savannah.

Thanks in advance,
Marius
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#37717; Package guix-patches. (Sat, 26 Oct 2019 02:44:02 GMT) Full text and rfc822 format available.

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

From: Alex Griffin <a <at> ajgrf.com>
To: Marius Bakke <mbakke <at> fastmail.com>, 37717 <at> debbugs.gnu.org
Subject: Re: [bug#37717] [PATCH 0/3] gnu: Add kmonad.
Date: Fri, 25 Oct 2019 21:43:13 -0500
[Message part 1 (text/plain, inline)]
On 10/18/19 1:47 PM, Marius Bakke wrote:
> I sent some feedback on the individual patches.  Can you create an
> account on Savannah if you haven't already?  Then you can push the next
> version yourself.  :-)
> 
> Please also send a reply to this message signed by the same GPG key that
> you will use to sign commits, and make sure to upload it to Savannah.

Thanks! I've attached updated patches with the suggested changes,
created a Savannah account, and this email should be signed with my GPG key.

Kmonad 0.3 was released last week, but I don't think it can be updated
in Guix until we move to a newer Stackage.

> Should this not be provided by 'ghc-primitive'?  Perhaps it is
> expecting a different version?

From what I can gather, there were a few commits upstream to add support
for primitive 0.7 without breaking 0.6, but they forgot to make the same
change in the test suite.

https://github.com/jberryman/unagi-chan/commit/b4af3f2b0d76de701ec8ca4a17ab88f776fe80a9

-- 
Alex Griffin
[0001-gnu-Add-ghc-atomic-primops.patch (text/x-patch, attachment)]
[0002-gnu-Add-ghc-unagi-chan.patch (text/x-patch, attachment)]
[0003-gnu-Add-kmonad.patch (text/x-patch, attachment)]
[signature.asc (application/pgp-signature, attachment)]

Information forwarded to guix-patches <at> gnu.org:
bug#37717; Package guix-patches. (Mon, 28 Oct 2019 23:13:02 GMT) Full text and rfc822 format available.

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

From: Marius Bakke <mbakke <at> fastmail.com>
To: Alex Griffin <a <at> ajgrf.com>, 37717 <at> debbugs.gnu.org
Subject: Re: [bug#37717] [PATCH 0/3] gnu: Add kmonad.
Date: Tue, 29 Oct 2019 00:11:53 +0100
[Message part 1 (text/plain, inline)]
Alex Griffin <a <at> ajgrf.com> writes:

> On 10/18/19 1:47 PM, Marius Bakke wrote:
>> I sent some feedback on the individual patches.  Can you create an
>> account on Savannah if you haven't already?  Then you can push the next
>> version yourself.  :-)
>> 
>> Please also send a reply to this message signed by the same GPG key that
>> you will use to sign commits, and make sure to upload it to Savannah.
>
> Thanks! I've attached updated patches with the suggested changes,
> created a Savannah account, and this email should be signed with my GPG key.

Great!  I have added you to the Savannah project now.  \o/

Make sure to read HACKING, and enjoy your new commit superpowers.  :-)

> Kmonad 0.3 was released last week, but I don't think it can be updated
> in Guix until we move to a newer Stackage.

Right.  Rumor has it that a new Stackage LTS 14 branch is coming up,
perhaps you can be an early tester?  ;-)

>> Should this not be provided by 'ghc-primitive'?  Perhaps it is
>> expecting a different version?
>
> From what I can gather, there were a few commits upstream to add support
> for primitive 0.7 without breaking 0.6, but they forgot to make the same
> change in the test suite.
>
> https://github.com/jberryman/unagi-chan/commit/b4af3f2b0d76de701ec8ca4a17ab88f776fe80a9

OK.  Can you adjust the comment to mention that a newer ghc-primitive is
required?  Otherwise LGTM.

Thanks, and welcome!
[signature.asc (application/pgp-signature, inline)]

Reply sent to "Alex Griffin" <a <at> ajgrf.com>:
You have taken responsibility. (Wed, 30 Oct 2019 03:57:01 GMT) Full text and rfc822 format available.

Notification sent to "Alex Griffin" <a <at> ajgrf.com>:
bug acknowledged by developer. (Wed, 30 Oct 2019 03:57:02 GMT) Full text and rfc822 format available.

Message #40 received at 37717-done <at> debbugs.gnu.org (full text, mbox):

From: "Alex Griffin" <a <at> ajgrf.com>
To: "Marius Bakke" <mbakke <at> fastmail.com>, 37717-done <at> debbugs.gnu.org
Subject: Re: [bug#37717] [PATCH 0/3] gnu: Add kmonad.
Date: Wed, 30 Oct 2019 03:56:24 +0000
Just committed kmonad to master, marking this bug as done.

On Mon, Oct 28, 2019, at 11:11 PM, Marius Bakke wrote:
> Great!  I have added you to the Savannah project now.  \o/
> 
> Make sure to read HACKING, and enjoy your new commit superpowers.  :-)

> Thanks, and welcome! 

Thanks, I'm excited to be part of the project!

> Right.  Rumor has it that a new Stackage LTS 14 branch is coming up,
> perhaps you can be an early tester?  ;-)

Sure, I'll keep an eye out for it.

-- 
Alex Griffin




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Wed, 27 Nov 2019 12:24:04 GMT) Full text and rfc822 format available.

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

Previous Next


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