Merge pull request #90177 from servalcatty/v2ray

v2ray: 4.23.3 -> 4.26.0
This commit is contained in:
Mario Rodas 2020-07-17 00:14:46 -05:00 committed by GitHub
commit 6148f63603
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 33 additions and 13 deletions

View file

@ -3,20 +3,22 @@
, ... } @ args:
callPackage ./generic.nix (rec {
version = "4.23.3";
version = "4.26.0";
src = fetchFromGitHub {
owner = "v2ray";
repo = "v2ray-core";
rev = "v${version}";
sha256 = "1b0cxrpgkmgas7pwxglsvgcig8rnhffkf990b42z7awji5lw055v";
sha256 = "069wm0n44i4l9pnrhwf60ssld65p6gfj4wfc68hrhj4zi4jvlyds";
};
vendorSha256 = "1520h69z0inbsrw5505cxbinqakvwcrdx3pisrwnp9lv4jsrzzsr";
assets = {
# MIT licensed
"geoip.dat" = let
geoipRev = "202005270003";
geoipSha256 = "10gf69hr32p4bpl5j8r46v8xzhpcgm70xbcdxm1a8l0jwyj0infs";
geoipRev = "202007080004";
geoipSha256 = "1j4qg831dhxdy7brgxn4ca69cvwr3zsgizidlzasbkdn2rwai17y";
in fetchurl {
url = "https://github.com/v2ray/geoip/releases/download/${geoipRev}/geoip.dat";
sha256 = geoipSha256;
@ -24,8 +26,8 @@ callPackage ./generic.nix (rec {
# MIT licensed
"geosite.dat" = let
geositeRev = "202005292154";
geositeSha256 = "0w6l0q8y14in5f4a406blpprqq6p438gpclnlfz7y2hkh5zf36cr";
geositeRev = "20200708125309";
geositeSha256 = "1pr4137ri3v3r880yx5sqf2p7qfn8g7s555q51x3smkjzkyrskcy";
in fetchurl {
url = "https://github.com/v2ray/domain-list-community/releases/download/${geositeRev}/dlc.dat";
sha256 = geositeSha256;

View file

@ -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

View file

@ -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