Subject: bug#52370: closed (Re: [bug#52370] [PATCH] gnu: i3status-rust: Add missing inputs.)

From: [email-masked] (GNU bug Tracking System)
Date: Sat, 11 Dec 2021 14:37:02 +0000

Your bug report

#52370: [PATCH] gnu: i3status-rust: Add missing inputs.

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].

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

Subject: Re: [bug#52370] [PATCH] gnu: i3status-rust: Add missing inputs.
From: Nicolas Goaziou <[email-masked]>
To: phodina via Guix-patches via <[email-masked]>
Cc: phodina <[email-masked]>, [email-masked], Efraim Flashner <[email-masked]>
Date: Sat, 11 Dec 2021 15:36:35 +0100
List-Id: <debbugs-submit.debbugs.gnu.org>

Hello,

phodina via Guix-patches via <[email-masked]> writes:

> here's an update of i3status-rust package. There are additional inputs
> and the whole binary is wrapped as it executes shell commands.

Applied. Thank you.

Regards,
-- 
Nicolas Goaziou

Subject: [PATCH] gnu: i3status-rust: Add missing inputs.
From: phodina <[email-masked]>
To: Guix Patches <[email-masked]>
Cc: Efraim Flashner <[email-masked]>
Date: Wed, 08 Dec 2021 09:16:40 +0000
List-Id: <debbugs-submit.debbugs.gnu.org>

Hi,

here's an update of i3status-rust package. There are additional inputs and the whole binary is wrapped as it executes shell commands.

I double checked if it works correctly by running it within guix shell environment.
./pre-inst-env guix shell --check --pure i3status-rust

From f5469445ec849136879fca29495fd7cfabaf4e04 Mon Sep 17 00:00:00 2001
From: Petr Hodina <[email-masked]>
Date: Wed, 8 Dec 2021 03:30:15 +0100
Subject: [PATCH] gnu: i3status-rust: Add missing inputs.

* gnu/packages/rust-apps (i3status-rust)[inputs]: Add alsa-utils,
  bash-minmal, coreutils, ibus, iproute, kdeconnect, lm-sensors, setxkbmap,
  speedtest-cli, xdg-utils, xrandr.
  [arguments]: Add phase to wrap-program bin/i3status-rs.
* gnu/local.mk: Add patch (change not applied in
  575fcd3045ff1649e5319b6701ff9e28e97793e0)

diff --git a/gnu/local.mk b/gnu/local.mk
index b91d6eaa62..45f25ddfbb 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1741,6 +1741,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/rust-adblock-ignore-live-tests.patch		\
   %D%/packages/patches/rust-bootstrap-stage0-test.patch		\
   %D%/packages/patches/rust-coresimd-doctest.patch		\
+  %D%/packages/patches/i3status-rust-enable-unstable-features.patch	\
   %D%/packages/patches/rust-ndarray-remove-blas-src-dep.patch	\
   %D%/packages/patches/rust-ndarray-0.13-remove-blas-src.patch	\
   %D%/packages/patches/rust-nettle-disable-vendor.patch		 \
diff --git a/gnu/packages/rust-apps.scm b/gnu/packages/rust-apps.scm
index 136885bc23..41d54843ff 100644
--- a/gnu/packages/rust-apps.scm
+++ b/gnu/packages/rust-apps.scm
@@ -39,16 +39,22 @@ (define-module (gnu packages rust-apps)
   #:use-module (guix utils)
   #:use-module (gnu packages)
   #:use-module (gnu packages admin)
+  #:use-module (gnu packages base)
+  #:use-module (gnu packages bash)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages crates-io)
   #:use-module (gnu packages crates-graphics)
   #:use-module (gnu packages curl)
   #:use-module (gnu packages documentation)
   #:use-module (gnu packages fontutils)
+  #:use-module (gnu packages freedesktop)
   #:use-module (gnu packages glib)
   #:use-module (gnu packages gtk)
+  #:use-module (gnu packages ibus)
   #:use-module (gnu packages jemalloc)
+  #:use-module (gnu packages kde)
   #:use-module (gnu packages linux)
+  #:use-module (gnu packages networking)
   #:use-module (gnu packages ssh)
   #:use-module (gnu packages pcre)
   #:use-module (gnu packages pkg-config)
@@ -56,7 +62,8 @@ (define-module (gnu packages rust-apps)
   #:use-module (gnu packages python-xyz)
   #:use-module (gnu packages rust)
   #:use-module (gnu packages tls)
-  #:use-module (gnu packages version-control))
+  #:use-module (gnu packages version-control)
+  #:use-module (gnu packages xorg))
 
 (define-public agate
   (package
@@ -527,24 +534,16 @@ (define-public i3status-rust
     (name "i3status-rust")
     (version "0.20.1")
     (source
-      (origin
-        (method git-fetch)
-        (uri (git-reference
-              (url "https://github.com/greshake/i3status-rust")
-              (commit (string-append "v" version))))
-        (file-name (git-file-name name version))
-        (patches (search-patches "i3status-rust-enable-unstable-features.patch"))
-        (sha256
-         (base32 "00gzm3g297s9bfp13vnb623p7dfac3g6cdhz2b3lc6l0kmnnqs1s"))))
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/greshake/i3status-rust")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (patches (search-patches "i3status-rust-enable-unstable-features.patch"))
+       (sha256
+        (base32 "00gzm3g297s9bfp13vnb623p7dfac3g6cdhz2b3lc6l0kmnnqs1s"))))
     (build-system cargo-build-system)
-    (native-inputs
-     `(("pkg-config" ,pkg-config)))
-    (inputs
-     `(("curl" ,curl)
-       ("dbus" ,dbus)
-       ("pulseaudio" ,pulseaudio)
-       ("openssl" ,openssl)
-       ("zlib" ,zlib)))
     (arguments
      `(#:features '("pulseaudio" "libpulse-binding")
        #:install-source? #f
@@ -574,6 +573,10 @@ (define-public i3status-rust
        (("rust-assert-fs" ,rust-assert-fs-1))
        #:phases
        (modify-phases %standard-phases
+         (add-after 'unpack 'enable-unstable-features
+           (lambda _
+             (setenv "RUSTC_BOOTSTRAP" "1")
+             #t))
          (add-after 'unpack 'fix-resources-path
            (lambda* (#:key outputs #:allow-other-keys)
              (let ((resources (string-append %output "/share")))
@@ -582,10 +585,38 @@ (define-public i3status-rust
          (add-after 'install 'install-resources
            (lambda* (#:key outputs #:allow-other-keys)
              (copy-recursively "files" (string-append %output "/share"))))
-         (add-after 'unpack 'enable-unstable-features
-           (lambda _
-             (setenv "RUSTC_BOOTSTRAP" "1")
-             #t)))))
+         (add-after 'install 'wrap-i3status
+           (lambda* (#:key outputs inputs #:allow-other-keys)
+             (let ((out (assoc-ref outputs "out"))
+                   (paths (map
+                           (lambda (input)
+                             (string-append (assoc-ref inputs input) "/bin"))
+                           '("alsa-utils" "coreutils" "curl" "dbus" "ibus" "iproute"
+                             "kdeconnect" "lm-sensors" "pulseaudio"
+                             "openssl"
+                             "setxkbmap" "speedtest-cli" "xdg-utils" "xrandr"
+                             "zlib"))))
+               (wrap-program (string-append out "/bin/i3status-rs") `("PATH" prefix
+                                                                      ,paths))))))))
+    (native-inputs
+     `(("pkg-config" ,pkg-config)))
+    (inputs
+     `(("alsa-utils" ,alsa-utils)
+       ("bash-minimal" ,bash-minimal)
+       ("coreutils" ,coreutils)
+       ("curl" ,curl)
+       ("dbus" ,dbus)
+       ("ibus" ,ibus)
+       ("iproute" ,iproute)
+       ("kdeconnect" ,kdeconnect)
+       ("lm-sensors" ,lm-sensors)
+       ("pulseaudio" ,pulseaudio)
+       ("openssl" ,openssl)
+       ("setxkbmap" ,setxkbmap)
+       ("speedtest-cli" ,speedtest-cli)
+       ("xdg-utils" ,xdg-utils)
+       ("xrandr" ,xrandr)
+       ("zlib" ,zlib)))
     (home-page "https://github.com/greshake/i3status-rust")
     (synopsis "i3status, written in pure Rust")
     (description "@code{i3status-rs} is a feature-rich and resource-friendly
-- 
2.34.0