krita: Fix python plugins, add missing dependencies

Builtin python plugins (e.g. ten brushes) was not working because krita
cannot find sip during build. (Upstream changed how this works in recent
versions)

libmypaint is for MyPaint brush engine introduced in
krita 5. Builtin mypaint brushes won't work without this dependency.

libwebp is for exporting to WebP format.
This commit is contained in:
mingchuan 2022-05-23 19:13:11 +08:00
parent 36a116742d
commit 0c77eaeba4

View file

@ -3,7 +3,7 @@
, kguiaddons, ki18n, kitemmodels, kitemviews, kwindowsystem
, kio, kcrash, breeze-icons
, boost, libraw, fftw, eigen, exiv2, libheif, lcms2, gsl, openexr, giflib
, openjpeg, opencolorio_1, vc, poppler, curl, ilmbase
, openjpeg, opencolorio_1, vc, poppler, curl, ilmbase, libmypaint, libwebp
, qtmultimedia, qtx11extras, quazip
, python3Packages
@ -23,13 +23,13 @@ mkDerivation rec {
inherit sha256;
};
nativeBuildInputs = [ cmake extra-cmake-modules python3Packages.sip_4 makeWrapper ];
nativeBuildInputs = [ cmake extra-cmake-modules python3Packages.sip makeWrapper ];
buildInputs = [
karchive kconfig kwidgetsaddons kcompletion kcoreaddons kguiaddons
ki18n kitemmodels kitemviews kwindowsystem kio kcrash breeze-icons
boost libraw fftw eigen exiv2 lcms2 gsl openexr libheif giflib
openjpeg opencolorio_1 poppler curl ilmbase
openjpeg opencolorio_1 poppler curl ilmbase libmypaint libwebp
qtmultimedia qtx11extras quazip
python3Packages.pyqt5
] ++ lib.optional stdenv.hostPlatform.isx86 vc;
@ -37,6 +37,17 @@ mkDerivation rec {
NIX_CFLAGS_COMPILE = [ "-I${ilmbase.dev}/include/OpenEXR" ]
++ lib.optional stdenv.cc.isGNU "-Wno-deprecated-copy";
# Krita runs custom python scripts in CMake with custom PYTHONPATH which krita determined in their CMake script.
# Patch the PYTHONPATH so python scripts can import sip successfully.
postPatch = let
pythonPath = python3Packages.makePythonPath (with python3Packages; [ sip setuptools ]);
in ''
substituteInPlace cmake/modules/FindSIP.cmake \
--replace 'PYTHONPATH=''${_sip_python_path}' 'PYTHONPATH=${pythonPath}'
substituteInPlace cmake/modules/SIPMacros.cmake \
--replace 'PYTHONPATH=''${_krita_python_path}' 'PYTHONPATH=${pythonPath}'
'';
cmakeFlags = [
"-DPYQT5_SIP_DIR=${python3Packages.pyqt5}/${python3Packages.python.sitePackages}/PyQt5/bindings"
"-DPYQT_SIP_DIR_OVERRIDE=${python3Packages.pyqt5}/${python3Packages.python.sitePackages}/PyQt5/bindings"
@ -52,7 +63,7 @@ mkDerivation rec {
meta = with lib; {
description = "A free and open source painting application";
homepage = "https://krita.org/";
maintainers = with maintainers; [ abbradar ];
maintainers = with maintainers; [ abbradar sifmelcara ];
platforms = platforms.linux;
license = licenses.gpl3Only;
};