From 23be0bbe8a92bc49e3a673ede1adac9b0a4b15e8 Mon Sep 17 00:00:00 2001 From: Vonfry Date: Sun, 10 Nov 2024 13:11:20 +0800 Subject: [PATCH] tdlib: add update scripts --- pkgs/by-name/td/tdlib/package.nix | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/pkgs/by-name/td/tdlib/package.nix b/pkgs/by-name/td/tdlib/package.nix index db0d005ad499..b50b747eb35e 100644 --- a/pkgs/by-name/td/tdlib/package.nix +++ b/pkgs/by-name/td/tdlib/package.nix @@ -1,4 +1,23 @@ -{ fetchFromGitHub, gperf, openssl, readline, zlib, cmake, lib, stdenv }: +{ fetchFromGitHub, gperf, openssl, readline, zlib, cmake, lib, stdenv, + writeShellApplication, common-updater-scripts, jq }: + +let + updateScript = writeShellApplication { + name = "update-tdlib"; + + runtimeInputs = [ jq common-updater-scripts ]; + + text = '' + commit_msg="^Update version to (?\\\\d+.\\\\d+.\\\\d+)\\\\.$" + commit=$(curl -s "https://api.github.com/repos/tdlib/td/commits?path=CMakeLists.txt" | jq -c "map(select(.commit.message | test(\"''${commit_msg}\"))) | first") + + rev=$(echo "$commit" | jq -r ".sha") + version=$(echo "$commit" | jq -r ".commit.message | capture(\"''${commit_msg}\") | .v") + + update-source-version tdlib "$version" --rev="$rev" + ''; + }; +in stdenv.mkDerivation { pname = "tdlib"; @@ -30,6 +49,8 @@ stdenv.mkDerivation { sed -i "/vptr/d" test/CMakeLists.txt ''; + passthru.updateScript = lib.getExe updateScript; + meta = with lib; { description = "Cross-platform library for building Telegram clients"; homepage = "https://core.telegram.org/tdlib/";