nixpkgs/pkgs/applications/networking/remote/citrix-workspace/sources.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

59 lines
2.2 KiB
Nix

{ stdenv, lib }:
let
mkVersionInfo = _: { major, minor, patch, x64hash, x86hash, x64suffix, x86suffix, homepage }:
{ inherit homepage;
version = "${major}.${minor}.${patch}.${if stdenv.is64bit then x64suffix else x86suffix}";
prefix = "linuxx${if stdenv.is64bit then "64" else "86"}";
hash = if stdenv.is64bit then x64hash else x86hash;
};
# Attribute-set with all actively supported versions of the Citrix workspace app
# for Linux.
#
# The latest versions can be found at https://www.citrix.com/de-de/downloads/workspace-app/linux/
supportedVersions = lib.mapAttrs mkVersionInfo {
"19.12.0" = {
major = "19";
minor = "12";
patch = "0";
x64hash = "1si5mkxbgb8m99bkvgc3l80idjfdp0kby6pv47s07nn43dbr1j7a";
x86hash = "07rfp90ksnvr8zv7ix7f0z6a59n48s7bd4kqbzilfwxgs4ddqmcy";
x64suffix = "19";
x86suffix = "19";
homepage = "https://www.citrix.com/downloads/workspace-app/legacy-workspace-app-for-linux/workspace-app-for-linux-1912.html";
};
"20.04.0" = {
major = "20";
minor = "04";
patch = "0";
x64hash = "E923592216F9541173846F932784E6C062CB09C9E8858219C7489607BF82A0FB";
x86hash = "A2E2E1882723DA6796E68916B3BB2B44DD575A83DEB03CA90A262F6C81B1A53F";
x64suffix = "21";
x86suffix = "21";
homepage = "https://www.citrix.com/downloads/workspace-app/linux/workspace-app-for-linux-latest.html";
};
"20.06.0" = {
major = "20";
minor = "06";
patch = "0";
x64hash = "1kpfcfg95mpprlca6cccnjlsqbj3xvv77cn3fc5msd304nsi9x1v";
x86hash = "1di29hrimbw3myjnf2nn26a14klidhdwvjqla6yxhwd3s6lil194";
x64suffix = "15";
x86suffix = "15";
homepage = "https://www.citrix.com/de-de/downloads/workspace-app/linux/workspace-app-for-linux-latest.html";
};
};
# Retain attribute-names for abandoned versions of Citrix workspace to
# provide a meaningful error-message if it's attempted to use such an old one.
#
# The lifespans of Citrix products can be found here:
# https://www.citrix.com/support/product-lifecycle/milestones/receiver.html
unsupportedVersions = [ "19.6.0" "19.8.0" "19.10.0" ];
in {
inherit supportedVersions unsupportedVersions;
}