diff options
author | Kaiden Fey <kookie@spacekookie.de> | 2020-09-19 15:00:33 +0200 |
---|---|---|
committer | Katharina Fey <kookie@spacekookie.de> | 2020-09-19 15:00:33 +0200 |
commit | e0800985dab8f8ebb4cebdfd7e361fd1fafdb2a7 (patch) | |
tree | 289f43c72dd1fffeec4eb18ced05ae91e50c179a /nixpkgs/pkgs/tools/networking/v2ray/default.nix | |
parent | 5581b5521e14317c3507a6e8451a3f14996e5c4d (diff) | |
parent | 441a7da8080352881bb52f85e910d8855e83fc55 (diff) |
Merge commit '441a7da8080352881bb52f85e910d8855e83fc55'
Diffstat (limited to 'nixpkgs/pkgs/tools/networking/v2ray/default.nix')
-rw-r--r-- | nixpkgs/pkgs/tools/networking/v2ray/default.nix | 73 |
1 files changed, 62 insertions, 11 deletions
diff --git a/nixpkgs/pkgs/tools/networking/v2ray/default.nix b/nixpkgs/pkgs/tools/networking/v2ray/default.nix index ab3f5eb3ef4..bc8a0873f78 100644 --- a/nixpkgs/pkgs/tools/networking/v2ray/default.nix +++ b/nixpkgs/pkgs/tools/networking/v2ray/default.nix @@ -1,24 +1,24 @@ -{ callPackage, fetchFromGitHub, fetchurl +{ lib, fetchFromGitHub, fetchurl, linkFarm, buildGoModule, runCommand, makeWrapper, nixosTests , assetOverrides ? {} -, ... } @ args: +}: -callPackage ./generic.nix (rec { - version = "4.26.0"; +let + version = "4.27.5"; src = fetchFromGitHub { owner = "v2ray"; repo = "v2ray-core"; rev = "v${version}"; - sha256 = "069wm0n44i4l9pnrhwf60ssld65p6gfj4wfc68hrhj4zi4jvlyds"; + sha256 = "168kz8hq7mcfy6h758mmrky550p04bi9jsfqhy67jcxq81874m2k"; }; - vendorSha256 = "1520h69z0inbsrw5505cxbinqakvwcrdx3pisrwnp9lv4jsrzzsr"; + vendorSha256 = "0m889byxw70vv1mzlivalq444byp0y182nqqzdr458gfifvpc7s7"; assets = { # MIT licensed "geoip.dat" = let - geoipRev = "202007080004"; - geoipSha256 = "1j4qg831dhxdy7brgxn4ca69cvwr3zsgizidlzasbkdn2rwai17y"; + geoipRev = "202009020005"; + geoipSha256 = "1xsy678cpqv6ycnhzl3pms76ic40aggq46q9dsd5ghj94mcx9837"; in fetchurl { url = "https://github.com/v2ray/geoip/releases/download/${geoipRev}/geoip.dat"; sha256 = geoipSha256; @@ -26,8 +26,8 @@ callPackage ./generic.nix (rec { # MIT licensed "geosite.dat" = let - geositeRev = "20200708125309"; - geositeSha256 = "1pr4137ri3v3r880yx5sqf2p7qfn8g7s555q51x3smkjzkyrskcy"; + geositeRev = "20200901194123"; + geositeSha256 = "0fjx1wrq14d9v326k4fjwca3h5nv8ghk11kprf6jkjncjszwvgby"; in fetchurl { url = "https://github.com/v2ray/domain-list-community/releases/download/${geositeRev}/dlc.dat"; sha256 = geositeSha256; @@ -35,4 +35,55 @@ callPackage ./generic.nix (rec { } // assetOverrides; -} // args) + assetsDrv = linkFarm "v2ray-assets" (lib.mapAttrsToList (name: path: { + inherit name path; + }) assets); + + core = buildGoModule rec { + pname = "v2ray-core"; + inherit version src; + + inherit vendorSha256; + + doCheck = false; + + buildPhase = '' + runHook preBuild + + go build -o v2ray v2ray.com/core/main + go build -o v2ctl v2ray.com/core/infra/control/main + + runHook postBuild + ''; + + installPhase = '' + install -Dm755 v2ray v2ctl -t $out/bin + ''; + }; + +in runCommand "v2ray-${version}" { + inherit version; + + buildInputs = [ assetsDrv core ]; + nativeBuildInputs = [ makeWrapper ]; + + meta = { + homepage = "https://www.v2ray.com/en/index.html"; + description = "A platform for building proxies to bypass network restrictions"; + license = with lib.licenses; [ mit ]; + maintainers = with lib.maintainers; [ servalcatty ]; + }; + + passthru = { + updateScript = ./update.sh; + tests = { + simple-vmess-proxy-test = nixosTests.v2ray; + }; + }; + +} '' + for file in ${core}/bin/*; do + makeWrapper "$file" "$out/bin/$(basename "$file")" \ + --set-default V2RAY_LOCATION_ASSET ${assetsDrv} + done +'' |