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

97 lines
2 KiB
Nix
Raw Normal View History

{ lib
, mkDerivation
2018-06-13 14:37:53 +02:00
, fetchurl
, cmake
, extra-cmake-modules
# common deps
, karchive
# client deps
2018-06-13 14:37:53 +02:00
, qtbase
, qtmultimedia
, qtsvg
2018-06-13 14:37:53 +02:00
, qttools
# optional client deps
2018-06-13 14:37:53 +02:00
, giflib
, kdnssd
2019-03-13 11:29:56 +01: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 14:37:53 +02: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";
2020-03-04 09:31:46 +01:00
version = "2.1.17";
2018-06-13 14:37:53 +02:00
src = fetchurl {
url = "https://drawpile.net/files/src/drawpile-${version}.tar.gz";
2020-03-04 09:31:46 +01:00
sha256 = "11lhn1mymhqk9g5sh384xhj3qw8h9lv88pr768y9q6kg3sl7nzzf";
2018-06-13 14:37:53 +02:00
};
2019-03-13 11:29:56 +01:00
nativeBuildInputs = [
2018-06-13 14:37:53 +02:00
cmake
extra-cmake-modules
2018-06-13 14:37:53 +02: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 14:37:53 +02:00
meta = {
2018-06-13 14:37:53 +02: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/";
2018-06-13 14:37:53 +02:00
license = licenses.gpl3;
maintainers = with maintainers; [ fgaz ];
2019-04-11 06:27:17 +02:00
platforms = platforms.unix;
2018-06-13 14:37:53 +02:00
};
}