summary refs log tree commit diff
path: root/gnu/packages
diff options
context:
space:
mode:
authorRicardo Wurmus <rekado@elephly.net>2024-04-04 21:42:23 +0200
committerRicardo Wurmus <rekado@elephly.net>2024-04-05 00:53:17 +0200
commitb162136d875bdd1042ed47b0ecf4d6bf2296fb34 (patch)
tree04f7b6e06dbd29a914bb49d329a0aa3b5d79bc3f /gnu/packages
parente391a271bb8d10b2f8a6a3cd162cf4d5d522abdf (diff)
downloadguix-b162136d875bdd1042ed47b0ecf4d6bf2296fb34.tar.gz
gnu: axoloti-runtime: Simplify with G-expression.
* gnu/packages/axoloti.scm (axoloti-runtime)[arguments]: Use G-expression to
simplify; remove trailing #T from build phases.

Change-Id: Ic9628b58c0e2b7816af6b7b42ab1aff927b4b0da
Diffstat (limited to 'gnu/packages')
-rw-r--r--gnu/packages/axoloti.scm168
1 files changed, 83 insertions, 85 deletions
diff --git a/gnu/packages/axoloti.scm b/gnu/packages/axoloti.scm
index ae3bf4ce2b..3091cb970c 100644
--- a/gnu/packages/axoloti.scm
+++ b/gnu/packages/axoloti.scm
@@ -90,103 +90,101 @@
         '(delete-file-recursively "lib/"))))
     (build-system gnu-build-system)
     (arguments
-     `(#:tests? #f ; no check target
-       #:modules ((guix build gnu-build-system)
+     (list
+      #:tests? #f ; no check target
+      #:modules '((guix build gnu-build-system)
                   (guix build utils)
                   (srfi srfi-1)
                   (srfi srfi-26)
                   (ice-9 match)
                   (ice-9 regex))
-       #:phases
-       (modify-phases %standard-phases
-         (add-after 'unpack 'patch-paths
-           (lambda* (#:key inputs #:allow-other-keys)
-             ;; prepare ChibiOS
-             (invoke "unzip" "-o" (assoc-ref inputs "chibios"))
-             (invoke "mv" "ChibiOS_2.6.9" "chibios")
-             (with-directory-excursion "chibios/ext"
-               (invoke "unzip" "-o" "fatfs-0.9-patched.zip"))
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-after 'unpack 'patch-paths
+            (lambda* (#:key inputs #:allow-other-keys)
+              ;; prepare ChibiOS
+              (invoke "unzip" "-o" (assoc-ref inputs "chibios"))
+              (invoke "mv" "ChibiOS_2.6.9" "chibios")
+              (with-directory-excursion "chibios/ext"
+                (invoke "unzip" "-o" "fatfs-0.9-patched.zip"))
 
-             ;; Remove source of non-determinism in ChibiOS
-             (substitute* "chibios/os/various/shell.c"
-               (("#ifdef __DATE__") "#if 0"))
+              ;; Remove source of non-determinism in ChibiOS
+              (substitute* "chibios/os/various/shell.c"
+                (("#ifdef __DATE__") "#if 0"))
 
-             ;; Patch shell paths
-             (substitute* '("src/main/java/qcmds/QCmdCompileFirmware.java"
-                            "src/main/java/qcmds/QCmdCompilePatch.java"
-                            "src/main/java/qcmds/QCmdFlashDFU.java")
-               (("/bin/sh") (which "sh")))
+              ;; Patch shell paths
+              (substitute* '("src/main/java/qcmds/QCmdCompileFirmware.java"
+                             "src/main/java/qcmds/QCmdCompilePatch.java"
+                             "src/main/java/qcmds/QCmdFlashDFU.java")
+                (("/bin/sh") (which "sh")))
 
-             ;; Override cross compiler base name
-             (substitute* "firmware/Makefile.patch"
-               (("arm-none-eabi-(gcc|g\\+\\+|objcopy|objdump)" tool)
-                (which tool)))
+              ;; Override cross compiler base name
+              (substitute* "firmware/Makefile.patch"
+                (("arm-none-eabi-(gcc|g\\+\\+|objcopy|objdump)" tool)
+                 (which tool)))
 
-             ;; XXX: for some reason the whitespace substitution does not
-             ;; work, so we disable it.
-             (substitute* "firmware/Makefile.patch"
-               (("^BDIR=.*") "BDIR=${axoloti_home}/build\n"))
+              ;; XXX: for some reason the whitespace substitution does not
+              ;; work, so we disable it.
+              (substitute* "firmware/Makefile.patch"
+                (("^BDIR=.*") "BDIR=${axoloti_home}/build\n"))
 
-             ;; Hardcode full path to compiler tools
-             (substitute* '("firmware/Makefile"
-                            "firmware/flasher/Makefile"
-                            "firmware/mounter/Makefile")
-               (("TRGT =.*")
-                (string-append "TRGT = "
-                               (assoc-ref inputs "cross-toolchain")
-                               "/bin/arm-none-eabi-\n")))
+              ;; Hardcode full path to compiler tools
+              (substitute* '("firmware/Makefile"
+                             "firmware/flasher/Makefile"
+                             "firmware/mounter/Makefile")
+                (("TRGT =.*")
+                 (string-append "TRGT = "
+                                (assoc-ref inputs "cross-toolchain")
+                                "/bin/arm-none-eabi-\n")))
 
-             ;; Hardcode path to "make"
-             (substitute* '("firmware/compile_firmware_linux.sh"
-                            "firmware/compile_patch_linux.sh")
-               (("make") (which "make")))
+              ;; Hardcode path to "make"
+              (substitute* '("firmware/compile_firmware_linux.sh"
+                             "firmware/compile_patch_linux.sh")
+                (("make") (which "make")))
 
-             ;; Hardcode path to "dfu-util"
-             (substitute* "platform_linux/upload_fw_dfu.sh"
-               (("-f \"\\$\\{platformdir\\}/bin/dfu-util\"") "-z \"\"")
-               (("\\./dfu-util") (which "dfu-util")))
-             #t))
-         (delete 'configure)
-         (replace 'build
-           ;; Build Axoloti firmware with cross-compiler
-           (lambda _
-             (with-directory-excursion "platform_linux"
-               (invoke "sh" "compile_firmware.sh"))))
-         (replace 'install
-           (lambda* (#:key inputs outputs #:allow-other-keys)
-             (let* ((out   (assoc-ref outputs "out"))
-                    (share (string-append out "/share/axoloti/"))
-                    (doc   (string-append share "doc"))
-                    (dir   (getcwd))
-                    (pats  '("/doc/[^/]+$"
-                             "/patches/[^/]+/[^/]+$"
-                             "/objects/[^/]+/[^/]+$"
-                             "/firmware/.+"
-                             "/chibios/[^/]+$"
-                             "/chibios/boards/ST_STM32F4_DISCOVERY/[^/]+$"
-                             "/chibios/(ext|os|docs)/.+"
-                             "/CMSIS/[^/]+/[^/]+$"
-                             "/patch/[^/]+/[^/]+$"
-                             "/[^/]+\\.txt$"))
-                    (pattern (string-append
-                              "(" (string-join
-                                   (map (cut string-append dir <>)
-                                        pats)
-                                   "|") ")"))
-                    (files   (find-files dir
-                                         (lambda (file stat)
-                                           (and (eq? 'regular (stat:type stat))
-                                                (string-match pattern file))))))
-               (for-each (lambda (file)
-                           (install-file file
-                                         (string-append
-                                          share
-                                          (regexp-substitute
-                                           #f
-                                           (string-match dir (dirname file))
-                                           'pre  'post))))
-                         files)
-               #t))))))
+              ;; Hardcode path to "dfu-util"
+              (substitute* "platform_linux/upload_fw_dfu.sh"
+                (("-f \"\\$\\{platformdir\\}/bin/dfu-util\"") "-z \"\"")
+                (("\\./dfu-util") (which "dfu-util")))))
+          (delete 'configure)
+          (replace 'build
+            ;; Build Axoloti firmware with cross-compiler
+            (lambda _
+              (with-directory-excursion "platform_linux"
+                (invoke "sh" "compile_firmware.sh"))))
+          (replace 'install
+            (lambda* (#:key inputs outputs #:allow-other-keys)
+              (let* ((share (string-append #$output "/share/axoloti/"))
+                     (doc   (string-append share "doc"))
+                     (dir   (getcwd))
+                     (pats  '("/doc/[^/]+$"
+                              "/patches/[^/]+/[^/]+$"
+                              "/objects/[^/]+/[^/]+$"
+                              "/firmware/.+"
+                              "/chibios/[^/]+$"
+                              "/chibios/boards/ST_STM32F4_DISCOVERY/[^/]+$"
+                              "/chibios/(ext|os|docs)/.+"
+                              "/CMSIS/[^/]+/[^/]+$"
+                              "/patch/[^/]+/[^/]+$"
+                              "/[^/]+\\.txt$"))
+                     (pattern (string-append
+                               "(" (string-join
+                                    (map (cut string-append dir <>)
+                                         pats)
+                                    "|") ")"))
+                     (files   (find-files dir
+                                          (lambda (file stat)
+                                            (and (eq? 'regular (stat:type stat))
+                                                 (string-match pattern file))))))
+                (for-each (lambda (file)
+                            (install-file file
+                                          (string-append
+                                           share
+                                           (regexp-substitute
+                                            #f
+                                            (string-match dir (dirname file))
+                                            'pre  'post))))
+                          files)))))))
     (inputs
      `(("chibios"
         ,(origin