diff options
author | Serval <servalcat@pm.me> | 2020-07-09 01:14:28 +0800 |
---|---|---|
committer | Serval <servalcat@pm.me> | 2020-07-09 01:14:28 +0800 |
commit | d12886ff9d5931784b1a71448f7ddb0fe1a0ba2f (patch) | |
tree | 4bb39f696d6ca952427cafd42a12e5003cd620ad /pkgs/tools | |
parent | dc80d7bc4a244120b3d766746c41c0d9c5f81dfa (diff) | |
download | nixpkgs-d12886ff9d5931784b1a71448f7ddb0fe1a0ba2f.tar nixpkgs-d12886ff9d5931784b1a71448f7ddb0fe1a0ba2f.tar.gz nixpkgs-d12886ff9d5931784b1a71448f7ddb0fe1a0ba2f.tar.bz2 nixpkgs-d12886ff9d5931784b1a71448f7ddb0fe1a0ba2f.tar.lz nixpkgs-d12886ff9d5931784b1a71448f7ddb0fe1a0ba2f.tar.xz nixpkgs-d12886ff9d5931784b1a71448f7ddb0fe1a0ba2f.tar.zst nixpkgs-d12886ff9d5931784b1a71448f7ddb0fe1a0ba2f.zip |
v2ray: move vendorSha256 outside and fix update script
Diffstat (limited to 'pkgs/tools')
-rw-r--r-- | pkgs/tools/networking/v2ray/default.nix | 2 | ||||
-rw-r--r-- | pkgs/tools/networking/v2ray/generic.nix | 4 | ||||
-rwxr-xr-x | pkgs/tools/networking/v2ray/update.sh | 28 |
3 files changed, 27 insertions, 7 deletions
diff --git a/pkgs/tools/networking/v2ray/default.nix b/pkgs/tools/networking/v2ray/default.nix index 0f0c5961c00..45cce2988b4 100644 --- a/pkgs/tools/networking/v2ray/default.nix +++ b/pkgs/tools/networking/v2ray/default.nix @@ -12,6 +12,8 @@ callPackage ./generic.nix (rec { sha256 = "1b0cxrpgkmgas7pwxglsvgcig8rnhffkf990b42z7awji5lw055v"; }; + vendorSha256 = "0d2qmnmlkl884ccg0qcd2yhfj0dwxnb9dz3cih7rcipz85w2f2rs"; + assets = { # MIT licensed "geoip.dat" = let diff --git a/pkgs/tools/networking/v2ray/generic.nix b/pkgs/tools/networking/v2ray/generic.nix index e8f4d278c32..a6b98c4ee88 100644 --- a/pkgs/tools/networking/v2ray/generic.nix +++ b/pkgs/tools/networking/v2ray/generic.nix @@ -1,7 +1,7 @@ { lib, linkFarm, buildGoModule, runCommand, makeWrapper # Version specific args -, version, src, assets +, version, src, assets, vendorSha256 , ... }: let @@ -13,7 +13,7 @@ let pname = "v2ray-core"; inherit version src; - vendorSha256 = "0d2qmnmlkl884ccg0qcd2yhfj0dwxnb9dz3cih7rcipz85w2f2rs"; + inherit vendorSha256; buildPhase = '' runHook preBuild diff --git a/pkgs/tools/networking/v2ray/update.sh b/pkgs/tools/networking/v2ray/update.sh index 38ad77e98f8..56a148444c7 100755 --- a/pkgs/tools/networking/v2ray/update.sh +++ b/pkgs/tools/networking/v2ray/update.sh @@ -1,11 +1,13 @@ #!/usr/bin/env nix-shell #!nix-shell -i bash -p curl jq set -eo pipefail +cd "$(dirname "${BASH_SOURCE[0]}")" -version_nix=$(dirname "$0")/default.nix -deps_nix=$(dirname "$0")/deps.nix +version_nix=./default.nix +deps_nix=./deps.nix +nixpkgs=../../../.. -old_core_rev="v$(sed -En 's/.*\bversion = "(.*?)".*/\1/p' "$version_nix")" +old_core_rev=$(sed -En 's/.*\bversion = "(.*?)".*/\1/p' "$version_nix") old_geoip_rev=$(sed -En 's/.*\bgeoipRev = "(.*?)".*/\1/p' "$version_nix") old_geosite_rev=$(sed -En 's/.*\bgeositeRev = "(.*?)".*/\1/p' "$version_nix") echo "Current version:" >&2 @@ -17,6 +19,7 @@ function fetch_latest_rev { } core_rev=$(fetch_latest_rev 'v2ray-core') +core_rev=${core_rev:1} geoip_rev=$(fetch_latest_rev 'geoip') geosite_rev=$(fetch_latest_rev 'domain-list-community') echo "Latest version:" >&2 @@ -25,12 +28,13 @@ echo "core: $core_rev, geoip: $geoip_rev, geosite: $geosite_rev" >&2 if [[ $core_rev != $old_core_rev ]]; then echo "Prefetching core..." >&2 { read hash; read store_path; } < <( - nix-prefetch-url --unpack --print-path "https://github.com/v2ray/v2ray-core/archive/$core_rev.zip" + nix-prefetch-url --unpack --print-path "https://github.com/v2ray/v2ray-core/archive/v$core_rev.zip" ) sed --in-place \ - -e "s/\bversion = \".*\"/version = \"$(echo "$core_rev" | tail -c+2)\"/" \ + -e "s/\bversion = \".*\"/version = \"$core_rev\"/" \ -e "s/\bsha256 = \".*\"/sha256 = \"$hash\"/" \ + -e "s/\bvendorSha256 = \".*\"/vendorSha256 = \"0000000000000000000000000000000000000000000000000000\"/" \ "$version_nix" fi @@ -51,3 +55,17 @@ if [[ $geosite_rev != $old_geosite_rev ]]; then -e "s/\bgeositeSha256 = \".*\"/geositeSha256 = \"$hash\"/" \ "$version_nix" fi + +echo "Prebuilding..." >&2 +set +o pipefail +vendorSha256=$( + nix-build "$nixpkgs" -A v2ray --no-out-link 2>&1 | + tee /dev/stderr | + sed -nE 's/.*got:\s*sha256:(\w+)$/\1/p' +) +[[ "$vendorSha256" ]] +sed --in-place \ + -e "s/vendorSha256 = \".*\"/vendorSha256 = \"$vendorSha256\"/" \ + "$version_nix" + +echo "vendorSha256 updated" >&2 |