On 25-07-2022 21:47, Marcel van der Boom wrote:
+       (patches
+        (if (target-ppc64le?)
+            (list (search-patch "exiv2-ppc64.patch"))))))

The second branch of the 'if' is missing -- as-is, *unspecified* is used when (not (target-ppc64le?)), which won't work.

The 'patches' field is delayed, not thunked, so only the first system+target it sees will take effect. This will break things if for whatever reason you compute the derivation of the package for multiple systems in the same process.

To solve things, I recommend:

  1. Inform upstream that the test (or the code it tests) is broken on ppc64le, such that a better test can be devised and everyone (not only Guix) benefits,
  2. and for now, modify the test file in a phase (using 'substitute*') -- phases are thunked instead of delayed or direct, so the issue mentioned above doesn't hold.

Greetings,
Maxime.