2020-12-31 02:47:54 +00:00
|
|
|
{ stdenv, lib, callPackage, fetchurl, fetchpatch, nixosTests }:
|
2017-03-27 12:33:00 +00:00
|
|
|
|
2018-03-06 22:33:11 +00:00
|
|
|
let
|
2018-10-01 00:00:00 +00:00
|
|
|
common = opts: callPackage (import ./common.nix opts) {};
|
2018-03-06 22:33:11 +00:00
|
|
|
in
|
2017-03-27 12:33:00 +00:00
|
|
|
|
|
|
|
rec {
|
|
|
|
firefox = common rec {
|
|
|
|
pname = "firefox";
|
2022-05-03 00:08:08 +00:00
|
|
|
version = "100.0";
|
2018-05-11 00:09:36 +00:00
|
|
|
src = fetchurl {
|
2021-07-13 17:04:57 +00:00
|
|
|
url = "mirror://mozilla/firefox/releases/${version}/source/firefox-${version}.source.tar.xz";
|
2022-05-03 00:08:08 +00:00
|
|
|
sha512 = "29c56391c980209ff94c02a9aba18fe27bea188bdcbcf7fe0c0f27f61e823f4507a3ec343b27cb5285cf3901843e9cc4aca8e568beb623c4b69b7282e662b2aa";
|
2017-03-27 12:33:00 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
meta = {
|
|
|
|
description = "A web browser built from Firefox source tree";
|
2020-04-01 01:11:51 +00:00
|
|
|
homepage = "http://www.mozilla.com/en-US/firefox/";
|
2022-03-07 19:28:23 +00:00
|
|
|
maintainers = with lib.maintainers; [ lovesegfault hexa ];
|
2018-07-10 22:10:04 +00:00
|
|
|
platforms = lib.platforms.unix;
|
2019-09-21 03:20:32 +00:00
|
|
|
badPlatforms = lib.platforms.darwin;
|
2020-03-06 02:36:01 +00:00
|
|
|
broken = stdenv.buildPlatform.is32bit; # since Firefox 60, build on 32-bit platforms fails with "out of memory".
|
|
|
|
# not in `badPlatforms` because cross-compilation on 64-bit machine might work.
|
2021-07-04 21:11:50 +00:00
|
|
|
maxSilent = 14400; # 4h, double the default of 7200s (c.f. #129212, #129115)
|
2018-08-06 14:13:50 +00:00
|
|
|
license = lib.licenses.mpl20;
|
2017-03-27 12:33:00 +00:00
|
|
|
};
|
2020-12-31 02:47:54 +00:00
|
|
|
tests = [ nixosTests.firefox ];
|
2017-03-27 12:33:00 +00:00
|
|
|
updateScript = callPackage ./update.nix {
|
|
|
|
attrPath = "firefox-unwrapped";
|
|
|
|
};
|
2018-10-01 00:00:00 +00:00
|
|
|
};
|
2017-03-27 12:33:00 +00:00
|
|
|
|
2021-08-09 09:57:57 +00:00
|
|
|
firefox-esr-91 = common rec {
|
|
|
|
pname = "firefox-esr";
|
2022-05-03 00:09:24 +00:00
|
|
|
version = "91.9.0esr";
|
2021-08-09 09:57:57 +00:00
|
|
|
src = fetchurl {
|
2021-07-13 17:04:57 +00:00
|
|
|
url = "mirror://mozilla/firefox/releases/${version}/source/firefox-${version}.source.tar.xz";
|
2022-05-03 00:09:24 +00:00
|
|
|
sha512 = "fd69d489429052013d2c1b8b766a47920ecee62f0688505758f593b27ae66d6343b9107163749406251aedebdf836147e4d562415a811b04d7ab2ae31e32f133";
|
2021-08-09 09:57:57 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
meta = {
|
|
|
|
description = "A web browser built from Firefox Extended Support Release source tree";
|
|
|
|
homepage = "http://www.mozilla.com/en-US/firefox/";
|
|
|
|
maintainers = with lib.maintainers; [ hexa ];
|
|
|
|
platforms = lib.platforms.unix;
|
|
|
|
badPlatforms = lib.platforms.darwin;
|
|
|
|
broken = stdenv.buildPlatform.is32bit; # since Firefox 60, build on 32-bit platforms fails with "out of memory".
|
|
|
|
# not in `badPlatforms` because cross-compilation on 64-bit machine might work.
|
|
|
|
license = lib.licenses.mpl20;
|
|
|
|
};
|
|
|
|
tests = [ nixosTests.firefox-esr-91 ];
|
|
|
|
updateScript = callPackage ./update.nix {
|
|
|
|
attrPath = "firefox-esr-91-unwrapped";
|
|
|
|
versionSuffix = "esr";
|
|
|
|
};
|
|
|
|
};
|
2022-02-11 18:05:45 +00:00
|
|
|
|
|
|
|
librewolf =
|
|
|
|
let
|
|
|
|
librewolf-src = callPackage ./librewolf { };
|
|
|
|
in
|
|
|
|
(common rec {
|
|
|
|
pname = "librewolf";
|
|
|
|
binaryName = "librewolf";
|
|
|
|
version = librewolf-src.packageVersion;
|
|
|
|
src = librewolf-src.firefox;
|
|
|
|
inherit (librewolf-src) extraConfigureFlags extraPostPatch extraPassthru;
|
|
|
|
|
|
|
|
meta = {
|
|
|
|
description = "A fork of Firefox, focused on privacy, security and freedom";
|
|
|
|
homepage = "https://librewolf.net/";
|
|
|
|
maintainers = with lib.maintainers; [ squalus ];
|
|
|
|
inherit (firefox.meta) platforms badPlatforms broken maxSilent license;
|
|
|
|
};
|
|
|
|
updateScript = callPackage ./librewolf/update.nix {
|
|
|
|
attrPath = "librewolf-unwrapped";
|
|
|
|
};
|
|
|
|
}).override {
|
|
|
|
crashreporterSupport = false;
|
|
|
|
enableOfficialBranding = false;
|
2022-03-24 00:38:12 +00:00
|
|
|
pgoSupport = false; # Profiling gets stuck and doesn't terminate.
|
2022-02-11 18:05:45 +00:00
|
|
|
};
|
2020-02-01 16:37:56 +00:00
|
|
|
}
|