From 6509ba66a804390191e4bcf2f068686946e6fc56 Mon Sep 17 00:00:00 2001
From: Herwig Hochleitner <herwig@bendlas.net>
Date: Fri, 12 May 2017 13:22:17 +0200
Subject: [PATCH 1/5] ninja: 1.7.1 -> 1.7.2

---
 pkgs/development/tools/build-managers/ninja/default.nix | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pkgs/development/tools/build-managers/ninja/default.nix b/pkgs/development/tools/build-managers/ninja/default.nix
index cadda36a0e60..39d0d4e0e39c 100644
--- a/pkgs/development/tools/build-managers/ninja/default.nix
+++ b/pkgs/development/tools/build-managers/ninja/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   name = "ninja-${version}";
-  version = "1.7.1";
+  version = "1.7.2";
 
   src = fetchurl {
     name = "${name}.tar.gz";
     url = "https://github.com/ninja-build/ninja/archive/v${version}.tar.gz";
-    sha256 = "06dy2dc1aafm61ynw9gzig88la3km9dsh53bxf4mnw7l7kjisn2i";
+    sha256 = "1n8n3g26ppwh7zwrc37n3alkbpbj0wki34ih53s3rkhs8ajs1p9f";
   };
 
   buildInputs = [ python asciidoc re2c ];

From ab65bf9dbdfdd1f5c3750ac3ec39d1217381de85 Mon Sep 17 00:00:00 2001
From: Herwig Hochleitner <herwig@bendlas.net>
Date: Thu, 4 May 2017 13:39:55 +0200
Subject: [PATCH 2/5] chromium: 57.0.2987.133 -> 58.0.3029.96

---
 .../browsers/chromium/upstream-info.nix        | 18 +++++++++---------
 1 file changed, 9 insertions(+), 9 deletions(-)

diff --git a/pkgs/applications/networking/browsers/chromium/upstream-info.nix b/pkgs/applications/networking/browsers/chromium/upstream-info.nix
index 2800a3ed5d21..475ff4645040 100644
--- a/pkgs/applications/networking/browsers/chromium/upstream-info.nix
+++ b/pkgs/applications/networking/browsers/chromium/upstream-info.nix
@@ -1,18 +1,18 @@
 # This file is autogenerated from update.sh in the same directory.
 {
   beta = {
-    sha256 = "1q9iqmq5amzfw03jiw18g1w285b6x2qckn8gc60r5m3xx1hbivv2";
-    sha256bin64 = "1ddhhcydcwwc2pkwm4c8rlr60968zy5vda410g4bwx0v5q7p22q9";
-    version = "58.0.3029.68";
+    sha256 = "16m7q5xfbzf1j9figilis56m1ls68v0i4zm9vp0rg64n8xny2qhw";
+    sha256bin64 = "0wzzmsyp0qvbvbb8g1gjzc572c1gnn442kx3rkvcmdfakjamq93s";
+    version = "59.0.3071.36";
   };
   dev = {
-    sha256 = "0zvnj9n2p057fxx7n4d1qc0nw34qhlsvrx20fwigq96blamckvd8";
-    sha256bin64 = "1s1r3h7x49bp64lzzphm4jcg7g68l0x7mr3airj3hqii58dvndm0";
-    version = "59.0.3067.0";
+    sha256 = "0dmmkv0vf7l37x394brb81s0b4ganq3kflzq09xl3d0lp9pc2v3x";
+    sha256bin64 = "04z1ck7lnxdgwni99mgx8d6iwbk6jypq4hcmrdiywp7pp3sizv89";
+    version = "60.0.3080.5";
   };
   stable = {
-    sha256 = "1xwchazqqx0cs9rd15r80kw6p918zp9libx34qlcj8p5lxq1f0bh";
-    sha256bin64 = "0ggn5rljch36sx0i37qzp6ldcy3ibdj0z9217lqzjq3r7ixsfqja";
-    version = "57.0.2987.133";
+    sha256 = "10ai9bzw6b5p6ak2fd90pg8jlk79ahiz21gzm2fx12xmsdxgsf2x";
+    sha256bin64 = "06k6h93jff9slrmhl3bblq3kskxdp1357jqrzajg2zl23ja47f8m";
+    version = "58.0.3029.96";
   };
 }

From 232507a73cedbc3acfe9edb1b84938c016bf25af Mon Sep 17 00:00:00 2001
From: Herwig Hochleitner <herwig@bendlas.net>
Date: Fri, 12 May 2017 13:28:48 +0200
Subject: [PATCH 3/5] chromium: 58.0.3029.96 -> 58.0.3029.110

---
 .../browsers/chromium/upstream-info.nix        | 18 +++++++++---------
 1 file changed, 9 insertions(+), 9 deletions(-)

