mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-12-03 20:33:21 +00:00
70 lines
1.4 KiB
Nix
70 lines
1.4 KiB
Nix
{ lib
|
|
, stdenvNoCC
|
|
, fetchFromGitHub
|
|
, pkgsBuildBuild
|
|
, jq
|
|
, moreutils
|
|
, dbip-country-lite
|
|
}:
|
|
|
|
let
|
|
generator = pkgsBuildBuild.buildGoModule rec {
|
|
pname = "v2ray-geoip";
|
|
version = "202403140037";
|
|
|
|
src = fetchFromGitHub {
|
|
owner = "v2fly";
|
|
repo = "geoip";
|
|
rev = version;
|
|
hash = "sha256-nqobjgeDvD5RYvCVVd14XC/tb/+SVfvdQUFZ3gfeDrI=";
|
|
};
|
|
|
|
vendorHash = "sha256-cuKcrYAzjIt6Z4wYg5R6JeL413NDwTub2fZndXEKdTo=";
|
|
|
|
meta = with lib; {
|
|
description = "GeoIP for V2Ray";
|
|
homepage = "https://github.com/v2fly/geoip";
|
|
license = licenses.cc-by-sa-40;
|
|
maintainers = with maintainers; [ nickcao ];
|
|
};
|
|
};
|
|
input = {
|
|
type = "maxmindMMDB";
|
|
action = "add";
|
|
args = {
|
|
uri = dbip-country-lite.mmdb;
|
|
};
|
|
};
|
|
in
|
|
stdenvNoCC.mkDerivation {
|
|
inherit (generator) pname src;
|
|
inherit (dbip-country-lite) version;
|
|
|
|
nativeBuildInputs = [
|
|
jq
|
|
moreutils
|
|
];
|
|
|
|
postPatch = ''
|
|
jq '.input[0] |= ${builtins.toJSON input}' config.json | sponge config.json
|
|
'';
|
|
|
|
buildPhase = ''
|
|
runHook preBuild
|
|
${generator}/bin/geoip
|
|
runHook postBuild
|
|
'';
|
|
|
|
installPhase = ''
|
|
runHook preInstall
|
|
install -Dm444 -t "$out/share/v2ray" output/dat/{cn,geoip-only-cn-private,geoip,private}.dat
|
|
runHook postInstall
|
|
'';
|
|
|
|
passthru.generator = generator;
|
|
|
|
meta = generator.meta // {
|
|
inherit (dbip-country-lite.meta) license;
|
|
};
|
|
}
|