summary refs log tree commit diff
path: root/gnu/packages/firmware.scm
diff options
context:
space:
mode:
authorMaxim Cournoyer <maxim.cournoyer@gmail.com>2023-09-13 16:44:14 -0400
committerMaxim Cournoyer <maxim.cournoyer@gmail.com>2023-10-10 00:06:13 -0400
commit45be44bf3deafe0d1c8b0f2b9658925ea1e3265f (patch)
tree7161e2ee5940968a05809db610676de5cbc5297c /gnu/packages/firmware.scm
parent261a1f902a63c8d9a0599affbdcf4715330bb9a9 (diff)
downloadguix-45be44bf3deafe0d1c8b0f2b9658925ea1e3265f.tar.gz
gnu: qmk: Add many missing inputs and add more commands to PATH.
* gnu/packages/firmware.scm (qmk) [inputs]: Add bash-minimal, dfu-util,
diffutils, gawk, gnu-make, grep and python.
[arguments]: Add them to PATH in the wrapper in the wrap-path phase.  Also
capture avr-ar in the PATH.  Add CROSS_C_INCLUDE_PATH and
CROSS_LIBRARY_PATH to the wrapper.
Diffstat (limited to 'gnu/packages/firmware.scm')
-rw-r--r--gnu/packages/firmware.scm24
1 files changed, 22 insertions, 2 deletions
diff --git a/gnu/packages/firmware.scm b/gnu/packages/firmware.scm
index c1f6c8ea5e..1957fb8aac 100644
--- a/gnu/packages/firmware.scm
+++ b/gnu/packages/firmware.scm
@@ -57,6 +57,7 @@
   #:use-module (gnu packages elf)
   #:use-module (gnu packages flashing-tools)
   #:use-module (gnu packages flex)
+  #:use-module (gnu packages gawk)
   #:use-module (gnu packages gcc)
   #:use-module (gnu packages gettext)
   #:use-module (gnu packages glib)
@@ -1241,19 +1242,31 @@ AR100.")
       #:phases
       #~(modify-phases %standard-phases
           (add-after 'wrap 'wrap-path
+            ;; Wrap all the tools needed for the 'setup' and 'compile' actions
+            ;; (tested with the 'ergodox_ez' keyboard).
             (lambda* (#:key inputs outputs #:allow-other-keys)
               (wrap-program (search-input-file outputs "bin/qmk")
                 `("PATH" prefix
                   ,(map (compose dirname
                                  (cut search-input-file inputs <>))
-                        '("bin/avr-gcc"
+                        '("bin/avr-ar"
+                          "bin/avr-gcc"
                           "bin/avrdude"
+                          "bin/awk"
+                          "bin/cmp"
                           "bin/dfu-programmer"
+                          "bin/dfu-util"
                           "bin/git"
+                          "bin/grep"
+                          "bin/make"
+                          "bin/python3"
+                          "bin/sh"
                           ;; TODO: Remove after git is wrapped with these.
                           "bin/basename"
                           "bin/sed"
-                          "bin/uname")))))))))
+                          "bin/uname")))
+                `("CROSS_C_INCLUDE_PATH" = (,(getenv "CROSS_C_INCLUDE_PATH")))
+                `("CROSS_LIBRARY_PATH" = (,(getenv "CROSS_LIBRARY_PATH")))))))))
     ;; The inputs are not propagated since qmk is to be used strictly as a
     ;; command.
     (inputs
@@ -1261,8 +1274,15 @@ AR100.")
      ;; compilation errors in some firmware otherwise.
      (list (make-avr-toolchain #:xgcc gcc-8)
            avrdude
+           bash-minimal
            dfu-programmer
+           dfu-util
+           diffutils
            git-minimal                  ;for the clone action
+           gawk
+           gnu-make
+           grep
+           python
            python-dotty-dict
            python-hid
            python-hjson