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
There ver very many conflicts, basically all due to
name -> pname+version. Fortunately, almost everything was auto-resolved
by kdiff3, and for now I just fixed up a couple evaluation problems,
as verified by the tarball job. There might be some fallback to these
conflicts, but I believe it should be minimal.
Hydra nixpkgs: ?compare=1538299
The latest version of XMind doesn't support a prebuilt debian package
anymore, hence a manual installation of the ZIP is needed. The new
configuration for the Java GUI had to be patched as it relied on several
paths in the ZIP that won't work anymore in a Nix-based environment.
Additionally the following changes were made:
* Manual creation of a desktop item and an icon (we're using the one
from AUR for now). Those files were available in the old `.deb`, but
that isn't supported for the latest XMind version.
* Created a patch fro `XMind.ini` to use writable paths in $HOME and fix
the path to the plugins in the store path.
* Created a custom startup script which ensures the creation of
`$HOME/.xmind` and copies the relevant files from the store path into
it. Such a behavior was available in the old `.deb` as well, but not
anymore with the new ZIP.