3
0
Fork 0
forked from mirrors/nixpkgs
nixpkgs/pkgs/applications/networking/remote/aws-workspaces/default.nix
2021-09-21 23:08:18 +01:00

73 lines
2.1 KiB
Nix

{ stdenv, lib
, makeWrapper, dpkg, fetchurl, autoPatchelfHook
, curl, libkrb5, lttng-ust, libpulseaudio, gtk3, openssl_1_1, icu, webkitgtk, librsvg, gdk-pixbuf, libsoup, glib-networking
}:
stdenv.mkDerivation rec {
pname = "aws-workspaces";
version = "4.0.1.1302";
src = fetchurl {
# ref https://d3nt0h4h6pmmc4.cloudfront.net/ubuntu/dists/bionic/main/binary-amd64/Packages
urls = [
"https://d3nt0h4h6pmmc4.cloudfront.net/ubuntu/dists/bionic/main/binary-amd64/workspacesclient_${version}_amd64.deb"
"https://web.archive.org/web/20210921220718/https://d3nt0h4h6pmmc4.cloudfront.net/ubuntu/dists/bionic/main/binary-amd64/workspacesclient_${version}_amd64.deb"
];
sha256 = "208e67a544be5be7ff25218d68b4eb2ea9e65abfed444c99a0f7a6738d69ab9a";
};
nativeBuildInputs = [
autoPatchelfHook
makeWrapper
];
# Crashes at startup when stripping:
# "Failed to create CoreCLR, HRESULT: 0x80004005"
dontStrip = true;
buildInputs = [
stdenv.cc.cc.lib
libkrb5
curl
lttng-ust
libpulseaudio
gtk3
openssl_1_1.out
icu
webkitgtk
librsvg
gdk-pixbuf
libsoup
glib-networking
];
unpackPhase = ''
${dpkg}/bin/dpkg -x $src $out
'';
preFixup = ''
patchelf --replace-needed liblttng-ust.so.0 liblttng-ust.so $out/lib/libcoreclrtraceptprovider.so
'';
installPhase = ''
mkdir -p $out/bin $out/lib
mv $out/opt/workspacesclient/* $out/lib
rm -rf $out/opt
wrapProgram $out/lib/workspacesclient \
--prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath buildInputs}" \
--set GDK_PIXBUF_MODULE_FILE "${librsvg.out}/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache" \
--set GIO_EXTRA_MODULES "${glib-networking.out}/lib/gio/modules"
mv $out/lib/workspacesclient $out/bin
'';
meta = with lib; {
description = "Client for Amazon WorkSpaces, a managed, secure Desktop-as-a-Service (DaaS) solution";
homepage = "https://clients.amazonworkspaces.com";
license = licenses.unfree;
platforms = [ "x86_64-linux" ]; # TODO Mac support
maintainers = [ maintainers.mausch ];
};
}