diff options
author | Morgan Smith <Morgan.J.Smith@outlook.com> | 2025-06-05 11:42:14 -0400 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2025-06-09 22:05:14 +0200 |
commit | 5fd4df347e04b6cd3ce3fc91900f773a2e4824e3 (patch) | |
tree | 9f8a949f9a1bb07d12f4af9ea05248f2646a27c7 | |
parent | 2a8c5f834eb2f0797c7a338ab4c4cc01b0296eaa (diff) |
gnu: tlp: Fix scripts.
tlp provides a number of executables. Before this change the "tlp" and "tlp-stat"
executables worked fine but the "bluetooth", "nfc", "run-on-ac", "run-on-bat",
"wifi", and "wwan" executables would give strange warnings.
* gnu/packages/linux.scm (tlp): Fix scripts.
<phases> [wrap]: Use wrap-script instead of wrap-program to preserve shell
argument "$0". Don't wrap symlinks.
<inputs>: Add guile-3.0 for wrap-script. Remove bash used for now removed
wrap-program.
Change-Id: I916a4385cb69db142f834839aa9aaf0d81085714
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
-rw-r--r-- | gnu/packages/linux.scm | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index baf3b17b1c..7d991af25e 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -145,6 +145,7 @@ #:use-module (gnu packages graphviz) #:use-module (gnu packages gstreamer) #:use-module (gnu packages gtk) + #:use-module (gnu packages guile) #:use-module (gnu packages haskell-apps) #:use-module (gnu packages haskell-xyz) #:use-module (gnu packages image) @@ -8538,11 +8539,11 @@ interface in sysfs, which can be accomplished with the included udev rules.") (native-inputs (list shellcheck)) (inputs - `(("bash" ,bash) - ("dbus" ,dbus) + `(("dbus" ,dbus) ("ethtool" ,ethtool) ("eudev" ,eudev) ("grep" ,grep) + ("guile" ,guile-3.0) ;for wrap-script ("hdparm" ,hdparm) ("inetutils" ,inetutils) ("iw" ,iw) @@ -8600,15 +8601,20 @@ interface in sysfs, which can be accomplished with the included udev rules.") (lambda* (#:key inputs outputs #:allow-other-keys) (let* ((bin (string-append (assoc-ref outputs "out") "/bin")) (sbin (string-append (assoc-ref outputs "out") "/sbin")) - (bin-files (find-files bin ".*")) - (sbin-files (find-files sbin ".*"))) + ;; Used to ignore symlinks which don't need wrapping + (regular-file-predicate + (lambda (file stat) (eq? 'regular (stat:type stat)))) + (bin-files (find-files bin regular-file-predicate)) + (sbin-files (find-files sbin regular-file-predicate))) (define (bin-directory input-name) (let ((p (assoc-ref inputs input-name))) (and p (string-append p "/bin")))) (define (sbin-directory input-name) (string-append (assoc-ref inputs input-name) "/sbin")) (for-each (lambda (program) - (wrap-program program + ;; Programs rely on $0 so we use wrap-script + ;; instead of wrap-program + (wrap-script program `("PATH" ":" prefix ,(append (filter-map bin-directory |