gnu: Use built-in delete-all-but.

* gnu/packages/astronomy.scm (phd2): Use built-in delete-all-but.
* gnu/packages/debug.scm (fandango): Likewise.
* gnu/packages/electronics.scm (librepcb, nextpnr): Likewise.
* gnu/packages/emacs-xyz.scm (emacs-smartparens): Likewise.
* gnu/packages/emulators.scm (dolphin-emu, libretro-dolphin-emu)
  (libretro-slang-shaders, mgba, pcsx2, retroarch-minimal): Likewise.
* gnu/packages/game-development.scm (sfml): Likewise.
* gnu/packages/golang-apps.scm (godoc): Likewise.
* gnu/packages/golang-build.scm (go-golang-org-x-tools-go-expect)
  (go-golang-org-x-tools-go-packages-packagestest)
  (go-golang-org-x-tools-godoc): Likewise.
* gnu/packages/golang-web.scm (go-cloud-google-com-go-auth)
  (go-cloud-google-com-go-auth-oauth2adapt)
  (go-cloud-google-com-go-iam, go-cloud-google-com-go-kms)
  (go-cloud-google-com-go-longrunning)
  (go-cloud-google-com-go-monitoring, go-cloud-google-com-go-security)
  (go-cloud-google-com-go-storage)
  (go-github-com-aws-aws-sdk-go-v2-config)
  (go-github-com-aws-aws-sdk-go-v2-credentials)
  (go-github-com-aws-aws-sdk-go-v2-feature-ec2-imds)
  (go-github-com-aws-aws-sdk-go-v2-internal-configsources)
  (go-github-com-aws-aws-sdk-go-v2-internal-endpoints-v2)
  (go-github-com-aws-aws-sdk-go-v2-service-kms)
  (go-github-com-aws-aws-sdk-go-v2-service-sqs)
  (go-github-com-azure-azure-sdk-for-go-sdk-azcore)
  (go-github-com-azure-azure-sdk-for-go-sdk-azidentity)
  (go-github-com-azure-azure-sdk-for-go-sdk-internal)
  (go-github-com-azure-azure-sdk-for-go-sdk-security-keyvault-azkeys)
  (go-github-com-azure-azure-sdk-for-go-sdk-security-keyvault-intern)
  (go-github-com-azure-azure-sdk-for-go-sdk-storage-azblob)
  (go-github-com-azure-azure-sdk-for-go-sdk-storage-azfile)
  (go-github-com-envoyproxy-go-control-plane-envoy)
  (go-github-com-googlecloudplatform-opentelemetry-operations-go-exp)
  (go-github-com-googlecloudplatform-opentelemetry-operations-go-int)
  (go-github-com-grpc-ecosystem-go-grpc-middleware-providers-prometh)
  (go-github-com-hashicorp-go-secure-stdlib-parseutil)
  (go-github-com-jtolio-crawlspace-tools)
  (go-github-com-moby-moby-client)
  (go-github-com-sigstore-sigstore-pkg-signature-kms-aws)
  (go-github-com-sigstore-sigstore-pkg-signature-kms-azure)
  (go-github-com-sigstore-sigstore-pkg-signature-kms-gcp)
  (go-github-com-sigstore-sigstore-pkg-signature-kms-hashivault)
  (go-go-etcd-io-etcd-api-v3, go-go-etcd-io-etcd-client-pkg-v3)
  (go-go-opentelemetry-io-auto-sdk)
  (go-go-opentelemetry-io-contrib-detectors-gcp)
  (go-go-opentelemetry-io-contrib-propagators-autoprop)
  (go-go-opentelemetry-io-otel-exporters-otlp-otlpmetric-otlpmetricg)
  (go-go-opentelemetry-io-otel-exporters-otlp-otlpmetric-otlpmetrich)
  (go-go-opentelemetry-io-otel-exporters-otlp-otlptrace)
  (go-go-opentelemetry-io-otel-exporters-otlp-otlptrace-otlptracegrp)
  (go-go-opentelemetry-io-otel-exporters-otlp-otlptrace-otlptracehttp)
  (go-go-opentelemetry-io-otel-exporters-prometheus)
  (go-go-opentelemetry-io-otel-exporters-stdout-stdoutmetric)
  (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)
  (go-google-golang-org-genproto-googleapis-bytestream)
  (go-google-golang-org-grpc-cmd-protoc-gen-go-grpc)
  (go-google-golang-org-grpc-examples)
  (go-k8s-io-kube-openapi-test-integration): Likewise.
