From 0d65acf47c83debdf3089cb3f66aee045b3cdce1 Mon Sep 17 00:00:00 2001 From: Maximilian Bosch Date: Thu, 12 Sep 2019 22:22:31 +0200 Subject: [PATCH] treewide: build some unfree packages locally Unfree packages aren't distributed by our binary cache due to legal reasons[1] and are usually a prebuilt binary that requires some patching. When using distributed builds[2], those are uploaded to another build machine as fixed-output derivations from `fetchurl` are built locally[3] which takes a certain amount of time and resources with almost no gain as the build process is trivial in contrast to the up/download to a remote builder. This is why I figured that at least some of the packages should be explicitly built locally, I've done something simlar for `citrix_workspace` already in the past[4]. The following packages are affected by this: * `idea.*` (excluding free derivatives) * `xmind` * `teamviewer` [1] https://nixos.wiki/wiki/FAQ/How_can_I_install_a_proprietary_or_unfree_package%3F#More_precision [2] https://nixos.wiki/wiki/Distributed_build [3] https://github.com/NixOS/nixpkgs/blob/267c8d6b2fea05bc811c8e2c2f4529b1436eeb9a/pkgs/build-support/fetchurl/default.nix#L95 [4] 87f818d9b21b16b067048a6ee0178b782886f0f0 --- pkgs/applications/editors/jetbrains/common.nix | 2 ++ pkgs/applications/misc/xmind/default.nix | 2 ++ pkgs/applications/networking/remote/teamviewer/default.nix | 1 + 3 files changed, 5 insertions(+) diff --git a/pkgs/applications/editors/jetbrains/common.nix b/pkgs/applications/editors/jetbrains/common.nix index be20800cde2..f535d7bff47 100644 --- a/pkgs/applications/editors/jetbrains/common.nix +++ b/pkgs/applications/editors/jetbrains/common.nix @@ -77,4 +77,6 @@ with stdenv; lib.makeOverridable mkDerivation rec { ln -s "$item/share/applications" $out/share ''; +} // stdenv.lib.optionalAttrs (!(meta.license.free or true)) { + preferLocalBuild = true; } diff --git a/pkgs/applications/misc/xmind/default.nix b/pkgs/applications/misc/xmind/default.nix index c673002fb51..37398a56691 100644 --- a/pkgs/applications/misc/xmind/default.nix +++ b/pkgs/applications/misc/xmind/default.nix @@ -15,6 +15,8 @@ stdenv.mkDerivation rec { sha256 = "0jxq2fiq69q9ly0m6hx2qfybqad22sl42ciw636071khpqgc885f"; }; + preferLocalBuild = true; + patches = [ ./java-env-config-fixes.patch ]; nativeBuildInputs = [ makeWrapper ]; diff --git a/pkgs/applications/networking/remote/teamviewer/default.nix b/pkgs/applications/networking/remote/teamviewer/default.nix index f9b17b42bde..d9a3d4aefcd 100644 --- a/pkgs/applications/networking/remote/teamviewer/default.nix +++ b/pkgs/applications/networking/remote/teamviewer/default.nix @@ -54,6 +54,7 @@ mkDerivation rec { ''; dontStrip = true; + preferLocalBuild = true; meta = with lib; { homepage = http://www.teamviewer.com;