Skip to content

Commit

Permalink
ungoogled-chromium: Merge back into chromium
Browse files Browse the repository at this point in the history
I used nix-instantiate to verify that the derivations for chromium and
ungoogled-chromium remain unchanged (only the meta attributes change
slightly as I added myself as ungoogled-chromium to receive
notifications for PRs/issues).
  • Loading branch information
primeos committed Dec 10, 2020
1 parent 1f65211 commit 2b6b434
Show file tree
Hide file tree
Showing 14 changed files with 48 additions and 942 deletions.
13 changes: 9 additions & 4 deletions pkgs/applications/networking/browsers/chromium/browser.nix
@@ -1,4 +1,4 @@
{ stdenv, mkChromiumDerivation, channel, enableWideVine }:
{ stdenv, mkChromiumDerivation, channel, enableWideVine, ungoogled }:

with stdenv.lib;

Expand Down Expand Up @@ -69,15 +69,20 @@ mkChromiumDerivation (base: rec {
requiredSystemFeatures = [ "big-parallel" ];

meta = {
description = "An open source web browser from Google";
description = "An open source web browser from Google"
+ optionalString ungoogled ", with dependencies on Google web services removed";
longDescription = ''
Chromium is an open source web browser from Google that aims to build a
safer, faster, and more stable way for all Internet users to experience
the web. It has a minimalist user interface and provides the vast majority
of source code for Google Chrome (which has some additional features).
'';
homepage = "https://www.chromium.org/";
maintainers = with maintainers; [ primeos thefloweringash bendlas ]; # See README.md
homepage = if ungoogled
then "https://github.com/Eloston/ungoogled-chromium"
else "https://www.chromium.org/";
maintainers = with maintainers; if ungoogled
then [ squalus primeos ]
else [ primeos thefloweringash bendlas ];
license = if enableWideVine then licenses.unfree else licenses.bsd3;
platforms = platforms.linux;
hydraPlatforms = if channel == "stable" then ["aarch64-linux" "x86_64-linux"] else [];
Expand Down
28 changes: 28 additions & 0 deletions pkgs/applications/networking/browsers/chromium/common.nix
Expand Up @@ -31,6 +31,7 @@
, proprietaryCodecs ? true
, cupsSupport ? true
, pulseSupport ? false, libpulseaudio ? null
, ungoogled ? false, ungoogled-chromium

, channel
, upstream-info
Expand Down Expand Up @@ -109,6 +110,11 @@ let
result
else result;

ungoogler =
let versionEntry = (import ./ungoogled-src.nix)."${upstream-info.version}";
in ungoogled-chromium {
inherit (versionEntry) rev sha256;
};
base = rec {
name = "${packageName}-unwrapped-${version}";
inherit (upstream-info) version;
Expand Down Expand Up @@ -208,6 +214,10 @@ let
'' + optionalString stdenv.isAarch64 ''
substituteInPlace build/toolchain/linux/BUILD.gn \
--replace 'toolprefix = "aarch64-linux-gnu-"' 'toolprefix = ""'
'' + optionalString ungoogled ''
${ungoogler}/utils/prune_binaries.py . ${ungoogler}/pruning.list || echo "some errors"
${ungoogler}/utils/patches.py . ${ungoogler}/patches
${ungoogler}/utils/domain_substitution.py apply -r ${ungoogler}/domain_regex.list -f ${ungoogler}/domain_substitution.list -c ./ungoogled-domsubcache.tar.gz .
'';

gnFlags = mkGnFlags ({
Expand Down Expand Up @@ -260,6 +270,24 @@ let
use_system_minigbm = true;
use_system_libdrm = true;
system_wayland_scanner_path = "${wayland}/bin/wayland-scanner";
} // optionalAttrs ungoogled {
chrome_pgo_phase = 0;
enable_hangout_services_extension = false;
enable_js_type_check = false;
enable_mdns = false;
enable_nacl_nonsfi = false;
enable_one_click_signin = false;
enable_reading_list = false;
enable_remoting = false;
enable_reporting = false;
enable_service_discovery = false;
exclude_unwind_tables = true;
google_api_key = "";
google_default_client_id = "";
google_default_client_secret = "";
safe_browsing_mode = 0;
use_official_google_api_keys = false;
use_unofficial_version_number = false;
} // (extraAttrs.gnFlags or {}));

configurePhase = ''
Expand Down
10 changes: 7 additions & 3 deletions pkgs/applications/networking/browsers/chromium/default.nix
Expand Up @@ -15,6 +15,7 @@
, enablePepperFlash ? false
, enableWideVine ? false
, enableVaapi ? false # Disabled by default due to unofficial support
, ungoogled ? false # Whether to build chromium or ungoogled-chromium
, cupsSupport ? true
, pulseSupport ? config.pulseaudio or stdenv.isLinux
, commandLineArgs ? ""
Expand All @@ -33,7 +34,7 @@ let

mkChromiumDerivation = callPackage ./common.nix ({
inherit channel gnome gnomeSupport gnomeKeyringSupport proprietaryCodecs
cupsSupport pulseSupport;
cupsSupport pulseSupport ungoogled;
gnChromium = gn.overrideAttrs (oldAttrs: {
inherit (upstream-info.deps.gn) version;
src = fetchgit {
Expand All @@ -42,11 +43,13 @@ let
});
});

browser = callPackage ./browser.nix { inherit channel enableWideVine; };
browser = callPackage ./browser.nix { inherit channel enableWideVine ungoogled; };

plugins = callPackage ./plugins.nix {
inherit enablePepperFlash;
};

ungoogled-chromium = callPackage ./ungoogled.nix {};
};

pkgSuffix = if channel == "dev" then "unstable" else channel;
Expand Down Expand Up @@ -133,7 +136,8 @@ let
else browser;

in stdenv.mkDerivation {
name = "chromium${suffix}-${version}";
name = lib.optionalString ungoogled "ungoogled-"
+ "chromium${suffix}-${version}";
inherit version;

buildInputs = [
Expand Down
Expand Up @@ -4,6 +4,7 @@
, makeWrapper
, patch
}:

{ rev
, sha256
}:
Expand Down

This file was deleted.

0 comments on commit 2b6b434

Please sign in to comment.