From b1995497f83299245a424d3e4337c57dac77d799 Mon Sep 17 00:00:00 2001 From: nek0 Date: Thu, 27 Sep 2018 22:41:26 +0200 Subject: [PATCH] thank you @Mic92 --- pkgs/tools/graphics/gmic-qt/default.nix | 94 +++++++++++++------------ 1 file changed, 49 insertions(+), 45 deletions(-) diff --git a/pkgs/tools/graphics/gmic-qt/default.nix b/pkgs/tools/graphics/gmic-qt/default.nix index 877ee4eb103..2da42a99435 100644 --- a/pkgs/tools/graphics/gmic-qt/default.nix +++ b/pkgs/tools/graphics/gmic-qt/default.nix @@ -1,69 +1,73 @@ { stdenv, fetchurl, fetchFromGitHub, cmake, ninja, pkgconfig, qt5 , opencv, openexr, graphicsmagick, fftw, zlib, libjpeg, libtiff, libpng -, withGimpPlugin ? true, gimp ? null}: - -assert withGimpPlugin -> gimp != null; +, curl, krita +, fetchgit, withGimpPlugin ? true, gimp }: 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 = "dtschump"; - repo = "gmic"; - rev = "3e9600c5c99cca3b389099909fc3a231e0a69d8e"; - sha256 = "1yg9ri3n07drv8gz4x0mn39ryi801ibl26jaza47m19ma893m8fi";}) - (fetchFromGitHub { - owner = "c-koi"; - repo = "gmic-qt"; - rev = "9e992cff2db418032b849458f5c9443267c7162c"; - sha256= "0j9wqlq67dwzir36yg58xy5lbblwizvgcvlmzcv9d6l901d5ayf3";}) - ]; + gmic-community = fetchFromGitHub { + owner = "dtschump"; + repo = "gmic-community"; + rev = "3fd528f20a2a7d651e96078c205ff21efb9cdd1a"; + sha256 = "08d37b49qgh5d4rds7hvr5wjj4p1y8cnbidz1cyqsibq0555pwq2"; + }; - sourceRoot = "gmic-${gmic-version}"; + CImg = fetchgit { + url = "https://framagit.org/dtschump/CImg"; + rev = "c523f0026f3b03831c0778335fe7c7661bf9a719"; + sha256 = "13ja8immpjkm2xskddc920axq2rp4hc2sr5ghgvgy1rshc3lp8i8"; + }; - #src = fetchgit { - # url = "https://gmic.eu/files/source/gmic_${version}.tar.gz"; - # sha256 = "0zqfj2ym5nn3ff93xh2wf9ayxqlznabbdi00xw4lm7vw3iwkzqnc"; - #}; + gmic_stdlib = fetchurl { + name = "gmic_stdlib.h"; + url = "http://gmic.eu/gmic_stdlib236.h"; + sha256 = "0q5g87dsn9byd2qqsa9xrsggfb9qv055s3l2gc0jrcvpx2qbza4q"; + }; - nativeBuildInputs = [ qt5.qmake ]; + gmic = fetchFromGitHub { + owner = "dtschump"; + repo = "gmic"; + rev = "b9a6876684f40852ca39300c9d7e7d676cb81b14"; + sha256 = "0f69r460lyfb021m7bs8s4rxa3png51cbp1izywsy3sprjd1s57p"; + }; + + gmic_qt = fetchFromGitHub { + owner = "c-koi"; + repo = "gmic-qt"; + rev = "9e992cff2db418032b849458f5c9443267c7162c"; + sha256= "0j9wqlq67dwzir36yg58xy5lbblwizvgcvlmzcv9d6l901d5ayf3"; + }; + + unpackPhase = '' + cp -r ${gmic} gmic + ln -s ${gmic-community} gmic-community + cp -r ${gmic_qt} gmic_qt + chmod -R +w gmic gmic_qt + ln -s ${CImg} CImg + + cp ${gmic_stdlib} gmic/gmic_stdlib.h + + make -C gmic/src CImg.h gmic_stdlib.h + cd gmic_qt + ''; + + nativeBuildInputs = [ cmake pkgconfig ]; buildInputs = [ - fftw zlib libjpeg libtiff libpng opencv openexr graphicsmagick + qt5.qtbase qt5.qttools gimp fftw zlib libjpeg libtiff libpng opencv openexr graphicsmagick curl krita ]; - #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 - ''; + qmakeFlags = [ "HOST=krita" ]; installPhase = '' mkdir -p $out/bin; - install -Dm755 "gmic-qt/gmic_krita_qt" "$out/gmic_krita_qt" + install -Dm755 gmic-qt/gmic_krita_qt "$out/gmic_krita_qt" ''; meta = with stdenv.lib; {