summary refs log tree commit diff
path: root/pkgs/applications
diff options
context:
space:
mode:
authorMaximilian Bosch <maximilian@mbosch.me>2019-09-12 22:22:31 +0200
committerMaximilian Bosch <maximilian@mbosch.me>2019-09-13 09:29:09 +0200
commit0d65acf47c83debdf3089cb3f66aee045b3cdce1 (patch)
treecc677bff0680b0db58411d2c0f28c63a870f546d /pkgs/applications
parent76e4d0e0f79af8ff6a34526249bdc8a0cf4874c0 (diff)
downloadnixpkgs-0d65acf47c83debdf3089cb3f66aee045b3cdce1.tar
nixpkgs-0d65acf47c83debdf3089cb3f66aee045b3cdce1.tar.gz
nixpkgs-0d65acf47c83debdf3089cb3f66aee045b3cdce1.tar.bz2
nixpkgs-0d65acf47c83debdf3089cb3f66aee045b3cdce1.tar.lz
nixpkgs-0d65acf47c83debdf3089cb3f66aee045b3cdce1.tar.xz
nixpkgs-0d65acf47c83debdf3089cb3f66aee045b3cdce1.tar.zst
nixpkgs-0d65acf47c83debdf3089cb3f66aee045b3cdce1.zip
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
Diffstat (limited to 'pkgs/applications')
-rw-r--r--pkgs/applications/editors/jetbrains/common.nix2
-rw-r--r--pkgs/applications/misc/xmind/default.nix2
-rw-r--r--pkgs/applications/networking/remote/teamviewer/default.nix1
3 files changed, 5 insertions, 0 deletions
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;