From e027a494fd5e6025e645ce9f36cccca39a77d327 Mon Sep 17 00:00:00 2001 From: Nikolai Merinov Date: Tue, 16 Oct 2018 02:32:11 +0500 Subject: gnu: rust: Work around rust 1.25...1.27 reproducibility issues. * gnu/packages/patches/rust-mdbook-support-reproducible-builds-by-forcing-window.search.patch: New file. * gnu/local.mk (dist_patch_DATA): Add new patch file. * gnu/packages/rust.scm (rust-1.19): Use system libssh2 library. during cargo build. Note: libgit2 still bundled, because cargo tests assume specific libgit2 minor release. (rust-1.23): Inherit native-inputs from previous package. (rust-1.25): Switch back to llvm 3.9.1 as workaround for https://github.com/rust-lang/rust/issues/50556 issue. (rust-1.27): Apply changes from https://github.com/rust-lang-nursery/mdBook/pull/692 to make generation of "searchindex.js" files reproducible. Disable cargo test that required llvm 6. --- ...roducible-builds-by-forcing-window.search.patch | 25 ++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 gnu/packages/patches/rust-mdbook-support-reproducible-builds-by-forcing-window.search.patch (limited to 'gnu/packages/patches') diff --git a/gnu/packages/patches/rust-mdbook-support-reproducible-builds-by-forcing-window.search.patch b/gnu/packages/patches/rust-mdbook-support-reproducible-builds-by-forcing-window.search.patch new file mode 100644 index 0000000000..ef7bf53b5d --- /dev/null +++ b/gnu/packages/patches/rust-mdbook-support-reproducible-builds-by-forcing-window.search.patch @@ -0,0 +1,25 @@ +From b9ca108fcae2b738ca3f0c88c84ae5dc5a6f843f Mon Sep 17 00:00:00 2001 +From: Tim Ryan +Date: Mon, 14 May 2018 06:22:21 -0400 +Subject: [PATCH] Support reproducible builds by forcing window.search to use + stable key ordering. (#692) +See +--- + src/vendor/mdbook/src/renderer/html_handlebars/search.rs | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/src/vendor/mdbook/src/renderer/html_handlebars/search.rs b/src/vendor/mdbook/src/renderer/html_handlebars/search.rs +index d49772f8b..1ee66a511 100644 +--- a/src/vendor/mdbook/src/renderer/html_handlebars/search.rs ++++ b/src/vendor/mdbook/src/renderer/html_handlebars/search.rs +@@ -205,6 +205,10 @@ fn write_to_js(index: Index, search_config: &Search) -> Result { + searchoptions, + index, + }; ++ ++ // By converting to serde_json::Value as an intermediary, we use a ++ // BTreeMap internally and can force a stable ordering of map keys. ++ let json_contents = serde_json::to_value(&json_contents)?; + let json_contents = serde_json::to_string(&json_contents)?; + + Ok(format!("window.search = {};", json_contents)) -- cgit 1.4.1