From a13482af3dd0b6ea81463ea43b19e092e76351fc Mon Sep 17 00:00:00 2001 From: K900 Date: Fri, 29 Sep 2023 08:20:17 +0300 Subject: [PATCH] firefox-bin: use patchelfUnstable with --no-clobber-old-sections Fixes startup crash on Firefox 119+ --- .../networking/browsers/firefox-bin/default.nix | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/pkgs/applications/networking/browsers/firefox-bin/default.nix b/pkgs/applications/networking/browsers/firefox-bin/default.nix index c0624e915ac..8130f9f7758 100644 --- a/pkgs/applications/networking/browsers/firefox-bin/default.nix +++ b/pkgs/applications/networking/browsers/firefox-bin/default.nix @@ -19,6 +19,8 @@ , gnupg , runtimeShell , systemLocale ? config.i18n.defaultLocale or "en_US" +, patchelfUnstable # have to use patchelfUnstable to support --no-clobber-old-sections +, makeWrapper }: let @@ -57,6 +59,19 @@ let pname = "firefox-${channel}-bin-unwrapped"; + # FIXME: workaround for not being able to pass flags to patchelf + # Remove after https://github.com/NixOS/nixpkgs/pull/256525 + wrappedPatchelf = stdenv.mkDerivation { + pname = "patchelf-wrapped"; + inherit (patchelfUnstable) version; + + nativeBuildInputs = [ makeWrapper ]; + + buildCommand = '' + mkdir -p $out/bin + makeWrapper ${patchelfUnstable}/bin/patchelf $out/bin/patchelf --append-flags "--no-clobber-old-sections" + ''; + }; in stdenv.mkDerivation { @@ -64,7 +79,7 @@ stdenv.mkDerivation { src = fetchurl { inherit (source) url sha256; }; - nativeBuildInputs = [ wrapGAppsHook autoPatchelfHook ]; + nativeBuildInputs = [ wrapGAppsHook autoPatchelfHook wrappedPatchelf ]; buildInputs = [ gtk3 adwaita-icon-theme