diff options
Diffstat (limited to 'pkgs/applications/networking/browsers/firefox')
3 files changed, 44 insertions, 26 deletions
diff --git a/pkgs/applications/networking/browsers/firefox/common.nix b/pkgs/applications/networking/browsers/firefox/common.nix index bb4b1ba0a85..c77411b6c26 100644 --- a/pkgs/applications/networking/browsers/firefox/common.nix +++ b/pkgs/applications/networking/browsers/firefox/common.nix @@ -1,5 +1,6 @@ { pname , version +, packageVersion ? version , meta , updateScript ? null , binaryName ? "firefox" @@ -206,7 +207,7 @@ in buildStdenv.mkDerivation { pname = "${pname}-unwrapped"; - inherit version; + version = packageVersion; inherit src unpackPhase meta; @@ -502,6 +503,9 @@ buildStdenv.mkDerivation { preBuild = '' cd mozobj + '' + lib.optionalString (lib.versionAtLeast version "120") '' + # https://bugzilla.mozilla.org/show_bug.cgi?id=1864083 + export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE $(pkg-config dbus-1 --cflags)" ''; postBuild = '' @@ -557,7 +561,6 @@ buildStdenv.mkDerivation { passthru = { inherit application extraPatches; inherit updateScript; - inherit version; inherit alsaSupport; inherit binaryName; inherit jackSupport; @@ -569,6 +572,7 @@ buildStdenv.mkDerivation { inherit tests; inherit gtk3; inherit wasiSysRoot; + version = packageVersion; } // extraPassthru; hardeningDisable = [ "format" ]; # -Werror=format-security diff --git a/pkgs/applications/networking/browsers/firefox/packages.nix b/pkgs/applications/networking/browsers/firefox/packages.nix index 2d05c469934..c4d59bc2c14 100644 --- a/pkgs/applications/networking/browsers/firefox/packages.nix +++ b/pkgs/applications/networking/browsers/firefox/packages.nix @@ -3,10 +3,10 @@ { firefox = buildMozillaMach rec { pname = "firefox"; - version = "117.0.1"; + version = "119.0.1"; src = fetchurl { url = "mirror://mozilla/firefox/releases/${version}/source/firefox-${version}.source.tar.xz"; - sha512 = "1583b0ad3b3b17c59bfbfb3e416074766327d0b926ef4f6c6b1e3b2d7cf6a18dec592b7d17fab9493ba1506f3540a02277096d28616dd29b6e7b9e93905f2071"; + sha512 = "4f3201aee10e7b831cc384b2c7430a24f4de81f703115a917f9eb7acecb2ae1725f11af56c41257a056bb9d7a4d749d590cc9baffcd6e13852be45aaecf8163a"; }; meta = { @@ -30,11 +30,11 @@ firefox-beta = buildMozillaMach rec { pname = "firefox-beta"; - version = "118.0b7"; + version = "120.0b9"; applicationName = "Mozilla Firefox Beta"; src = fetchurl { url = "mirror://mozilla/firefox/releases/${version}/source/firefox-${version}.source.tar.xz"; - sha512 = "17dc6dbfe1c3085a7c85d53d7980660471253e64d081a01e59d0273b75c4000476bad31fe155c976a18c561c09c21ae9a95775c81bb99c5a53bea89f79b07cfb"; + sha512 = "7ac5562ce393ea84663eac5c6ee1a0ca527ff4a8a9ec6aaaef37213ff071076846949e80af21d95ec8e32d3cbc740b772a9d7cc54965b7bbc8e015da22ae927f"; }; meta = { @@ -58,12 +58,12 @@ firefox-devedition = (buildMozillaMach rec { pname = "firefox-devedition"; - version = "118.0b7"; + version = "120.0b9"; applicationName = "Mozilla Firefox Developer Edition"; branding = "browser/branding/aurora"; src = fetchurl { url = "mirror://mozilla/devedition/releases/${version}/source/firefox-${version}.source.tar.xz"; - sha512 = "636df06a41bba9909c50a1c433a6d14d42573cfa8ba28e57b87ed709fb06d81c1fcf4a24a8e1c794b6b7eb894a72e188d5e91bb46ce589a3438c8b75acb6e812"; + sha512 = "07bf1a58550e70c683719adef55fa3d1ee06876e0cb086c28242879c683269c4aa784b1dce639218b3ad24a546192088fe5224a52e13a0086f205ec5470e2428"; }; meta = { @@ -90,11 +90,11 @@ firefox-esr-115 = buildMozillaMach rec { pname = "firefox-esr-115"; - version = "115.2.1esr"; + version = "115.4.0esr"; applicationName = "Mozilla Firefox ESR"; src = fetchurl { url = "mirror://mozilla/firefox/releases/${version}/source/firefox-${version}.source.tar.xz"; - sha512 = "5f9ff96996e3c482fa4d2e2861fdf14d2154bf0277d412bf9c9435204c7e2e2539ce7ef0891d8dafc74d5a12650a5ccd33d79547aa1bbb2c2a0972aaeb755edf"; + sha512 = "3ee680c5c503df7e4913794b7029ccffc10889f8f259f16030b24c1c18c1528439123532374ccb3a7e7a0d5d64068949cb85638a29694a7d99b74dd403ddefdc"; }; meta = { diff --git a/pkgs/applications/networking/browsers/firefox/wrapper.nix b/pkgs/applications/networking/browsers/firefox/wrapper.nix index e909b15f77a..68f547d1f95 100644 --- a/pkgs/applications/networking/browsers/firefox/wrapper.nix +++ b/pkgs/applications/networking/browsers/firefox/wrapper.nix @@ -8,6 +8,7 @@ , browserpass, gnome-browser-connector, uget-integrator, plasma5Packages, bukubrow, pipewire , tridactyl-native , fx-cast-bridge +, keepassxc , udev , libkrb5 , libva @@ -33,6 +34,7 @@ let , nameSuffix ? "" , icon ? applicationName , wmClass ? applicationName + , nativeMessagingHosts ? [] , extraNativeMessagingHosts ? [] , pkcs11Modules ? [] , useGlvnd ? true @@ -44,7 +46,7 @@ let , extraPrefs ? "" , extraPrefsFiles ? [] # For more information about policies visit - # https://github.com/mozilla/policy-templates#enterprisepoliciesenabled + # https://mozilla.github.io/policy-templates/ , extraPolicies ? {} , extraPoliciesFiles ? [] , libName ? browser.libName or "firefox" # Important for tor package or the like @@ -61,17 +63,28 @@ let # PCSC-Lite daemon (services.pcscd) also must be enabled for firefox to access smartcards smartcardSupport = cfg.smartcardSupport or false; - nativeMessagingHosts = - [ ] - ++ lib.optional (cfg.enableBrowserpass or false) (lib.getBin browserpass) - ++ lib.optional (cfg.enableBukubrow or false) bukubrow - ++ lib.optional (cfg.enableTridactylNative or false) tridactyl-native - ++ lib.optional (cfg.enableGnomeExtensions or false) gnome-browser-connector - ++ lib.optional (cfg.enableUgetIntegrator or false) uget-integrator - ++ lib.optional (cfg.enablePlasmaBrowserIntegration or false) plasma5Packages.plasma-browser-integration - ++ lib.optional (cfg.enableFXCastBridge or false) fx-cast-bridge - ++ extraNativeMessagingHosts - ; + deprecatedNativeMessagingHost = option: pkg: + if (cfg.${option} or false) + then + lib.warn "The cfg.${option} argument for `firefox.override` is deprecated, please add `pkgs.${pkg.pname}` to `nativeMessagingHosts` instead" + [pkg] + else []; + + allNativeMessagingHosts = builtins.map lib.getBin ( + nativeMessagingHosts + ++ deprecatedNativeMessagingHost "enableBrowserpass" browserpass + ++ deprecatedNativeMessagingHost "enableBukubrow" bukubrow + ++ deprecatedNativeMessagingHost "enableTridactylNative" tridactyl-native + ++ deprecatedNativeMessagingHost "enableGnomeExtensions" gnome-browser-connector + ++ deprecatedNativeMessagingHost "enableUgetIntegrator" uget-integrator + ++ deprecatedNativeMessagingHost "enablePlasmaBrowserIntegration" plasma5Packages.plasma-browser-integration + ++ deprecatedNativeMessagingHost "enableFXCastBridge" fx-cast-bridge + ++ deprecatedNativeMessagingHost "enableKeePassXC" keepassxc + ++ (if extraNativeMessagingHosts != [] + then lib.warn "The extraNativeMessagingHosts argument for the Firefox wrapper is deprecated, please use `nativeMessagingHosts`" extraNativeMessagingHosts + else []) + ); + libs = lib.optionals stdenv.isLinux [ udev libva mesa libnotify xorg.libXScrnSaver cups pciutils ] ++ lib.optional pipewireSupport pipewire ++ lib.optional ffmpegSupport ffmpeg_5 @@ -84,8 +97,9 @@ let ++ lib.optional sndioSupport sndio ++ lib.optional jackSupport libjack2 ++ lib.optional smartcardSupport opensc - ++ lib.optional (cfg.speechSynthesisSupport or false) speechd - ++ pkcs11Modules; + ++ lib.optional (cfg.speechSynthesisSupport or true) speechd + ++ pkcs11Modules + ++ gtk_modules; gtk_modules = [ libcanberra-gtk3 ]; launcherName = "${applicationName}${nameSuffix}"; @@ -335,7 +349,7 @@ let install -D -t $out/share/applications $desktopItem/share/applications/* mkdir -p $out/lib/mozilla/native-messaging-hosts - for ext in ${toString nativeMessagingHosts}; do + for ext in ${toString allNativeMessagingHosts}; do ln -sLt $out/lib/mozilla/native-messaging-hosts $ext/lib/mozilla/native-messaging-hosts/* done @@ -362,7 +376,7 @@ let extraPoliciesFiles=(${builtins.toString extraPoliciesFiles}) for extraPoliciesFile in "''${extraPoliciesFiles[@]}"; do - jq -s '.[0] + .[1]' "$POL_PATH" $extraPoliciesFile > .tmp.json + jq -s '.[0] * .[1]' "$POL_PATH" $extraPoliciesFile > .tmp.json mv .tmp.json "$POL_PATH" done |