-
-
Notifications
You must be signed in to change notification settings - Fork 12.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
chromium: 58.0.3029.110 -> 59.0.3071.86 #26512
Conversation
@ntruessel, thanks for your PR! By analyzing the history of the files in this pull request, we identified @aszlig, @bendlas and @obadz to be potential reviewers. |
There are a lot of |
This looks great, @ntruessel! Thank you so much! Everything seems to be in order except for the second commit. Can you squash this in to the first one? If you're not sure how, or would rather me do it for you, I can do that -- just let me know. Thank you again! (p.s. on these big builds, travis never works :( ) |
Thanks! I'm doing a test build now. |
Pick to release as well? |
Esp CVE-2017-5071: Out of bounds read in V8. |
|
Correction: anything that would cause a save dialogue to open causes the browser to crash, not just pdfs. |
Just tested this on my end: can confirm trying to save any file results in a crash. This is happening with the chromium package, in my case |
chrome prints this on stderr before crashing:
I presume the crash is because of one of these possibilities:
|
Here's the relevant bits from
I think we might need to do something like what was done to resolve issue #16521 in commit 5228bc9. |
This fixes google-chrome, but I still need to test chromium: diff --git a/pkgs/applications/networking/browsers/chromium/default.nix b/pkgs/applications/networking/browsers/chromium/default.nix
index cfc8951eef..30a16d824d 100644
--- a/pkgs/applications/networking/browsers/chromium/default.nix
+++ b/pkgs/applications/networking/browsers/chromium/default.nix
@@ -1,4 +1,5 @@
{ newScope, stdenv, makeWrapper, makeDesktopItem, ed
+, glib, gtk2, gtk3, gnome2, gnome3, gsettings_desktop_schemas
# package customization
, channel ? "stable"
@@ -62,10 +63,26 @@ let
sandboxExecutableName = chromium.browser.passthru.sandboxExecutableName;
+ version = chromium.browser.version;
+
+ inherit (stdenv.lib) versionAtLeast;
+
+ gtk = if (versionAtLeast version "59.0.0.0") then gtk3 else gtk2;
+ gnome = if (versionAtLeast version "59.0.0.0") then gnome3 else gnome2;
+
in stdenv.mkDerivation {
- name = "chromium${suffix}-${chromium.browser.version}";
+ name = "chromium${suffix}-${version}";
+ inherit version;
- buildInputs = [ makeWrapper ed ];
+ buildInputs = [
+ makeWrapper ed
+
+ # needed for GSETTINGS_SCHEMAS_PATH
+ gsettings_desktop_schemas glib gtk
+
+ # needed for XDG_ICON_DIRS
+ gnome.defaultIconTheme
+ ];
outputs = ["out" "sandbox"];
@@ -92,6 +109,8 @@ in stdenv.mkDerivation {
# libredirect causes chromium to deadlock on startup
export LD_PRELOAD="\$(echo -n "\$LD_PRELOAD" | tr ':' '\n' | grep -v /lib/libredirect\\\\.so$ | tr '\n' ':')"
+ export XDG_DATA_DIRS=$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH\''${XDG_DATA_DIRS:+:}\$XDG_DATA_DIRS
+
.
w
EOF
@@ -107,7 +126,7 @@ in stdenv.mkDerivation {
cp -v "${desktopItem}/share/applications/"* "$out/share/applications"
'';
- inherit (chromium.browser) meta packageName version;
+ inherit (chromium.browser) meta packageName;
passthru = {
inherit (chromium) upstream-info browser;
diff --git a/pkgs/applications/networking/browsers/google-chrome/default.nix b/pkgs/applications/networking/browsers/google-chrome/default.nix
index e7b74562bd..9a4d90701b 100644
--- a/pkgs/applications/networking/browsers/google-chrome/default.nix
+++ b/pkgs/applications/networking/browsers/google-chrome/default.nix
@@ -31,6 +31,9 @@
# Only needed for getting information about upstream binaries
, chromium
+
+, gsettings_desktop_schemas
+, gnome2, gnome3
}:
with stdenv.lib;
@@ -42,6 +45,9 @@ let
withCustomModes = true;
};
+ gtk = if (versionAtLeast version "59.0.0.0") then gtk3 else gtk2;
+ gnome = if (versionAtLeast version "59.0.0.0") then gnome3 else gnome2;
+
deps = [
glib fontconfig freetype pango cairo libX11 libXi atk gconf nss nspr
libXcursor libXext libXfixes libXrender libXScrnSaver libXcomposite libxcb
@@ -53,7 +59,7 @@ let
flac harfbuzz icu libpng opusWithCustomModes snappy speechd
bzip2 libcap
] ++ optional pulseSupport libpulseaudio
- ++ (if (versionAtLeast version "59.0.0.0") then [gtk3] else [gtk2]);
+ ++ [ gtk ];
suffix = if channel != "stable" then "-" + channel else "";
@@ -64,7 +70,15 @@ in stdenv.mkDerivation rec {
src = binary;
- buildInputs = [ patchelf ];
+ buildInputs = [
+ patchelf
+
+ # needed for GSETTINGS_SCHEMAS_PATH
+ gsettings_desktop_schemas glib gtk
+
+ # needed for XDG_ICON_DIRS
+ gnome.defaultIconTheme
+ ];
unpackPhase = ''
ar x $src
@@ -109,6 +123,7 @@ in stdenv.mkDerivation rec {
#!${bash}/bin/sh
export LD_LIBRARY_PATH=$rpath\''${LD_LIBRARY_PATH:+:\$LD_LIBRARY_PATH}
export PATH=$binpath\''${PATH:+:\$PATH}
+ export XDG_DATA_DIRS=$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH\''${XDG_DATA_DIRS:+:}\$XDG_DATA_DIRS
$out/share/google/$appname/google-$appname ${commandLineArgs} "\$@"
EOF
chmod +x $exe |
Fixes broken save dialogue (causes chrome to crash) and missing icons.
Pull request opened here: #26614 |
Fixes broken save dialogue (causes chrome to crash) and missing icons.
Fixes broken save dialogue (causes chrome to crash) and missing icons. (cherry picked from commit 39fd944) release-17.03 now contains chrome & chromium version >= 59, in form of dev and beta releases.
Motivation for this change
https://chromereleases.googleblog.com/2017/06/stable-channel-update-for-desktop.html
Things done
(nix.useSandbox on NixOS,
or option
build-use-sandbox
innix.conf
on non-NixOS)
nix-shell -p nox --run "nox-review wip"
./result/bin/
)