1{ stdenv, lib }:
2
3let
4 mkVersionInfo =
5 _:
6 {
7 major,
8 minor,
9 patch,
10 x64hash,
11 x86hash,
12 x64suffix,
13 x86suffix,
14 homepage,
15 }:
16 {
17 inherit homepage;
18 version = "${major}.${minor}.${patch}.${
19 if stdenv.hostPlatform.is64bit then x64suffix else x86suffix
20 }";
21 prefix = "linuxx${if stdenv.hostPlatform.is64bit then "64" else "86"}";
22 hash = if stdenv.hostPlatform.is64bit then x64hash else x86hash;
23 };
24
25 # Attribute-set with all actively supported versions of the Citrix workspace app
26 # for Linux.
27 #
28 # The latest versions can be found at https://www.citrix.com/downloads/workspace-app/linux/
29 # x86 is unsupported past 23.11, see https://docs.citrix.com/en-us/citrix-workspace-app-for-linux/deprecation
30 supportedVersions = lib.mapAttrs mkVersionInfo {
31
32 "23.11.0" = {
33 major = "23";
34 minor = "11";
35 patch = "0";
36 x64hash = "d3dde64baa6db7675a025eff546d552544d3523f4f3047621884f7830a9e2822";
37 x86hash = "65b8c144e51b5bd78b98ae69e0fa76d6c020a857d74fd5254be49492527072b6";
38 x64suffix = "82";
39 x86suffix = "82";
40 homepage = "https://www.citrix.com/downloads/workspace-app/legacy-workspace-app-for-linux/workspace-app-for-linux-latest10.html";
41 };
42
43 "24.02.0" = {
44 major = "24";
45 minor = "2";
46 patch = "0";
47 x64hash = "eaeb5d3bd079d4e5c9707da67f5f7a25cb765e19c36d01861290655dbf2aaee4";
48 x86hash = "";
49 x64suffix = "65";
50 x86suffix = "";
51 homepage = "https://www.citrix.com/downloads/workspace-app/legacy-workspace-app-for-linux/workspace-app-for-linux-latest12.html";
52 };
53
54 "24.05.0" = {
55 major = "24";
56 minor = "5";
57 patch = "0";
58 x64hash = "sha256-pye2JOilSbp8PFCpVXFkrRW98E8klCqoisVSWjR38nE=";
59 x86hash = "";
60 x64suffix = "76";
61 x86suffix = "";
62 homepage = "https://www.citrix.com/downloads/workspace-app/legacy-workspace-app-for-linux/workspace-app-for-linux-latest1.html";
63 };
64
65 "24.08.0" = {
66 major = "24";
67 minor = "8";
68 patch = "0";
69 x64hash = "1jb22n6gcv4pv8khg98sv663yfpi47dpkvqgifbhps98iw5zrkbp";
70 x86hash = "";
71 x64suffix = "98";
72 x86suffix = "";
73 homepage = "https://www.citrix.com/downloads/workspace-app/legacy-workspace-app-for-linux/workspace-app-for-linux-latest-2408.html";
74 };
75
76 "24.11.0" = {
77 major = "24";
78 minor = "11";
79 patch = "0";
80 x64hash = "0kylvqdzkw0635mbb6r5k1lamdjf1hr9pk5rxcff63z4f8q0g3zf";
81 x86hash = "";
82 x64suffix = "85";
83 x86suffix = "";
84 homepage = "https://www.citrix.com/downloads/workspace-app/legacy-workspace-app-for-linux/workspace-app-for-linux-latest13.html";
85 };
86
87 "25.03.0" = {
88 major = "25";
89 minor = "03";
90 patch = "0";
91 x64hash = "052zibykhig9091xl76z2x9vn4f74w5q8i9frlpc473pvfplsczk";
92 x86hash = "";
93 x64suffix = "66";
94 x86suffix = "";
95 homepage = "https://www.citrix.com/downloads/workspace-app/legacy-workspace-app-for-linux/workspace-app-for-linux-latest-2503.html";
96 };
97
98 "25.05.0" = {
99 major = "25";
100 minor = "05";
101 patch = "0";
102 x64hash = "0fwqsxggswms40b5k8saxpm1ghkxppl27x19w8jcslq1f0i1fwqx";
103 x86hash = "";
104 x64suffix = "44";
105 x86suffix = "";
106 homepage = "https://www.citrix.com/downloads/workspace-app/linux/workspace-app-for-linux-latest.html";
107 };
108 };
109
110 # Retain attribute-names for abandoned versions of Citrix workspace to
111 # provide a meaningful error-message if it's attempted to use such an old one.
112 #
113 # The lifespans of Citrix products can be found here:
114 # https://www.citrix.com/support/product-lifecycle/workspace-app.html
115 unsupportedVersions = [
116 "23.02.0"
117 "23.07.0"
118 "23.09.0"
119 ];
120in
121{
122 inherit supportedVersions unsupportedVersions;
123}