From 344fbb5ddbb90cd1943730f42acbec8856a9b9dd Mon Sep 17 00:00:00 2001 From: SLNOS Date: Tue, 15 Aug 2017 00:00:00 +0000 Subject: [PATCH 1/4] firefoxPackages: add `extraConfigureFlags` to common builder, move `--disable-loop` flag to tor-browser expression --- pkgs/applications/networking/browsers/firefox/common.nix | 9 +++------ .../networking/browsers/firefox/packages.nix | 1 + 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/pkgs/applications/networking/browsers/firefox/common.nix b/pkgs/applications/networking/browsers/firefox/common.nix index 7c9ffc0f478..be24dd4a376 100644 --- a/pkgs/applications/networking/browsers/firefox/common.nix +++ b/pkgs/applications/networking/browsers/firefox/common.nix @@ -1,5 +1,5 @@ { pname, version, updateScript ? null -, src, patches ? [], overrides ? {}, meta +, src, patches ? [], extraConfigureFlags ? [], overrides ? {}, meta , isTorBrowserLike ? false }: { lib, stdenv, pkgconfig, pango, perl, python, zip, libIDL @@ -29,7 +29,6 @@ # Set to `privacySupport` or `false`. , webrtcSupport ? !privacySupport -, loopSupport ? !privacySupport || !isTorBrowserLike , geolocationSupport ? !privacySupport , googleAPISupport ? geolocationSupport , crashreporterSupport ? false @@ -48,7 +47,6 @@ }: assert stdenv.cc ? libc && stdenv.cc.libc != null; -assert !isTorBrowserLike -> loopSupport; # can't be disabled on firefox :( let flag = tf: x: [(if tf then "--enable-${x}" else "--disable-${x}")]; @@ -147,8 +145,6 @@ stdenv.mkDerivation (rec { ++ flag ffmpegSupport "ffmpeg" ++ lib.optional (!ffmpegSupport) "--disable-gstreamer" ++ flag webrtcSupport "webrtc" - ++ lib.optionals isTorBrowserLike - (flag loopSupport "loop") ++ flag geolocationSupport "mozril-geoloc" ++ lib.optional googleAPISupport "--with-google-api-keyfile=ga" ++ flag crashreporterSupport "crashreporter" @@ -159,7 +155,8 @@ stdenv.mkDerivation (rec { else [ "--disable-debug" "--enable-release" "--enable-optimize" "--enable-strip" ]) - ++ lib.optional enableOfficialBranding "--enable-official-branding"; + ++ lib.optional enableOfficialBranding "--enable-official-branding" + ++ extraConfigureFlags; enableParallelBuilding = true; diff --git a/pkgs/applications/networking/browsers/firefox/packages.nix b/pkgs/applications/networking/browsers/firefox/packages.nix index 1eb30bed59c..fa34b18ee49 100644 --- a/pkgs/applications/networking/browsers/firefox/packages.nix +++ b/pkgs/applications/networking/browsers/firefox/packages.nix @@ -49,6 +49,7 @@ rec { pname = "tor-browser"; version = "6.5.2"; isTorBrowserLike = true; + extraConfigureFlags = [ "--disable-loop" ]; # FIXME: fetchFromGitHub is not ideal, unpacked source is >900Mb src = fetchFromGitHub { From a681afb8f1ab80e6c7a3fb587d49b15c2d3739c7 Mon Sep 17 00:00:00 2001 From: SLNOS Date: Tue, 15 Aug 2017 00:00:00 +0000 Subject: [PATCH 2/4] firefoxPackages: add `extraMakeFlags` to common builder, fix official branding handling --- .../networking/browsers/firefox/common.nix | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/networking/browsers/firefox/common.nix b/pkgs/applications/networking/browsers/firefox/common.nix index be24dd4a376..de19e611851 100644 --- a/pkgs/applications/networking/browsers/firefox/common.nix +++ b/pkgs/applications/networking/browsers/firefox/common.nix @@ -1,5 +1,5 @@ { pname, version, updateScript ? null -, src, patches ? [], extraConfigureFlags ? [], overrides ? {}, meta +, src, patches ? [], extraConfigureFlags ? [], extraMakeFlags ? [], overrides ? {}, meta , isTorBrowserLike ? false }: { lib, stdenv, pkgconfig, pango, perl, python, zip, libIDL @@ -43,7 +43,7 @@ # option. However, in Firefox's case, those binaries may not be # distributed without permission from the Mozilla Foundation, see # http://www.mozilla.org/foundation/trademarks/. -, enableOfficialBranding ? false +, enableOfficialBranding ? isTorBrowserLike }: assert stdenv.cc ? libc && stdenv.cc.libc != null; @@ -158,6 +158,16 @@ stdenv.mkDerivation (rec { ++ lib.optional enableOfficialBranding "--enable-official-branding" ++ extraConfigureFlags; + preBuild = lib.optionalString (enableOfficialBranding && isTorBrowserLike) '' + buildFlagsArray=("MOZ_APP_DISPLAYNAME=Tor Browser") + ''; + + makeFlags = lib.optionals enableOfficialBranding [ + "MOZILLA_OFFICIAL=1" + "BUILD_OFFICIAL=1" + ] + ++ extraMakeFlags; + enableParallelBuilding = true; preInstall = '' From 513341434c3573c4c18ec4340d90b5a087d64aee Mon Sep 17 00:00:00 2001 From: SLNOS Date: Tue, 15 Aug 2017 00:00:00 +0000 Subject: [PATCH 3/4] firefoxPackages: tor-browser: reorganize expression --- .../networking/browsers/firefox/packages.nix | 36 +++++++++++-------- 1 file changed, 21 insertions(+), 15 deletions(-) diff --git a/pkgs/applications/networking/browsers/firefox/packages.nix b/pkgs/applications/networking/browsers/firefox/packages.nix index fa34b18ee49..20874ee030c 100644 --- a/pkgs/applications/networking/browsers/firefox/packages.nix +++ b/pkgs/applications/networking/browsers/firefox/packages.nix @@ -45,20 +45,9 @@ rec { }; } {}; - tor-browser = common rec { - pname = "tor-browser"; - version = "6.5.2"; - isTorBrowserLike = true; - extraConfigureFlags = [ "--disable-loop" ]; - - # FIXME: fetchFromGitHub is not ideal, unpacked source is >900Mb - src = fetchFromGitHub { - owner = "SLNOS"; - repo = "tor-browser"; - rev = "tor-browser-45.8.0esr-6.5-2"; - sha256 = "0vbcp1qlxjlph0dqibylsyvb8iah3lnzdxc56hllpvbn51vrp39j"; - }; +} // (let + commonAttrs = { overrides = { unpackPhase = '' # fetchFromGitHub produces ro sources, root dir gets a name that @@ -102,9 +91,26 @@ rec { homepage = https://www.torproject.org/projects/torbrowser.html; platforms = lib.platforms.linux; }; - } { + }; + +in rec { + + tor-browser = common (rec { + pname = "tor-browser"; + version = "6.5.2"; + isTorBrowserLike = true; + extraConfigureFlags = [ "--disable-loop" ]; + + # FIXME: fetchFromGitHub is not ideal, unpacked source is >900Mb + src = fetchFromGitHub { + owner = "SLNOS"; + repo = "tor-browser"; + rev = "tor-browser-45.8.0esr-6.5-2"; + sha256 = "0vbcp1qlxjlph0dqibylsyvb8iah3lnzdxc56hllpvbn51vrp39j"; + }; + } // commonAttrs) { stdenv = overrideCC stdenv gcc5; ffmpegSupport = false; }; -} +}) From 26cf9e33fa3eea054a89fa1397a0eabc655ac695 Mon Sep 17 00:00:00 2001 From: SLNOS Date: Tue, 15 Aug 2017 00:00:00 +0000 Subject: [PATCH 4/4] firefoxPackages: tor-browser: 6.5.2 -> 7.0.1, keep 6.5.2 --- .../networking/browsers/firefox/packages.nix | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/pkgs/applications/networking/browsers/firefox/packages.nix b/pkgs/applications/networking/browsers/firefox/packages.nix index 20874ee030c..83eb563a8e7 100644 --- a/pkgs/applications/networking/browsers/firefox/packages.nix +++ b/pkgs/applications/networking/browsers/firefox/packages.nix @@ -95,7 +95,7 @@ rec { in rec { - tor-browser = common (rec { + tor-browser-6-5 = common (rec { pname = "tor-browser"; version = "6.5.2"; isTorBrowserLike = true; @@ -113,4 +113,20 @@ in rec { ffmpegSupport = false; }; + tor-browser-7-0 = common (rec { + pname = "tor-browser"; + version = "7.0.1"; + isTorBrowserLike = true; + + # FIXME: fetchFromGitHub is not ideal, unpacked source is >900Mb + src = fetchFromGitHub { + owner = "SLNOS"; + repo = "tor-browser"; + rev = "tor-browser-52.3.0esr-7.0-1-slnos"; + sha256 = "0szbf8gjbl4dnrb4igy4mq5858i1y6ki4skhdw63iqqdd8w9v4yv"; + }; + } // commonAttrs) {}; + + tor-browser = tor-browser-7-0; + })