aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristopher Baines <mail@cbaines.net>2025-02-26 10:38:30 +0000
committerChristopher Baines <mail@cbaines.net>2025-03-03 14:13:52 +0000
commit15615db61b106c6e77cfabe042edb9e77d578c95 (patch)
treea254dde3fa51ff73af0a42256c9732308afa3dd1
parentc8f537ac0517f45393c8bf68fc0259f185324cc5 (diff)
downloadguix-15615db61b106c6e77cfabe042edb9e77d578c95.tar.gz
guix-15615db61b106c6e77cfabe042edb9e77d578c95.zip
build-system: asdf: Don't search and replace inputs when unnecessary.
If the new-name matches the original name, just use the original package. This avoids situations where there are several packages matching the name and the behaviour will be inconsistent, occasionally picking different packages. Since there are multiple glibc packages currently, I'm seeing this behaviour with cl-posix-mqueue and ecl-cl-posix-mqueue, occasionally they'll use the hurd glibc variant. * guix/build-system/asdf.scm (package-with-build-system): Use the original input packages unless the new-name differs. Change-Id: I08a1f3ad1290689b5497d31950ada4dc0bfa3a3a
-rw-r--r--guix/build-system/asdf.scm10
1 files changed, 7 insertions, 3 deletions
diff --git a/guix/build-system/asdf.scm b/guix/build-system/asdf.scm
index 26b5a5008a..ad0fb993f6 100644
--- a/guix/build-system/asdf.scm
+++ b/guix/build-system/asdf.scm
@@ -155,9 +155,13 @@ set up using CL source package conventions."
(define (find-input-package pkg)
(let* ((name (package-name pkg))
- (new-name (transform-package-name name))
- (pkgs (find-packages-by-name new-name)))
- (if (null? pkgs) #f (list-ref pkgs 0))))
+ (new-name (transform-package-name name)))
+ (if (string=? name new-name)
+ pkg
+ (let ((pkgs (find-packages-by-name new-name)))
+ (if (null? pkgs)
+ #f
+ (list-ref pkgs 0))))))
(define transform
(mlambda (pkg)