summary refs log tree commit diff
path: root/pkgs/applications/networking/remote/citrix-workspace/sources.nix
diff options
context:
space:
mode:
authorMaximilian Bosch <maximilian@mbosch.me>2020-06-15 13:17:05 +0200
committerMaximilian Bosch <maximilian@mbosch.me>2020-07-15 19:10:58 +0200
commitfa3948a7c5bf12357080b3b9277bfe28db69e8aa (patch)
treec4d41f15d326cf9142cb30efa5fbf594e38b9ddd /pkgs/applications/networking/remote/citrix-workspace/sources.nix
parentbfb7ac3d83ab3a24954b48c2d556aa6c69f53bb7 (diff)
downloadnixpkgs-fa3948a7c5bf12357080b3b9277bfe28db69e8aa.tar
nixpkgs-fa3948a7c5bf12357080b3b9277bfe28db69e8aa.tar.gz
nixpkgs-fa3948a7c5bf12357080b3b9277bfe28db69e8aa.tar.bz2
nixpkgs-fa3948a7c5bf12357080b3b9277bfe28db69e8aa.tar.lz
nixpkgs-fa3948a7c5bf12357080b3b9277bfe28db69e8aa.tar.xz
nixpkgs-fa3948a7c5bf12357080b3b9277bfe28db69e8aa.tar.zst
nixpkgs-fa3948a7c5bf12357080b3b9277bfe28db69e8aa.zip
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
Diffstat (limited to 'pkgs/applications/networking/remote/citrix-workspace/sources.nix')
-rw-r--r--pkgs/applications/networking/remote/citrix-workspace/sources.nix58
1 files changed, 58 insertions, 0 deletions
diff --git a/pkgs/applications/networking/remote/citrix-workspace/sources.nix b/pkgs/applications/networking/remote/citrix-workspace/sources.nix
new file mode 100644
index 00000000000..cc0d8637b90
--- /dev/null
+++ b/pkgs/applications/networking/remote/citrix-workspace/sources.nix
@@ -0,0 +1,58 @@
+{ 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;
+}