Hello, Mathieu Othacehe <othac...@gnu.org> writes:
> I could narrow it down somehow. Starting from alsa-lib, I narrowed it down further. I found that the problem is actually when an input of the package uses copy-build-system. In the following example, the cross-compilation (with --target=x86_64-linux-gnu) for testp2 and testp3 works fine. Their respective inputs are testinput2 (built with trivial-build-system) and the hello package (built with gnu-build-system). For testp1 however, whose input testinput1 is created with copy-build-system, the same thing as for alsa-lib (which depends on two packages built with copy-build-system) happens: Bootstrap packages are starting to be built if grafts are used. The outputs of both testinput1 and testinput2 do not contain store references, so that is not the issue. It is also no problem to build the packages testinput1, testinput2 or hello with grafts. Is there something special about copy-build-system which is not the case for trivial-build-system and gnu-build-system? I noticed that in (guix build-system trival) and (guix build-system gnu), there is a special case for cross-compilation, while in (guix build-system copy), the same code is used as for a normal build. I don't see why this could cause an issue with grafts though. --8<---------------cut here---------------start------------->8--- (define-module (cc-test) #:use-module (guix build-system copy) #:use-module (guix build-system gnu) #:use-module (guix build-system trivial) #:use-module (gnu packages base) #:use-module (guix packages) #:use-module (guix gexp)) (define-public testinput1 (package (name "testinput1") (version "0") (source (computed-file "testp1-src" #~(begin (mkdir #$output) (mkdir (string-append #$output "/dummy"))))) (build-system copy-build-system) (arguments (list #:install-plan ''(("dummy" "dummy")))) (home-page "") (synopsis "") (description "") (license #f))) (define-public testinput2 (package (name "testinput2") (version "0") (source #f) (build-system trivial-build-system) (arguments (list #:builder #~(begin (mkdir #$output) (mkdir (string-append #$output "/dummy"))))) (home-page "") (synopsis "") (description "") (license #f))) (define-public testp1 (package (name "testp1") (version "0") (source #f) (build-system trivial-build-system) (arguments (list #:builder #~(mkdir #$output))) (inputs (list testinput1)) (home-page "") (synopsis "") (description "") (license #f))) (define-public testp2 (package (name "testp2") (version "0") (source #f) (build-system trivial-build-system) (arguments (list #:builder #~(mkdir #$output))) (inputs (list testinput2)) (home-page "") (synopsis "") (description "") (license #f))) (define-public testp3 (package (name "testp3") (version "0") (source #f) (build-system trivial-build-system) (arguments (list #:builder #~(mkdir #$output))) (inputs (list hello)) (home-page "") (synopsis "") (description "") (license #f))) --8<---------------cut here---------------end--------------->8--- Best, David