[PATCH] * gnu/packages/wm.scm: Add sbcl-stumpwm-pamixer

  • Done
  • quality assurance status badge
Details
3 participants
  • Guillaume Le Vaillant
  • Maxime Devos
  • Trevor Richards
Owner
unassigned
Submitted by
Trevor Richards
Severity
normal
T
T
Trevor Richards wrote on 12 Sep 2022 23:41
(address . guix-patches@gnu.org)
989c9758e8200e80725bba437bdbc6a3e5ccf56e.1663018914.git.trev@trevdev.ca
Hello,

This patch adds sbcl-stumpwm-pamixer which provides convenient commands
for manipulating your volume levels/sinks within stumpwm.

---
gnu/packages/wm.scm | 25 +++++++++++++++++++++++++
1 file changed, 25 insertions(+)

Toggle diff (38 lines)
diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm
index 451dfce516..3f2258db52 100644
--- a/gnu/packages/wm.scm
+++ b/gnu/packages/wm.scm
@@ -1986,6 +1986,31 @@ (define-public stumpish
(description "This package provides a StumpWM interactive shell.")
(license (list license:gpl2+ license:gpl3+ license:bsd-2))))
+(define-public sbcl-stumpwm-pamixer
+ (let ((commit "aa820533c80ea1af5a0e107cea25eaf34e69dc24")
+ (revision "1"))
+ (package
+ (name "sbcl-stumpwm-pamixer")
+ (version (git-version "0.1.1" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/Junker/stumpwm-pamixer.git")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0djcrr16bx40l7b60d4j507vk5l42fdgmjpgrnk86z1ba8wlqim8"))))
+ (inputs `(("stumpwm" ,stumpwm "lib")))
+ (propagated-inputs (list pamixer))
+ (build-system asdf-build-system/sbcl)
+ (arguments '(#:asd-systems '(:pamixer)))
+ (home-page "https://github.com/Junker/stumpwm-pamixer")
+ (synopsis "StumpWM Pamixer Module")
+ (description "Minimalistic Pulseaudio volume and microphone control
+module for StumpWM.")
+ (license license:gpl3))))
+
(define-public sbcl-stumpwm+slynk
(deprecated-package "sbcl-stumpwm-with-slynk" stumpwm+slynk))
--
2.37.3
T
T
Trevor Richards wrote on 12 Sep 2022 23:41
[PATCH] gnu: Add sbcl-stumpwm-pamixer
(address . 57757@debbugs.gnu.org)
ffcb7e876354b99698a9d0866ed4337a00678ac8.1663273983.git.trev@trevdev.ca
---
gnu/packages/wm.scm | 25 +++++++++++++++++++++++++
1 file changed, 25 insertions(+)

Toggle diff (38 lines)
diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm
index 451dfce516..3f2258db52 100644
--- a/gnu/packages/wm.scm
+++ b/gnu/packages/wm.scm
@@ -1986,6 +1986,31 @@ (define-public stumpish
(description "This package provides a StumpWM interactive shell.")
(license (list license:gpl2+ license:gpl3+ license:bsd-2))))
+(define-public sbcl-stumpwm-pamixer
+ (let ((commit "aa820533c80ea1af5a0e107cea25eaf34e69dc24")
+ (revision "1"))
+ (package
+ (name "sbcl-stumpwm-pamixer")
+ (version (git-version "0.1.1" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/Junker/stumpwm-pamixer.git")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0djcrr16bx40l7b60d4j507vk5l42fdgmjpgrnk86z1ba8wlqim8"))))
+ (inputs `(("stumpwm" ,stumpwm "lib")))
+ (propagated-inputs (list pamixer))
+ (build-system asdf-build-system/sbcl)
+ (arguments '(#:asd-systems '(:pamixer)))
+ (home-page "https://github.com/Junker/stumpwm-pamixer")
+ (synopsis "StumpWM Pamixer Module")
+ (description "Minimalistic Pulseaudio volume and microphone control
+module for StumpWM.")
+ (license license:gpl3))))
+
(define-public sbcl-stumpwm+slynk
(deprecated-package "sbcl-stumpwm-with-slynk" stumpwm+slynk))
--
2.37.3
G
G
Guillaume Le Vaillant wrote on 16 Sep 2022 09:50
(name . Trevor Richards)(address . trev@trevdev.ca)(address . 57757@debbugs.gnu.org)
875yhnrbml.fsf@kitej
Trevor Richards <trev@trevdev.ca> skribis:

