From 26ce7f260775c50238b97aa262429c3ee01bd177 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alu=C3=ADsio=20Augusto=20Silva=20Gon=C3=A7alves?= Date: Sat, 31 Oct 2020 09:49:59 -0300 Subject: [PATCH] iosevka: add update script As outlined in the previous commit, we just need to update the source URL in node-packages.json, and wait for node-packages.nix to be rebuilt from it. --- pkgs/data/fonts/iosevka/default.nix | 4 ++++ pkgs/data/fonts/iosevka/update-default.sh | 21 +++++++++++++++++++++ 2 files changed, 25 insertions(+) create mode 100755 pkgs/data/fonts/iosevka/update-default.sh diff --git a/pkgs/data/fonts/iosevka/default.nix b/pkgs/data/fonts/iosevka/default.nix index 36fddc3ce0f..9ef751688db 100644 --- a/pkgs/data/fonts/iosevka/default.nix +++ b/pkgs/data/fonts/iosevka/default.nix @@ -89,6 +89,10 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; + passthru = { + updateScript = ./update-default.sh; + }; + meta = with stdenv.lib; { homepage = "https://be5invis.github.io/Iosevka"; downloadPage = "https://github.com/be5invis/Iosevka/releases"; diff --git a/pkgs/data/fonts/iosevka/update-default.sh b/pkgs/data/fonts/iosevka/update-default.sh new file mode 100755 index 00000000000..208ea6101ac --- /dev/null +++ b/pkgs/data/fonts/iosevka/update-default.sh @@ -0,0 +1,21 @@ +#!/usr/bin/env nix-shell +#!nix-shell -i bash -p common-updater-scripts coreutils gawk replace +set -euo pipefail +cd "$(dirname "${BASH_SOURCE[0]}")" + +nixpkgs=../../../.. +repo=https://github.com/be5invis/Iosevka + +# Discover the latest version. +current_version=$(nix-instantiate "$nixpkgs" --eval --strict -A iosevka.version | tr -d '"') +new_version=$(list-git-tags "$repo" | sort --reverse --version-sort | awk 'match($0, /^v([0-9.]+)$/, m) { print m[1]; exit; }') +if [[ "$new_version" == "$current_version" ]]; then + echo "iosevka: no update found" + exit +fi + +# Update the source package in nodePackages. +current_source="$repo/archive/v$current_version.tar.gz" +new_source="$repo/archive/v$new_version.tar.gz" +replace-literal -ef "$current_source" "$new_source" ../../../development/node-packages/node-packages.json +echo "iosevka: $current_version -> $new_version (after nodePackages update)"