nixpkgs/pkgs/applications/networking/remote/citrix-workspace/default.nix
Maximilian Bosch fa3948a7c5
citrix_workspace: add more features, refactor derivation
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
2020-07-15 19:10:58 +02:00

26 lines
938 B
Nix

{ lib, callPackage }:
# For detailed information about the Citrix source-tarball, please refer to the OEM
# reference guide: https://developer-docs.citrix.com/projects/workspace-app-for-linux-oem-guide/en/latest/
let
inherit (callPackage ./sources.nix { }) supportedVersions unsupportedVersions;
mkCitrix = callPackage ./generic.nix { };
toAttrName = x: "citrix_workspace_${builtins.replaceStrings [ "." ] [ "_" ] x}";
unsupported = lib.listToAttrs (
map (x: lib.nameValuePair (toAttrName x) (throw ''
Citrix Workspace at version ${x} is not supported anymore!
Actively supported releases are listed here:
https://www.citrix.com/en-gb/support/product-lifecycle/milestones/receiver.html
'')) unsupportedVersions
);
supported = lib.mapAttrs' (
attr: versionInfo: lib.nameValuePair (toAttrName attr) (callPackage ./generic.nix versionInfo)
) supportedVersions;
in
supported // unsupported