nixpkgs/pkgs/applications/misc/thedesk/default.nix
2024-02-11 03:19:15 +01:00

55 lines
1.3 KiB
Nix

{ lib, stdenv, fetchurl, dpkg, autoPatchelfHook, makeWrapper, electron
, alsa-lib, gtk3, libxshmfence, mesa, nss }:
stdenv.mkDerivation rec {
pname = "thedesk";
version = "24.1.3";
src = fetchurl {
url = "https://github.com/cutls/TheDesk/releases/download/v${version}/${pname}_${version}_amd64.deb";
sha256 = "sha256-Fq+kDdNR7G0Fbi++OFGxYbgFFOnpdzxy0JVh5t/i8hs=";
};
nativeBuildInputs = [
dpkg
autoPatchelfHook
makeWrapper
];
buildInputs = [ alsa-lib gtk3 libxshmfence mesa nss ];
dontBuild = true;
dontConfigure = true;
unpackPhase = ''
dpkg-deb -x ${src} ./
'';
installPhase = ''
runHook preInstall
mv usr $out
mv opt $out
# binary is not used and probably vulnerable to CVE(s)
rm $out/opt/TheDesk/thedesk
substituteInPlace $out/share/applications/thedesk.desktop \
--replace '/opt/TheDesk' $out/bin
makeWrapper ${electron}/bin/electron $out/bin/thedesk \
--add-flags $out/opt/TheDesk/resources/app.asar
runHook postInstall
'';
meta = with lib; {
description = "Mastodon/Misskey Client for PC";
homepage = "https://thedesk.top";
sourceProvenance = with sourceTypes; [ binaryNativeCode ];
license = licenses.gpl3Only;
maintainers = with maintainers; [ wolfangaukang ];
platforms = [ "x86_64-linux" ];
mainProgram = "thedesk";
};
}