summary refs log tree commit diff
path: root/pkgs/applications/editors/nano
diff options
context:
space:
mode:
authorTim Steinbach <tim@nequissimus.com>2020-11-16 12:56:38 -0500
committerTim Steinbach <tim@nequissimus.com>2020-11-16 12:57:20 -0500
commit701df1a3dc5b2a60ab348a3c06600250d0382457 (patch)
treedcf95b23b75d8ccdca8c0b6b4984fea66a965c5e /pkgs/applications/editors/nano
parentbb15fa742780543ef87df2e6ea7e1747eadfc82b (diff)
downloadnixpkgs-701df1a3dc5b2a60ab348a3c06600250d0382457.tar
nixpkgs-701df1a3dc5b2a60ab348a3c06600250d0382457.tar.gz
nixpkgs-701df1a3dc5b2a60ab348a3c06600250d0382457.tar.bz2
nixpkgs-701df1a3dc5b2a60ab348a3c06600250d0382457.tar.lz
nixpkgs-701df1a3dc5b2a60ab348a3c06600250d0382457.tar.xz
nixpkgs-701df1a3dc5b2a60ab348a3c06600250d0382457.tar.zst
nixpkgs-701df1a3dc5b2a60ab348a3c06600250d0382457.zip
nano: Add update script
Diffstat (limited to 'pkgs/applications/editors/nano')
-rw-r--r--pkgs/applications/editors/nano/default.nix43
1 files changed, 33 insertions, 10 deletions
diff --git a/pkgs/applications/editors/nano/default.nix b/pkgs/applications/editors/nano/default.nix
index 6909af712fa..63b849f06f9 100644
--- a/pkgs/applications/editors/nano/default.nix
+++ b/pkgs/applications/editors/nano/default.nix
@@ -1,10 +1,6 @@
-{ stdenv, fetchurl, fetchFromGitHub
-, ncurses
-, texinfo
-, gettext ? null
-, enableNls ? true
-, enableTiny ? false
-}:
+{ stdenv, fetchurl, fetchFromGitHub, ncurses, texinfo, writeScript
+, common-updater-scripts, git, nix, nixfmt, coreutils, gnused, gettext ? null
+, enableNls ? true, enableTiny ? false }:
 
 assert enableNls -> (gettext != null);
 
@@ -44,13 +40,40 @@ in stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
+  passthru = {
+    updateScript = writeScript "update.sh" ''
+      #!${stdenv.shell}
+      set -o errexit
+      PATH=${
+        stdenv.lib.makeBinPath [
+          common-updater-scripts
+          git
+          nixfmt
+          nix
+          coreutils
+          gnused
+        ]
+      }
+
+      oldVersion="$(nix-instantiate --eval -E "with import ./. {}; lib.getVersion ${pname}" | tr -d '"')"
+      latestTag="$(git -c 'versionsort.suffix=-' ls-remote --exit-code --refs --sort='version:refname' --tags git://git.savannah.gnu.org/nano.git '*' | tail --lines=1 | cut --delimiter='/' --fields=3 | sed 's|^v||g')"
+
+      if [ ! "$oldVersion" = "$latestTag" ]; then
+        update-source-version ${pname} "$latestTag" --version-key=version --print-changes
+        nixpkgs="$(git rev-parse --show-toplevel)"
+        default_nix="$nixpkgs/pkgs/applications/editors/nano/default.nix"
+        nixfmt "$default_nix"
+      else
+        echo "${pname} is already up-to-date"
+      fi
+    '';
+  };
+
   meta = {
     homepage = "https://www.nano-editor.org/";
     description = "A small, user-friendly console text editor";
     license = licenses.gpl3Plus;
-    maintainers = with maintainers; [
-      joachifm
-    ];
+    maintainers = with maintainers; [ joachifm ];
     platforms = platforms.all;
   };
 }