From 21cdf28a8330d4797a168ca2dda30bae864251c9 Mon Sep 17 00:00:00 2001 From: Graham Christensen Date: Thu, 7 Feb 2019 17:40:52 -0500 Subject: [PATCH 1/2] ninja: make reproducible See https://github.com/ninja-build/ninja/pull/1529 --- .../development/tools/build-managers/ninja/default.nix | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/pkgs/development/tools/build-managers/ninja/default.nix b/pkgs/development/tools/build-managers/ninja/default.nix index 4f28ab86ffd..b03a553f130 100644 --- a/pkgs/development/tools/build-managers/ninja/default.nix +++ b/pkgs/development/tools/build-managers/ninja/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchFromGitHub, python, buildDocs ? true, asciidoc, docbook_xml_dtd_45, docbook_xsl, libxslt, re2c }: +{ stdenv, fetchFromGitHub, fetchpatch, python, buildDocs ? true, asciidoc, docbook_xml_dtd_45, docbook_xsl, libxslt, re2c }: with stdenv.lib; @@ -13,6 +13,14 @@ stdenv.mkDerivation rec { sha256 = "1q0nld3g0d210zmdjyjzjz2xb2bw1s58gj6zsx7p8q30yh0wg610"; }; + patches = [ + (fetchpatch { + name = "consistent-doc-ids"; + url = "https://github.com/ninja-build/ninja/commit/9aa947471fcfc607bec6d92a1a6eed5c692edbaf.patch"; + sha256 = "0zsg46jflsh644jccrcgyfalr7fkzrv041kyi8644nyk923gcrl9"; + }) + ]; + nativeBuildInputs = [ python re2c ] ++ optionals buildDocs [ asciidoc docbook_xml_dtd_45 docbook_xsl libxslt.bin ]; buildPhase = '' From 3abe3449871e689aece092bb579a8267619660a5 Mon Sep 17 00:00:00 2001 From: worldofpeace Date: Thu, 7 Feb 2019 18:26:51 -0500 Subject: [PATCH 2/2] ninja: Add comment explaining the consistent ID patch Co-Authored-By: grahamc --- pkgs/development/tools/build-managers/ninja/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/development/tools/build-managers/ninja/default.nix b/pkgs/development/tools/build-managers/ninja/default.nix index b03a553f130..8cce2b88317 100644 --- a/pkgs/development/tools/build-managers/ninja/default.nix +++ b/pkgs/development/tools/build-managers/ninja/default.nix @@ -14,6 +14,7 @@ stdenv.mkDerivation rec { }; patches = [ + # Make builds reproducible by generating the same IDs from the same inputs. (fetchpatch { name = "consistent-doc-ids"; url = "https://github.com/ninja-build/ninja/commit/9aa947471fcfc607bec6d92a1a6eed5c692edbaf.patch";