summary refs log tree commit diff
diff options
context:
space:
mode:
authorEfraim Flashner <efraim@flashner.co.il>2020-05-17 10:13:41 +0300
committerEfraim Flashner <efraim@flashner.co.il>2020-05-17 10:13:41 +0300
commita7e6ec18d7bf9d3568bb829bde0fa32cd3fbf9e9 (patch)
treeb66fea11a5238b83888ea4147b525a9ef607db10
parente39b857d7461e32cf737c97f47b522f9acc6f877 (diff)
downloadguix-a7e6ec18d7bf9d3568bb829bde0fa32cd3fbf9e9.tar.gz
gnu: qemu-minimal: Use 'match' to find architecture.
* gnu/packages/virtualization.scm (qemu-minimal)[arguments]: Use 'match'
to target the correct architecture.
-rw-r--r--gnu/packages/virtualization.scm56
1 files changed, 28 insertions, 28 deletions
diff --git a/gnu/packages/virtualization.scm b/gnu/packages/virtualization.scm
index 371104cf22..c2025c4fbe 100644
--- a/gnu/packages/virtualization.scm
+++ b/gnu/packages/virtualization.scm
@@ -312,34 +312,34 @@ server and embedded PowerPC, and S390 guests.")
      (substitute-keyword-arguments (package-arguments qemu)
        ((#:configure-flags _ '(list))
         ;; Restrict to the host's architecture.
-        (let ((arch (car (string-split (or (%current-target-system)
-                                           (%current-system))
-                                       #\-))))
-          (cond ((string=? arch "i686")
-                 '(list "--target-list=i386-softmmu"))
-                ((string-prefix? "x86_64" arch)
-                 '(list "--target-list=i386-softmmu,x86_64-softmmu"))
-                ((string-prefix? "mips64" arch)
-                 '(list (string-append "--target-list=mips-softmmu,mipsel-softmmu,"
-                                       "mips64-softmmu,mips64el-softmmu")))
-                ((string-prefix? "mips" arch)
-                 '(list "--target-list=mips-softmmu,mipsel-softmmu"))
-                ((string-prefix? "aarch64" arch)
-                 '(list "--target-list=arm-softmmu,aarch64-softmmu"))
-                ((string-prefix? "arm" arch)
-                 '(list "--target-list=arm-softmmu"))
-                ((string-prefix? "alpha" arch)
-                 '(list "--target-list=alpha-softmmu"))
-                ((string-prefix? "powerpc64" arch)
-                 '(list "--target-list=ppc-softmmu,ppc64-softmmu"))
-                ((string-prefix? "powerpc" arch)
-                 '(list "--target-list=ppc-softmmu"))
-                ((string-prefix? "s390" arch)
-                 '(list "--target-list=s390x-softmmu"))
-                ((string-prefix? "riscv" arch)
-                 '(list "--target-list=riscv32-softmmu,riscv64-softmmu"))
-                (else   ; An empty list actually builds all the targets.
-                  ''()))))))
+        (match (car (string-split (or (%current-target-system)
+                                      (%current-system))
+                                  #\-))
+          ("i686"
+           '(list "--target-list=i386-softmmu"))
+          ("x86_64"
+           '(list "--target-list=i386-softmmu,x86_64-softmmu"))
+          ("mips64"
+           '(list (string-append "--target-list=mips-softmmu,mipsel-softmmu,"
+                                 "mips64-softmmu,mips64el-softmmu")))
+          ("mips"
+           '(list "--target-list=mips-softmmu,mipsel-softmmu"))
+          ("aarch64"
+           '(list "--target-list=arm-softmmu,aarch64-softmmu"))
+          ("arm"
+           '(list "--target-list=arm-softmmu"))
+          ("alpha"
+           '(list "--target-list=alpha-softmmu"))
+          ("powerpc64"
+           '(list "--target-list=ppc-softmmu,ppc64-softmmu"))
+          ("powerpc"
+           '(list "--target-list=ppc-softmmu"))
+          ("s390"
+           '(list "--target-list=s390x-softmmu"))
+          ("riscv"
+           '(list "--target-list=riscv32-softmmu,riscv64-softmmu"))
+          (else   ; An empty list actually builds all the targets.
+            ''())))))
 
     ;; Remove dependencies on optional libraries, notably GUI libraries.
     (native-inputs (fold alist-delete (package-native-inputs qemu)