diff options
author | Guillaume Le Vaillant <glv@posteo.net> | 2019-10-17 16:43:09 +0200 |
---|---|---|
committer | Pierre Neidhardt <mail@ambrevar.xyz> | 2019-10-18 11:09:44 +0200 |
commit | 5cace974a4c10b4748b526dba5d20e12afbd2835 (patch) | |
tree | 666e9e9a975831945444eb2a2851736600bb25a0 | |
parent | f733862cc9307b155f23c101b274891255236304 (diff) | |
download | guix-5cace974a4c10b4748b526dba5d20e12afbd2835.tar.gz |
build-system/asdf: Fix package transform.
* guix/build-system/asdf.scm (package-with-build-system): [find-input-package]: New function. [rewrite]: Use it.
-rw-r--r-- | guix/build-system/asdf.scm | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/guix/build-system/asdf.scm b/guix/build-system/asdf.scm index af04084c86..f794bf006b 100644 --- a/guix/build-system/asdf.scm +++ b/guix/build-system/asdf.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2016, 2017 Andy Patterson <ajpatter@uwaterloo.ca> +;;; Copyright © 2019 Guillaume Le Vaillant <glv@posteo.net> ;;; ;;; This file is part of GNU Guix. ;;; @@ -32,6 +33,7 @@ #:use-module (ice-9 regex) #:use-module (srfi srfi-1) #:use-module (srfi srfi-26) + #:use-module (gnu packages) #:export (%asdf-build-system-modules %asdf-build-modules asdf-build @@ -160,13 +162,22 @@ set up using CL source package conventions." (define (has-from-build-system? pkg) (eq? from-build-system (package-build-system pkg))) + (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)))) + (define transform (mlambda (pkg) (define rewrite (match-lambda ((name content . rest) (let* ((is-package? (package? content)) - (new-content (if is-package? (transform content) content))) + (new-content (if is-package? + (or (find-input-package content) + (transform content)) + content))) `(,name ,new-content ,@rest))))) ;; Special considerations for source packages: CL inputs become |