* gnu/packages/golang-xyz.scm (go-github-com-ajstarks-deck-generate)
  (go-github-com-charmbracelet-x-ansi)
  (go-github-com-charmbracelet-x-cellbuf)
  (go-github-com-charmbracelet-x-errors)
  (go-github-com-charmbracelet-x-term)
  (go-github-com-charmbracelet-x-xpty)
  (go-github-com-containerd-errdefs-pkg)
  (go-github-com-moby-sys-atomicwriter)
  (go-github-com-moby-sys-mount, go-go-uber-org-zap-exp)
  (go-modernc-org-ccgo-v4, go-sigs-k8s-io-kustomize-cmd-config):
  Likewise.
* gnu/packages/image-processing.scm (opencv): Likewise.
* gnu/packages/ipfs.scm (go-github-com-ipfs-shipyard-nopfs-ipfs):
  Likewise.
* gnu/packages/mail.scm (neomutt): Likewise.
* gnu/packages/mpi.scm (openmpi-5): Likewise.
* gnu/packages/protobuf.scm (protobuf-6): Likewise.
* gnu/packages/specifications.scm (specification-astropy-data): Likewise.
* gnu/packages/version-control.scm (libfossil): Likewise.
* gnu/packages/vnc.scm (turbovnc): Likewise.

Change-Id: I6575463a072a6ee05751e23ebcee9a393529c8b1
Merges: https://codeberg.org/guix/guix/pulls/5312
Reviewed-by: Maxim Cournoyer <maxim@guixotic.coop>
Reviewed-by: Cayetano Santos <csantosb@inventati.org>
Reviewed-by: Gabriel Wicki <gabriel@erlikon.ch>
Co-authored-by: Nguyễn Gia Phong <cnx@loang.net>
Signed-off-by: Nguyễn Gia Phong <cnx@loang.net>
This commit is contained in:
Patrick Norton
2026-01-02 07:21:13 -05:00
committed by Nguyễn Gia Phong
parent 45762bb5d3
commit 6785d98880
18 changed files with 145 additions and 1022 deletions

View File

