Subject: [bug#52910] [PATCH] gnu: krita: Fix build.

From: Vinicius Monego <[email-masked]>
Date: Fri, 31 Dec 2021 23:43:26 +0000

Em sex, 2021-12-31 às 17:39 -0500, Leo Famulari escreveu:
> On Fri, Dec 31, 2021 at 01:06:32AM +0000, Vinicius Monego wrote:
> > * gnu/packages/kde.scm (krita)[inputs]: Remove python, python-pyqt,
> > python-sip.
> 
> It's hard to find the error in the voluminous Krita build log.
> 
> Here it is:
> 
> ------
> [ 64%] Generating _tmp/krita/sipkritapart0.cpp
> cd /tmp/guix-build-krita-5.0.0.drv-
> 0/build/plugins/extensions/pykrita/sip &&
> /gnu/store/aain9m7r37jlzd21kvgvrkhc2pm7mk1w-cmake-minimal-
> 3.21.3/bin/cmake -E echo Generating\ SIP\ 5+\ bindings\ for\
> PyKrita.krita...
> Generating SIP 5+ bindings for PyKrita.krita...
> cd /tmp/guix-build-krita-5.0.0.drv-
> 0/build/plugins/extensions/pykrita/sip &&
> /gnu/store/aain9m7r37jlzd21kvgvrkhc2pm7mk1w-cmake-minimal-
> 3.21.3/bin/cmake -E env PYTHONPATH=:
> /gnu/store/p5fgysbcnnp8b1d91mrvjvababmczga0-python-3.9.6/bin/python3
> /tmp/guix-build-krita-5.0.0.drv-0/krita-5.0.0/cmake/modules/sip-
> generate.py --build-dir /tmp/guix-build-krita-5.0.0.drv-
> 0/build/plugins/extensions/pykrita/sip/_tmp --target-dir lib/krita-
> python-libs/PyKrita --concatenate 1
> These bindings will be built: kritamod.
> Generating the kritamod bindings...
> sip-generate.py: Unable to find file "QtCore/QtCoremod.sip"
> 
> make[2]: ***
> [plugins/extensions/pykrita/sip/CMakeFiles/python_module_PyKrita_krit
> a_autogen.dir/build.make:79:
> plugins/extensions/pykrita/sip/_tmp/krita/sipkritapart0.cpp] Error 1
> make[2]: Leaving directory '/tmp/guix-build-krita-5.0.0.drv-0/build'
> make[1]: *** [CMakeFiles/Makefile2:29065:
> plugins/extensions/pykrita/sip/CMakeFiles/python_module_PyKrita_krita
> _autogen.dir/all] Error 2
> make[1]: Leaving directory '/tmp/guix-build-krita-5.0.0.drv-0/build'
> make: *** [Makefile:149: all] Error 2
> error: in phase 'build': uncaught exception:
> %exception #<&invoke-error program: "make" arguments: ("-j" "1")
> exit-status: 2 term-signal: #f stop-signal: #f>
> phase `build' failed after 42393.6 seconds
> ------
> 
> Googling for this error message from sip-generate.py, there is plenty
> of
> discussion. For example, this thread:
> 
> https://groups.google.com/g/linux.debian.bugs.dist/c/FdgUVpZ4SWE
> 
> It's okay if we can't fix it or don't want to fix it, and instead
> choose
> to remove the relevant functionality. But did we try to fix it yet?
> Can
> you take a look?

I did try to fix it by setting "PYQT_SIP_DIR_OVERRIDE" [1] to point to
the correct sip dir (see the veusz package for instance), but CMake
ignored that variable when I set it.

The problem is that Krita in my machine takes 4 to 5 hours to reach
67%, where it fails, to test if it works or not. In the CI, Krita takes
as many minutes to fail at 67% as Blender takes to fully build.

The functionality was also never "enabled" because the build failed
before it could be used.

https://docs.krita.org/en/untranslatable_pages/cmake_settings_for_developers.html