From 8369421d77f5b167d3d0052d95cd75aa49996568 Mon Sep 17 00:00:00 2001 From: Moraxyc Date: Thu, 18 Jun 2026 10:54:16 +0800 Subject: [PATCH 1/4] v2ray-rules-dat: correct license --- pkgs/by-name/v2/v2ray-rules-dat/package.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/by-name/v2/v2ray-rules-dat/package.nix b/pkgs/by-name/v2/v2ray-rules-dat/package.nix index d4acb4684de6..c529d014fc14 100644 --- a/pkgs/by-name/v2/v2ray-rules-dat/package.nix +++ b/pkgs/by-name/v2/v2ray-rules-dat/package.nix @@ -31,7 +31,7 @@ stdenvNoCC.mkDerivation { meta = { description = "Enhanced edition of V2Ray rules dat files"; homepage = "https://github.com/Loyalsoldier/v2ray-rules-dat"; - license = lib.licenses.gpl3; + license = lib.licenses.gpl3Only; maintainers = with lib.maintainers; [ nix-julia ]; }; } From d41c971bce282faf0364192f8138febbe11b8fb0 Mon Sep 17 00:00:00 2001 From: Moraxyc Date: Thu, 18 Jun 2026 11:04:42 +0800 Subject: [PATCH 2/4] v2ray-rules-dat: use finalAttrs, modernize --- pkgs/by-name/v2/v2ray-rules-dat/package.nix | 42 ++++++++++++--------- 1 file changed, 24 insertions(+), 18 deletions(-) diff --git a/pkgs/by-name/v2/v2ray-rules-dat/package.nix b/pkgs/by-name/v2/v2ray-rules-dat/package.nix index c529d014fc14..75d217b13a24 100644 --- a/pkgs/by-name/v2/v2ray-rules-dat/package.nix +++ b/pkgs/by-name/v2/v2ray-rules-dat/package.nix @@ -1,37 +1,43 @@ { + lib, stdenvNoCC, fetchurl, - lib, }: -let +stdenvNoCC.mkDerivation (finalAttrs: { + pname = "v2ray-rules-dat"; version = "202606122311"; - geoipDat = fetchurl { - url = "https://github.com/Loyalsoldier/v2ray-rules-dat/releases/download/${version}/geoip.dat"; - hash = "sha256-iGGpeUaWtIH7AEPueCssQOgL/Ia7nkLFvWnAj1SDsbU="; - }; - - geositeDat = fetchurl { - url = "https://github.com/Loyalsoldier/v2ray-rules-dat/releases/download/${version}/geosite.dat"; - hash = "sha256-/c/3OjfALveNnHS9NxonTeOiZyud6U/X4WHrGZSOs7Q="; - }; -in -stdenvNoCC.mkDerivation { - pname = "v2ray-rules-dat"; - inherit version; __structuredAttrs = true; strictDeps = true; + + src = null; dontUnpack = true; installPhase = '' - install -Dm444 ${geoipDat} $out/share/v2ray/geoip.dat - install -Dm444 ${geositeDat} $out/share/v2ray/geosite.dat + runHook preInstall + + install -Dm444 ${finalAttrs.passthru.geoipDat} $out/share/v2ray/geoip.dat + install -Dm444 ${finalAttrs.passthru.geositeDat} $out/share/v2ray/geosite.dat + + runHook postInstall ''; + passthru = { + geoipDat = fetchurl { + url = "https://github.com/Loyalsoldier/v2ray-rules-dat/releases/download/${finalAttrs.version}/geoip.dat"; + hash = "sha256-iGGpeUaWtIH7AEPueCssQOgL/Ia7nkLFvWnAj1SDsbU="; + }; + geositeDat = fetchurl { + url = "https://github.com/Loyalsoldier/v2ray-rules-dat/releases/download/${finalAttrs.version}/geosite.dat"; + hash = "sha256-/c/3OjfALveNnHS9NxonTeOiZyud6U/X4WHrGZSOs7Q="; + }; + }; + meta = { description = "Enhanced edition of V2Ray rules dat files"; homepage = "https://github.com/Loyalsoldier/v2ray-rules-dat"; + changelog = "https://github.com/Loyalsoldier/v2ray-rules-dat/releases/tag/${finalAttrs.version}"; license = lib.licenses.gpl3Only; maintainers = with lib.maintainers; [ nix-julia ]; }; -} +}) From c2d350a01f68a4909bddadfed931620d1c1905a7 Mon Sep 17 00:00:00 2001 From: Moraxyc Date: Thu, 18 Jun 2026 12:58:42 +0800 Subject: [PATCH 3/4] v2ray-rules-dat: add updateScript --- pkgs/by-name/v2/v2ray-rules-dat/package.nix | 1 + pkgs/by-name/v2/v2ray-rules-dat/update.sh | 35 +++++++++++++++++++++ 2 files changed, 36 insertions(+) create mode 100755 pkgs/by-name/v2/v2ray-rules-dat/update.sh diff --git a/pkgs/by-name/v2/v2ray-rules-dat/package.nix b/pkgs/by-name/v2/v2ray-rules-dat/package.nix index 75d217b13a24..9472f0479ba4 100644 --- a/pkgs/by-name/v2/v2ray-rules-dat/package.nix +++ b/pkgs/by-name/v2/v2ray-rules-dat/package.nix @@ -31,6 +31,7 @@ stdenvNoCC.mkDerivation (finalAttrs: { url = "https://github.com/Loyalsoldier/v2ray-rules-dat/releases/download/${finalAttrs.version}/geosite.dat"; hash = "sha256-/c/3OjfALveNnHS9NxonTeOiZyud6U/X4WHrGZSOs7Q="; }; + updateScript = ./update.sh; }; meta = { diff --git a/pkgs/by-name/v2/v2ray-rules-dat/update.sh b/pkgs/by-name/v2/v2ray-rules-dat/update.sh new file mode 100755 index 000000000000..4f1cae24c167 --- /dev/null +++ b/pkgs/by-name/v2/v2ray-rules-dat/update.sh @@ -0,0 +1,35 @@ +#!/usr/bin/env nix-shell +#!nix-shell -i bash -p curl jq nix common-updater-scripts + +set -euo pipefail + +version="$( + curl -fsSL ${GITHUB_TOKEN:+-u ":$GITHUB_TOKEN"} "https://api.github.com/repos/Loyalsoldier/v2ray-rules-dat/releases/latest" \ + | jq -r .tag_name +)" + +if [[ "$UPDATE_NIX_OLD_VERSION" == "$version" ]]; then + echo "Already up to date!" + exit 0 +fi + +prefetch_hash() { + local name="$1" + nix --extra-experimental-features nix-command \ + store prefetch-file \ + --json \ + --hash-type sha256 \ + "https://github.com/Loyalsoldier/v2ray-rules-dat/releases/download/$version/$name" \ + | jq -r .hash +} + +geoip_hash="$(prefetch_hash geoip.dat)" +geosite_hash="$(prefetch_hash geosite.dat)" + +update-source-version "v2ray-rules-dat" "$version" "$geoip_hash" \ + --source-key=passthru.geoipDat \ + --ignore-same-version --ignore-same-hash + +update-source-version "v2ray-rules-dat" "$version" "$geosite_hash" \ + --source-key=passthru.geositeDat \ + --ignore-same-version --ignore-same-hash From 2a8479b3e1eb0cb1cf13fe367ceb17b1b9378b1e Mon Sep 17 00:00:00 2001 From: Moraxyc Date: Thu, 18 Jun 2026 05:10:43 +0000 Subject: [PATCH 4/4] v2ray-rules-dat: 202606122311 -> 202606172318 --- pkgs/by-name/v2/v2ray-rules-dat/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/v2/v2ray-rules-dat/package.nix b/pkgs/by-name/v2/v2ray-rules-dat/package.nix index 9472f0479ba4..a13f47ee7ead 100644 --- a/pkgs/by-name/v2/v2ray-rules-dat/package.nix +++ b/pkgs/by-name/v2/v2ray-rules-dat/package.nix @@ -5,7 +5,7 @@ }: stdenvNoCC.mkDerivation (finalAttrs: { pname = "v2ray-rules-dat"; - version = "202606122311"; + version = "202606172318"; __structuredAttrs = true; strictDeps = true; @@ -29,7 +29,7 @@ stdenvNoCC.mkDerivation (finalAttrs: { }; geositeDat = fetchurl { url = "https://github.com/Loyalsoldier/v2ray-rules-dat/releases/download/${finalAttrs.version}/geosite.dat"; - hash = "sha256-/c/3OjfALveNnHS9NxonTeOiZyud6U/X4WHrGZSOs7Q="; + hash = "sha256-DEhEZP7ijNudb6qhIArpRhUqzEzmG0OxJaoBuMFVacM="; }; updateScript = ./update.sh; };