@@ -1877,18 +1877,9 @@ R. Seaman's protocol}
(file-name (git-file-name name version))
(sha256
(base32 "0n2jzlpwvjgj8ydg7hsqxnvy8s9pdi5z96id0231kgi87pyfkh7s"))
(modules '((guix build utils)
(ice-9 ftw)
(srfi srfi-26)))
(modules '((guix build utils)))
(snippet
#~(begin
;; XXX: 'delete-all-but' is copied from the turbovnc package.
(define (delete-all-but directory . preserve)
(with-directory-excursion directory
(let* ((pred (negate (cut member <>
(cons* "." ".." preserve))))
(items (scandir "." pred)))
(for-each (cut delete-file-recursively <>) items))))
(delete-all-but "thirdparty" "thirdparty.cmake")))))
(build-system cmake-build-system)
(arguments

View File

@@ -1096,17 +1096,9 @@ to aid in debugging.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256 (base32 "0ppx8r9isc772y0ahpgl8g5b3yxka7ffqzlcsa920aib5nj39lrg"))
(modules '((guix build utils)
(ice-9 ftw)
(srfi srfi-26)))
(modules '((guix build utils)))
(snippet
#~(begin
(define (delete-all-but directory . preserve)
(with-directory-excursion directory
(let* ((pred (negate (cut member <>
(cons* "." ".." preserve))))
(items (scandir "." pred)))
(for-each (cut delete-file-recursively <>) items))))
(substitute* "pyproject.toml"
;; Python is linked with GNU readline on all Guix targets.
((".*gnureadline.*") "")

View File

@@ -1588,31 +1588,21 @@ exploration and optimization.")
(commit version)
(recursive? #t)))
(file-name (git-file-name name version))
(modules '((guix build utils)
(ice-9 ftw)
(srfi srfi-26)))
(modules '((guix build utils)))
(snippet
#~(begin
;; XXX: 'delete-all-but' is copied from the turbovnc package.
(define (delete-all-but directory . preserve)
(with-directory-excursion directory
(let* ((pred (negate (cut member <>
(cons* "." ".." preserve))))
(items (scandir "." pred)))
(for-each (cut delete-file-recursively <>) items))))
(delete-all-but "libs"
"delaunay-triangulation"
"dxflib"
;; "fontobene-qt"
;; "googletest"
;; "hoedown"
"librepcb"
;; "muparser"
"optional"
"parseagle"
;; "polyclipping"
;; "quazip"
"type_safe")))
#~(delete-all-but "libs"
"delaunay-triangulation"
"dxflib"
;; "fontobene-qt"
;; "googletest"
;; "hoedown"
"librepcb"
;; "muparser"
"optional"
"parseagle"
;; "polyclipping"
;; "quazip"
"type_safe"))
(sha256
(base32 "1g3k2g2p5yy7zk971bg7qh4k38p30aydp27c5bfb02gn7djknz7w"))))
(build-system cmake-build-system)
@@ -2168,18 +2158,9 @@ layout of a circuit corresponds to the desired netlists.")
;; no longer have their original upstream.
(recursive? #t)))
(file-name (git-file-name name version))
(modules '((guix build utils)))
(snippet
#~(begin
(use-modules (guix build utils)
(ice-9 ftw)
(srfi srfi-26))
;; XXX: 'delete-all-but' is copied from the turbovnc package.
(define (delete-all-but directory . preserve)
(with-directory-excursion directory
(let* ((pred (negate (cut member <>
(cons* "." ".." preserve))))
(items (scandir "." pred)))
(for-each (cut delete-file-recursively <>) items))))
(delete-all-but "3rdparty"
;; The following sources have all been patched, so
;; cannot easily be unbundled.

View File

@@ -16024,18 +16024,9 @@ placed at the margin of the minibuffer for your completion candidates.")
(url "https://github.com/Fuco1/smartparens")
(commit commit)))
(file-name (git-file-name name version))
(modules '((guix build utils)
(ice-9 ftw)
(srfi srfi-26)))
(modules '((guix build utils)))
(snippet
'(begin
;; Taken from nextpnr package.
(define (delete-all-but directory . preserve)
(with-directory-excursion directory
(let* ((pred
(negate (cut member <> (append '("." "..") preserve))))
(items (scandir "." pred)))
(for-each delete-file items))))
;; Only activate basic tests.
(delete-all-but "test"
"test-helper.el"

View File

@@ -460,13 +460,6 @@ It aims to support Nintendo DSi and 3DS as well.")
(srfi srfi-26)))
(snippet
#~(begin
(define (delete-all-but directory . preserve)
(with-directory-excursion directory
(let* ((pred (negate (cut member <>
(cons* "." ".." preserve))))
(items (scandir "." pred)))
(for-each (cut delete-file-recursively <>) items))))
;; Clean up the source from bundled libraries we don't need.
(delete-all-but "Externals"
;; XXX: The build system is currently hard-coded
@@ -656,14 +649,6 @@ turbo speed, networked multiplayer, and graphical enhancements.")
(srfi srfi-26)))
(snippet
#~(begin
;; XXX: 'delete-all-but' is copied from the turbovnc package.
(define (delete-all-but directory . preserve)
(with-directory-excursion directory
(let* ((pred (negate (cut member <>
(cons* "." ".." preserve))))
(items (scandir "." pred)))
(for-each (cut delete-file-recursively <>) items))))
;; Clean up the source from bundled libraries we don't need.
(delete-all-but "Externals"
;; XXX: The build system is currently hard-coded
@@ -1079,17 +1064,9 @@ The following systems are supported:
(sha256
(base32
"0dfsz4dsh49dc9xx9rjhfzfkg4h91i2ksgp2inlr9yhgldw9q8h3"))
(modules '((guix build utils)
(ice-9 ftw)
(srfi srfi-26)))
(modules '((guix build utils)))
(snippet
#~(begin
(define (delete-all-but directory . preserve)
(with-directory-excursion directory
(let* ((pred (negate (cut member <> (cons* "." ".." preserve))))
(items (scandir "." pred)))
(for-each (cut delete-file-recursively <>) items))))
(delete-all-but "src/third-party"
"blip_buf"
"inih")))))
@@ -2319,42 +2296,9 @@ physical device and the RetroPad virtual controller.")
(modules '((guix build utils)))
(snippet
'(begin
(use-modules (guix build utils)
(ice-9 ftw)
(srfi srfi-1)
(srfi srfi-26))
(define (delete-all-but . preserve)
;; Walk the file tree and delete everything except the paths
;; listed in PRESERVE. Directories listed PRESERVE will cause
;; their whole contents to be preserved.
(let ((preserve (map (compose (cut string-trim-right <> #\/)
(cut string-append "./" <>))
preserve)))
(file-system-fold
(lambda (path stat result) ;enter
(or (any (lambda (x)
(or (string-prefix? path x)
(string-prefix? x path)))
preserve)
(begin
(delete-file-recursively path)
#f)))
(lambda (path stat result) ;leaf (file)
(unless (any (cut string-prefix? <> path) preserve)
(delete-file path)))
(const #t) ;down (directory)
(const #t) ;up (directory)
(lambda (path stat result) ;skip
(when (file-exists? path)
(error "could not enter unreadable directory" path)))
(lambda (path stat errno result) ;error
(error "error processing" path (strerror errno)))
0
".")))
;; This is an allow-list of the shaders explicitly licensed as
;; free software.
(delete-all-but
(delete-all-but "."
"anamorphic/shaders/anamorphic.slang" ;expat
"anamorphic/anamorphic.slangp"
"annotated_passthru.slang" ;public license
@@ -3011,16 +2955,7 @@ GLSL (@file{.slang}) shaders for use with RetroArch.")
(commit (string-append "v" version))))
(snippet
#~(begin
(use-modules (guix build utils)
(ice-9 ftw)
(srfi srfi-26))
;; XXX: 'delete-all-but' is copied from the turbovnc package.
(define (delete-all-but directory . preserve)
(with-directory-excursion directory
(let* ((pred (negate (cut member <>
(cons* "." ".." preserve))))
(items (scandir "." pred)))
(for-each (cut delete-file-recursively <>) items))))
(use-modules (guix build utils))
;; Remove as much bundled sources as possible, shaving off about
;; 65 MiB.
(delete-all-but "deps"
@@ -3829,24 +3764,14 @@ de-interlacing patches for use with PCSX2.")
(file-name (git-file-name name version))
(sha256
(base32 "0nr53cjifqwnz3icxsj01yd3aw1vfsfxga4zz5zi8aqr175mvq27"))
(modules '((guix build utils)
(ice-9 ftw)
(srfi srfi-26)))
(modules '((guix build utils)))
(snippet
#~(begin
(substitute* "cmake/Pcsx2Utils.cmake"
(("(PCSX2_GIT_REV \")Unknown" _ prefix)
(string-append prefix #$version "-guix")))
(delete-file "3rdparty/include/Packet32.h") ;"not open source"
;; XXX: 'delete-all-but' is copied from the turbovnc package.
(define (delete-all-but directory . preserve)
(with-directory-excursion directory
(let* ((pred (negate (cut member <>
(cons* "." ".." preserve))))
(items (scandir "." pred)))
(for-each (cut delete-file-recursively <>) items))))
(delete-all-but
"3rdparty"
(delete-all-but "3rdparty"
;; asl2.0 and cc0
"glad" ;Is tailored.
;; bsd-3

View File

@@ -1182,17 +1182,9 @@ It is capable of creating games for SCUMM version 6 and partially version 7.")
(sha256
(base32
"12f1d45995qf5sazjmmfdydllcd6alhqs1s4xwv3jiq1fw66hcy9"))
(modules '((guix build utils)
(ice-9 ftw)
(srfi srfi-26)))
(modules '((guix build utils)))
(snippet
'(begin
;; XXX: 'delete-all-but' is copied from the turbovnc package.
(define (delete-all-but directory . preserve)
(with-directory-excursion directory
(let* ((pred (negate (cut member <> (cons* "." ".." preserve))))
(items (scandir "." pred)))
(for-each (cut delete-file-recursively <>) items))))
(delete-all-but "extlibs/headers"
"glad"))))) ;pre-generated headers
(build-system cmake-build-system)

View File

@@ -192,17 +192,9 @@ definitions in Go programs.")
(file-name (git-file-name name version))
(sha256
(base32 "0c1rxbj3v3m0fqb8q96xlbawxm9scyx6vvr8pddkiwp7zkx4ajym"))
(modules '((guix build utils)
(ice-9 ftw)
(srfi srfi-26)))
(modules '((guix build utils)))
(snippet
#~(begin
(define (delete-all-but directory . preserve)
(with-directory-excursion directory
(let* ((pred (negate (cut member <>
(cons* "." ".." preserve))))
(items (scandir "." pred)))
(for-each (cut delete-file-recursively <>) items))))
(delete-all-but "cmd" "godoc")
(delete-all-but "." "cmd")))))
(build-system go-build-system)

View File

@@ -1535,17 +1535,9 @@ Go programming language.")
(file-name (git-file-name name version))
(sha256
(base32 "0sjvngpahkb5x573i855fjlb1fdmr6n269nmb5xxnbabjb27mnvg"))
(modules '((guix build utils)
(ice-9 ftw)
(srfi srfi-26)))
(modules '((guix build utils)))
(snippet
#~(begin
(define (delete-all-but directory . preserve)
(with-directory-excursion directory
(let* ((pred (negate (cut member <>
(cons* "." ".." preserve))))
(items (scandir "." pred)))
(for-each (cut delete-file-recursively <>) items))))
(delete-all-but "go" "expect")
(delete-all-but "." "go")))))
(build-system go-build-system)
@@ -1575,17 +1567,9 @@ Go source code (including go.mod and go.work files) as test expectations.")
(file-name (git-file-name name version))
(sha256
(base32 "0sjvngpahkb5x573i855fjlb1fdmr6n269nmb5xxnbabjb27mnvg"))
(modules '((guix build utils)
(ice-9 ftw)
(srfi srfi-26)))
(modules '((guix build utils)))
(snippet
#~(begin
(define (delete-all-but directory . preserve)
(with-directory-excursion directory
(let* ((pred (negate (cut member <>
(cons* "." ".." preserve))))
(items (scandir "." pred)))
(for-each (cut delete-file-recursively <>) items))))
(delete-all-but "go" "packages")
(delete-all-but "go/packages" "packagestest")
(delete-all-but "." "go")))))
@@ -1618,18 +1602,9 @@ tools on.")
(file-name (git-file-name name version))
(sha256
(base32 "1blk22apy424j9v58lfy4pxnrgh93yqchqhxsnf78dmx4vx5yi9r"))
(modules '((guix build utils)
(ice-9 ftw)
(srfi srfi-26)))
(modules '((guix build utils)))
(snippet
#~(begin
(define (delete-all-but directory . preserve)
(with-directory-excursion directory
(let* ((pred (negate (cut member <>
(cons* "." ".." preserve))))
(items (scandir "." pred)))
(for-each (cut delete-file-recursively <>) items))))
(delete-all-but "." "godoc")))))
#~(begin (delete-all-but "." "godoc")))))
(build-system go-build-system)
(arguments
(list

File diff suppressed because it is too large Load Diff

View File

@@ -1238,26 +1238,8 @@ may be interactive or produce standard formats such as SVG or PDF.")
(file-name (git-file-name name version))
(sha256
(base32 "1np11if704xzyhsx9mqhz7djx23g6wnz62r1v9ra6xaz91yfic0n"))
(modules '((guix build utils)
(ice-9 ftw)
(srfi srfi-26)))
(snippet
#~(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))))
(items (scandir "." pred)))
(for-each (lambda (item)
(if (directory? item)
(delete-file-recursively item)
(delete-file item)))
items))))
(delete-all-but "." "generate")))))
(modules '((guix build utils)))
(snippet #~(delete-all-but "." "generate"))))
(build-system go-build-system)
(arguments
(list
@@ -4818,18 +4800,9 @@ and multi-selects with a focus on user experience and aesthetics.")
(file-name (git-file-name name version))
(sha256
(base32 "083zj3yqb48li8w389iabi1b1zklbw7cwam2grvvglcqrrsj3bsf"))
(modules '((guix build utils)
(ice-9 ftw)
(srfi srfi-26)))
(modules '((guix build utils)))
(snippet
#~(begin
(define (delete-all-but directory . preserve)
(with-directory-excursion directory
(let* ((pred (negate (cut member <>
(cons* "." ".." preserve))))
(items (scandir "." pred)))
(for-each (cut delete-file-recursively <>) items))))
(delete-all-but "." "ansi")))))
#~(begin (delete-all-but "." "ansi")))))
(build-system go-build-system)
(arguments
(list
@@ -4866,14 +4839,7 @@ ECMA-48} specs.")
(ice-9 ftw)
(srfi srfi-26)))
(snippet
#~(begin
(define (delete-all-but directory . preserve)
(with-directory-excursion directory
(let* ((pred (negate (cut member <>
(cons* "." ".." preserve))))
(items (scandir "." pred)))
(for-each (cut delete-file-recursively <>) items))))
(delete-all-but "." "cellbuf")))))
#~(begin (delete-all-but "." "cellbuf")))))
(build-system go-build-system)
(arguments
(list
@@ -4931,18 +4897,8 @@ ECMA-48} specs.")
(file-name (git-file-name name version))
(sha256
(base32 "088786ak8jsgvssbb5y16z066vfq9f6078sjc7iv766knfr2i0x2"))
(modules '((guix build utils)
(ice-9 ftw)
(srfi srfi-26)))
(snippet
#~(begin
(define (delete-all-but directory . preserve)
(with-directory-excursion directory
(let* ((pred (negate (cut member <>
(cons* "." ".." preserve))))
(items (scandir "." pred)))
(for-each (cut delete-file-recursively <>) items))))
(delete-all-but "." "errors")))))
(modules '((guix build utils)))
(snippet #~(delete-all-but "." "errors"))))
(build-system go-build-system)
(arguments
(list
@@ -5094,18 +5050,9 @@ package provides an API for comparing Golden files.")
(file-name (git-file-name name version))
(sha256
(base32 "1shw55110fnn4xz80wmgr18czmiil6z1j064m90iw8c7j9llfzn5"))
(modules '((guix build utils)
(ice-9 ftw)
(srfi srfi-26)))
(modules '((guix build utils)))
(snippet
#~(begin
(define (delete-all-but directory . preserve)
(with-directory-excursion directory
(let* ((pred (negate (cut member <>
(cons* "." ".." preserve))))
(items (scandir "." pred)))
(for-each (cut delete-file-recursively <>) items))))
(delete-all-but "." "term")))))
#~(begin (delete-all-but "." "term")))))
(build-system go-build-system)
(arguments
(list
@@ -5193,21 +5140,8 @@ package provides an API for comparing Golden files.")
(file-name (git-file-name name version))
(sha256
(base32 "0blpb8vpl7sc6pb43h0730wdcwrkvnhly6qhik6wljrzn2nqz5g2"))
(modules '((guix build utils)
(ice-9 ftw)
(srfi srfi-26)))
(snippet
#~(begin
;; XXX: 'delete-all-but' is copied from the turbovnc package.
;; Consider implementing it as a reusable procedure in
;; guix/build/utils or guix/build-system/go.
(define (delete-all-but directory . preserve)
(with-directory-excursion directory
(let* ((pred (negate (cut member <>
(cons* "." ".." preserve))))
(items (scandir "." pred)))
(for-each (cut delete-file-recursively <>) items))))
(delete-all-but "." "xpty")))))
(modules '((guix build utils)))
(snippet #~(delete-all-but "." "xpty"))))
(build-system go-build-system)
(arguments
(list
@@ -6245,21 +6179,8 @@ packages.")
(file-name (git-file-name name version))
(sha256
(base32 "0afaljkkd388f6igr3f2vjnd14yr8h20fcfzglw8j5q1q7a1cvik"))
(modules '((guix build utils)
(ice-9 ftw)
(srfi srfi-26)))
(snippet
#~(begin
;; XXX: 'delete-all-but' is copied from the turbovnc package.
;; Consider implementing it as a reusable procedure in
;; guix/build/utils or guix/build-system/go.
(define (delete-all-but directory . preserve)
(with-directory-excursion directory
(let* ((pred (negate (cut member <>
(cons* "." ".." preserve))))
(items (scandir "." pred)))
(for-each (cut delete-file-recursively <>) items))))
(delete-all-but "." "pkg")))))
(modules '((guix build utils)))
(snippet #~(delete-all-but "." "pkg"))))
(build-system go-build-system)
(arguments
(list
@@ -15182,18 +15103,9 @@ Twisted's manhole library} .")
(file-name (git-file-name name version))
(sha256
(base32 "0xj782ghf0iv8r2xxmg2vrh72b02h216y4yfyi60y9z0691lrsip"))
(modules '((guix build utils)
(ice-9 ftw)
(srfi srfi-26)))
(modules '((guix build utils)))
(snippet
#~(begin
(define (delete-all-but directory . preserve)
(with-directory-excursion directory
(let* ((pred (negate (cut member <>
(cons* "." ".." preserve))))
(items (scandir "." pred)))
(for-each (cut delete-file-recursively <>) items))))
(delete-all-but "." "tools")))))
#~(begin (delete-all-but "." "tools")))))
(build-system go-build-system)
(arguments
(list
@@ -18797,18 +18709,9 @@ publishsubscribe pattern}.")
(file-name (git-file-name name version))
(sha256
(base32 "0an8ypp8v9gfxbbb71mpimb1g9labl4v7lgazcphysn6c5smgmiw"))
(modules '((guix build utils)
(ice-9 ftw)
(srfi srfi-26)))
(modules '((guix build utils)))
(snippet
#~(begin
(define (delete-all-but directory . preserve)
(with-directory-excursion directory
(let* ((pred (negate (cut member <>
(cons* "." ".." preserve))))
(items (scandir "." pred)))
(for-each (cut delete-file-recursively <>) items))))
(delete-all-but "." "atomicwriter")))))
#~(begin (delete-all-but "." "atomicwriter")))))
(build-system go-build-system)
(arguments
(list
@@ -18863,18 +18766,9 @@ https://github.com/syndtr/gocapability.")
(file-name (git-file-name name version))
(sha256
(base32 "1nh1disclgydvq7k10awzks6k8kw9cjj3q19f83ksi4b76p5l475"))
(modules '((guix build utils)
(ice-9 ftw)
(srfi srfi-26)))
(modules '((guix build utils)))
(snippet
#~(begin
(define (delete-all-but directory . preserve)
(with-directory-excursion directory
(let* ((pred (negate (cut member <>
(cons* "." ".." preserve))))
(items (scandir "." pred)))
(for-each (cut delete-file-recursively <>) items))))
(delete-all-but "." "mount")))))
#~(begin (delete-all-but "." "mount")))))
(build-system go-build-system)
(arguments
(list
@@ -29617,21 +29511,8 @@ when they'd prefer a more familiar, loosely typed API.")
(file-name (git-file-name name version))
(sha256
(base32 "05i15278swdmpif3p6g18sy0sn7rnfdl3m2rj5p30cnyb0j29vig"))
(modules '((guix build utils)
(ice-9 ftw)
(srfi srfi-26)))
(snippet
#~(begin
;; XXX: 'delete-all-but' is copied from the turbovnc package.
;; Consider implementing it as a reusable procedure in
;; guix/build/utils or guix/build-system/go.
(define (delete-all-but directory . preserve)
(with-directory-excursion directory
(let* ((pred (negate (cut member <>
(cons* "." ".." preserve))))
(items (scandir "." pred)))
(for-each (cut delete-file-recursively <>) items))))
(delete-all-but "." "exp")))))
(modules '((guix build utils)))
(snippet #~(delete-all-but "." "exp"))))
(build-system go-build-system)
(arguments
(list
@@ -31030,18 +30911,9 @@ code.")
(name "go-modernc-org-ccgo-v4")
(source (origin
(inherit (package-source go-modernc-org-ccgo-v3))
(modules '((guix build utils)
(ice-9 ftw)
(srfi srfi-26)))
(modules '((guix build utils)))
(snippet
#~(begin
(define (delete-all-but directory . preserve)
(with-directory-excursion directory
(let* ((pred (negate (cut member <>
(cons* "." ".." preserve))))
(items (scandir "." pred)))
(for-each (cut delete-file-recursively <>) items))))
(delete-all-but "." "v4")))))
#~(begin (delete-all-but "." "v4")))))
(arguments
(substitute-keyword-arguments
(package-arguments go-modernc-org-ccgo-v3)
@@ -31997,20 +31869,9 @@ unmarshaling functions based on @code{encoding/json} @code{Unmarshal()}.")
(file-name (git-file-name name version))
(sha256
(base32 "12n8ij4gisah5mvxcgq263iic61gjpxdj3ml03826zckzn7wlv46"))
(modules '((guix build utils)
(ice-9 ftw)
(srfi srfi-26)))
(modules '((guix build utils)))
(snippet
#~(begin
;; XXX: 'delete-all-but' is copied from the turbovnc package.
;; Consider implementing it as a reusable procedure in
;; guix/build/utils or guix/build-system/go.
(define (delete-all-but directory . preserve)
(with-directory-excursion directory
(let* ((pred (negate (cut member <>
(cons* "." ".." preserve))))
(items (scandir "." pred)))
(for-each (cut delete-file-recursively <>) items))))
(delete-all-but "." "cmd")
(delete-all-but "cmd" "config")))))
(build-system go-build-system)

View File

@@ -601,24 +601,16 @@ different data arrays similar to those available in the numdiff software.")
(file-name (git-file-name name version))
(snippet
#~(begin
(use-modules (guix build utils)
(ice-9 ftw)
(srfi srfi-26))
(use-modules (guix build utils))
;; Delete any bundled .jar files.
(for-each delete-file (find-files "." "\\.jar$"))
(define (delete-all-but directory . preserve)
(with-directory-excursion directory
(let* ((pred (negate (cut member <>
(cons* "." ".." preserve))))
(items (scandir "." pred)))
(for-each (cut delete-file-recursively <>) items))))
(delete-all-but "3rdparty"
"fastcv" ;TODO: Unbundle these
"libspng"
"libtim-vx"
"orbbecsdk"
"quirc"
"zlib-ng")))
"fastcv" ;TODO: Unbundle these
"libspng"
"libtim-vx"
"orbbecsdk"
"quirc"
"zlib-ng")))
(sha256
(base32
"15w4fqjqv5k1yw70jbjsnlgiky39mqpy05rvmm2fbyjrif4kbgkl"))))

