diff options
author | Sandro <sandro.jaeckel@gmail.com> | 2023-04-20 01:47:12 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-04-20 01:47:12 +0200 |
commit | 85d1495053c8b02d5b1167afa92e2034cc91924b (patch) | |
tree | 1e7e14239bfa70accf9e92d65f563478ab5768d7 /pkgs/applications/networking | |
parent | ce602f5b265b3da0cc3831603cc208f7270bcd42 (diff) | |
parent | 77ba3505464d6ec6a86c6a1c756d64964f536137 (diff) |
Merge pull request #226177 from felschr/tor-browser-fixes
Diffstat (limited to 'pkgs/applications/networking')
-rw-r--r-- | pkgs/applications/networking/browsers/tor-browser-bundle-bin/default.nix | 33 |
1 files changed, 31 insertions, 2 deletions
diff --git a/pkgs/applications/networking/browsers/tor-browser-bundle-bin/default.nix b/pkgs/applications/networking/browsers/tor-browser-bundle-bin/default.nix index cfb06eba692b5..04a64b96899a4 100644 --- a/pkgs/applications/networking/browsers/tor-browser-bundle-bin/default.nix +++ b/pkgs/applications/networking/browsers/tor-browser-bundle-bin/default.nix @@ -1,6 +1,7 @@ { lib, stdenv , fetchurl , makeDesktopItem +, writeText # Common run-time dependencies , zlib @@ -112,6 +113,19 @@ let hash = "sha256-mi8btxI6de5iQ8HzNpvuFdJHjzi03zZJT65dsWEiDHA="; }; }; + + distributionIni = writeText "distribution.ini" (lib.generators.toINI {} { + # Some light branding indicating this build uses our distro preferences + Global = { + id = "nixos"; + version = "1.0"; + about = "Tor Browser for NixOS"; + }; + }); + + policiesJson = writeText "policies.json" (builtins.toJSON { + policies.DisableAppUpdate = true; + }); in stdenv.mkDerivation rec { pname = "tor-browser-bundle-bin"; @@ -132,7 +146,9 @@ stdenv.mkDerivation rec { categories = [ "Network" "WebBrowser" "Security" ]; }; - buildCommand = '' + buildPhase = '' + runHook preBuild + # For convenience ... TBB_IN_STORE=$out/share/tor-browser interp=$(< $NIX_CC/nix-support/dynamic-linker) @@ -209,7 +225,7 @@ stdenv.mkDerivation rec { // Insist on using IPC for communicating with Tor // - // Defaults to creating \$TBB_HOME/TorBrowser/Data/Tor/{socks,control}.socket + // Defaults to creating \$XDG_RUNTIME_DIR/Tor/{socks,control}.socket lockPref("extensions.torlauncher.control_port_use_ipc", true); lockPref("extensions.torlauncher.socks_port_use_ipc", true); @@ -331,6 +347,7 @@ stdenv.mkDerivation rec { echo "user_pref(\"extensions.torlauncher.toronionauthdir_path\", \"\$HOME/TorBrowser/Data/Tor/onion-auth\");" echo "user_pref(\"extensions.torlauncher.torrc_path\", \"\$HOME/TorBrowser/Data/Tor/torrc\");" echo "user_pref(\"extensions.torlauncher.tordatadir_path\", \"\$HOME/TorBrowser/Data/Tor\");" + echo "user_pref(\"network.proxy.socks\", \"file://\$XDG_RUNTIME_DIR/Tor/socks.socket\");" } >> "\$HOME/TorBrowser/Data/Browser/profile.default/prefs.js" # Lift-off @@ -416,6 +433,18 @@ stdenv.mkDerivation rec { echo "Checking tor-browser wrapper ..." TBB_HOME=$(mktemp -d) \ $out/bin/tor-browser --version >/dev/null + + runHook postBuild + ''; + + installPhase = '' + runHook preInstall + + # Install distribution customizations + install -Dvm644 ${distributionIni} $out/share/tor-browser/distribution/distribution.ini + install -Dvm644 ${policiesJson} $out/share/tor-browser/distribution/policies.json + + runHook postInstall ''; meta = with lib; { |