From adf334a0c653a5c163e00e05cc6f5088295cc4d8 Mon Sep 17 00:00:00 2001 From: Tim Steinbach Date: Thu, 5 Nov 2020 20:38:18 -0500 Subject: [PATCH] nanorc: 2020-01-25 -> 2020-10-10 Add update script --- .../editors/nano/nanorc/default.nix | 43 ++++++++++++++++--- 1 file changed, 36 insertions(+), 7 deletions(-) diff --git a/pkgs/applications/editors/nano/nanorc/default.nix b/pkgs/applications/editors/nano/nanorc/default.nix index 4d4b093233bd..54442fc21f43 100644 --- a/pkgs/applications/editors/nano/nanorc/default.nix +++ b/pkgs/applications/editors/nano/nanorc/default.nix @@ -1,14 +1,17 @@ -{ stdenv, fetchFromGitHub }: +{ stdenv, fetchFromGitHub, writeScript, nixosTests, common-updater-scripts +, coreutils, git, gnused, nix, nixfmt }: -stdenv.mkDerivation { +let + owner = "scopatz"; + repo = "nanorc"; +in stdenv.mkDerivation rec { pname = "nanorc"; - version = "2020-01-25"; + version = "2020-10-10"; src = fetchFromGitHub { - owner = "scopatz"; - repo = "nanorc"; - rev = "2020.1.25"; - sha256 = "1y8jk3jsl4bd6r4hzmxzcf77hv8bwm0318yv7y2npkkd3a060z8d"; + inherit owner repo; + rev = builtins.replaceStrings [ "-" ] [ "." ] version; + sha256 = "3B2nNFYkwYHCX6pQz/hMO/rnVqlCiw1BSNmGmJ6KCqE="; }; dontBuild = true; @@ -19,6 +22,32 @@ stdenv.mkDerivation { install *.nanorc $out/share/ ''; + passthru.updateScript = writeScript "update.sh" '' + #!${stdenv.shell} + set -o errexit + PATH=${ + stdenv.lib.makeBinPath [ + common-updater-scripts + coreutils + git + gnused + nix + nixfmt + ] + } + oldVersion="$(nix-instantiate --eval -E "with import ./. {}; lib.getVersion ${pname}" | tr -d '"' | sed 's|\\.|-|g')" + latestTag="$(git -c 'versionsort.suffix=-' ls-remote --exit-code --refs --sort='version:refname' --tags git@github.com:${owner}/${repo} '*.*.*' | tail --lines=1 | cut --delimiter='/' --fields=3)" + if [ "$oldVersion" != "$latestTag" ]; then + nixpkgs="$(git rev-parse --show-toplevel)" + default_nix="$nixpkgs/pkgs/applications/editors/nano/nanorc/default.nix" + newTag=$(echo $latestTag | sed 's|\.|-|g') + update-source-version ${pname} "$newTag" --version-key=version --print-changes + nixfmt "$default_nix" + else + echo "${pname} is already up-to-date" + fi + ''; + meta = { description = "Improved Nano Syntax Highlighting Files"; homepage = "https://github.com/scopatz/nanorc";