View File

@@ -1362,21 +1362,9 @@ code prior to it getting merged into @code{go-cid}.")
(file-name (git-file-name name version))
(sha256
(base32 "00lwizzdfdx6kynxddal3all6q9dhwqanpkw0d0vxlwik4nkvxa5"))
(modules '((guix build utils)
(ice-9 ftw)
(srfi srfi-26)))
(modules '((guix build utils)))
(snippet
#~(begin
;; XXX: 'delete-all-but' is copied from the turbovnc package.
;; Consider to implement it as re-usable procedure in
;; guix/build/utils or guix/build-system/go.
(define (delete-all-but directory . preserve)
(with-directory-excursion directory
(let* ((pred (negate (cut member <>
(cons* "." ".." preserve))))
(items (scandir "." pred)))
(for-each (cut delete-file-recursively <>) items))))
(delete-all-but "." "ipfs")))))
#~(begin (delete-all-but "." "ipfs")))))
(build-system go-build-system)
(arguments
(list

View File

@@ -780,20 +780,10 @@ operating systems.")
(file-name (git-file-name name version))
(sha256
(base32 "1sg6ifabci7xyp3zds1w906vx6jsmyjlfr6bqld7m7hj07by9ndd"))
(modules '((guix build utils)
(ice-9 ftw)
(srfi srfi-26)))
(snippet
#~(begin
(define (delete-all-but directory . preserve)
(with-directory-excursion directory
(let* ((pred (negate (cut member <>
(cons* "." ".." preserve))))
(items (scandir "." pred)))
(for-each (cut delete-file-recursively <>) items))))
(delete-all-but "autosetup"
"mutt-gettext.tcl"
"mutt-iconv.tcl")))))
(modules '((guix build utils)))
(snippet #~(delete-all-but "autosetup"
"mutt-gettext.tcl"
"mutt-iconv.tcl"))))
(build-system gnu-build-system)
(inputs
(list cyrus-sasl

View File

@@ -336,18 +336,9 @@ software vendors, application developers and computer science researchers.")
(uri (string-append "https://www.open-mpi.org/software/ompi/v"
(version-major+minor version)
"/downloads/openmpi-" version ".tar.bz2"))
(modules '((guix build utils)
(ice-9 ftw)
(srfi srfi-26)))
(modules '((guix build utils)))
(snippet
'(begin
;; XXX: 'delete-all-but' is copied from the turbovnc package.
(define (delete-all-but directory . preserve)
(with-directory-excursion directory
(let* ((pred (negate (cut member <>
(cons* "." ".." preserve))))
(items (scandir "." pred)))
(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")

View File

@@ -108,24 +108,9 @@ data in motion, or as a file format for data at rest.")
(uri (git-reference
(url "https://github.com/protocolbuffers/protobuf/")
(commit (string-append "v" version))))
(modules '((guix build utils)
(ice-9 ftw)
(srfi srfi-26)))
(snippet
#~(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))))
(items (scandir "." pred)))
(for-each delete-file-recursively items))))
;; "utf8_range" development now takes place in main protobuf
;; repository.
(delete-all-but "third_party" "utf8_range")))
(modules '((guix build utils)))
;; "utf8_range" development now takes place in main protobuf repository.
(snippet #~(delete-all-but "third_party" "utf8_range"))
(file-name (git-file-name name version))
(sha256
(base32 "1rdxm75bqwjj4qd3hz4vlydra6bw5dq391kwln2q0pjfx9gbrjhk"))))

View File

@@ -46,19 +46,11 @@
(file-name (git-file-name name version))
(sha256
(base32 "17iqvqs7w3z5c4acnjc6mixqkqz4rff2c7flfpnlwgfjgqy1a2zw"))
(modules '((guix build utils)
(ice-9 ftw)
(srfi srfi-26)))
(modules '((guix build utils)))
(snippet
;; XXX: Keep just some portion with valulable data and no license
;; issues.
#~(begin
(define (delete-all-but directory . preserve)
(with-directory-excursion directory
(let* ((pred (negate (cut member <>
(cons* "." ".." preserve))))
(items (scandir "." pred)))
(for-each (cut delete-file-recursively <>) items))))
(delete-all-but "."
"allsky"
"coordinates"

View File

@@ -3537,17 +3537,9 @@ modification time.")
(sha256
(base32 "0a0ycnnba2izmiqjj8hgvjgjdwhpn0x36lhy3vmw4j7bhny0df52"))
(patches (search-patches "libfossil-skip-amalgamation.patch"))
(modules '((guix build utils)
(ice-9 ftw)
(srfi srfi-26)))
(modules '((guix build utils)))
(snippet
#~(begin
(define (delete-all-but directory . preserve)
(with-directory-excursion directory
(let* ((pred (negate (cut member <>
(cons* "." ".." preserve))))
(items (scandir "." pred)))
(for-each (cut delete-file-recursively <>) items))))
(delete-all-but "autosetup" "proj.tcl" "wh-common.tcl")
(delete-file-recursively "extsrc")
;; Re-create Fossil check-out manifests,

View File

@@ -183,9 +183,7 @@ RDP, VNC, SPICE, NX, XDMCP, SSH and EXEC network protocols are supported.")
(uri (git-reference
(url "https://github.com/TurboVNC/turbovnc")
(commit version)))
(modules '((guix build utils)
(ice-9 ftw)
(srfi srfi-26)))
(modules '((guix build utils)))
(snippet
#~(begin
;; There are a few bundled Java libraries, such as jsch and jzlib,
@@ -193,12 +191,6 @@ 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 (delete-all-but directory . preserve)
(with-directory-excursion directory
(let* ((pred (negate (cut member <>
(cons* "." ".." preserve))))
(items (scandir "." pred)))
(for-each (cut delete-file-recursively <>) items))))
;; d3des, rfb (headers) and turbojpeg-jni are small and not
;; packaged in Guix, so preserve them.