diff --git a/guix/derivations.scm b/guix/derivations.scm index 9f5ab16d6d..22d8d91f09 100644 --- a/guix/derivations.scm +++ b/guix/derivations.scm @@ -240,19 +240,20 @@ in SIZE bytes." ;; derivation. Note: inputs are sorted as in the order of their hex ;; hash representation because that's what the C++ `std::map' code ;; does. - (let* ((inputs (sort (map (match-lambda - (($ path sub-drvs) - (let ((hash (call-with-input-file path - (compose bytevector->base16-string - derivation-hash - read-derivation)))) - (make-derivation-input hash sub-drvs)))) - inputs) - (lambda (i1 i2) - (string path sub-drvs) + (let ((hash (call-with-input-file path + (compose bytevector->base16-string + derivation-hash + read-derivation)))) + (make-derivation-input hash sub-drvs)))) + inputs) + (lambda (i1 i2) + (stringutf8 (call-with-output-string (cut write-derivation drv <>))))))))))