Toggle quote (18 lines)
> ---
> gnu/packages/wm.scm | 25 +++++++++++++++++++++++++
> 1 file changed, 25 insertions(+)
>
> diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm
> index 451dfce516..3f2258db52 100644
> --- a/gnu/packages/wm.scm
> +++ b/gnu/packages/wm.scm
> @@ -1986,6 +1986,31 @@ (define-public stumpish
> (description "This package provides a StumpWM interactive shell.")
> (license (list license:gpl2+ license:gpl3+ license:bsd-2))))
>
> +(define-public sbcl-stumpwm-pamixer
> [...]
> + (inputs `(("stumpwm" ,stumpwm "lib")))
> + (propagated-inputs (list pamixer))
> [...]

Hi.

Instead of propagating pamixer, it would be better to put pamixer in
'inputs' and fix the path to the pamixer program in the 'run' function
in "pamixer.lisp". For example, take a look at the 'fix-paths' phase of
the sbcl-trivial-clipboard package.

Could you send an updated patch?
-----BEGIN PGP SIGNATURE-----

iIUEAREKAC0WIQTLxZxm7Ce5cXlAaz5r6CCK3yH+PwUCYyQtYg8cZ2x2QHBvc3Rl
by5uZXQACgkQa+ggit8h/j9FpgD/XUg/uB0D3HuvJrg7uwzM3fxVj1qVRbC0H19+
B1mfqHMA/i6pE9gsZML7JTxyxg1d3AsAlb2btQjQs4zuts8N52l7
=uMGH
-----END PGP SIGNATURE-----

M
M
Maxime Devos wrote on 16 Sep 2022 11:07
Re: [bug#57757] [PATCH] * gnu/packages/wm.scm: Add sbcl-stumpwm-pamixer
2d965d98-a1d7-34bd-4fd2-7a1f1aec8a37@telenet.be
On 12-09-2022 23:41, Trevor Richards wrote:
Toggle quote (1 lines)
> + (inputs `(("stumpwm" ,stumpwm "lib")))
Try running "./pre-inst-env guix style --input-simplification=always
sbcl-stumpwm-pamixer", it will have a proposed change.
Toggle quote (9 lines)
> + (source
> + (origin
> + (method git-fetch)
> + (uri (git-reference
> + (url "https://github.com/Junker/stumpwm-pamixer.git")
> + (commit commit)))
> + (file-name (git-file-name name version))
> + (sha256
> + (base32 "0djcrr16bx40l7b60d4j507vk5l42fdgmjpgrnk86z1ba8wlqim8"))))
IIUC, "guix lint" will have a lint message about that URI, asking you to
drop the .git suffix. '(guix)Submitting Patches' asks to run
'./pre-inst-env guix lint sbcl-stumpwm-pamixer'.
Greetings,
Maxime
Attachment: OpenPGP_signature
T
875yhjl9k2.fsf@codinator.mail-host-address-is-not-set
Maxime Devos <maximedevos@telenet.be> writes:

Toggle quote (7 lines)
> On 12-09-2022 23:41, Trevor Richards wrote:
>> + (inputs `(("stumpwm" ,stumpwm "lib")))
>
> Try running "./pre-inst-env guix style --input-simplification=always
> sbcl-stumpwm-pamixer", it will have a proposed change.
>

In my case it does not. I updated the label to "stumpwm:lib" in the
hopes that I could patch it the way we like it.

Toggle quote (15 lines)
>> + (source
>> + (origin
>> + (method git-fetch)
>> + (uri (git-reference
>> + (url "https://github.com/Junker/stumpwm-pamixer.git")
>> + (commit commit)))
>> + (file-name (git-file-name name version))
>> + (sha256
>> + (base32 "0djcrr16bx40l7b60d4j507vk5l42fdgmjpgrnk86z1ba8wlqim8"))))
>
> IIUC, "guix lint" will have a lint message about that URI, asking you to
> drop the .git suffix. '(guix)Submitting Patches' asks to run
> './pre-inst-env guix lint sbcl-stumpwm-pamixer'.
>

No problem, I dropped the .git

--

Trev : 0FB7 D06B 4A2A F07E AD5B 1169 183B 6306 8AA1 D206
T
T
Trevor Richards wrote on 12 Sep 2022 23:41
[PATCH] gnu: Add sbcl-stumpwm-pamixer
(address . 57757@debbugs.gnu.org)
cc085cbc2198cbd2964d70b88ac8bcafcb65d3ac.1663597618.git.trev@trevdev.ca
---
gnu/packages/wm.scm | 34 ++++++++++++++++++++++++++++++++++
1 file changed, 34 insertions(+)

Toggle diff (47 lines)
diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm
index 451dfce516..7e87079b22 100644
--- a/gnu/packages/wm.scm
+++ b/gnu/packages/wm.scm
@@ -1986,6 +1986,40 @@ (define-public stumpish
(description "This package provides a StumpWM interactive shell.")
(license (list license:gpl2+ license:gpl3+ license:bsd-2))))
+(define-public sbcl-stumpwm-pamixer
+ (let ((commit "aa820533c80ea1af5a0e107cea25eaf34e69dc24")
+ (revision "1"))
+ (package
+ (name "sbcl-stumpwm-pamixer")
+ (version (git-version "0.1.1" revision commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/Junker/stumpwm-pamixer")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0djcrr16bx40l7b60d4j507vk5l42fdgmjpgrnk86z1ba8wlqim8"))))
+ (inputs `(("stumpwm:lib" ,stumpwm "lib")
+ ("pamixer", pamixer)))
+ (build-system asdf-build-system/sbcl)
+ (arguments
+ `(#:asd-systems '(:pamixer)
+ #:phases
+ ,#~(modify-phases %standard-phases
+ (add-after 'unpack 'patch-pamixer
+ (lambda _
+ (substitute* "pamixer.lisp"
+ (("\"pamixer \"")
+ (string-append
+ "\"" #$pamixer "/bin/pamixer \""))))))))
+ (home-page "https://github.com/Junker/stumpwm-pamixer")
+ (synopsis "StumpWM Pamixer Module")
+ (description "Minimalistic Pulseaudio volume and microphone control
+module for StumpWM.")
+ (license license:gpl3))))
+
(define-public sbcl-stumpwm+slynk
(deprecated-package "sbcl-stumpwm-with-slynk" stumpwm+slynk))
--
2.37.3
M
M
Maxime Devos wrote on 19 Sep 2022 18:17
Re: [bug#57757] [PATCH] * gnu/packages/wm.scm: Add sbcl-stumpwm-pamixer
1d05c9af-ab37-6838-e455-90800ac78693@telenet.be
On 19-09-2022 16:31, Trev wrote:
Toggle quote (11 lines)
> Maxime Devos <maximedevos@telenet.be> writes:
>
>> On 12-09-2022 23:41, Trevor Richards wrote:
>>> + (inputs `(("stumpwm" ,stumpwm "lib")))
>>
>> Try running "./pre-inst-env guix style --input-simplification=always
>> sbcl-stumpwm-pamixer", it will have a proposed change.
>>
>
> In my case it does not. I updated the label to "stumpwm:lib" in the
> hopes that I could patch it the way we like it.
OK, didn't expect that. IIUC, you can drop the input label with
(inputs (list `(,stumpwm "lib")))
Greetings,
Maxime.
Attachment: OpenPGP_signature
T
87pmfrjmsi.fsf@codinator.mail-host-address-is-not-set
Maxime Devos <maximedevos@telenet.be> writes:

Toggle quote (15 lines)
>>> On 12-09-2022 23:41, Trevor Richards wrote:
>>>> + (inputs `(("stumpwm" ,stumpwm "lib")))
>>>
>>> Try running "./pre-inst-env guix style --input-simplification=always
>>> sbcl-stumpwm-pamixer", it will have a proposed change.
>>>
>>
>> In my case it does not. I updated the label to "stumpwm:lib" in the
>> hopes that I could patch it the way we like it.
>
> OK, didn't expect that. IIUC, you can drop the input label with
>
> (inputs (list `(,stumpwm "lib")))
>

Yes, this is preferrable. I will send a third revision of the patch.

--

Trev : 0FB7 D06B 4A2A F07E AD5B 1169 183B 6306 8AA1 D206
-----BEGIN PGP SIGNATURE-----

iIYEARYIAC4WIQTXT7EGCbVt/Iwh9m+FRs+EoT3V7wUCYyim4RAcdHJldkB0cmV2
ZGV2LmNhAAoJEIVGz4ShPdXvzOYA/A3QbUmv8m06ltMDXhE9cfyS5yorJNYbhaLb
f7CMdutCAPwNgzhjBgyYiyQ1BHR2XlpOYyNWgo7F11uq/SITTPvBDA==
=/1jT
-----END PGP SIGNATURE-----

T
T
Trevor Richards wrote on 19 Sep 2022 19:47
[PATCH] gnu: Add sbcl-stumpwm-pamixer
(address . 57757@debbugs.gnu.org)(name . Maxime Devos)(address . maximedevos@telenet.be)
eac2dee14619f97f9064c3c87c37f3f2f806b8dc.1663608658.git.trev@trevdev.ca
---
gnu/packages/wm.scm | 34 ++++++++++++++++++++++++++++++++++
1 file changed, 34 insertions(+)

Toggle diff (47 lines)
diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm
index 451dfce516..dd1e81544f 100644
--- a/gnu/packages/wm.scm
+++ b/gnu/packages/wm.scm
@@ -1986,6 +1986,40 @@ (define-public stumpish
(description "This package provides a StumpWM interactive shell.")
(license (list license:gpl2+ license:gpl3+ license:bsd-2))))
+(define-public sbcl-stumpwm-pamixer
+ (let ((commit "aa820533c80ea1af5a0e107cea25eaf34e69dc24")
+ (revision "1"))
+ (package
+ (name "sbcl-stumpwm-pamixer")
+ (version (git-version "0.1.1" revision commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/Junker/stumpwm-pamixer")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0djcrr16bx40l7b60d4j507vk5l42fdgmjpgrnk86z1ba8wlqim8"))))
+ (inputs (list `(,stumpwm "lib")
+ pamixer))
+ (build-system asdf-build-system/sbcl)
+ (arguments
+ `(#:asd-systems '(:pamixer)
+ #:phases
+ ,#~(modify-phases %standard-phases
+ (add-after 'unpack 'patch-pamixer
+ (lambda _
+ (substitute* "pamixer.lisp"
+ (("\"pamixer \"")
+ (string-append
+ "\"" #$pamixer "/bin/pamixer \""))))))))
+ (home-page "https://github.com/Junker/stumpwm-pamixer")
+ (synopsis "StumpWM Pamixer Module")
+ (description "Minimalistic Pulseaudio volume and microphone control
+module for StumpWM.")
+ (license license:gpl3))))
+
(define-public sbcl-stumpwm+slynk
(deprecated-package "sbcl-stumpwm-with-slynk" stumpwm+slynk))
--
2.37.3
-----BEGIN PGP SIGNATURE-----

iIYEARYIAC4WIQTXT7EGCbVt/Iwh9m+FRs+EoT3V7wUCYyirLRAcdHJldkB0cmV2
ZGV2LmNhAAoJEIVGz4ShPdXvw9wA/jc0JXOG6Wkk4YgTygR/Z1JM2482HBLuDsX8
FPL+HHkBAP9xr6a+Svi1wV6v1vIQU4QBFqPU8rdk/uoq+a28pOR0Dg==
=S3fV
-----END PGP SIGNATURE-----

M
M
Maxime Devos wrote on 19 Sep 2022 20:05
c17ba19e-de41-1265-a834-31f87697cd42@telenet.be
On 19-09-2022 19:47, Trevor Richards wrote:
Toggle quote (10 lines)
> + (arguments
> + `(#:asd-systems '(:pamixer)
> + #:phases
> + ,#~(modify-phases %standard-phases
> + (add-after 'unpack 'patch-pamixer
> + (lambda _
> + (substitute* "pamixer.lisp"
> + (("\"pamixer \"")
> + (string-append
> + "\"" #$pamixer "/bin/pamixer \""))))))))
To support --with-input transformations, you can't do #$input, you have
to do #$(this-package-input "pamixer") instead -- or better, don't
depend on input labels, by using (search-input-file inputs
"bin/pamixer") instead.
Greetings,
Maxime.
Attachment: OpenPGP_signature
T
87h713jkbn.fsf@codinator.mail-host-address-is-not-set
Maxime Devos <maximedevos@telenet.be> writes:

Toggle quote (18 lines)
> On 19-09-2022 19:47, Trevor Richards wrote:
>> + (arguments
>> + `(#:asd-systems '(:pamixer)
>> + #:phases
>> + ,#~(modify-phases %standard-phases
>> + (add-after 'unpack 'patch-pamixer
>> + (lambda _
>> + (substitute* "pamixer.lisp"
>> + (("\"pamixer \"")
>> + (string-append
>> + "\"" #$pamixer "/bin/pamixer \""))))))))
>
> To support --with-input transformations, you can't do #$input, you have
> to do #$(this-package-input "pamixer") instead -- or better, don't
> depend on input labels, by using (search-input-file inputs
> "bin/pamixer") instead.
>

Thanks for the feedback. It's hard to tell when a gexp is appropriate
and where it's not, or how to properly evaluate it all at the right
time. The current patch builds. Is this problematic in the sense that
it's using some reference to #$pamixer that is not actually a part of
the build environment?

Note I had to use a quasiqote and unquote for the `gexp` to work.
Transforming the arguments into a list so I would not have to do this
breaks the #:asd-systems keyword value somehow.

When I observe the source code it's kinda all over the place when it
comes to using gexps in some way or when not to.

I will patch this again and document a note about this but if there's
any clarifying documentation I would happily read it. Apologies in
advance if I have missed existing documentation.

--

Trev : 0FB7 D06B 4A2A F07E AD5B 1169 183B 6306 8AA1 D206
-----BEGIN PGP SIGNATURE-----

iIYEARYIAC4WIQTXT7EGCbVt/Iwh9m+FRs+EoT3V7wUCYyizXBAcdHJldkB0cmV2
ZGV2LmNhAAoJEIVGz4ShPdXvNTEBAJXKHWWy5MT0/hj8aOukYauxqcSekkCJ0vb2
3J9Ty9MgAP92oj5fx2KVYvqI9AafuahyXZqKlwPYeu7f59BCf3p+BQ==
=kOjI
-----END PGP SIGNATURE-----

M
M
Maxime Devos wrote on 19 Sep 2022 20:33
37a6bd56-c9d9-f269-0df6-3eaec651a871@telenet.be
On 19-09-2022 20:22, Trev wrote:
Toggle quote (25 lines)
> Maxime Devos <maximedevos@telenet.be> writes:
>
>> On 19-09-2022 19:47, Trevor Richards wrote:
>>> + (arguments
>>> + `(#:asd-systems '(:pamixer)
>>> + #:phases
>>> + ,#~(modify-phases %standard-phases
>>> + (add-after 'unpack 'patch-pamixer
>>> + (lambda _
>>> + (substitute* "pamixer.lisp"
>>> + (("\"pamixer \"")
>>> + (string-append
>>> + "\"" #$pamixer "/bin/pamixer \""))))))))
>>
>> To support --with-input transformations, you can't do #$input, you have
>> to do #$(this-package-input "pamixer") instead -- or better, don't
>> depend on input labels, by using (search-input-file inputs
>> "bin/pamixer") instead.
>>
>
> Thanks for the feedback. It's hard to tell when a gexp is appropriate
> and where it's not, or how to properly evaluate it all at the right
> time. The current patch builds. Is this problematic in the sense that
> it's using some reference to #$pamixer that is not actually a part of
> the build environment?
It is inappropriate in the sense that '--with-input' rewrites the
'inputs', 'native-inputs' and 'propagated-inputs' fields, but not the
contents of the G-exp.
Toggle quote (3 lines)
> Note I had to use a quasiqote and unquote for the `gexp` to work.
> Transforming the arguments into a list so I would not have to do this
> breaks the #:asd-systems keyword value somehow.
How about:
(arguments
(list #:asd-systems ''(:pa-mixers)
#:phases
#~(modify-phases [...])))
(i.e., you are removing a layer of quoting by turning the quasiquote
into a quote, so it needs to be readded for the #:asd-systems).
Toggle quote (7 lines)
>
> When I observe the source code it's kinda all over the place when it
> comes to using gexps in some way or when not to.
>
> I will patch this again and document a note about this but if there's
> any clarifying documentation I would happily read it. Apologies in
> advance if I have missed existing documentation.
I'm not aware of any, though I'd like to note that G-exps are new-ish
and hence the 'all over the place' is more "guix style doesn't know how
to transform this kind of old thing yet" than "we chose for s-exps
instead of G-exps".
Greetings,
Maxime.
Attachment: OpenPGP_signature
T
8735cn9hfm.fsf@codinator.mail-host-address-is-not-set
Maxime Devos <maximedevos@telenet.be> writes:

Toggle quote (32 lines)
> On 19-09-2022 20:22, Trev wrote:
>> Maxime Devos <maximedevos@telenet.be> writes:
>>
>>> On 19-09-2022 19:47, Trevor Richards wrote:
>>>> + (arguments
>>>> + `(#:asd-systems '(:pamixer)
>>>> + #:phases
>>>> + ,#~(modify-phases %standard-phases
>>>> + (add-after 'unpack 'patch-pamixer
>>>> + (lambda _
>>>> + (substitute* "pamixer.lisp"
>>>> + (("\"pamixer \"")
>>>> + (string-append
>>>> + "\"" #$pamixer "/bin/pamixer \""))))))))
>>>
>>> To support --with-input transformations, you can't do #$input, you have
>>> to do #$(this-package-input "pamixer") instead -- or better, don't
>>> depend on input labels, by using (search-input-file inputs
>>> "bin/pamixer") instead.
>>>
>>
>> Thanks for the feedback. It's hard to tell when a gexp is appropriate
>> and where it's not, or how to properly evaluate it all at the right
>> time. The current patch builds. Is this problematic in the sense that
>> it's using some reference to #$pamixer that is not actually a part of
>> the build environment?
>
> It is inappropriate in the sense that '--with-input' rewrites the
> 'inputs', 'native-inputs' and 'propagated-inputs' fields, but not the
> contents of the G-exp.
>

I see. I am not yet familiar with the --with-input flag. I will
explore this feature, thank you.

Toggle quote (15 lines)
>> Note I had to use a quasiqote and unquote for the `gexp` to work.
>> Transforming the arguments into a list so I would not have to do this
>> breaks the #:asd-systems keyword value somehow.
>
> How about:
>
> (arguments
> (list #:asd-systems ''(:pa-mixers)
> #:phases
> #~(modify-phases [...])))
>
> (i.e., you are removing a layer of quoting by turning the quasiquote
> into a quote, so it needs to be readded for the #:asd-systems).
>

I see a double-quote there with ~''(:pamixer)~ - which is not something
I have ever tried to do before. Is this a typo?

I had tried (list #:asd-systems '(:pamixer) #:phases #~([...])) and the
build failed due '(:pamixer) somehow not returning anything from a (car)
function.

Sometimes errors elsewhere cause nebulous tracebacks. I will try this again.

Toggle quote (13 lines)
>>
>> When I observe the source code it's kinda all over the place when it
>> comes to using gexps in some way or when not to.
>>
>> I will patch this again and document a note about this but if there's
>> any clarifying documentation I would happily read it. Apologies in
>> advance if I have missed existing documentation.
>
> I'm not aware of any, though I'd like to note that G-exps are new-ish
> and hence the 'all over the place' is more "guix style doesn't know how
> to transform this kind of old thing yet" than "we chose for s-exps
> instead of G-exps".

I like the new way of using gexps. They are more terse than needing to
assoc reference inputs/outputs. The thought of as slow transition
happening had occured to me. I appreciate your insight.

--

Trev : 0FB7 D06B 4A2A F07E AD5B 1169 183B 6306 8AA1 D206
-----BEGIN PGP SIGNATURE-----

iIYEARYIAC4WIQTXT7EGCbVt/Iwh9m+FRs+EoT3V7wUCYyjgfRAcdHJldkB0cmV2
ZGV2LmNhAAoJEIVGz4ShPdXvvFUBALGYCyaCuw2TSuFOefPqiJqfae43HHhPw3ry
npF6OKlxAP9OyjkwLGGZ+ESVSFPVvForWOd4IO6eycT98fgwMeFeAQ==
=df3y
-----END PGP SIGNATURE-----

T
T
Trevor Richards wrote on 20 Sep 2022 06:38
[PATCH] gnu: Add sbcl-stumpwm-pamixer
807a9ee32b728e44e58be589cb79f6ce5a265c0f.1663648501.git.trev@trevdev.ca
---
gnu/packages/wm.scm | 34 ++++++++++++++++++++++++++++++++++
1 file changed, 34 insertions(+)

Toggle diff (47 lines)
diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm
index f329020eb4..912cddbca3 100644
--- a/gnu/packages/wm.scm
+++ b/gnu/packages/wm.scm
@@ -1987,6 +1987,40 @@ (define-public stumpish
(description "This package provides a StumpWM interactive shell.")
(license (list license:gpl2+ license:gpl3+ license:bsd-2))))
+(define-public sbcl-stumpwm-pamixer
+ (let ((commit "aa820533c80ea1af5a0e107cea25eaf34e69dc24")
+ (revision "1"))
+ (package
+ (name "sbcl-stumpwm-pamixer")
+ (version (git-version "0.1.1" revision commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/Junker/stumpwm-pamixer")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0djcrr16bx40l7b60d4j507vk5l42fdgmjpgrnk86z1ba8wlqim8"))))
+ (inputs (list `(,stumpwm "lib") pamixer))
+ (build-system asdf-build-system/sbcl)
+ (arguments
+ (list #:asd-systems ''(:pamixer)
+ #:phases #~(modify-phases %standard-phases
+ (add-after 'unpack 'patch-pamixer
+ (lambda _
+ (substitute* "pamixer.lisp"
+ (("\"pamixer \"")
+ (string-append "\""
+ #$(this-package-input
+ "pamixer")
+ "/bin/pamixer \""))))))))
+ (home-page "https://github.com/Junker/stumpwm-pamixer")
+ (synopsis "StumpWM Pamixer Module")
+ (description "Minimalistic Pulseaudio volume and microphone control
+module for StumpWM.")
+ (license license:gpl3))))
+
(define-public sbcl-stumpwm+slynk
(deprecated-package "sbcl-stumpwm-with-slynk" stumpwm+slynk))
--
2.37.3
-----BEGIN PGP SIGNATURE-----

iIYEARYIAC4WIQTXT7EGCbVt/Iwh9m+FRs+EoT3V7wUCYylD4hAcdHJldkB0cmV2
ZGV2LmNhAAoJEIVGz4ShPdXv9soBANTuuZ3TTuqgPiLiuUMCWGSIIBLL/yd/yu3h
DWpyBWQnAQC7hRl2LE6l3WkA5LPyYnyqosr1YPIa2zCCEyAs3I1NCQ==
=SMci
-----END PGP SIGNATURE-----

G
G
Guillaume Le Vaillant wrote on 20 Sep 2022 09:17
(name . Trevor Richards)(address . trev@trevdev.ca)(address . 57757-done@debbugs.gnu.org)
87h712qzs8.fsf@kitej
Patch pushed as 4248fe076e006eb493320b23b4ddb9ebca36adbd.
Thanks.
-----BEGIN PGP SIGNATURE-----

iIUEAREKAC0WIQTLxZxm7Ce5cXlAaz5r6CCK3yH+PwUCYylpVw8cZ2x2QHBvc3Rl
by5uZXQACgkQa+ggit8h/j/pdQD8CIf2iZrLwdA734zzJgAfyzdRdvZCfdNC25z9
uO2BsrQA/2tODji2Flf4WfrpeWCYsP0yJbTh3wg29vCw08401e3c
=A2Rj
-----END PGP SIGNATURE-----

Closed
M
M
Maxime Devos wrote on 22 Sep 2022 21:08
Re: [PATCH] gnu: Add sbcl-stumpwm-pamixer
3ed10c4a-a3b8-3303-cc79-fbc1f9a90e41@telenet.be
On 19-09-2022 23:34, Trev wrote:
Toggle quote (10 lines)
>> (arguments
>> (list #:asd-systems ''(:pa-mixers)
>> #:phases
>> #~(modify-phases [...])))
>>
>> (i.e., you are removing a layer of quoting by turning the quasiquote
>> into a quote, so it needs to be readded for the #:asd-systems).
>>
> I see a double-quote there with ~''(:pamixer)~ - which is not something
> I have ever tried to do before. Is this a typo?
No, it's intentional -- if you do '(:pa-mixers), the code (:pa-mixers)
is passed to the builder, but that can't work, as :pa-mixers is
undefined (or a keyword, depending on how the Guile reader is
configured). If you do ''(:pa-mixers), the code '(:pa-mixers) is passed
to the builder, as intended.
If you change ''(:pa-mixers) to '(pa-mixers), then I expect you'll get a
build failure.
Greetings,
Maxime.
Attachment: OpenPGP_signature
T
87mtar6tbx.fsf@codinator.mail-host-address-is-not-set
Maxime Devos <maximedevos@telenet.be> writes:

Toggle quote (22 lines)
> On 19-09-2022 23:34, Trev wrote:
>>> (arguments
>>> (list #:asd-systems ''(:pa-mixers)
>>> #:phases
>>> #~(modify-phases [...])))
>>>
>>> (i.e., you are removing a layer of quoting by turning the quasiquote
>>> into a quote, so it needs to be readded for the #:asd-systems).
>>>
>> I see a double-quote there with ~''(:pamixer)~ - which is not something
>> I have ever tried to do before. Is this a typo?
>
> No, it's intentional -- if you do '(:pa-mixers), the code (:pa-mixers)
> is passed to the builder, but that can't work, as :pa-mixers is
> undefined (or a keyword, depending on how the Guile reader is
> configured). If you do ''(:pa-mixers), the code '(:pa-mixers) is passed
> to the builder, as intended.
>
> If you change ''(:pa-mixers) to '(pa-mixers), then I expect you'll get a
> build failure.
>

I feel a little silly because after I asked my question I went ahead and
ran a ripgrep on the project root for a pattern of ''( and found
numerous occurences of it. Of course it failed without the double
quote.

Thanks for all of your helpful feedback. I have made notes so that I
can recall these concepts later.

--

Trev : 0FB7 D06B 4A2A F07E AD5B 1169 183B 6306 8AA1 D206
-----BEGIN PGP SIGNATURE-----

iIYEARYIAC4WIQTXT7EGCbVt/Iwh9m+FRs+EoT3V7wUCYyzHAxAcdHJldkB0cmV2
ZGV2LmNhAAoJEIVGz4ShPdXvxYoBAOKRnUIIW86kanSakfTY5+K6MiM2Q6UHkTRJ
+P3ILx0hAP903tiViP3DviNMs7Oq3BRO7twROsHAwtvmzbXLlXJOAQ==
=ZFAe
-----END PGP SIGNATURE-----

?