wrapFirefox: make makeWrapperArgs overridable (#374270)

This commit is contained in:
Martin Weinelt
2025-01-17 17:33:46 +01:00
committed by GitHub
@@ -180,7 +180,8 @@ let
# #
#############################
in stdenv.mkDerivation {
in stdenv.mkDerivation (finalAttrs: {
__structuredAttrs = true;
inherit pname version;
desktopItem = makeDesktopItem ({
@@ -245,6 +246,62 @@ let
nativeBuildInputs = [ makeWrapper lndir jq ];
buildInputs = [ browser.gtk3 ];
makeWrapperArgs = [
"--prefix"
"LD_LIBRARY_PATH"
":"
"${finalAttrs.libs}"
"--suffix"
"GTK_PATH"
":"
"${lib.concatStringsSep ":" finalAttrs.gtk_modules}"
"--suffix" "PATH"
":"
"${placeholder "out"}/bin"
"--set"
"MOZ_APP_LAUNCHER"
launcherName
"--set"
"MOZ_LEGACY_PROFILES"
"1"
"--set"
"MOZ_ALLOW_DOWNGRADE"
"1"
"--suffix"
"XDG_DATA_DIRS"
":"
"${adwaita-icon-theme}/share"
"--set-default"
"MOZ_ENABLE_WAYLAND"
"1"
] ++ lib.optionals (!xdg-utils.meta.broken) [
# make xdg-open overrideable at runtime
"--suffix"
"PATH"
":"
"${lib.makeBinPath [ xdg-utils ]}"
] ++ lib.optionals hasMozSystemDirPatch [
"--set"
"MOZ_SYSTEM_DIR"
"${placeholder "out"}/lib/mozilla"
] ++ lib.optionals (!hasMozSystemDirPatch && allNativeMessagingHosts != [ ]) [
"--run"
''mkdir -p ''${MOZ_HOME:-~/.mozilla}/native-messaging-hosts''
] ++ lib.optionals (!hasMozSystemDirPatch) (lib.concatMap (ext: [
"--run"
''ln -sfLt ''${MOZ_HOME:-~/.mozilla}/native-messaging-hosts ${ext}/lib/mozilla/native-messaging-hosts/*''
]) allNativeMessagingHosts);
buildCommand = ''
if [ ! -x "${browser}/bin/${applicationName}" ]
@@ -313,27 +370,9 @@ let
mv "$executablePath" "$oldExe"
fi
# make xdg-open overrideable at runtime
makeWrapper "$oldExe" \
"''${executablePath}${nameSuffix}" \
--prefix LD_LIBRARY_PATH ':' "$libs" \
--suffix-each GTK_PATH ':' "$gtk_modules" \
${lib.optionalString (!xdg-utils.meta.broken) "--suffix PATH ':' \"${xdg-utils}/bin\""} \
--suffix PATH ':' "$out/bin" \
--set MOZ_APP_LAUNCHER "${launcherName}" \
'' + lib.optionalString hasMozSystemDirPatch ''
--set MOZ_SYSTEM_DIR "$out/lib/mozilla" \
'' + ''
--set MOZ_LEGACY_PROFILES 1 \
--set MOZ_ALLOW_DOWNGRADE 1 \
--prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH" \
--suffix XDG_DATA_DIRS : '${adwaita-icon-theme}/share' \
--set-default MOZ_ENABLE_WAYLAND 1 \
'' + lib.optionalString (!hasMozSystemDirPatch) ''
${lib.optionalString (allNativeMessagingHosts != []) "--run \"mkdir -p \\\${MOZ_HOME:-~/.mozilla}/native-messaging-hosts\""} \
${lib.concatMapStringsSep " " (ext: "--run \"ln -sfLt \\\${MOZ_HOME:-~/.mozilla}/native-messaging-hosts ${ext}/lib/mozilla/native-messaging-hosts/*\"") allNativeMessagingHosts} \
'' + ''
"''${oldWrapperArgs[@]}"
appendToVar makeWrapperArgs --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH"
concatTo makeWrapperArgs oldWrapperArgs
makeWrapper "$oldExe" "''${executablePath}${nameSuffix}" ''${makeWrapperArgs[@]}
#############################
# #
# END EXTRA PREF CHANGES #
@@ -431,5 +470,5 @@ let
hydraPlatforms = [];
priority = (browser.meta.priority or lib.meta.defaultPriority) - 1; # prefer wrapper over the package
};
};
});
in lib.makeOverridable wrapper