apteryx pushed a commit to branch master
in repository guix.
commit cc79e4b53910fb669b4031f04e25b2a85744411e
Author: Maxim Cournoyer <[email protected]>
AuthorDate: Fri Jan 6 14:32:59 2023 -0500
gnu: ruby-nokogiri: Make it reproducible.
Fixes <https://issues.guix.gnu.org/56389>.
* gnu/packages/ruby.scm (ruby-nokogiri) [arguments]: Use gexps.
[phases] {delete-mkmf.log}: New phase.
Reported-by: Wiktor Żelazny <[email protected]>
---
gnu/packages/ruby.scm | 18 +++++++++++++-----
1 file changed, 13 insertions(+), 5 deletions(-)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 1e75341a43..801fe03dad 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -5062,11 +5062,19 @@ to reproduce user environments.")
(arguments
;; Tests fail because Nokogiri can only test with an installed extension,
;; and also because many test framework dependencies are missing.
- `(#:tests? #f
- #:gem-flags (list "--" "--use-system-libraries"
- (string-append "--with-xml2-include="
- (assoc-ref %build-inputs "libxml2")
- "/include/libxml2" ))))
+ (list
+ #:tests? #f
+ #:gem-flags #~(list "--" "--use-system-libraries"
+ (string-append "--with-xml2-include="
+ #$(this-package-input "libxml2")
+ "/include/libxml2" ))
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'install 'delete-mkmf.log
+ (lambda _
+ ;; This build log captures non-deterministic file names (see:
+ ;; https://github.com/sparklemotion/nokogiri/issues/2755).
+ (for-each delete-file (find-files #$output "^mkmf\\.log$")))))))
(native-inputs (list ruby-hoe))
(inputs (list zlib libxml2 libxslt))
(propagated-inputs (list ruby-mini-portile-2 ruby-pkg-config))