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 <wzelazny@vurv.cz>
This commit is contained in:
Maxim Cournoyer 2023-01-06 14:32:59 -05:00
parent fcbe54c27a
commit cc79e4b539
No known key found for this signature in database
GPG key ID: 1260E46482E63562

View file

@ -5062,11 +5062,19 @@ (define-public ruby-nokogiri
(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))