Sorry for the delay :p > In any case you can change (%current-system) to: > > (or (%current-target-system) (%current-system)) > > ...and it should work. Feel free to push this change to 'master' :-) OK, I could do that. Now I'm trying to build a i686-linux mesa on a x86_64, but the following --8<---------------cut here---------------start------------->8--- (define-public (to32 package64) "Build package for i686-linux. Only x86_64-linux and i686-linux are supported. - If i686-linux, return the package unchanged. - If x86_64-linux, return the 32-bit version of the package." (match (%current-system) ("x86_64-linux" (package (inherit package64) (name (string-append (package-name package64) "32")) (arguments `(#:system "i686-linux" ,@(package-arguments package64))))) (_ package64))) (define mesa32 (package (inherit (to32 mesa)) (arguments (substitute-keyword-arguments (package-arguments mesa) ((#:phases phases) `(modify-phases ,phases (add-after 'unpack 'cross-disable-failing-test (lambda _ (substitute* "src/gallium/tests/unit/meson.build" (("'u_format_test',") "")) #t)))))))) --8<---------------cut here---------------end--------------->8--- still produces a x86_64 build of mesa. Any clue what I'm missing? -- Pierre Neidhardt https://ambrevar.xyz/