diff --git a/pkgs/applications/networking/browsers/chromium/upstream-info.nix b/pkgs/applications/networking/browsers/chromium/upstream-info.nix
index 475ff4645040..7ee28c7fc279 100644
--- a/pkgs/applications/networking/browsers/chromium/upstream-info.nix
+++ b/pkgs/applications/networking/browsers/chromium/upstream-info.nix
@@ -1,18 +1,18 @@
 # This file is autogenerated from update.sh in the same directory.
 {
   beta = {
-    sha256 = "16m7q5xfbzf1j9figilis56m1ls68v0i4zm9vp0rg64n8xny2qhw";
-    sha256bin64 = "0wzzmsyp0qvbvbb8g1gjzc572c1gnn442kx3rkvcmdfakjamq93s";
-    version = "59.0.3071.36";
+    sha256 = "1dcad79kfayagqiv85ycla3iv3gc99k0rvnvnpar9hd6x1iv8cfl";
+    sha256bin64 = "0ywf50rfzv1kkfpld62fi5g0kz33an0p03xqf7wkcqi7hild607v";
+    version = "59.0.3071.47";
   };
   dev = {
-    sha256 = "0dmmkv0vf7l37x394brb81s0b4ganq3kflzq09xl3d0lp9pc2v3x";
-    sha256bin64 = "04z1ck7lnxdgwni99mgx8d6iwbk6jypq4hcmrdiywp7pp3sizv89";
-    version = "60.0.3080.5";
+    sha256 = "05kxl938mh41341lh5xsxcqxv9hhx8yn6nkawgg241sfwdx72db8";
+    sha256bin64 = "1mr2615r30zjxa55mdcbfi0k2grgyykzawslmg41aw0jy5hfamal";
+    version = "60.0.3095.5";
   };
   stable = {
-    sha256 = "10ai9bzw6b5p6ak2fd90pg8jlk79ahiz21gzm2fx12xmsdxgsf2x";
-    sha256bin64 = "06k6h93jff9slrmhl3bblq3kskxdp1357jqrzajg2zl23ja47f8m";
-    version = "58.0.3029.96";
+    sha256 = "1zvqim75mlqckvf7awrbyggis71dlkz4gjpfrmfdvydcs8yyyk7j";
+    sha256bin64 = "0vfx2m5zqfvfb6sgd3dg1sji72dzjcd1sf4r6qwhnz38wadys7id";
+    version = "58.0.3029.110";
   };
 }

From bafcf4226ead4a6bdc5d652164e4d18509af35a7 Mon Sep 17 00:00:00 2001
From: Herwig Hochleitner <herwig@bendlas.net>
Date: Fri, 12 May 2017 13:22:39 +0200
Subject: [PATCH 4/5] chromium: add bootstrap gn patch

---
 .../networking/browsers/chromium/common.nix          |  1 +
 .../browsers/chromium/patches/fix-bootstrap-gn.patch | 12 ++++++++++++
 2 files changed, 13 insertions(+)
 create mode 100644 pkgs/applications/networking/browsers/chromium/patches/fix-bootstrap-gn.patch

diff --git a/pkgs/applications/networking/browsers/chromium/common.nix b/pkgs/applications/networking/browsers/chromium/common.nix
index dac821a4898f..fc7483d2fa2b 100644
--- a/pkgs/applications/networking/browsers/chromium/common.nix
+++ b/pkgs/applications/networking/browsers/chromium/common.nix
@@ -105,6 +105,7 @@ let
 
     patches = [
       ./patches/nix_plugin_paths_52.patch
+      ./patches/fix-bootstrap-gn.patch
     ] ++ optional (versionOlder version "57.0") ./patches/glibc-2.24.patch
       ++ optional enableWideVine ./patches/widevine.patch;
 
diff --git a/pkgs/applications/networking/browsers/chromium/patches/fix-bootstrap-gn.patch b/pkgs/applications/networking/browsers/chromium/patches/fix-bootstrap-gn.patch
new file mode 100644
index 000000000000..34efb4f7a456
--- /dev/null
+++ b/pkgs/applications/networking/browsers/chromium/patches/fix-bootstrap-gn.patch
@@ -0,0 +1,12 @@
+diff --git a/tools/gn/bootstrap/bootstrap.py b/tools/gn/bootstrap/bootstrap.py
+index 3148ccf..38cfb11 100755
+--- a/tools/gn/bootstrap/bootstrap.py
++++ b/tools/gn/bootstrap/bootstrap.py
+@@ -385,6 +385,7 @@ def write_gn_ninja(path, root_gen_dir, options):
+       'base/base_switches.cc',
+       'base/build_time.cc',
+       'base/callback_internal.cc',
++      'base/callback_helpers.cc',
+       'base/command_line.cc',
+       'base/debug/activity_tracker.cc',
+       'base/debug/alias.cc',

From 1fe7bd9ed6a5dd780e4991241b75fc0640576b2b Mon Sep 17 00:00:00 2001
From: Herwig Hochleitner <herwig@bendlas.net>
Date: Sun, 14 May 2017 15:03:21 +0200
Subject: [PATCH 5/5] chromium: softlink system nodejs into third_party

somehow, the build seems to have changed with chromium 58, to not auto
download the node binary. It is needed to generate webui files and we
can substitute our own.
---
 pkgs/applications/networking/browsers/chromium/common.nix | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/pkgs/applications/networking/browsers/chromium/common.nix b/pkgs/applications/networking/browsers/chromium/common.nix
index fc7483d2fa2b..f36f28ac8801 100644
--- a/pkgs/applications/networking/browsers/chromium/common.nix
+++ b/pkgs/applications/networking/browsers/chromium/common.nix
@@ -1,4 +1,4 @@
-{ stdenv, ninja, which
+{ stdenv, ninja, which, nodejs
 
 # default dependencies
 , bzip2, flac, speex, libopus
@@ -87,7 +87,7 @@ let
 
     nativeBuildInputs = [
       ninja which python2Packages.python perl pkgconfig
-      python2Packages.ply python2Packages.jinja2
+      python2Packages.ply python2Packages.jinja2 nodejs
     ];
 
     buildInputs = defaultDependencies ++ [
@@ -131,6 +131,9 @@ let
       }' gpu/config/gpu_control_list.cc
 
       patchShebangs .
+      # use our own nodejs
+      mkdir -p third_party/node/linux/node-linux-x64/bin
+      ln -s $(which node) third_party/node/linux/node-linux-x64/bin/node
     '' + optionalString (versionAtLeast version "52.0.0.0") ''
       sed -i -re 's/([^:])\<(isnan *\()/\1std::\2/g' \
         third_party/pdfium/xfa/fxbarcode/utils.h