|
|
|
@ -1,48 +1,89 @@ |
|
|
|
|
{ stdenv |
|
|
|
|
, fetchurl |
|
|
|
|
, cmake |
|
|
|
|
, extra-cmake-modules |
|
|
|
|
|
|
|
|
|
# common deps |
|
|
|
|
, karchive |
|
|
|
|
|
|
|
|
|
# client deps |
|
|
|
|
, qtbase |
|
|
|
|
, qtsvg |
|
|
|
|
, qtmultimedia |
|
|
|
|
, qtsvg |
|
|
|
|
, qttools |
|
|
|
|
, kdnssd |
|
|
|
|
, karchive |
|
|
|
|
, libsodium |
|
|
|
|
, libmicrohttpd |
|
|
|
|
|
|
|
|
|
# optional client deps |
|
|
|
|
, giflib |
|
|
|
|
, miniupnpc |
|
|
|
|
, extra-cmake-modules |
|
|
|
|
, 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 |
|
|
|
|
}: |
|
|
|
|
|
|
|
|
|
stdenv.mkDerivation rec { |
|
|
|
|
with stdenv.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 stdenv.mkDerivation rec { |
|
|
|
|
name = "drawpile-${version}"; |
|
|
|
|
version = "2.1.6"; |
|
|
|
|
|
|
|
|
|
src = fetchurl { |
|
|
|
|
url = "https://drawpile.net/files/src/drawpile-${version}.tar.gz"; |
|
|
|
|
sha256 = "0vwsdvphigrq1daiazi411qflahlvgx8x8ssp581bng2lbq1vrbd"; |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
nativeBuildInputs = [ |
|
|
|
|
extra-cmake-modules |
|
|
|
|
]; |
|
|
|
|
buildInputs = [ |
|
|
|
|
# common deps: |
|
|
|
|
cmake |
|
|
|
|
qtbase qtsvg qtmultimedia qttools |
|
|
|
|
karchive |
|
|
|
|
# optional deps: |
|
|
|
|
# server-specific: |
|
|
|
|
libsodium # ext-auth support |
|
|
|
|
libmicrohttpd # HTTP admin api |
|
|
|
|
# client-specific: |
|
|
|
|
giflib # gif animation export support |
|
|
|
|
miniupnpc # automatic port forwarding |
|
|
|
|
kdnssd # local server discovery with Zeroconf |
|
|
|
|
libvpx # WebM video export |
|
|
|
|
extra-cmake-modules |
|
|
|
|
]; |
|
|
|
|
configurePhase = "cmake -DCMAKE_INSTALL_PREFIX=$out ."; |
|
|
|
|
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 = with stdenv.lib; { |
|
|
|
|
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/; |
|
|
|
|