about summary refs log tree commit diff
path: root/pkgs/by-name/gm/gmic-qt/package.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/by-name/gm/gmic-qt/package.nix')
-rw-r--r--pkgs/by-name/gm/gmic-qt/package.nix44
1 files changed, 15 insertions, 29 deletions
diff --git a/pkgs/by-name/gm/gmic-qt/package.nix b/pkgs/by-name/gm/gmic-qt/package.nix
index 48e4d24ef4c3b..389f366680c14 100644
--- a/pkgs/by-name/gm/gmic-qt/package.nix
+++ b/pkgs/by-name/gm/gmic-qt/package.nix
@@ -1,26 +1,22 @@
 { lib
 , cimg
 , cmake
-, coreutils
 , curl
-, fetchzip
+, fetchFromGitHub
 , fftw
 , gimp
 , gimpPlugins
 , gmic
-, gnugrep
-, gnused
 , graphicsmagick
 , libjpeg
 , libpng
 , libsForQt5
 , libtiff
 , ninja
-, nix-update
+, nix-update-script
 , openexr
 , pkg-config
 , stdenv
-, writeShellScript
 , zlib
 , variant ? "standalone"
 }:
@@ -53,15 +49,15 @@ assert lib.assertMsg
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "gmic-qt${lib.optionalString (variant != "standalone") "-${variant}"}";
-  version = "3.3.5";
+  version = "3.3.6";
 
-  src = fetchzip {
-    url = "https://gmic.eu/files/source/gmic_${finalAttrs.version}.tar.gz";
-    hash = "sha256-71i8vk9XR6Q8SSEWvGXMcAOIE6DoIVJkylS4SiZLUBY=";
+  src = fetchFromGitHub {
+    owner = "c-koi";
+    repo = "gmic-qt";
+    rev = "v.${finalAttrs.version}";
+    hash = "sha256-0MtQTc2nUF8N1IDIcRxGqfXKULl9ZjnqDt4q84jA5ow=";
   };
 
-  sourceRoot = "${finalAttrs.src.name}/gmic-qt";
-
   nativeBuildInputs = [
     cmake
     libsForQt5.wrapQtAppsHook
@@ -70,6 +66,7 @@ stdenv.mkDerivation (finalAttrs: {
   ];
 
   buildInputs = [
+    cimg
     curl
     fftw
     gmic
@@ -88,6 +85,9 @@ stdenv.mkDerivation (finalAttrs: {
     patchShebangs \
       translations/filters/csv2ts.sh \
       translations/lrelease.sh
+
+    mkdir ../src
+    ln -s ${gmic.src}/src/gmic.cpp ../src/gmic.cpp
   '';
 
   cmakeFlags = [
@@ -108,23 +108,9 @@ stdenv.mkDerivation (finalAttrs: {
       inherit cimg gmic;
     };
 
-    updateScript = writeShellScript "gmic-qt-update-script" ''
-      set -euo pipefail
-
-      export PATH="${lib.makeBinPath [ coreutils curl gnugrep gnused nix-update ]}:$PATH"
-
-      latestVersion=$(curl 'https://gmic.eu/files/source/' \
-                       | grep -E 'gmic_[^"]+\.tar\.gz' \
-                       | sed -E 's/.+<a href="gmic_([^"]+)\.tar\.gz".+/\1/g' \
-                       | sort --numeric-sort --reverse | head -n1)
-
-      if [[ '${finalAttrs.version}' = "$latestVersion" ]]; then
-          echo "The new version same as the old version."
-          exit 0
-      fi
-
-      nix-update --version "$latestVersion"
-    '';
+    updateScript = nix-update-script {
+      extraArgs = [ "--version-regex" "^v\\.(.*)" ];
+    };
   };
 
   meta = {