1{
2 callPackage,
3 writeShellApplication,
4 buildFHSEnv,
5 webkitgtk_4_1,
6 gtk3,
7 pango,
8 atk,
9 cairo,
10 gdk-pixbuf,
11 protobufc,
12 cyrus_sasl,
13}:
14
15let
16 workspacesclient = callPackage ./workspacesclient.nix { };
17
18 # Source: https://github.com/jthomaschewski/pkgbuilds/pull/3
19 # Credits to https://github.com/rwolfson
20 custom_lsb_release = writeShellApplication {
21 name = "lsb_release";
22
23 text = ''
24 # "Fake" lsb_release script
25 # This only exists so that "lsb_release -r" will return the below string
26 # when placed in the $PATH
27
28 if [ "$#" -ne 1 ] || [ "$1" != "-r" ] ; then
29 echo "Expected only '-r' argument"
30 exit 1
31 fi
32
33 echo "Release: 22.04"
34 '';
35 };
36 pname = "aws-workspaces";
37
38in
39buildFHSEnv {
40 inherit pname;
41 inherit (workspacesclient) version;
42
43 runScript = "${workspacesclient}/bin/workspacesclient";
44
45 includeClosures = true;
46
47 targetPkgs = pkgs: [
48 workspacesclient
49 custom_lsb_release
50 webkitgtk_4_1
51 gtk3
52 pango
53 atk
54 cairo
55 gdk-pixbuf
56 protobufc
57 cyrus_sasl
58 ];
59
60 extraBwrapArgs = [
61 # provide certificates where Debian-style OpenSSL can find them
62 "--symlink /etc/ssl/certs/ca-certificates.crt /etc/ssl/cert.pem"
63 ];
64
65 # expected executable doesn't match the name of this package
66 extraInstallCommands = ''
67 mv $out/bin/${pname} $out/bin/workspacesclient
68
69 ln -s ${workspacesclient}/share $out/
70 '';
71
72 meta = workspacesclient.meta;
73}