aboutsummaryrefslogtreecommitdiff
path: root/nixpkgs/pkgs/tools/networking/v2ray/default.nix
diff options
context:
space:
mode:
authorKaiden Fey <kookie@spacekookie.de>2020-09-19 15:00:33 +0200
committerKatharina Fey <kookie@spacekookie.de>2020-09-19 15:00:33 +0200
commite0800985dab8f8ebb4cebdfd7e361fd1fafdb2a7 (patch)
tree289f43c72dd1fffeec4eb18ced05ae91e50c179a /nixpkgs/pkgs/tools/networking/v2ray/default.nix
parent5581b5521e14317c3507a6e8451a3f14996e5c4d (diff)
parent441a7da8080352881bb52f85e910d8855e83fc55 (diff)
Merge commit '441a7da8080352881bb52f85e910d8855e83fc55'
Diffstat (limited to 'nixpkgs/pkgs/tools/networking/v2ray/default.nix')
-rw-r--r--nixpkgs/pkgs/tools/networking/v2ray/default.nix73
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
+''