summaryrefslogtreecommitdiff
path: root/gnu/packages/emulators.scm
diff options
context:
space:
mode:
authorPatrick Norton <patrick.147.norton@gmail.com>2026-01-02 07:21:13 -0500
committerNguyễn Gia Phong <cnx@loang.net>2026-08-31 11:00:20 +0900
commitf817b7fbbd8513562a641529107c87deab310a4f (patch)
tree01b3f5fdfd96182b791a3ccb8aaafb0c53a6c308 /gnu/packages/emulators.scm
parent7fb8a151ff6699e7a6b9ed3144e3930b702a7814 (diff)
gnu: Use built-in delete-all-but.world-rebuild
* gnu/packages/astronomy.scm (phd2): Use built-in delete-all-but. * gnu/packages/bioinformatics.scm (pynsptools-examples-files): Likewise. * gnu/packages/containers.scm (go-github-com-opencontainers-image-spec-schema) (go-go-podman-io-common, go-go-podman-io-image-v5) (go-go-podman-io-storage): Likewise. * gnu/packages/databases.scm (mysql): Likewise. * gnu/packages/debug.scm (fandango): Likewise. * gnu/packages/electronics.scm (hal, librepcb, nextpnr, surelog): 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/gnome.scm (gjs): 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-check.scm (go-github-com-go-openapi-swag-jsonutils-fixtures-test): Likewise. * gnu/packages/golang-web.scm (go-github-com-containerd-containerd-api) (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-logging, go-cloud-google-com-go-longrunning) (go-cloud-google-com-go-monitoring, go-cloud-google-com-go-profiler) (go-cloud-google-com-go-security, go-cloud-google-com-go-spanner) (go-cloud-google-com-go-storage, go-cloud-google-com-go-trace) (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-cloudwatchlogs) (go-github-com-aws-aws-sdk-go-v2-service-kms) (go-github-com-aws-aws-sdk-go-v2-service-sns) (go-github-com-aws-aws-sdk-go-v2-service-sqs) (go-github-com-aws-aws-sdk-go-v2-service-ssm) (go-github-com-aws-smithy-go-metrics-smithyotelmetrics) (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-internal) (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-go-openapi-swag-loading) (go-github-com-googlecloudplatform-opentelemetry-operations-go-exporter-metric) (go-github-com-googlecloudplatform-opentelemetry-operations-go-exporter-trace) (go-github-com-googlecloudplatform-opentelemetry-operations-go-internal-cloudmock) (go-github-com-googlecloudplatform-opentelemetry-operations-go-internal-resourcemapping) (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-opentracing-contrib-go-grpc-test) (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-aws-ec2-v2) (go-go-opentelemetry-io-contrib-detectors-aws-ecs) (go-go-opentelemetry-io-contrib-detectors-gcp) (go-go-opentelemetry-io-contrib-instrumentation-net-http-httptrace) (go-go-opentelemetry-io-contrib-propagators-autoprop) (go-go-opentelemetry-io-otel-bridge-opentracing) (go-go-opentelemetry-io-otel-exporters-otlp-otlpmetric-otlpmetricgrpc) (go-go-opentelemetry-io-otel-exporters-otlp-otlpmetric-otlpmetrichttp) (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-prometheus) (go-go-opentelemetry-io-otel-exporters-stdout-stdoutmetric) (go-go-opentelemetry-io-otel-exporters-stdout-stdouttrace) (go-go-opentelemetry-io-otel-exporters-zipkin) (go-go-opentelemetry-io-otel-log) (go-go-opentelemetry-io-otel-metric-x) (go-go-opentelemetry-io-otel-sdk, go-go-opentelemetry-io-otel-sdk-log) (go-go-opentelemetry-io-otel-sdk-metric) (go-golang-getoutline-org-sdk-x) (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-go-openapi-swag-jsonutils) (go-github-com-go-openapi-swag-yamlutils) (go-github-com-moby-sys-atomicwriter, go-github-com-moby-sys-devices) (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/kubernetes.scm (go-go-etcd-io-etcd-client-v3) go-go-etcd-io-etcd-pkg-v3, go-go-etcd-io-etcd-server-v3): Likewise. * gnu/packages/mail.scm (neomutt): Likewise. * gnu/packages/mpi.scm (openmpi-5): Likewise. * gnu/packages/protobuf.scm (protobuf-6): Likewise. * gnu/packages/python-science.scm (python-vaex-core): Likewise. * gnu/packages/specifications.scm (specification-astropy-data): Likewise. * gnu/packages/taler.scm (taler-docs): Likewise. * gnu/packages/version-control.scm (libfossil): Likewise. * gnu/packages/vnc.scm (turbovnc): Likewise. 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>
Diffstat (limited to 'gnu/packages/emulators.scm')
-rw-r--r--gnu/packages/emulators.scm85
1 files changed, 5 insertions, 80 deletions
diff --git a/gnu/packages/emulators.scm b/gnu/packages/emulators.scm
index eed81854fca..ea62c24d1b7 100644
--- a/gnu/packages/emulators.scm
+++ b/gnu/packages/emulators.scm
@@ -557,13 +557,6 @@ It aims to support Nintendo DSi and 3DS as well.")
557 (srfi srfi-26))) 557 (srfi srfi-26)))
558 (snippet 558 (snippet
559 #~(begin 559 #~(begin
560 (define (delete-all-but directory . preserve)
561 (with-directory-excursion directory
562 (let* ((pred (negate (cut member <>
563 (cons* "." ".." preserve))))
564 (items (scandir "." pred)))
565 (for-each (cut delete-file-recursively <>) items))))
566
567 ;; Clean up the source from bundled libraries we don't need. 560 ;; Clean up the source from bundled libraries we don't need.
568 (delete-all-but "Externals" 561 (delete-all-but "Externals"
569 ;; XXX: The build system is currently hard-coded 562 ;; XXX: The build system is currently hard-coded
@@ -760,14 +753,6 @@ turbo speed, networked multiplayer, and graphical enhancements.")
760 (srfi srfi-26))) 753 (srfi srfi-26)))
761 (snippet 754 (snippet
762 #~(begin 755 #~(begin
763 ;; XXX: 'delete-all-but' is copied from the turbovnc package.
764 (define (delete-all-but directory . preserve)
765 (with-directory-excursion directory
766 (let* ((pred (negate (cut member <>
767 (cons* "." ".." preserve))))
768 (items (scandir "." pred)))
769 (for-each (cut delete-file-recursively <>) items))))
770
771 ;; Clean up the source from bundled libraries we don't need. 756 ;; Clean up the source from bundled libraries we don't need.
772 (delete-all-but "Externals" 757 (delete-all-but "Externals"
773 ;; XXX: The build system is currently hard-coded 758 ;; XXX: The build system is currently hard-coded
@@ -1195,17 +1180,9 @@ The following systems are supported:
1195 (sha256 1180 (sha256
1196 (base32 1181 (base32
1197 "0dfsz4dsh49dc9xx9rjhfzfkg4h91i2ksgp2inlr9yhgldw9q8h3")) 1182 "0dfsz4dsh49dc9xx9rjhfzfkg4h91i2ksgp2inlr9yhgldw9q8h3"))
1198 (modules '((guix build utils) 1183 (modules '((guix build utils)))
1199 (ice-9 ftw)
1200 (srfi srfi-26)))
1201 (snippet 1184 (snippet
1202 #~(begin 1185 #~(begin
1203 (define (delete-all-but directory . preserve)
1204 (with-directory-excursion directory
1205 (let* ((pred (negate (cut member <> (cons* "." ".." preserve))))
1206 (items (scandir "." pred)))
1207 (for-each (cut delete-file-recursively <>) items))))
1208
1209 (delete-all-but "src/third-party" 1186 (delete-all-but "src/third-party"
1210 "blip_buf" 1187 "blip_buf"
1211 "inih"))))) 1188 "inih")))))
@@ -2433,42 +2410,9 @@ physical device and the RetroPad virtual controller.")
2433 (modules '((guix build utils))) 2410 (modules '((guix build utils)))
2434 (snippet 2411 (snippet
2435 '(begin 2412 '(begin
2436 (use-modules (guix build utils)
2437 (ice-9 ftw)
2438 (srfi srfi-1)
2439 (srfi srfi-26))
2440 (define (delete-all-but . preserve)
2441 ;; Walk the file tree and delete everything except the paths
2442 ;; listed in PRESERVE. Directories listed PRESERVE will cause
2443 ;; their whole contents to be preserved.
2444 (let ((preserve (map (compose (cut string-trim-right <> #\/)
2445 (cut string-append "./" <>))
2446 preserve)))
2447 (file-system-fold
2448 (lambda (path stat result) ;enter
2449 (or (any (lambda (x)
2450 (or (string-prefix? path x)
2451 (string-prefix? x path)))
2452 preserve)
2453 (begin
2454 (delete-file-recursively path)
2455 #f)))
2456 (lambda (path stat result) ;leaf (file)
2457 (unless (any (cut string-prefix? <> path) preserve)
2458 (delete-file path)))
2459 (const #t) ;down (directory)
2460 (const #t) ;up (directory)
2461 (lambda (path stat result) ;skip
2462 (when (file-exists? path)
2463 (error "could not enter unreadable directory" path)))
2464 (lambda (path stat errno result) ;error
2465 (error "error processing" path (strerror errno)))
2466 0
2467 ".")))
2468
2469 ;; This is an allow-list of the shaders explicitly licensed as 2413 ;; This is an allow-list of the shaders explicitly licensed as
2470 ;; free software. 2414 ;; free software.
2471 (delete-all-but 2415 (delete-all-but "."
2472 "anamorphic/shaders/anamorphic.slang" ;expat 2416 "anamorphic/shaders/anamorphic.slang" ;expat
2473 "anamorphic/anamorphic.slangp" 2417 "anamorphic/anamorphic.slangp"
2474 "annotated_passthru.slang" ;public license 2418 "annotated_passthru.slang" ;public license
@@ -3125,16 +3069,7 @@ GLSL (@file{.slang}) shaders for use with RetroArch.")
3125 (commit (string-append "v" version)))) 3069 (commit (string-append "v" version))))
3126 (snippet 3070 (snippet
3127 #~(begin 3071 #~(begin
3128 (use-modules (guix build utils) 3072 (use-modules (guix build utils))
3129 (ice-9 ftw)
3130 (srfi srfi-26))
3131 ;; XXX: 'delete-all-but' is copied from the turbovnc package.
3132 (define (delete-all-but directory . preserve)
3133 (with-directory-excursion directory
3134 (let* ((pred (negate (cut member <>
3135 (cons* "." ".." preserve))))
3136 (items (scandir "." pred)))
3137 (for-each (cut delete-file-recursively <>) items))))
3138 ;; Remove as much bundled sources as possible, shaving off about 3073 ;; Remove as much bundled sources as possible, shaving off about
3139 ;; 65 MiB. 3074 ;; 65 MiB.
3140 (delete-all-but "deps" 3075 (delete-all-but "deps"
@@ -3975,24 +3910,14 @@ de-interlacing patches for use with PCSX2.")
3975 (file-name (git-file-name name version)) 3910 (file-name (git-file-name name version))
3976 (sha256 3911 (sha256
3977 (base32 "0nr53cjifqwnz3icxsj01yd3aw1vfsfxga4zz5zi8aqr175mvq27")) 3912 (base32 "0nr53cjifqwnz3icxsj01yd3aw1vfsfxga4zz5zi8aqr175mvq27"))
3978 (modules '((guix build utils) 3913 (modules '((guix build utils)))
3979 (ice-9 ftw)
3980 (srfi srfi-26)))
3981 (snippet 3914 (snippet
3982 #~(begin 3915 #~(begin
3983 (substitute* "cmake/Pcsx2Utils.cmake" 3916 (substitute* "cmake/Pcsx2Utils.cmake"
3984 (("(PCSX2_GIT_REV \")Unknown" _ prefix) 3917 (("(PCSX2_GIT_REV \")Unknown" _ prefix)
3985 (string-append prefix #$version "-guix"))) 3918 (string-append prefix #$version "-guix")))
3986 (delete-file "3rdparty/include/Packet32.h") ;"not open source" 3919 (delete-file "3rdparty/include/Packet32.h") ;"not open source"
3987 ;; XXX: 'delete-all-but' is copied from the turbovnc package. 3920 (delete-all-but "3rdparty"
3988 (define (delete-all-but directory . preserve)
3989 (with-directory-excursion directory
3990 (let* ((pred (negate (cut member <>
3991 (cons* "." ".." preserve))))
3992 (items (scandir "." pred)))
3993 (for-each (cut delete-file-recursively <>) items))))
3994 (delete-all-but
3995 "3rdparty"
3996 ;; asl2.0 and cc0 3921 ;; asl2.0 and cc0
3997 "glad" ;Is tailored. 3922 "glad" ;Is tailored.
3998 ;; bsd-3 3923 ;; bsd-3