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] 267c8d6b2f/pkgs/build-support/fetchurl/default.nix (L95)
[4] 87f818d9b2
This commit is contained in:
Maximilian Bosch 2019-09-12 22:22:31 +02:00
parent 76e4d0e0f7
commit 0d65acf47c
No known key found for this signature in database
GPG Key ID: 091DBF4D1FC46B8E
3 changed files with 5 additions and 0 deletions

View File

@ -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;
}

View File

@ -15,6 +15,8 @@ stdenv.mkDerivation rec {
sha256 = "0jxq2fiq69q9ly0m6hx2qfybqad22sl42ciw636071khpqgc885f";
};
preferLocalBuild = true;
patches = [ ./java-env-config-fixes.patch ];
nativeBuildInputs = [ makeWrapper ];

View File

@ -54,6 +54,7 @@ mkDerivation rec {
'';
dontStrip = true;
preferLocalBuild = true;
meta = with lib; {
homepage = http://www.teamviewer.com;