nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 lib,
3 stdenvNoCC,
4 fetchFromGitHub,
5 pkgsBuildBuild,
6 dbip-country-lite,
7}:
8
9let
10 generator = pkgsBuildBuild.buildGoModule rec {
11 pname = "v2ray-geoip";
12 version = "202501190004";
13
14 src = fetchFromGitHub {
15 owner = "v2fly";
16 repo = "geoip";
17 tag = version;
18 hash = "sha256-l5gz3w/80o2UwexzcJ1ALhQMcwqor9m/0RG3WOBeVAc=";
19 };
20
21 vendorHash = "sha256-nvJsifXF6u3eWqd9X0kGZxASEs/LX2dQraZAwgnw060=";
22
23 meta = {
24 description = "GeoIP for V2Ray";
25 homepage = "https://github.com/v2fly/geoip";
26 license = lib.licenses.cc-by-sa-40;
27 maintainers = with lib.maintainers; [ nickcao ];
28 };
29 };
30in
31
32stdenvNoCC.mkDerivation {
33 inherit (generator) pname src;
34 inherit (dbip-country-lite) version;
35
36 nativeBuildInputs = [ generator ];
37
38 buildPhase = ''
39 runHook preBuild
40
41 mkdir -p db-ip
42 ln -s ${dbip-country-lite.mmdb} ./db-ip/dbip-country-lite.mmdb
43 geoip
44
45 runHook postBuild
46 '';
47
48 installPhase = ''
49 runHook preInstall
50
51 install -Dm444 -t "$out/share/v2ray" output/{cn,geoip-only-cn-private,geoip,private}.dat
52
53 runHook postInstall
54 '';
55
56 passthru.generator = generator;
57
58 meta = generator.meta // {
59 inherit (dbip-country-lite.meta) license;
60 };
61}