firefox: 89.0.2 -> 90.0

make gtk3Support non-optional, because it hasn't been for a long time
also make gtk2 conditional on firefox older than 90, because we can get
rid of it with firefox 90, but it's still needed by the current ESR
release

ajs124 b332794a d8f8f31a

+17 -21
+9 -10
pkgs/applications/networking/browsers/firefox/common.nix
··· 12 , autoconf213, which, gnused, rustPackages, rustPackages_1_45 13 , rust-cbindgen, nodejs, nasm, fetchpatch 14 , gnum4 15 , debugBuild ? false 16 17 ### optionals ··· 21 , alsaSupport ? stdenv.isLinux, alsa-lib 22 , pulseaudioSupport ? stdenv.isLinux, libpulseaudio 23 , ffmpegSupport ? true 24 - , gtk3Support ? true, gtk2, gtk3, wrapGAppsHook 25 , waylandSupport ? true, libxkbcommon, libdrm 26 , ltoSupport ? (stdenv.isLinux && stdenv.is64bit), overrideCC, buildPackages 27 , gssSupport ? true, libkrb5 ··· 79 flag = tf: x: [(if tf then "--enable-${x}" else "--disable-${x}")]; 80 81 default-toolkit = if stdenv.isDarwin then "cairo-cocoa" 82 - else "cairo-gtk${if gtk3Support then "3${lib.optionalString waylandSupport "-wayland"}" else "2"}"; 83 84 binaryName = "firefox"; 85 binaryNameCapitalized = lib.toUpper (lib.substring 0 1 binaryName) + lib.substring 1 (-1) binaryName; ··· 139 lib.optional (lib.versionOlder ffversion "86") ./env_var_for_system_dir-ff85.patch ++ 140 lib.optional (lib.versionAtLeast ffversion "86") ./env_var_for_system_dir-ff86.patch ++ 141 lib.optional (lib.versionOlder ffversion "83") ./no-buildconfig-ffx76.patch ++ 142 - lib.optional (lib.versionAtLeast ffversion "84") ./no-buildconfig-ffx84.patch ++ 143 lib.optional (ltoSupport && lib.versionOlder ffversion "84") ./lto-dependentlibs-generation-ffx83.patch ++ 144 lib.optional (ltoSupport && lib.versionAtLeast ffversion "84" && lib.versionOlder ffversion "86") 145 (fetchpatch { ··· 164 patchFlags = [ "-p1" "-l" ]; 165 166 buildInputs = [ 167 - gtk2 perl zip libjpeg zlib bzip2 168 dbus dbus-glib pango freetype fontconfig xorg.libXi xorg.libXcursor 169 xorg.libX11 xorg.libXrender xorg.libXft xorg.libXt file 170 xorg.pixman yasm libGLU libGL ··· 182 ] 183 ++ lib.optional alsaSupport alsa-lib 184 ++ lib.optional pulseaudioSupport libpulseaudio # only headers are needed 185 - ++ lib.optional gtk3Support gtk3 186 ++ lib.optional gssSupport libkrb5 187 ++ lib.optionals waylandSupport [ libxkbcommon libdrm ] 188 ++ lib.optional pipewireSupport pipewire 189 ++ lib.optional (lib.versionAtLeast ffversion "82") gnum4 190 ++ lib.optionals buildStdenv.isDarwin [ CoreMedia ExceptionHandling Kerberos 191 AVFoundation MediaToolbox CoreLocation 192 - Foundation libobjc AddressBook cups ]; 193 194 NIX_LDFLAGS = lib.optionalString ltoSupport '' 195 -rpath ${llvmPackages.libunwind.out}/lib ··· 232 rustc 233 which 234 unzip 235 ] 236 - ++ lib.optional gtk3Support wrapGAppsHook 237 ++ lib.optionals buildStdenv.isDarwin [ xcbuild rsync ] 238 ++ extraNativeBuildInputs; 239 ··· 362 passthru = { 363 inherit updateScript; 364 version = ffversion; 365 - isFirefox3Like = true; 366 - gtk = gtk2; 367 inherit alsaSupport; 368 inherit pipewireSupport; 369 inherit nspr; ··· 372 inherit execdir; 373 inherit browserName; 374 inherit tests; 375 - } // lib.optionalAttrs gtk3Support { inherit gtk3; }; 376 377 hardeningDisable = [ "format" ]; # -Werror=format-security 378
··· 12 , autoconf213, which, gnused, rustPackages, rustPackages_1_45 13 , rust-cbindgen, nodejs, nasm, fetchpatch 14 , gnum4 15 + , gtk2, gtk3, wrapGAppsHook 16 , debugBuild ? false 17 18 ### optionals ··· 22 , alsaSupport ? stdenv.isLinux, alsa-lib 23 , pulseaudioSupport ? stdenv.isLinux, libpulseaudio 24 , ffmpegSupport ? true 25 , waylandSupport ? true, libxkbcommon, libdrm 26 , ltoSupport ? (stdenv.isLinux && stdenv.is64bit), overrideCC, buildPackages 27 , gssSupport ? true, libkrb5 ··· 79 flag = tf: x: [(if tf then "--enable-${x}" else "--disable-${x}")]; 80 81 default-toolkit = if stdenv.isDarwin then "cairo-cocoa" 82 + else "cairo-gtk3${lib.optionalString waylandSupport "-wayland"}"; 83 84 binaryName = "firefox"; 85 binaryNameCapitalized = lib.toUpper (lib.substring 0 1 binaryName) + lib.substring 1 (-1) binaryName; ··· 139 lib.optional (lib.versionOlder ffversion "86") ./env_var_for_system_dir-ff85.patch ++ 140 lib.optional (lib.versionAtLeast ffversion "86") ./env_var_for_system_dir-ff86.patch ++ 141 lib.optional (lib.versionOlder ffversion "83") ./no-buildconfig-ffx76.patch ++ 142 + lib.optional (lib.versionAtLeast ffversion "90") ./no-buildconfig-ffx90.patch ++ 143 lib.optional (ltoSupport && lib.versionOlder ffversion "84") ./lto-dependentlibs-generation-ffx83.patch ++ 144 lib.optional (ltoSupport && lib.versionAtLeast ffversion "84" && lib.versionOlder ffversion "86") 145 (fetchpatch { ··· 164 patchFlags = [ "-p1" "-l" ]; 165 166 buildInputs = [ 167 + gtk3 perl zip libjpeg zlib bzip2 168 dbus dbus-glib pango freetype fontconfig xorg.libXi xorg.libXcursor 169 xorg.libX11 xorg.libXrender xorg.libXft xorg.libXt file 170 xorg.pixman yasm libGLU libGL ··· 182 ] 183 ++ lib.optional alsaSupport alsa-lib 184 ++ lib.optional pulseaudioSupport libpulseaudio # only headers are needed 185 ++ lib.optional gssSupport libkrb5 186 ++ lib.optionals waylandSupport [ libxkbcommon libdrm ] 187 ++ lib.optional pipewireSupport pipewire 188 ++ lib.optional (lib.versionAtLeast ffversion "82") gnum4 189 ++ lib.optionals buildStdenv.isDarwin [ CoreMedia ExceptionHandling Kerberos 190 AVFoundation MediaToolbox CoreLocation 191 + Foundation libobjc AddressBook cups ] 192 + ++ lib.optional (lib.versionOlder ffversion "90") gtk2; 193 194 NIX_LDFLAGS = lib.optionalString ltoSupport '' 195 -rpath ${llvmPackages.libunwind.out}/lib ··· 232 rustc 233 which 234 unzip 235 + wrapGAppsHook 236 ] 237 ++ lib.optionals buildStdenv.isDarwin [ xcbuild rsync ] 238 ++ extraNativeBuildInputs; 239 ··· 362 passthru = { 363 inherit updateScript; 364 version = ffversion; 365 inherit alsaSupport; 366 inherit pipewireSupport; 367 inherit nspr; ··· 370 inherit execdir; 371 inherit browserName; 372 inherit tests; 373 + inherit gtk3; 374 + }; 375 376 hardeningDisable = [ "format" ]; # -Werror=format-security 377
+6 -9
pkgs/applications/networking/browsers/firefox/no-buildconfig-ffx84.patch pkgs/applications/networking/browsers/firefox/no-buildconfig-ffx90.patch
··· 1 - diff --git a/docshell/base/nsAboutRedirector.cpp b/docshell/base/nsAboutRedirector.cpp 2 - index 10ac77b..0125d9b 100644 3 --- a/docshell/base/nsAboutRedirector.cpp 4 +++ b/docshell/base/nsAboutRedirector.cpp 5 - @@ -63,8 +63,6 @@ static const RedirEntry kRedirMap[] = { 6 {"about", "chrome://global/content/aboutAbout.html", 0}, 7 - {"addons", "chrome://mozapps/content/extensions/extensions.xhtml", 8 nsIAboutModule::ALLOW_SCRIPT}, 9 - {"buildconfig", "chrome://global/content/buildconfig.html", 10 - nsIAboutModule::URI_SAFE_FOR_UNTRUSTED_CONTENT}, 11 {"checkerboard", "chrome://global/content/aboutCheckerboard.html", 12 nsIAboutModule::URI_SAFE_FOR_UNTRUSTED_CONTENT | 13 nsIAboutModule::ALLOW_SCRIPT}, 14 - diff --git a/toolkit/content/jar.mn b/toolkit/content/jar.mn 15 - index c83b3e2..d543140 100644 16 --- a/toolkit/content/jar.mn 17 +++ b/toolkit/content/jar.mn 18 - @@ -40,7 +40,6 @@ toolkit.jar: 19 content/global/plugins.css 20 content/global/plugins.js 21 - content/global/browser-child.js 22 -* content/global/buildconfig.html 23 - content/global/buildconfig.css 24 content/global/contentAreaUtils.js 25 content/global/datepicker.xhtml
··· 1 --- a/docshell/base/nsAboutRedirector.cpp 2 +++ b/docshell/base/nsAboutRedirector.cpp 3 + @@ -66,8 +66,6 @@ static const RedirEntry kRedirMap[] = { 4 {"about", "chrome://global/content/aboutAbout.html", 0}, 5 + {"addons", "chrome://mozapps/content/extensions/aboutaddons.html", 6 nsIAboutModule::ALLOW_SCRIPT}, 7 - {"buildconfig", "chrome://global/content/buildconfig.html", 8 - nsIAboutModule::URI_SAFE_FOR_UNTRUSTED_CONTENT}, 9 {"checkerboard", "chrome://global/content/aboutCheckerboard.html", 10 nsIAboutModule::URI_SAFE_FOR_UNTRUSTED_CONTENT | 11 nsIAboutModule::ALLOW_SCRIPT}, 12 --- a/toolkit/content/jar.mn 13 +++ b/toolkit/content/jar.mn 14 + @@ -39,8 +39,6 @@ toolkit.jar: 15 + content/global/plugins.html 16 content/global/plugins.css 17 content/global/plugins.js 18 -* content/global/buildconfig.html 19 + - content/global/buildconfig.css 20 content/global/contentAreaUtils.js 21 content/global/datepicker.xhtml 22 + #ifndef MOZ_FENNEC
+2 -2
pkgs/applications/networking/browsers/firefox/packages.nix
··· 7 rec { 8 firefox = common rec { 9 pname = "firefox"; 10 - ffversion = "89.0.2"; 11 src = fetchurl { 12 url = "mirror://mozilla/firefox/releases/${ffversion}/source/firefox-${ffversion}.source.tar.xz"; 13 - sha512 = "ffd98ab0887611c5b4aba68346c49a7a31a58150fd8bbae610a4d941c4cff0acef0daaebfbb577787a759b4c1ef3c1199f02681148612f4f5b709983e07e0ccb"; 14 }; 15 16 meta = {
··· 7 rec { 8 firefox = common rec { 9 pname = "firefox"; 10 + ffversion = "90.0"; 11 src = fetchurl { 12 url = "mirror://mozilla/firefox/releases/${ffversion}/source/firefox-${ffversion}.source.tar.xz"; 13 + sha512 = "233ad59e4ab2f08d2253b49235b51b26fa32fb7c285928110573ccbe67c79965d9401a6c58a3af2ad22b8a58ca5d9b3154e3e8c9d29b153acd16152d9b75442c"; 14 }; 15 16 meta = {