From fd3e2b49f4a3138a1c3e2dd854578f64b9c772cd Mon Sep 17 00:00:00 2001 From: Lily Foster Date: Sun, 26 Feb 2023 07:13:09 -0500 Subject: [PATCH] gmic-qt: fix build with 3.2.1 How the build was fixed: * Fetch tarball instead since that is what upstream supports to build gmic-qt from. * Set `sourceRoot` within tarball * Fetch patch from GreycLab/gmic#435 into gmic * Fetch patch from c-koi/gmic-qt#175 into gmic-qt --- pkgs/tools/graphics/gmic-qt/default.nix | 28 +++++++++++++++---------- pkgs/tools/graphics/gmic/default.nix | 6 ++---- 2 files changed, 19 insertions(+), 15 deletions(-) diff --git a/pkgs/tools/graphics/gmic-qt/default.nix b/pkgs/tools/graphics/gmic-qt/default.nix index f9766650ec41..3d1a9aa6607a 100644 --- a/pkgs/tools/graphics/gmic-qt/default.nix +++ b/pkgs/tools/graphics/gmic-qt/default.nix @@ -1,7 +1,8 @@ { lib , mkDerivation , variant ? "standalone" -, fetchFromGitHub +, fetchzip +, fetchpatch , cmake , pkg-config , ninja @@ -16,7 +17,6 @@ , curl , gimp ? null , gmic -, cimg , qtbase , qttools , writeShellScript @@ -54,13 +54,21 @@ mkDerivation rec { pname = "gmic-qt${lib.optionalString (variant != "standalone") "-${variant}"}"; version = "3.2.1"; - src = fetchFromGitHub { - owner = "c-koi"; - repo = "gmic-qt"; - rev = "v.${version}"; - sha256 = "sha256-z+GtYLBcHVufXwdeSd8WKmPmU1+/EKMv26kNaEgyt5w="; + src = fetchzip { + url = "https://gmic.eu/files/source/gmic_${version}.tar.gz"; + hash = "sha256-2lMnn19FcFKnfIjSxOObqxIjqLMUoWgi0ADZBCBePY4="; }; + patches = [ + (fetchpatch { + name = "gmic-qt-3.2.1-fix-system-gmic.patch"; + url = "https://github.com/c-koi/gmic-qt/commit/e8d7a3523753ff592da63b1d54edf0921c54fe53.patch"; + hash = "sha256-kBFZo2qvod4pH3oK8gvnmw39x6eMH9zjr4mMcY74mFo="; + }) + ]; + + sourceRoot = "source/gmic-qt"; + nativeBuildInputs = [ cmake pkg-config @@ -69,7 +77,6 @@ mkDerivation rec { buildInputs = [ gmic - cimg qtbase qttools fftw @@ -85,7 +92,8 @@ mkDerivation rec { cmakeFlags = [ "-DGMIC_QT_HOST=${if variant == "standalone" then "none" else variant}" - "-DENABLE_SYSTEM_GMIC:BOOL=ON" + "-DENABLE_SYSTEM_GMIC=ON" + "-DENABLE_DYNAMIC_LINKING=ON" ]; postPatch = '' @@ -108,8 +116,6 @@ 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; diff --git a/pkgs/tools/graphics/gmic/default.nix b/pkgs/tools/graphics/gmic/default.nix index 4e1812b9c1e3..68d07ed734b6 100644 --- a/pkgs/tools/graphics/gmic/default.nix +++ b/pkgs/tools/graphics/gmic/default.nix @@ -15,7 +15,6 @@ , libjpeg , libtiff , libpng -, libX11 , writeShellScript , common-updater-scripts , curl @@ -42,8 +41,8 @@ stdenv.mkDerivation rec { patches = [ (fetchpatch { name = "gmic-3.2.1-fix-system-gmic.patch"; - url = "https://github.com/GreycLab/gmic/commit/1fc184b40b7c31e7b100722d32cb9f7c5a79c90f.patch"; - hash = "sha256-xLlZ87QUiBrfioG7DNXf0HioxqOu6HX+57LW2FGdbLI="; + url = "https://github.com/GreycLab/gmic/commit/9db3f6a39d9ed67b4279654da88993a8057575ff.patch"; + hash = "sha256-JznKCs56t6cJ4HLqlhMZjSOupEB8cdkn3j6RgZpcpzo="; }) ]; @@ -68,7 +67,6 @@ stdenv.mkDerivation rec { libjpeg libtiff libpng - libX11 opencv openexr graphicsmagick