From 6f525d927858e10a973945b06403e345ced1c3aa Mon Sep 17 00:00:00 2001 From: phanirithvij Date: Tue, 20 Aug 2024 23:09:36 +0530 Subject: [PATCH 1/2] viddy: add phanirithvij as maintainer Signed-off-by: phanirithvij --- pkgs/tools/misc/viddy/default.nix | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/pkgs/tools/misc/viddy/default.nix b/pkgs/tools/misc/viddy/default.nix index 2f23f77b166e..f35947339db7 100644 --- a/pkgs/tools/misc/viddy/default.nix +++ b/pkgs/tools/misc/viddy/default.nix @@ -24,7 +24,10 @@ buildGoModule rec { description = "Modern watch command"; homepage = "https://github.com/sachaos/viddy"; license = licenses.mit; - maintainers = with maintainers; [ j-hui ]; + maintainers = with maintainers; [ + j-hui + phanirithvij + ]; mainProgram = "viddy"; }; } From 42e323cd7910b8f15cd1a3f038d9c5c4424b282c Mon Sep 17 00:00:00 2001 From: phanirithvij Date: Tue, 20 Aug 2024 21:17:56 +0530 Subject: [PATCH 2/2] viddy: 0.4.0 -> 1.0.1 Signed-off-by: phanirithvij Co-authored-by: Sandro Co-authored-by: Franz Pletz --- pkgs/tools/misc/viddy/default.nix | 32 +++++++++++++--------- pkgs/tools/misc/viddy/update.sh | 44 +++++++++++++++++++++++++++++++ 2 files changed, 63 insertions(+), 13 deletions(-) create mode 100755 pkgs/tools/misc/viddy/update.sh diff --git a/pkgs/tools/misc/viddy/default.nix b/pkgs/tools/misc/viddy/default.nix index f35947339db7..ece009cc6ca3 100644 --- a/pkgs/tools/misc/viddy/default.nix +++ b/pkgs/tools/misc/viddy/default.nix @@ -1,27 +1,33 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ + lib, + rustPlatform, + fetchFromGitHub, +}: -buildGoModule rec { +rustPlatform.buildRustPackage rec { pname = "viddy"; - version = "0.4.0"; + version = "1.0.1"; src = fetchFromGitHub { owner = "sachaos"; - repo = pname; + repo = "viddy"; rev = "v${version}"; - hash = "sha256-iF5b5e3HPT3GJLRDxz9wN1U5rO9Ey51Cpw4p2zjffTI="; + hash = "sha256-HFqkWJu1whShwEsSUZe5orWTNYyY3oZ6tBzAJF3SFDw="; }; - vendorHash = "sha256-/lx2D2FIByRnK/097M4SQKRlmqtPTvbFo1dwbThJ5Fs="; + cargoHash = "sha256-oEzsJoVD9aSvphchm21dlmkwePMDSaxD7eoR850NbRk="; - ldflags = [ - "-s" - "-w" - "-X" - "main.version=${version}" - ]; + # requires nightly features + env.RUSTC_BOOTSTRAP = 1; + + env.VERGEN_BUILD_DATE = "2024-08-24"; # managed via the update script + env.VERGEN_GIT_DESCRIBE = "Nixpkgs"; + + passthru.updateScript.command = [ ./update.sh ]; meta = with lib; { - description = "Modern watch command"; + description = "Modern watch command, time machine and pager etc."; + changelog = "https://github.com/sachaos/viddy/releases"; homepage = "https://github.com/sachaos/viddy"; license = licenses.mit; maintainers = with maintainers; [ diff --git a/pkgs/tools/misc/viddy/update.sh b/pkgs/tools/misc/viddy/update.sh new file mode 100755 index 000000000000..4740effde4a2 --- /dev/null +++ b/pkgs/tools/misc/viddy/update.sh @@ -0,0 +1,44 @@ +#!/usr/bin/env nix-shell +#!nix-shell -i bash -p bash nix-update curl coreutils jq common-updater-scripts nix-prefetch + +# adapted from pkgs/by-name/ya/yazi-unwrapped/update.sh + +set -eou pipefail + +NIXPKGS_DIR="$PWD" +SCRIPT_DIR="$(dirname "${BASH_SOURCE[0]}")" + +# Get latest release +VIDDY_RELEASE=$( + curl --silent ${GITHUB_TOKEN:+-u ":$GITHUB_TOKEN"} \ + https://api.github.com/repos/sachaos/viddy/releases/latest +) + +# Get release information +latestBuildDate=$(echo "$VIDDY_RELEASE" | jq -r ".published_at") +latestVersion=$(echo "$VIDDY_RELEASE" | jq -r ".tag_name") + +latestBuildDate="${latestBuildDate%T*}" # remove the timestamp and get the date +latestVersion="${latestVersion:1}" # remove first char 'v' + +oldVersion=$(nix eval --raw -f "$NIXPKGS_DIR" viddy.version) + +if [[ "$oldVersion" == "$latestVersion" ]]; then + echo "viddy is up-to-date: ${oldVersion}" + exit 0 +fi + +echo "Updating viddy" + +# Version +update-source-version viddy "${latestVersion}" + +pushd "$SCRIPT_DIR" +# Build date +sed -i 's#env.VERGEN_BUILD_DATE = "[^"]*"#env.VERGEN_BUILD_DATE = "'"${latestBuildDate}"'"#' default.nix + +# Hashes +# https://github.com/msteen/nix-prefetch/issues/51 +cargoHash=$(nix-prefetch --option extra-experimental-features flakes "{ sha256 }: (import $NIXPKGS_DIR {}).viddy.cargoDeps.overrideAttrs (_: { outputHash = sha256; })") +sed -i -E 's#\bcargoHash = ".*?"#cargoHash = "'"$cargoHash"'"#' default.nix +popd