about summary refs log tree commit diff
path: root/pkgs/applications/networking/browsers/firefox-bin
diff options
context:
space:
mode:
authorK900 <me@0upti.me>2023-11-17 08:24:04 +0300
committerK900 <me@0upti.me>2023-11-17 08:24:04 +0300
commit78ad4224adba31526961c085f318784d550a2525 (patch)
treef32347f4f9bcb0397de77b44fc42e734d2b2a9ef /pkgs/applications/networking/browsers/firefox-bin
parentb1cc48b95a843b539243e2baa351ecb58530910e (diff)
Revert "firefox-bin: remove workaround"
This reverts commit 2893902201e2cb2cebaaf3a8da61622675f20887.
Diffstat (limited to 'pkgs/applications/networking/browsers/firefox-bin')
-rw-r--r--pkgs/applications/networking/browsers/firefox-bin/default.nix19
1 files changed, 16 insertions, 3 deletions
diff --git a/pkgs/applications/networking/browsers/firefox-bin/default.nix b/pkgs/applications/networking/browsers/firefox-bin/default.nix
index 56d21187ebb2e..164851bc2756f 100644
--- a/pkgs/applications/networking/browsers/firefox-bin/default.nix
+++ b/pkgs/applications/networking/browsers/firefox-bin/default.nix
@@ -20,6 +20,7 @@
 , runtimeShell
 , systemLocale ? config.i18n.defaultLocale or "en_US"
 , patchelfUnstable  # have to use patchelfUnstable to support --no-clobber-old-sections
+, makeWrapper
 }:
 
 let
@@ -57,6 +58,20 @@ let
   source = lib.findFirst (sourceMatches mozLocale) defaultSource sources;
 
   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 patchelfUnstable ];
+  nativeBuildInputs = [ wrapGAppsHook autoPatchelfHook wrappedPatchelf ];
   buildInputs = [
     gtk3
     adwaita-icon-theme
@@ -80,8 +95,6 @@ stdenv.mkDerivation {
   appendRunpaths = [
     "${pipewire}/lib"
   ];
-  # Firefox uses "relrhack" to manually process relocations from a fixed offset
-  patchelfFlags = [ "--no-clobber-old-sections" ];
 
   installPhase =
     ''