about summary refs log tree commit diff
diff options
context:
space:
mode:
authornek0 <nek0@chelnok.de>2018-09-27 19:28:23 +0200
committernek0 <nek0@chelnok.de>2018-09-27 19:28:23 +0200
commit49bee199ddd662f9f2066d570a26a1e02bc098db (patch)
treee8409ec8a81ccff4c129aeb060b67d0afd03d656
parent312c41c3c4aaa77b70ce4ce2fbaf96dc9e678e3c (diff)
downloadnixlib-49bee199ddd662f9f2066d570a26a1e02bc098db.tar
nixlib-49bee199ddd662f9f2066d570a26a1e02bc098db.tar.gz
nixlib-49bee199ddd662f9f2066d570a26a1e02bc098db.tar.bz2
nixlib-49bee199ddd662f9f2066d570a26a1e02bc098db.tar.lz
nixlib-49bee199ddd662f9f2066d570a26a1e02bc098db.tar.xz
nixlib-49bee199ddd662f9f2066d570a26a1e02bc098db.tar.zst
nixlib-49bee199ddd662f9f2066d570a26a1e02bc098db.zip
add gmic-qt
-rw-r--r--pkgs/tools/graphics/gmic-qt/default.nix75
-rw-r--r--pkgs/top-level/all-packages.nix2
2 files changed, 77 insertions, 0 deletions
diff --git a/pkgs/tools/graphics/gmic-qt/default.nix b/pkgs/tools/graphics/gmic-qt/default.nix
new file mode 100644
index 000000000000..65b1bc301fb3
--- /dev/null
+++ b/pkgs/tools/graphics/gmic-qt/default.nix
@@ -0,0 +1,75 @@
+{ stdenv, fetchurl, fetchFromGitHub, cmake, ninja, pkgconfig, qt5
+, opencv, openexr, graphicsmagick, fftw, zlib, libjpeg, libtiff, libpng
+, withGimpPlugin ? true, gimp ? null}:
+
+assert withGimpPlugin -> gimp != null;
+
+let
+  version = "2.3.6";
+
+  gmic-version = "2.3.6";
+
+  # CMakeLists.txt is missing from the tarball and Makefile is terrible
+  #CMakeLists = fetchurl {
+  #  url = "https://github.com/dtschump/gmic/raw/v.${version}/CMakeLists.txt";
+  #  sha256 = "0lv5jrg98cpbk13fl4xm7l4sk1axfz054q570bpi741w815d7cpg";
+  #};
+in stdenv.mkDerivation rec {
+  name = "gmic-qt-${version}";
+
+  srcs = [
+    (fetchFromGitHub {
+      owner = "c-koi";
+      repo = "gmic-qt";
+      rev = "9e992cff2db418032b849458f5c9443267c7162c";
+      sha256= "0j9wqlq67dwzir36yg58xy5lbblwizvgcvlmzcv9d6l901d5ayf3";})
+    (fetchFromGitHub {
+      owner ="dtschump";
+      repo = "gmic";
+      rev = "3e9600c5c99cca3b389099909fc3a231e0a69d8e";
+      sha256 = "1yg9ri3n07drv8gz4x0mn39ryi801ibl26jaza47m19ma893m8fi";})
+  ];
+
+  sourceRoot = "gmic-${gmic-version}";
+
+  #src = fetchgit {
+  #  url = "https://gmic.eu/files/source/gmic_${version}.tar.gz";
+  #  sha256 = "0zqfj2ym5nn3ff93xh2wf9ayxqlznabbdi00xw4lm7vw3iwkzqnc";
+  #};
+
+  nativeBuildInputs = [ qt5.qmake ];
+
+  buildInputs = [
+    fftw zlib libjpeg libtiff libpng opencv openexr graphicsmagick
+  ] ++ stdenv.lib.optionals withGimpPlugin [ gimp gimp.gtk ];
+
+  #cmakeFlags = [
+  #  "-DBUILD_LIB_STATIC=OFF"
+  #  "-DBUILD_PLUGIN=${if withGimpPlugin then "ON" else "OFF"}"
+  #  "-DENABLE_DYNAMIC_LINKING=ON"
+  #] ++ stdenv.lib.optional withGimpPlugin "-DPLUGIN_INSTALL_PREFIX=${placeholder "gimpPlugin"}/${gimp.targetPluginDir}";
+
+  #postPatch = ''
+  #  cp ${CMakeLists} CMakeLists.txt
+  #'';
+
+  buildPhase = ''
+    make -C src CImg.h gmic_stdlib.h;
+    cd ../qmic-qt;
+    mkdir build;
+    qmake HOST=krita ..;
+    make
+  '';
+
+  installPhase = ''
+    mkdir -p $out/bin;
+    install -Dm755 "gmic-qt/gmic_krita_qt" "$out/gmic_krita_qt"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Krita plugin for the G'MIC image processing framework";
+    homepage = http://gmic.eu/;
+    license = licenses.gpl3;
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 3b8b440e6bb7..b0255694b1d7 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -1370,6 +1370,8 @@ with pkgs;
 
   gmic = callPackage ../tools/graphics/gmic { };
 
+  gmic-qt = callPackage ../tools/graphics/gmic-qt { };
+
   goa = callPackage ../development/tools/goa {
     buildGoPackage = buildGo110Package;
   };