From 51d67570541489e442f159690dbe4ab05db11fa4 Mon Sep 17 00:00:00 2001 From: Jan Tojnar Date: Wed, 29 Jun 2022 21:39:51 +0200 Subject: [PATCH 1/3] =?UTF-8?q?cimg:=203.0.2=20=E2=86=92=203.1.4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit https://github.com/dtschump/CImg/compare/v.3.0.2...v.3.1.4 --- pkgs/development/libraries/cimg/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/cimg/default.nix b/pkgs/development/libraries/cimg/default.nix index 4a482c9da454..c22d819b3be0 100644 --- a/pkgs/development/libraries/cimg/default.nix +++ b/pkgs/development/libraries/cimg/default.nix @@ -5,13 +5,13 @@ stdenv.mkDerivation rec { pname = "cimg"; - version = "3.0.2"; + version = "3.1.4"; src = fetchFromGitHub { owner = "dtschump"; repo = "CImg"; rev = "v.${version}"; - hash = "sha256-OWpztnyVXCg+uoAb6e/2eUK2ebBalDlz6Qcjf17IeMk="; + hash = "sha256-nHYRs8X8I0B76SlgqWez3qubrsG7iBfa0I/G78v7H8g="; }; outputs = [ "out" "doc" ]; From 46aa0a4930259e0c4a076bbdfb656e754c38b4a8 Mon Sep 17 00:00:00 2001 From: Jan Tojnar Date: Thu, 30 Jun 2022 01:23:59 +0200 Subject: [PATCH 2/3] =?UTF-8?q?gmic:=203.0.0=20=E2=86=92=203.1.5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit https://github.com/dtschump/gmic/compare/v.3.0.0...v.3.1.5 --- pkgs/tools/graphics/gmic/default.nix | 61 +++++++++++++++++++++++++--- 1 file changed, 56 insertions(+), 5 deletions(-) diff --git a/pkgs/tools/graphics/gmic/default.nix b/pkgs/tools/graphics/gmic/default.nix index a046aca799c9..42bfe8ad0521 100644 --- a/pkgs/tools/graphics/gmic/default.nix +++ b/pkgs/tools/graphics/gmic/default.nix @@ -1,4 +1,6 @@ -{ lib, stdenv +{ stdenv +, lib +, fetchFromGitHub , fetchurl , cmake , ninja @@ -6,22 +8,40 @@ , opencv , openexr , graphicsmagick +, cimg , fftw , zlib , libjpeg , libtiff , libpng +, writeShellScript +, common-updater-scripts +, curl +, gnugrep +, gnused +, coreutils +, jq }: stdenv.mkDerivation rec { pname = "gmic"; - version = "3.0.0"; + version = "3.1.5"; outputs = [ "out" "lib" "dev" "man" ]; - src = fetchurl { - url = "https://gmic.eu/files/source/gmic_${version}.tar.gz"; - sha256 = "sha256-PwVruebb8GdK9Mjc5Z9BmBchh2Yvf7s2zGPryMG3ESA="; + src = fetchFromGitHub { + owner = "dtschump"; + repo = "gmic"; + rev = "326ea9b7dc320b3624fe660d7b7d81669ca12e6d"; + sha256 = "RRCzYMN/IXViiUNnacJV3DNpku3hIHQkHbIrtixExT0="; + }; + + # TODO: build this from source + # https://github.com/dtschump/gmic/blob/b36b2428db5926af5eea5454f822f369c2d9907e/src/Makefile#L675-L729 + gmic_stdlib = fetchurl { + name = "gmic_stdlib.h"; + url = "http://gmic.eu/gmic_stdlib${lib.replaceStrings ["."] [""] version}.h"; + sha256 = "FM8RscCrt6jYlwVB2DtpqYrh9B3pO0I6Y69tkf9W1/o="; }; nativeBuildInputs = [ @@ -31,6 +51,7 @@ stdenv.mkDerivation rec { ]; buildInputs = [ + cimg fftw zlib libjpeg @@ -45,8 +66,38 @@ stdenv.mkDerivation rec { "-DBUILD_LIB_STATIC=OFF" "-DENABLE_CURL=OFF" "-DENABLE_DYNAMIC_LINKING=ON" + "-DUSE_SYSTEM_CIMG=ON" ]; + postPatch = '' + # TODO: build from source + cp -r ${gmic_stdlib} src/gmic_stdlib.h + + # CMake build files were moved to subdirectory. + mv resources/CMakeLists.txt resources/cmake . + ''; + + passthru = { + updateScript = writeShellScript "${pname}-update-script" '' + set -o errexit + PATH=${lib.makeBinPath [ common-updater-scripts curl gnugrep gnused coreutils jq ]} + + latestVersion=$(curl 'https://gmic.eu/files/source/' | grep -E 'gmic_[^"]+\.tar\.gz' | sed -E 's/.+ Date: Wed, 29 Jun 2022 21:34:35 +0200 Subject: [PATCH 3/3] =?UTF-8?q?gmic-qt:=203.0.0=20=E2=86=92=203.1.5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Also use system gmic library. https://github.com/c-koi/gmic-qt/compare/v.3.0.0...v.3.1.5 --- pkgs/tools/graphics/gmic-qt/default.nix | 82 +++++-------------------- 1 file changed, 14 insertions(+), 68 deletions(-) diff --git a/pkgs/tools/graphics/gmic-qt/default.nix b/pkgs/tools/graphics/gmic-qt/default.nix index 8cc39c1f44af..29d326439d7f 100644 --- a/pkgs/tools/graphics/gmic-qt/default.nix +++ b/pkgs/tools/graphics/gmic-qt/default.nix @@ -1,10 +1,10 @@ { lib , mkDerivation -, fetchurl , variant ? "standalone" , fetchFromGitHub , cmake , pkg-config +, ninja , opencv3 , openexr , graphicsmagick @@ -16,6 +16,8 @@ , curl , krita ? null , gimp ? null +, gmic +, cimg , qtbase , qttools , writeShellScript @@ -56,48 +58,24 @@ assert lib.assertMsg (builtins.all (d: d != null) variants.${variant}.extraDeps mkDerivation rec { pname = "gmic-qt${lib.optionalString (variant != "standalone") "-${variant}"}"; - version = "3.0.0"; + version = "3.1.5"; - gmic-community = fetchFromGitHub { - owner = "dtschump"; - repo = "gmic-community"; - rev = "df23b08bc52767762f0e38d040cd8ffeea4b865e"; - sha256 = "euk5RsFPBgx2czAukPRdi/O4ahgXO8J8VJdiGHNge5M="; - }; - - CImg = fetchFromGitHub { - owner = "dtschump"; - repo = "CImg"; - rev = "v.${version}"; - sha256 = "dC4VuWTz0uyFxLjBQ+2ggndHaCErcoI7tJMfkqbWmeg="; - }; - - gmic_stdlib = fetchurl { - name = "gmic_stdlib.h"; - url = "http://gmic.eu/gmic_stdlib${lib.replaceStrings ["."] [""] version}.h"; - sha256 = "CAYSxw5NCmE29hie1/J1csBcdQvIrmZ/+mNMl0sLLGI="; - }; - - gmic = fetchFromGitHub { - owner = "dtschump"; - repo = "gmic"; - rev = "v.${version}"; - sha256 = "PyeJmjOqjbHlZ1Xl3IpoOD6oZEcUrHNHqF7Ft1RZDL4="; - }; - - gmic_qt = fetchFromGitHub { + src = fetchFromGitHub { owner = "c-koi"; repo = "gmic-qt"; rev = "v.${version}"; - sha256 = "nENXumOArRAHENqnBUjM7m+I5hf/WAFTVfm6cJgnv+0="; + sha256 = "rSBdh6jhiVZogZADEKn3g7bkGPnWWOEnRF0jNCe1BCk="; }; nativeBuildInputs = [ cmake pkg-config + ninja ]; buildInputs = [ + gmic + cimg qtbase qttools fftw @@ -113,18 +91,13 @@ mkDerivation rec { cmakeFlags = [ "-DGMIC_QT_HOST=${if variant == "standalone" then "none" else variant}" + "-DENABLE_SYSTEM_GMIC:BOOL=ON" ]; - 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/src/gmic_stdlib.h - - cd gmic_qt + postPatch = '' + patchShebangs \ + translations/filters/csv2ts.sh \ + translations/lrelease.sh ''; postFixup = lib.optionalString (variant == "gimp") '' @@ -132,33 +105,6 @@ mkDerivation rec { wrapQtApp "$out/${gimp.targetPluginDir}/gmic_gimp_qt/gmic_gimp_qt" ''; - passthru = { - updateScript = writeShellScript "${pname}-update-script" '' - set -o errexit - PATH=${lib.makeBinPath [ common-updater-scripts curl gnugrep gnused coreutils jq ]} - - latestVersion=$(curl 'https://gmic.eu/files/source/' | grep -E 'gmic_[^"]+\.tar\.gz' | sed -E 's/.+