nixpkgs/pkgs/applications/graphics/drawpile/default.nix

97 lines
2.0 KiB
Nix
Raw Normal View History

{ lib
, mkDerivation
2018-06-13 13:37:53 +01:00
, fetchurl
, cmake
, extra-cmake-modules
# common deps
, karchive
# client deps
2018-06-13 13:37:53 +01:00
, qtbase
, qtmultimedia
, qtsvg
2018-06-13 13:37:53 +01:00
, qttools
# optional client deps
2018-06-13 13:37:53 +01:00
, giflib
, kdnssd
2019-03-13 10:29:56 +00:00
, 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
2018-06-13 13:37:53 +01:00
}:
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";
2019-12-12 22:56:07 +00:00
version = "2.1.15";
2018-06-13 13:37:53 +01:00
src = fetchurl {
url = "https://drawpile.net/files/src/drawpile-${version}.tar.gz";
2019-12-12 22:56:07 +00:00
sha256 = "0w6bdg1rnnjzjg8xzqv3a9qhw41q41sjvp6f8m0sqxjfax05lqin";
2018-06-13 13:37:53 +01:00
};
2019-03-13 10:29:56 +00:00
nativeBuildInputs = [
2018-06-13 13:37:53 +01:00
cmake
extra-cmake-modules
2018-06-13 13:37:53 +01:00
];
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";
2018-06-13 13:37:53 +01:00
meta = {
2018-06-13 13:37:53 +01:00
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 ];
2019-04-11 05:27:17 +01:00
platforms = platforms.unix;
2018-06-13 13:37:53 +01:00
};
}