guix-play/gnu/packages/patches/rust-reproducible-builds.patch
Ludovic Courtès f2c99fe52b
gnu: rust: Shorten patch file name.
This file name was too long to fit in a tar archive.

* gnu/packages/patches/rust-mdbook-support-reproducible-builds-by-forcing-window.search.patch:
Rename to...
* gnu/packages/patches/rust-reproducible-builds.patch: ... this.
* gnu/packages/rust.scm (rust-1.27, rust): Adjust accordingly.
* gnu/local.mk (dist_patch_DATA): Adjust accordingly.
2018-11-29 13:14:22 +01:00

26 lines
1.1 KiB
Diff

From b9ca108fcae2b738ca3f0c88c84ae5dc5a6f843f Mon Sep 17 00:00:00 2001
From: Tim Ryan <id@timryan.org>
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 <https://github.com/rust-lang-nursery/mdBook/pull/692>
---
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<String> {
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))