diff options
Diffstat (limited to 'nixpkgs/pkgs/applications/graphics/drawpile/default.nix')
-rw-r--r-- | nixpkgs/pkgs/applications/graphics/drawpile/default.nix | 96 |
1 files changed, 96 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/applications/graphics/drawpile/default.nix b/nixpkgs/pkgs/applications/graphics/drawpile/default.nix new file mode 100644 index 000000000000..0ffcb5cdb410 --- /dev/null +++ b/nixpkgs/pkgs/applications/graphics/drawpile/default.nix @@ -0,0 +1,96 @@ +{ lib +, mkDerivation +, fetchurl +, cmake +, extra-cmake-modules + +# common deps +, karchive + +# client deps +, qtbase +, qtmultimedia +, qtsvg +, qttools + +# optional client deps +, giflib +, kdnssd +, libvpx +, miniupnpc +, qtx11extras # kis + +# optional server deps +, libmicrohttpd +, libsodium + +# options +, buildClient ? true +, buildServer ? true +, buildServerGui ? true # if false builds a headless server +, buildExtraTools ? false +, enableKisTablet ? false # enable improved graphics tablet support +}: + +with lib; + +let + commonDeps = [ + karchive + ]; + clientDeps = [ + qtbase + qtmultimedia + qtsvg + qttools + # optional: + giflib # gif animation export support + kdnssd # local server discovery with Zeroconf + libvpx # WebM video export + miniupnpc # automatic port forwarding + ]; + serverDeps = [ + # optional: + libmicrohttpd # HTTP admin api + libsodium # ext-auth support + ]; + kisDeps = [ + qtx11extras + ]; + +in mkDerivation rec { + pname = "drawpile"; + version = "2.1.17"; + + src = fetchurl { + url = "https://drawpile.net/files/src/drawpile-${version}.tar.gz"; + sha256 = "11lhn1mymhqk9g5sh384xhj3qw8h9lv88pr768y9q6kg3sl7nzzf"; + }; + + nativeBuildInputs = [ + cmake + extra-cmake-modules + ]; + buildInputs = + commonDeps ++ + optionals buildClient clientDeps ++ + optionals buildServer serverDeps ++ + optionals enableKisTablet kisDeps ; + + cmakeFlags = + optional (!buildClient ) "-DCLIENT=off" ++ + optional (!buildServer ) "-DSERVER=off" ++ + optional (!buildServerGui ) "-DSERVERGUI=off" ++ + optional ( buildExtraTools) "-DTOOLS=on" ++ + optional ( enableKisTablet) "-DKIS_TABLET=on"; + + meta = { + description = "A collaborative drawing program that allows multiple users to sketch on the same canvas simultaneously"; + homepage = "https://drawpile.net/"; + downloadPage = "https://drawpile.net/download/"; + license = licenses.gpl3; + maintainers = with maintainers; [ fgaz ]; + platforms = platforms.unix; + }; +} + |