nixpkgs/pkgs/applications/networking/syncplay/default.nix
Silvan Mosberger d2b1a168d6 syncplay: Allow disabling GUI
The GUI brings a huge closure size with it, about 1.64GB, or 90.5% of
the total. Turning the GUI off brings the closure size down to just
177MB
2022-04-13 23:48:59 +02:00

35 lines
927 B
Nix

{ lib, fetchFromGitHub, buildPythonApplication, pyside2, twisted, certifi, qt5, enableGUI ? true }:
buildPythonApplication rec {
pname = "syncplay";
version = "1.6.9";
format = "other";
src = fetchFromGitHub {
owner = "Syncplay";
repo = "syncplay";
rev = "v${version}";
sha256 = "0qm3qn4a1nahhs7q81liz514n9blsi107g9s9xfw2i8pzi7v9v0v";
};
propagatedBuildInputs = [ twisted certifi ]
++ twisted.extras.tls
++ lib.optional enableGUI pyside2;
nativeBuildInputs = lib.optionals enableGUI [ qt5.wrapQtAppsHook ];
makeFlags = [ "DESTDIR=" "PREFIX=$(out)" ];
postFixup = lib.optionalString enableGUI ''
wrapQtApp $out/bin/syncplay
'';
meta = with lib; {
homepage = "https://syncplay.pl/";
description = "Free software that synchronises media players";
license = licenses.asl20;
platforms = platforms.linux;
maintainers = with maintainers; [ Enzime ];
};
}