summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
authorJan Tojnar <jtojnar@gmail.com>2023-02-19 18:17:57 +0100
committerJan Tojnar <jtojnar@gmail.com>2023-02-19 22:56:19 +0100
commit63e4a922175abf5f7d5087225bc046b0177348f5 (patch)
treeef36807eda78aebe0de6b9675e0eea0215f15dea /pkgs
parente00fa961ed33e59510854b1c89c90d2fd62efcd4 (diff)
gmic-qt: Mark as broken
Ever since the gmic 3.2.0 bump, it just does not build – it tries to use stub definitions for gmic_image from src/GmicQt.h, leading to errors like:

    /build/source/src/GmicQt.cpp:344:11: error: 'struct gmic_library::gmic_image<unsigned char>' has no member named 'channels'
      344 |       img.channels(0, 3);
          |       ~~~~^~~~~~~~

gmic-qt 3.2.1 contains a supposed fix (https://github.com/c-koi/gmic-qt/commit/f0d9d8acd10b89f9d28a49227f3c70ff1f2e18a5) which might have actually fixed the gmic_image issue but it introduces another one with cimg.

    gmic-3.2.1-dev/include/gmic.h:191:21: fatal error: gmic.cpp: No such file or directory
      191 | #define cimg_plugin "gmic.cpp"
          |                     ^~~~~~~~~~

I do not really understand qmake, deprecated build system which gmic author insists on using for gmic-qt, and the trio of libraries is convoluted enough (mutually including their various headers and source files) that I gave up on creating an usable CMake build script that supports system libraries. It does not help that the git history is obfuscated, making proper investigation annoying.

Marking it as broken will at least make gimp-with-plugins work.
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/tools/graphics/gmic-qt/default.nix2
1 files changed, 2 insertions, 0 deletions
diff --git a/pkgs/tools/graphics/gmic-qt/default.nix b/pkgs/tools/graphics/gmic-qt/default.nix
index dc73849d148ea..f9766650ec419 100644
--- a/pkgs/tools/graphics/gmic-qt/default.nix
+++ b/pkgs/tools/graphics/gmic-qt/default.nix
@@ -108,6 +108,8 @@ mkDerivation rec {
   };
 
   meta = with lib; {
+    # Broken since 3.2.0 update, cannot handle system gmic and cimg.
+    broken = true;
     description = variants.${variant}.description;
     homepage = "http://gmic.eu/";
     license = licenses.gpl3Plus;