In #89806 it has been reported that the final package is missing a lot
of features like support for the self-service GUI and the
config-management.
While working on supporting those components in the Nix-package, I
decided to refactor the package to simplify the entire setup.
This patch changes the following things:
* Binaries and libraries are patched using the `autoPatchelfHook` to
avoid having unneeded libraries linked (e.g. some programs use gtk2,
others use gtk3).
* Moved source-declarations into their own file.
* Wrapped `configmgr` and `selfservice` and added those to `$out/bin`.
* Don't mention the old `citrix_receiver`-packages in the manual anymore
since those packages were removed in 19.09 and are EOLed anyways.
Closes#89806
See https://www.citrix.com/en-gb/support/product-lifecycle/milestones/receiver.html
The releases `19.{6,8,10}.0` will be EOLed in 2021 during the expected
lifetime of 20.09. As we shouldn't keep outdated software and
`19.12.0`/`20.04.0`/`20.06.0` is still maintained (and I didn't
encounter any problems with any of those releases), the deprecation
should be fine at the moment.
After making `ffmpeg` point to the latest `ffmpeg_4`, all packages that
used `ffmpeg` without requiring a specific version now use ffmpeg_3
explicitly so they shouldn't change.
Will be unsupported within the lifespan of 20.03. Also there aren't any
known issues that require this version as workaround, so a removal
should be fairly safe.
When a new version of the Citrix workspace app is released, there's no
versioned URL available. This means that as soon as a new version is
released, the homepage needs to be altered to ensure that the error
message from `requireFile` points to the proper download URL.
Likely just dependency of `gtkglext` since it is not listed in the readme.
For some reason, --remove-needed does not seem to work with the first patchelf invocation so I had to do it separately.
According to the release notes this is a
"This release is meant to prepare the stable release for January, before the freeze in Debian an Ubuntu ".
Not sure what that means, but I expect a stable release
in NixOS 20.03 for sure.
https://gitlab.com/Remmina/Remmina/-/tags/v1.3.7
anydesk moves tar archives of older versions into a sub folder linux-generic, which breaks this package. Use two URLs to take care of both recent and older versions.
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
New release:
https://www.citrix.de/downloads/workspace-app/linux/workspace-app-for-linux-latest.html
(unfortunately there's no version-specific link for the latest version).
Also added `preferLocalBuild = true;` to the derivation, due to
`requireFile` you have to build it yourself anyway, however I use
distributed builds by default and figured that this shouldn't be needed
since the longest part of the build would be the upload of the source
archive in that case.