summary refs log tree commit diff
diff options
context:
space:
mode:
authorMartin Weinelt <hexa@darmstadt.ccc.de>2022-05-16 00:26:57 +0200
committerMartin Weinelt <hexa@darmstadt.ccc.de>2022-05-19 23:12:47 +0200
commit318fae87c0b61eb2eabe6d96b5824cc6e282c513 (patch)
treea4c5aa385b993308081cbbf20c6be1139b4e88a5
parentf9e1911d34ffd1b1d3b00a3d0679e699e1e18163 (diff)
downloadnixpkgs-318fae87c0b61eb2eabe6d96b5824cc6e282c513.tar
nixpkgs-318fae87c0b61eb2eabe6d96b5824cc6e282c513.tar.gz
nixpkgs-318fae87c0b61eb2eabe6d96b5824cc6e282c513.tar.bz2
nixpkgs-318fae87c0b61eb2eabe6d96b5824cc6e282c513.tar.lz
nixpkgs-318fae87c0b61eb2eabe6d96b5824cc6e282c513.tar.xz
nixpkgs-318fae87c0b61eb2eabe6d96b5824cc6e282c513.tar.zst
nixpkgs-318fae87c0b61eb2eabe6d96b5824cc6e282c513.zip
buildMozillaMach: Add distribution identifier and distribution.ini
Adds a distribution id useful for aggregation of crash statistics.

Also creates a NixOS flavor, visible through the About window, that is
also exposed through telemetry data, if enabled.
-rw-r--r--pkgs/applications/networking/browsers/firefox/common.nix25
-rw-r--r--pkgs/applications/networking/browsers/firefox/packages.nix1
-rw-r--r--pkgs/applications/networking/browsers/librewolf/default.nix1
-rw-r--r--pkgs/applications/networking/mailreaders/thunderbird/packages.nix1
4 files changed, 27 insertions, 1 deletions
diff --git a/pkgs/applications/networking/browsers/firefox/common.nix b/pkgs/applications/networking/browsers/firefox/common.nix
index 004a69cf09e..b2008a201d3 100644
--- a/pkgs/applications/networking/browsers/firefox/common.nix
+++ b/pkgs/applications/networking/browsers/firefox/common.nix
@@ -4,6 +4,7 @@
 , updateScript ? null
 , binaryName ? "firefox"
 , application ? "browser"
+, applicationName ? "Mozilla Firefox"
 , src
 , unpackPhase ? null
 , extraPatches ? []
@@ -18,6 +19,7 @@
 
 
 { lib
+, pkgs
 , stdenv
 
 # build time
@@ -161,6 +163,22 @@ let
       ln -s $lib $out/lib/wasm32-wasi
     done
   '';
+
+  distributionIni = pkgs.writeText "distribution.ini" (lib.generators.toINI {} {
+    # Some light branding indicating this build uses our distro preferences
+    Global = {
+      id = "nixos";
+      version = "1.0";
+      about = "${applicationName} for NixOS";
+    };
+    Preferences = {
+      # These values are exposed through telemetry
+      "app.distributor" = "nixos";
+      "app.distributor.channel" = "nixpkgs";
+      "app.partner.nixos" = "nixos";
+    };
+  });
+
 in
 
 buildStdenv.mkDerivation ({
@@ -290,6 +308,7 @@ buildStdenv.mkDerivation ({
     "--enable-application=${application}"
     "--enable-default-toolkit=cairo-gtk3${lib.optionalString waylandSupport "-wayland"}"
     "--enable-system-pixman"
+    "--with-distribution-id=org.nixos"
     "--with-libclang-path=${llvmPackages.libclang.lib}/lib"
     "--with-system-ffi"
     "--with-system-icu"
@@ -429,7 +448,11 @@ buildStdenv.mkDerivation ({
     cd mozobj
   '';
 
-  postInstall = lib.optionalString buildStdenv.isLinux ''
+  postInstall = ''
+    # Install distribution customizations
+    install -Dvm644 ${distributionIni} $out/lib/${binaryName}/distribution/distribution.ini
+
+  '' + lib.optionalString buildStdenv.isLinux ''
     # Remove SDK cruft. FIXME: move to a separate output?
     rm -rf $out/share/idl $out/include $out/lib/${binaryName}-devel-*
 
diff --git a/pkgs/applications/networking/browsers/firefox/packages.nix b/pkgs/applications/networking/browsers/firefox/packages.nix
index 257c65edece..d533593c7e6 100644
--- a/pkgs/applications/networking/browsers/firefox/packages.nix
+++ b/pkgs/applications/networking/browsers/firefox/packages.nix
@@ -29,6 +29,7 @@ rec {
   firefox-esr-91 = buildMozillaMach rec {
     pname = "firefox-esr";
     version = "91.9.0esr";
+    applicationName = "Mozilla Firefox ESR";
     src = fetchurl {
       url = "mirror://mozilla/firefox/releases/${version}/source/firefox-${version}.source.tar.xz";
       sha512 = "fd69d489429052013d2c1b8b766a47920ecee62f0688505758f593b27ae66d6343b9107163749406251aedebdf836147e4d562415a811b04d7ab2ae31e32f133";
diff --git a/pkgs/applications/networking/browsers/librewolf/default.nix b/pkgs/applications/networking/browsers/librewolf/default.nix
index 8f3100de970..bec0c3a9eda 100644
--- a/pkgs/applications/networking/browsers/librewolf/default.nix
+++ b/pkgs/applications/networking/browsers/librewolf/default.nix
@@ -5,6 +5,7 @@ let
 in
 (buildMozillaMach rec {
   pname = "librewolf";
+  applicationName = "LibreWolf";
   binaryName = "librewolf";
   version = librewolf-src.packageVersion;
   src = librewolf-src.firefox;
diff --git a/pkgs/applications/networking/mailreaders/thunderbird/packages.nix b/pkgs/applications/networking/mailreaders/thunderbird/packages.nix
index 46191b2b318..4534985b284 100644
--- a/pkgs/applications/networking/mailreaders/thunderbird/packages.nix
+++ b/pkgs/applications/networking/mailreaders/thunderbird/packages.nix
@@ -12,6 +12,7 @@ rec {
     pname = "thunderbird";
     version = "91.9.0";
     application = "comm/mail";
+    applicationName = "Mozilla Thunderbird";
     binaryName = pname;
     src = fetchurl {
       url = "mirror://mozilla/thunderbird/releases/${version}/source/thunderbird-${version}.source.tar.xz";