guix_mirror_bot pushed a commit to branch master
in repository guix.

commit e28ab6a6fe76bcb495514b4ffcc666e28ca258ab
Author: Maxim Cournoyer <[email protected]>
AuthorDate: Mon Aug 25 08:47:29 2025 +0900

    gnu: turbovnc: Simplify 'delete-all-but' in snippet.
    
    * gnu/packages/vnc.scm (turbovnc) [source] <snippet>: Simplify.
    * gnu/packages/astronomy.scm (phd2): Likewise.
    * gnu/packages/emulators.scm (libretro-dolphin-emu)
    (retroarch-minimal): Likewise.
    * gnu/packages/golang-web.scm (go-github-com-aws-aws-sdk-go-v2-service-sqs)
    (go-go-opentelemetry-io-contrib-propagators-autoprop)
    (go-go-opentelemetry-io-otel-exporters-otlp-otlptrace)
    (go-go-opentelemetry-io-otel-exporters-otlp-otlptrace-otlptracegrpc)
    (go-go-opentelemetry-io-otel-exporters-otlp-otlptrace-otlptracehttp)
    (go-go-opentelemetry-io-otel-exporters-zipkin)
    (go-go-opentelemetry-io-otel-log, go-go-opentelemetry-io-otel-sdk)
    (go-go-opentelemetry-io-otel-sdk-log, 
go-go-opentelemetry-io-otel-sdk-metric)
    (go-google-golang-org-genproto-googleapis-api): Likewise.
    * gnu/packages/golang-xyz.scm (go-go-uber-org-zap-exp): Likewise.
    * gnu/packages/ipfs.scm (go-github-com-ipfs-shipyard-nopfs-ipfs): Likewise.
    * gnu/packages/mpi.scm (openmpi-5): Likewise.
    
    Change-Id: I286ff1e949ccb97f9369f2a172c8559e3884dba7
---
 gnu/packages/astronomy.scm  |  13 +--
 gnu/packages/emulators.scm  |  26 ++----
 gnu/packages/golang-web.scm | 193 +++++++++++++-------------------------------
 gnu/packages/golang-xyz.scm |  19 ++---
 gnu/packages/ipfs.scm       |  19 ++---
 gnu/packages/mpi.scm        |  19 ++---
 gnu/packages/vnc.scm        |  13 +--
 7 files changed, 88 insertions(+), 214 deletions(-)

