aboutsummaryrefslogtreecommitdiff
path: root/guix/build
diff options
context:
space:
mode:
authorEfraim Flashner <efraim@flashner.co.il>2023-09-30 23:48:56 +0300
committerEfraim Flashner <efraim@flashner.co.il>2023-10-18 11:35:40 +0300
commitc2ac2e3f383ebf22a1049ca32f54656f14e56c48 (patch)
treea515a47cad98e8de475f5f3c1dba347edc4f8b57 /guix/build
parentf5907db6eb4c17b6d6c92edd1e95a40aae831dc3 (diff)
downloadguix-c2ac2e3f383ebf22a1049ca32f54656f14e56c48.tar
guix-c2ac2e3f383ebf22a1049ca32f54656f14e56c48.tar.gz
build: cargo-build-system: Check for pregenerated files.
* guix/build/cargo-build-system.scm (check-for-pregenerated-files): New procedure. (%standard-phases): Add 'check-for-pregenerated-files phase between 'unpack and 'unpack-rust-crates.
Diffstat (limited to 'guix/build')
-rw-r--r--guix/build/cargo-build-system.scm10
1 files changed, 9 insertions, 1 deletions
diff --git a/guix/build/cargo-build-system.scm b/guix/build/cargo-build-system.scm
index fbba554e9b..9094ea41d1 100644
--- a/guix/build/cargo-build-system.scm
+++ b/guix/build/cargo-build-system.scm
@@ -111,6 +111,13 @@ Cargo.toml file present at its root."
(define (rust-package? name)
(string-prefix? "rust-" name))
+(define* (check-for-pregenerated-files #:rest _)
+ "Check the source code for files which are known to generally be bundled
+libraries or executables."
+ (let ((pregenerated-files (find-files "." "\\.(a|dll|exe|lib)$")))
+ (when (not (null-list? pregenerated-files))
+ (error "Possible pre-generated files found:" pregenerated-files))))
+
(define* (configure #:key inputs
(vendor-dir "guix-vendor")
#:allow-other-keys)
@@ -285,7 +292,8 @@ directory = '" port)
(replace 'check check)
(replace 'install install)
(add-after 'build 'package package)
- (add-after 'unpack 'unpack-rust-crates unpack-rust-crates)
+ (add-after 'unpack 'check-for-pregenerated-files check-for-pregenerated-files)
+ (add-after 'check-for-pregenerated-files 'unpack-rust-crates unpack-rust-crates)
(add-after 'patch-generated-file-shebangs 'patch-cargo-checksums patch-cargo-checksums)))
(define* (cargo-build #:key inputs (phases %standard-phases)