Subject: bug#75433: closed (Re: [bug#75433] [PATCH] Adding libvarlink and support for kanshictl)

From: [email-masked] (GNU bug Tracking System)
Date: Sun, 12 Jan 2025 04:41:02 +0000

Your bug report

#75433: [PATCH] Adding libvarlink and support for kanshictl

which was filed against the guix-patches package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
75433: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=75433
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: [bug#75433] [PATCH] Adding libvarlink and support for kanshictl
From: Zheng Junjie <[email-masked]>
To: Till Robin Zickel <[email-masked]>
Cc: [email-masked]
Date: Sun, 12 Jan 2025 12:40:04 +0800
List-Id: <debbugs-submit.debbugs.gnu.org>

Till Robin Zickel <[email-masked]> writes:

> Kanshi (https://git.sr.ht/~emersion/kanshi) has added support for
> controlling the daemon remotely. To enable this, kanshi has to be
> build with libvarlink present. This patch adds libvarlink to the
> serialization.scm and extends the kanshi package inputs.
>
> I tested the build on amd64 and on aarch64 with qemu as per the
> guide. Unfortunately my laptop ran out of disk space while compiling
> the toolchain for armhf so I did not test that.
>
> [2. text/x-patch; 0001-gnu-added-libvarlink-and-added-it-as-dependency-to-k.patch]...

please use 'git send-email' next.

>
> [3. OpenPGP public key --- application/pgp-keys; OpenPGP_0x47934FBE9284E6D0.asc]...

> +
> +(define-public libvarlink
> +  (package
> +    (name "libvarlink")
> +    (version "24")
> +    (source
> +     (origin
> +       (method git-fetch)
> +       (uri (git-reference
> +             (url "https://github.com/varlink/libvarlink")
> +             (commit "24")))

use (commit version).

> +       (file-name (git-file-name name version))
> +       (sha256
> +        (base32 "098jw9h48p2py6lwxyjrlzvv9zqvqgfsxc4pddfsviab65n9n5gw"))))
> +    (build-system meson-build-system)
> +    (inputs (list))

If there is no input, you don't have to write it.

> +    (native-inputs (list python glibc-utf8-locales)) ;needed for unit tests

use python-minimal. Reduce dependency size.

> +    (arguments
> +     (list
> +      #:phases #~(modify-phases %standard-phases
> +                   (add-after 'unpack 'patch-/bin/sh
> +                     (lambda _
> +                       (substitute* "lib/meson.build"
> +                         (("/bin/sh")
> +                          (which "sh")))))
> +                   (add-after 'unpack 'patch-/usr/bin/env
> +                     (lambda _
> +                       (substitute* "varlink-wrapper.py"
> +                         (("/usr/bin/env")
> +                          (which "env"))))))))
> +    (home-page "https://varlink.org/")
> +    (synopsis "Varlink C IPC library and command line tool")
> +    (description
> +     "This package provides the C implementation of the varlink
> +interface description protocol and its associated command line tool")
> +    (license license:asl2.0)))
> diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm
> index 1da2e752ff..77ff61c5d8 100644
> --- a/gnu/packages/wm.scm
> +++ b/gnu/packages/wm.scm
> @@ -2561,7 +2561,7 @@ (define-public kanshi
>         (sha256
>          (base32 "0g5glpkcn54ypfym4lpfdjai479yfazcai1rg86bn72nkcbpwfql"))))
>      (build-system meson-build-system)
> -    (inputs (list libscfg wayland))
> +    (inputs (list libscfg libvarlink wayland))
>      (native-inputs (append (if (%current-target-system)
>                                 (list pkg-config-for-build)
>                                 (list))
> -- 
I split it into separate commit.

And pushed. closing.

Subject: [PATCH] Adding libvarlink and support for kanshictl
From: Till Robin Zickel <[email-masked]>
To: [email-masked]
Date: Wed, 8 Jan 2025 13:15:59 +0100
List-Id: <debbugs-submit.debbugs.gnu.org>

Kanshi (https://git.sr.ht/~emersion/kanshi) has added support for 
controlling the daemon remotely. To enable this, kanshi has to be build 
with libvarlink present. This patch adds libvarlink to the 
serialization.scm and extends the kanshi package inputs.

I tested the build on amd64 and on aarch64 with qemu as per the guide. 
Unfortunately my laptop ran out of disk space while compiling the 
toolchain for armhf so I did not test that.
From 479a896bcbd1b539faa12c6183453be4b0adfc7b Mon Sep 17 00:00:00 2001
From: Till Robin Zickel <[email-masked]>
Date: Wed, 8 Jan 2025 13:13:33 +0100
Subject: [PATCH] gnu: added libvarlink and added it as dependency to kanshi

Change-Id: I7b4bfe83dd893a6cf6b0e58486822a182fadbcbc
---
 gnu/packages/serialization.scm | 37 ++++++++++++++++++++++++++++++++++
 gnu/packages/wm.scm            |  2 +-
 2 files changed, 38 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/serialization.scm b/gnu/packages/serialization.scm
index 1a965103aa..22445f124d 100644
--- a/gnu/packages/serialization.scm
+++ b/gnu/packages/serialization.scm
@@ -1036,3 +1036,40 @@ (define-public valijson
 C++11.  It provides a simple validation API that allows loading JSON Schemas,
 and validate documents loaded by one of several supported parser libraries.")
     (license license:bsd-2)))
+
+(define-public libvarlink
+  (package
+    (name "libvarlink")
+    (version "24")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/varlink/libvarlink")
+             (commit "24")))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "098jw9h48p2py6lwxyjrlzvv9zqvqgfsxc4pddfsviab65n9n5gw"))))
+    (build-system meson-build-system)
+    (inputs (list))
+    (native-inputs (list python glibc-utf8-locales)) ;needed for unit tests
+    (arguments
+     (list
+      #:phases #~(modify-phases %standard-phases
+                   (add-after 'unpack 'patch-/bin/sh
+                     (lambda _
+                       (substitute* "lib/meson.build"
+                         (("/bin/sh")
+                          (which "sh")))))
+                   (add-after 'unpack 'patch-/usr/bin/env
+                     (lambda _
+                       (substitute* "varlink-wrapper.py"
+                         (("/usr/bin/env")
+                          (which "env"))))))))
+    (home-page "https://varlink.org/")
+    (synopsis "Varlink C IPC library and command line tool")
+    (description
+     "This package provides the C implementation of the varlink
+interface description protocol and its associated command line tool")
+    (license license:asl2.0)))
+
diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm
index 1da2e752ff..77ff61c5d8 100644
--- a/gnu/packages/wm.scm
+++ b/gnu/packages/wm.scm
@@ -2561,7 +2561,7 @@ (define-public kanshi
        (sha256
         (base32 "0g5glpkcn54ypfym4lpfdjai479yfazcai1rg86bn72nkcbpwfql"))))
     (build-system meson-build-system)
-    (inputs (list libscfg wayland))
+    (inputs (list libscfg libvarlink wayland))
     (native-inputs (append (if (%current-target-system)
                                (list pkg-config-for-build)
                                (list))
-- 
2.47.1