diff --git a/gnu/packages/astronomy.scm b/gnu/packages/astronomy.scm
index 47f2ee90b7..5e5120ee92 100644
--- a/gnu/packages/astronomy.scm
+++ b/gnu/packages/astronomy.scm
@@ -1553,18 +1553,11 @@ R. Seaman's protocol}
           #~(begin
               ;; XXX: 'delete-all-but' is copied from the turbovnc package.
               (define (delete-all-but directory . preserve)
-                (define (directory? x)
-                  (and=> (stat x #f)
-                         (compose (cut eq? 'directory <>) stat:type)))
                 (with-directory-excursion directory
-                  (let* ((pred
-                          (negate (cut member <> (append '("." "..") 
preserve))))
+                  (let* ((pred (negate (cut member <>
+                                            (cons* "." ".." preserve))))
                          (items (scandir "." pred)))
-                    (for-each (lambda (item)
-                                (if (directory? item)
-                                    (delete-file-recursively item)
-                                    (delete-file item)))
-                              items))))
+                    (for-each (cut delete-file-recursively <>) items))))
               (delete-all-but "thirdparty" "thirdparty.cmake")))))
       (build-system cmake-build-system)
       (arguments
diff --git a/gnu/packages/emulators.scm b/gnu/packages/emulators.scm
index b456507324..bb0bd898e1 100644
--- a/gnu/packages/emulators.scm
+++ b/gnu/packages/emulators.scm
@@ -643,18 +643,11 @@ turbo speed, networked multiplayer, and graphical 
enhancements.")
           #~(begin
               ;; XXX: 'delete-all-but' is copied from the turbovnc package.
               (define (delete-all-but directory . preserve)
-                (define (directory? x)
-                  (and=> (stat x #f)
-                         (compose (cut eq? 'directory <>) stat:type)))
                 (with-directory-excursion directory
-                  (let* ((pred
-                          (negate (cut member <> (append '("." "..") 
preserve))))
+                  (let* ((pred (negate (cut member <>
+                                            (cons* "." ".." preserve))))
                          (items (scandir "." pred)))
-                    (for-each (lambda (item)
-                                (if (directory? item)
-                                    (delete-file-recursively item)
-                                    (delete-file item)))
-                              items))))
+                    (for-each (cut delete-file-recursively <>) items))))
 
               ;; Clean up the source from bundled libraries we don't need.
               (delete-all-but "Externals"
@@ -2866,18 +2859,11 @@ GLSL (@file{.slang}) shaders for use with RetroArch.")
                          (srfi srfi-26))
             ;; XXX: 'delete-all-but' is copied from the turbovnc package.
             (define (delete-all-but directory . preserve)
-              (define (directory? x)
-                (and=> (stat x #f)
-                       (compose (cut eq? 'directory <>) stat:type)))
               (with-directory-excursion directory
-                (let* ((pred
-                        (negate (cut member <> (append '("." "..") preserve))))
+                (let* ((pred (negate (cut member <>
+                                          (cons* "." ".." preserve))))
                        (items (scandir "." pred)))
-                  (for-each (lambda (item)
-                              (if (directory? item)
-                                  (delete-file-recursively item)
-                                  (delete-file item)))
-                            items))))
+                  (for-each (cut delete-file-recursively <>) items))))
             ;; Remove as much bundled sources as possible, shaving off about
             ;; 65 MiB.
             (delete-all-but "deps"
diff --git a/gnu/packages/golang-web.scm b/gnu/packages/golang-web.scm
index 3476b06461..bc6da9b10c 100644
--- a/gnu/packages/golang-web.scm
+++ b/gnu/packages/golang-web.scm
@@ -1077,18 +1077,11 @@ parameter types for AWS Secrets Manager.")
             ;; Consider to implement it as re-usable procedure in
             ;; guix/build/utils or guix/build-system/go.
             (define (delete-all-but directory . preserve)
-              (define (directory? x)
-                (and=> (stat x #f)
-                       (compose (cut eq? 'directory <>) stat:type)))
               (with-directory-excursion directory
-                (let* ((pred
-                        (negate (cut member <> (append '("." "..") preserve))))
+                (let* ((pred (negate (cut member <>
+                                          (cons* "." ".." preserve))))
                        (items (scandir "." pred)))
-                  (for-each (lambda (item)
-                              (if (directory? item)
-                                  (delete-file-recursively item)
-                                  (delete-file item)))
-                            items))))
+                  (for-each (cut delete-file-recursively <>) items))))
             (delete-all-but "service" "sqs")
             (delete-all-but "." "service")))))
     (build-system go-build-system)
@@ -11864,18 +11857,11 @@ Handler) and routes @code{WithRouteTag}.")
             ;; Consider to implement it as re-usable procedure in
             ;; guix/build/utils or guix/build-system/go.
             (define (delete-all-but directory . preserve)
-              (define (directory? x)
-                (and=> (stat x #f)
-                       (compose (cut eq? 'directory <>) stat:type)))
               (with-directory-excursion directory
-                (let* ((pred
-                        (negate (cut member <> (append '("." "..") preserve))))
+                (let* ((pred (negate (cut member <>
+                                          (cons* "." ".." preserve))))
                        (items (scandir "." pred)))
-                  (for-each (lambda (item)
-                              (if (directory? item)
-                                  (delete-file-recursively item)
-                                  (delete-file item)))
-                            items))))
+                  (for-each (cut delete-file-recursively <>) items))))
             (delete-all-but "propagators" "autoprop")
             (delete-all-but "." "propagators")))))
     (build-system go-build-system)
@@ -12109,9 +12095,9 @@ go.opentelemetry.io/otel/trace.")
      (origin
        (method git-fetch)
        (uri (git-reference
-             (url "https://github.com/open-telemetry/opentelemetry-go";)
-             (commit (go-version->git-ref version
-                                          #:subdir 
"exporters/otlp/otlptrace"))))
+              (url "https://github.com/open-telemetry/opentelemetry-go";)
+              (commit (go-version->git-ref version
+                                           #:subdir 
"exporters/otlp/otlptrace"))))
        (file-name (git-file-name name version))
        (sha256
         (base32 "1kvfbqc56p1h9rh9cvgn37ya6k10613r0f2rhjiwrrkgs2mszk30"))
@@ -12124,18 +12110,11 @@ go.opentelemetry.io/otel/trace.")
             ;; Consider to implement it as re-usable procedure in
             ;; guix/build/utils or guix/build-system/go.
             (define (delete-all-but directory . preserve)
-              (define (directory? x)
-                (and=> (stat x #f)
-                       (compose (cut eq? 'directory <>) stat:type)))
               (with-directory-excursion directory
-                (let* ((pred
-                        (negate (cut member <> (append '("." "..") preserve))))
+                (let* ((pred (negate (cut member <>
+                                          (cons* "." ".." preserve))))
                        (items (scandir "." pred)))
-                  (for-each (lambda (item)
-                              (if (directory? item)
-                                  (delete-file-recursively item)
-                                  (delete-file item)))
-                            items))))
+                  (for-each (cut delete-file-recursively <>) items))))
             (delete-all-but "exporters/otlp" "otlptrace")
             (delete-all-but "." "exporters")
             ;; Submodules with their own go.mod files and packed as separated
@@ -12171,9 +12150,9 @@ go.opentelemetry.io/otel/trace.")
      (origin
        (method git-fetch)
        (uri (git-reference
-             (url "https://github.com/open-telemetry/opentelemetry-go";)
-             (commit (go-version->git-ref version
-                                          #:subdir 
"exporters/otlp/otlptrace/otlptracegrpc"))))
+              (url "https://github.com/open-telemetry/opentelemetry-go";)
+              (commit (go-version->git-ref version
+                                           #:subdir 
"exporters/otlp/otlptrace/otlptracegrpc"))))
        (file-name (git-file-name name version))
        (sha256
         (base32 "1kvfbqc56p1h9rh9cvgn37ya6k10613r0f2rhjiwrrkgs2mszk30"))
@@ -12186,18 +12165,11 @@ go.opentelemetry.io/otel/trace.")
             ;; Consider to implement it as re-usable procedure in
             ;; guix/build/utils or guix/build-system/go.
             (define (delete-all-but directory . preserve)
-              (define (directory? x)
-                (and=> (stat x #f)
-                       (compose (cut eq? 'directory <>) stat:type)))
               (with-directory-excursion directory
-                (let* ((pred
-                        (negate (cut member <> (append '("." "..") preserve))))
+                (let* ((pred (negate (cut member <>
+                                          (cons* "." ".." preserve))))
                        (items (scandir "." pred)))
-                  (for-each (lambda (item)
-                              (if (directory? item)
-                                  (delete-file-recursively item)
-                                  (delete-file item)))
-                            items))))
+                  (for-each (cut delete-file-recursively <>) items))))
             (delete-all-but "exporters/otlp/otlptrace" "otlptracegrpc")
             (delete-all-but "." "exporters")))))
     (build-system go-build-system)
@@ -12234,9 +12206,9 @@ By default the telemetry is sent to 
@@url{https://localhost:4317}.";)
      (origin
        (method git-fetch)
        (uri (git-reference
-             (url "https://github.com/open-telemetry/opentelemetry-go";)
-             (commit (go-version->git-ref version
-                                          #:subdir 
"exporters/otlp/otlptrace/otlptracehttp"))))
+              (url "https://github.com/open-telemetry/opentelemetry-go";)
+              (commit (go-version->git-ref version
+                                           #:subdir 
"exporters/otlp/otlptrace/otlptracehttp"))))
        (file-name (git-file-name name version))
        (sha256
         (base32 "1kvfbqc56p1h9rh9cvgn37ya6k10613r0f2rhjiwrrkgs2mszk30"))
@@ -12249,18 +12221,11 @@ By default the telemetry is sent to 
@@url{https://localhost:4317}.";)
             ;; Consider to implement it as re-usable procedure in
             ;; guix/build/utils or guix/build-system/go.
             (define (delete-all-but directory . preserve)
-              (define (directory? x)
-                (and=> (stat x #f)
-                       (compose (cut eq? 'directory <>) stat:type)))
               (with-directory-excursion directory
-                (let* ((pred
-                        (negate (cut member <> (append '("." "..") preserve))))
+                (let* ((pred (negate (cut member <>
+                                          (cons* "." ".." preserve))))
                        (items (scandir "." pred)))
-                  (for-each (lambda (item)
-                              (if (directory? item)
-                                  (delete-file-recursively item)
-                                  (delete-file item)))
-                            items))))
+                  (for-each (cut delete-file-recursively <>) items))))
             (delete-all-but "exporters/otlp/otlptrace" "otlptracehttp")
             (delete-all-but "." "exporters")))))
     (build-system go-build-system)
@@ -12328,9 +12293,9 @@ telemetry to be written to an output destination as 
JSON.")
      (origin
        (method git-fetch)
        (uri (git-reference
-             (url "https://github.com/open-telemetry/opentelemetry-go";)
-             (commit (go-version->git-ref version
-                                          #:subdir "exporters/zipkin"))))
+              (url "https://github.com/open-telemetry/opentelemetry-go";)
+              (commit (go-version->git-ref version
+                                           #:subdir "exporters/zipkin"))))
        (file-name (git-file-name name version))
        (sha256
         (base32 "1kvfbqc56p1h9rh9cvgn37ya6k10613r0f2rhjiwrrkgs2mszk30"))
@@ -12343,18 +12308,11 @@ telemetry to be written to an output destination as 
JSON.")
             ;; Consider to implement it as re-usable procedure in
             ;; guix/build/utils or guix/build-system/go.
             (define (delete-all-but directory . preserve)
-              (define (directory? x)
-                (and=> (stat x #f)
-                       (compose (cut eq? 'directory <>) stat:type)))
               (with-directory-excursion directory
-                (let* ((pred
-                        (negate (cut member <> (append '("." "..") preserve))))
+                (let* ((pred (negate (cut member <>
+                                          (cons* "." ".." preserve))))
                        (items (scandir "." pred)))
-                  (for-each (lambda (item)
-                              (if (directory? item)
-                                  (delete-file-recursively item)
-                                  (delete-file item)))
-                            items))))
+                  (for-each (cut delete-file-recursively <>) items))))
             (delete-all-but "exporters" "zipkin")
             (delete-all-but "." "exporters")))))
     (build-system go-build-system)
@@ -12383,9 +12341,9 @@ telemetry to be written to an output destination as 
JSON.")
      (origin
        (method git-fetch)
        (uri (git-reference
-             (url "https://github.com/open-telemetry/opentelemetry-go";)
-             (commit (go-version->git-ref version
-                                          #:subdir "log"))))
+              (url "https://github.com/open-telemetry/opentelemetry-go";)
+              (commit (go-version->git-ref version
+                                           #:subdir "log"))))
        (file-name (git-file-name name version))
        (sha256
         (base32 "0sb36qyq389fif9qp5iiqp6w41dfcwi95gb0bsbvznvijhd8c1cc"))
@@ -12398,18 +12356,11 @@ telemetry to be written to an output destination as 
JSON.")
             ;; Consider to implement it as re-usable procedure in
             ;; guix/build/utils or guix/build-system/go.
             (define (delete-all-but directory . preserve)
-              (define (directory? x)
-                (and=> (stat x #f)
-                       (compose (cut eq? 'directory <>) stat:type)))
               (with-directory-excursion directory
-                (let* ((pred
-                        (negate (cut member <> (append '("." "..") preserve))))
+                (let* ((pred (negate (cut member <>
+                                          (cons* "." ".." preserve))))
                        (items (scandir "." pred)))
-                  (for-each (lambda (item)
-                              (if (directory? item)
-                                  (delete-file-recursively item)
-                                  (delete-file item)))
-                            items))))
+                  (for-each (cut delete-file-recursively <>) items))))
             (delete-all-but "." "log")))))
     (build-system go-build-system)
     (arguments
@@ -12450,8 +12401,8 @@ OpenTelemetry API.")))
      (origin
        (method git-fetch)
        (uri (git-reference
-             (url "https://github.com/open-telemetry/opentelemetry-go";)
-             (commit (go-version->git-ref version #:subdir "sdk"))))
+              (url "https://github.com/open-telemetry/opentelemetry-go";)
+              (commit (go-version->git-ref version #:subdir "sdk"))))
        (file-name (git-file-name name version))
        (sha256
         (base32 "0sb36qyq389fif9qp5iiqp6w41dfcwi95gb0bsbvznvijhd8c1cc"))
@@ -12464,18 +12415,11 @@ OpenTelemetry API.")))
             ;; Consider to implement it as re-usable procedure in
             ;; guix/build/utils or guix/build-system/go.
             (define (delete-all-but directory . preserve)
-              (define (directory? x)
-                (and=> (stat x #f)
-                       (compose (cut eq? 'directory <>) stat:type)))
               (with-directory-excursion directory
-                (let* ((pred
-                        (negate (cut member <> (append '("." "..") preserve))))
+                (let* ((pred (negate (cut member <>
+                                          (cons* "." ".." preserve))))
                        (items (scandir "." pred)))
-                  (for-each (lambda (item)
-                              (if (directory? item)
-                                  (delete-file-recursively item)
-                                  (delete-file item)))
-                            items))))
+                  (for-each (cut delete-file-recursively <>) items))))
             (delete-all-but "." "sdk")
             (delete-file-recursively "sdk/log")
             (delete-file-recursively "sdk/metric")))))
@@ -12506,9 +12450,9 @@ OpenTelemetry API.")))
      (origin
        (method git-fetch)
        (uri (git-reference
-             (url "https://github.com/open-telemetry/opentelemetry-go";)
-             (commit (go-version->git-ref version
-                                          #:subdir "sdk/log"))))
+              (url "https://github.com/open-telemetry/opentelemetry-go";)
+              (commit (go-version->git-ref version
+                                           #:subdir "sdk/log"))))
        (file-name (git-file-name name version))
        (sha256
         (base32 "0sb36qyq389fif9qp5iiqp6w41dfcwi95gb0bsbvznvijhd8c1cc"))
@@ -12521,18 +12465,11 @@ OpenTelemetry API.")))
             ;; Consider to implement it as re-usable procedure in
             ;; guix/build/utils or guix/build-system/go.
             (define (delete-all-but directory . preserve)
-              (define (directory? x)
-                (and=> (stat x #f)
-                       (compose (cut eq? 'directory <>) stat:type)))
               (with-directory-excursion directory
-                (let* ((pred
-                        (negate (cut member <> (append '("." "..") preserve))))
+                (let* ((pred (negate (cut member <>
+                                          (cons* "." ".." preserve))))
                        (items (scandir "." pred)))
-                  (for-each (lambda (item)
-                              (if (directory? item)
-                                  (delete-file-recursively item)
-                                  (delete-file item)))
-                            items))))
+                  (for-each (cut delete-file-recursively <>) items))))
             (delete-all-but "sdk" "log")
             (delete-all-but "." "sdk")))))
     (build-system go-build-system)
@@ -12561,9 +12498,9 @@ OpenTelemetry API.")))
      (origin
        (method git-fetch)
        (uri (git-reference
-             (url "https://github.com/open-telemetry/opentelemetry-go";)
-             (commit (go-version->git-ref version
-                                          #:subdir "sdk/metric"))))
+              (url "https://github.com/open-telemetry/opentelemetry-go";)
+              (commit (go-version->git-ref version
+                                           #:subdir "sdk/metric"))))
        (file-name (git-file-name name version))
        (sha256
         (base32 "0sb36qyq389fif9qp5iiqp6w41dfcwi95gb0bsbvznvijhd8c1cc"))
@@ -12576,18 +12513,11 @@ OpenTelemetry API.")))
             ;; Consider to implement it as re-usable procedure in
             ;; guix/build/utils or guix/build-system/go.
             (define (delete-all-but directory . preserve)
-              (define (directory? x)
-                (and=> (stat x #f)
-                       (compose (cut eq? 'directory <>) stat:type)))
               (with-directory-excursion directory
-                (let* ((pred
-                        (negate (cut member <> (append '("." "..") preserve))))
+                (let* ((pred (negate (cut member <>
+                                          (cons* "." ".." preserve))))
                        (items (scandir "." pred)))
-                  (for-each (lambda (item)
-                              (if (directory? item)
-                                  (delete-file-recursively item)
-                                  (delete-file item)))
-                            items))))
+                  (for-each (cut delete-file-recursively <>) items))))
             (delete-all-but "sdk" "metric")
             (delete-all-but "." "sdk")))))
     (build-system go-build-system)
@@ -12804,8 +12734,8 @@ the standard @code{context} package to store 
request-scoped values.")
      (origin
        (method git-fetch)
        (uri (git-reference
-             (url "https://github.com/googleapis/go-genproto";)
-             (commit (go-version->git-ref version #:subdir "googleapis/api"))))
+              (url "https://github.com/googleapis/go-genproto";)
+              (commit (go-version->git-ref version #:subdir 
"googleapis/api"))))
        (modules '((guix build utils)
                   (ice-9 ftw)
                   (srfi srfi-26)))
@@ -12815,18 +12745,11 @@ the standard @code{context} package to store 
request-scoped values.")
             ;; Consider to implement it as re-usable procedure in
             ;; guix/build/utils or guix/build-system/go.
             (define (delete-all-but directory . preserve)
-              (define (directory? x)
-                (and=> (stat x #f)
-                       (compose (cut eq? 'directory <>) stat:type)))
               (with-directory-excursion directory
-                (let* ((pred
-                        (negate (cut member <> (append '("." "..") preserve))))
+                (let* ((pred (negate (cut member <>
+                                          (cons* "." ".." preserve))))
                        (items (scandir "." pred)))
-                  (for-each (lambda (item)
-                              (if (directory? item)
-                                  (delete-file-recursively item)
-                                  (delete-file item)))
-                            items))))
+                  (for-each (cut delete-file-recursively <>) items))))
             ;; Submodules with their own go.mod files and packaged separately:
             ;;
             ;; - google.golang.org/genproto/googleapis/api/apikeys
diff --git a/gnu/packages/golang-xyz.scm b/gnu/packages/golang-xyz.scm
index f7126c2d7e..d7f3274db5 100644
--- a/gnu/packages/golang-xyz.scm
+++ b/gnu/packages/golang-xyz.scm
@@ -21790,9 +21790,9 @@ when they'd prefer a more familiar, loosely typed API.")
      (origin
        (method git-fetch)
        (uri (git-reference
-             (url "https://github.com/uber-go/zap";)
-             (commit (go-version->git-ref version
-                                          #:subdir "exp"))))
+              (url "https://github.com/uber-go/zap";)
+              (commit (go-version->git-ref version
+                                           #:subdir "exp"))))
        (file-name (git-file-name name version))
        (sha256
         (base32 "05i15278swdmpif3p6g18sy0sn7rnfdl3m2rj5p30cnyb0j29vig"))
@@ -21805,18 +21805,11 @@ when they'd prefer a more familiar, loosely typed 
API.")
             ;; Consider to implement it as re-usable procedure in
             ;; guix/build/utils or guix/build-system/go.
             (define (delete-all-but directory . preserve)
-              (define (directory? x)
-                (and=> (stat x #f)
-                       (compose (cut eq? 'directory <>) stat:type)))
               (with-directory-excursion directory
-                (let* ((pred
-                        (negate (cut member <> (append '("." "..") preserve))))
+                (let* ((pred (negate (cut member <>
+                                          (cons* "." ".." preserve))))
                        (items (scandir "." pred)))
-                  (for-each (lambda (item)
-                              (if (directory? item)
-                                  (delete-file-recursively item)
-                                  (delete-file item)))
-                            items))))
+                  (for-each (cut delete-file-recursively <>) items))))
             (delete-all-but "." "exp")))))
     (build-system go-build-system)
     (arguments
diff --git a/gnu/packages/ipfs.scm b/gnu/packages/ipfs.scm
index 96153a4415..a128b8fb61 100644
--- a/gnu/packages/ipfs.scm
+++ b/gnu/packages/ipfs.scm
@@ -1531,9 +1531,9 @@ code prior to it getting merged into @code{go-cid}.")
      (origin
        (method git-fetch)
        (uri (git-reference
-             (url "https://github.com/ipfs-shipyard/nopfs";)
-             (commit (go-version->git-ref version
-                                          #:subdir "ipfs"))))
+              (url "https://github.com/ipfs-shipyard/nopfs";)
+              (commit (go-version->git-ref version
+                                           #:subdir "ipfs"))))
        (file-name (git-file-name name version))
        (sha256
         (base32 "00lwizzdfdx6kynxddal3all6q9dhwqanpkw0d0vxlwik4nkvxa5"))
@@ -1546,18 +1546,11 @@ code prior to it getting merged into @code{go-cid}.")
             ;; Consider to implement it as re-usable procedure in
             ;; guix/build/utils or guix/build-system/go.
             (define (delete-all-but directory . preserve)
-              (define (directory? x)
-                (and=> (stat x #f)
-                       (compose (cut eq? 'directory <>) stat:type)))
               (with-directory-excursion directory
-                (let* ((pred
-                        (negate (cut member <> (append '("." "..") preserve))))
+                (let* ((pred (negate (cut member <>
+                                          (cons* "." ".." preserve))))
                        (items (scandir "." pred)))
-                  (for-each (lambda (item)
-                              (if (directory? item)
-                                  (delete-file-recursively item)
-                                  (delete-file item)))
-                            items))))
+                  (for-each (cut delete-file-recursively <>) items))))
             (delete-all-but "." "ipfs")))))
     (build-system go-build-system)
     (arguments
diff --git a/gnu/packages/mpi.scm b/gnu/packages/mpi.scm
index 631a276282..f815d2342c 100644
--- a/gnu/packages/mpi.scm
+++ b/gnu/packages/mpi.scm
@@ -356,18 +356,11 @@ software vendors, application developers and computer 
science researchers.")
         '(begin
            ;; XXX: 'delete-all-but' is copied from the turbovnc package.
            (define (delete-all-but directory . preserve)
-             (define (directory? x)
-               (and=> (stat x #f)
-                      (compose (cut eq? 'directory <>) stat:type)))
              (with-directory-excursion directory
-               (let* ((pred
-                       (negate (cut member <> (append '("." "..") preserve))))
+               (let* ((pred (negate (cut member <>
+                                         (cons* "." ".." preserve))))
                       (items (scandir "." pred)))
-                 (for-each (lambda (item)
-                             (if (directory? item)
-                                 (delete-file-recursively item)
-                                 (delete-file item)))
-                           items))))
+                 (for-each (cut delete-file-recursively <>) items))))
            ;; Delete as many bundled libraries as permitted by the build
            ;; system.
            (delete-all-but "3rd-party" "treematch" "Makefile.in" "Makefile.am")
@@ -381,8 +374,8 @@ software vendors, application developers and computer 
science researchers.")
               ;; As of Open MPI 5.0.X, PMIx is used to communicate
               ;; with SLURM, so SLURM'S PMI is no longer needed.
               (delete "slurm")
-              (append openpmix)         ;for PMI support (launching via "srun")
-              (append prrte)))          ;for PMI support (launching via "srun")
+              (append openpmix)        ;for PMI support (launching via "srun")
+              (append prrte)))         ;for PMI support (launching via "srun")
     (native-inputs (modify-inputs (package-native-inputs openmpi)
                      (append python)))
 
@@ -392,7 +385,7 @@ software vendors, application developers and computer 
science researchers.")
            #~(list #$(string-append
                       "CFLAGS=-g -O2"
                       " -Wno-error=incompatible-pointer-types")
-                   "--enable-mpi-ext=affinity"         ;cr doesn't work
+                   "--enable-mpi-ext=affinity" ;cr doesn't work
                    "--with-sge"
                    "--disable-static"
 
diff --git a/gnu/packages/vnc.scm b/gnu/packages/vnc.scm
index e260a17437..7c88282276 100644
--- a/gnu/packages/vnc.scm
+++ b/gnu/packages/vnc.scm
@@ -192,19 +192,12 @@ RDP, VNC, SPICE, NX, XDMCP, SSH and EXEC network 
protocols are supported.")
             ;; bundled under java/org.  These are used by the 'vncviewer'
             ;; program.  The jsch copy is modified and integrates changes from
             ;; https://github.com/mwiede/jsch, so cannot easily be un-bundled.
-            (define (directory? x)
-              (and=> (stat x #f) (compose (cut eq? 'directory <>) stat:type)))
-
             (define (delete-all-but directory . preserve)
               (with-directory-excursion directory
-                (let* ((pred (negate (cut member <> (append '("." "..")
-                                                            preserve))))
+                (let* ((pred (negate (cut member <>
+                                          (cons* "." ".." preserve))))
                        (items (scandir "." pred)))
-                  (for-each (lambda (item)
-                              (if (directory? item)
-                                  (delete-file-recursively item)
-                                  (delete-file item)))
-                            items))))
+                  (for-each (cut delete-file-recursively <>) items))))
 
             ;; d3des, rfb (headers) and turbojpeg-jni are small and not
             ;; packaged in Guix, so preserve them.

Reply via email to