v2ray-geoip: build from source with dbip-country-lite
This commit is contained in:
parent
f47f0a525c
commit
41436adde4
@ -1,23 +1,25 @@
|
||||
{ lib, stdenv, fetchFromGitHub }:
|
||||
{ lib
|
||||
, stdenvNoCC
|
||||
, fetchFromGitHub
|
||||
, pkgsBuildBuild
|
||||
, jq
|
||||
, moreutils
|
||||
, dbip-country-lite
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
let
|
||||
generator = pkgsBuildBuild.buildGoModule {
|
||||
pname = "v2ray-geoip";
|
||||
version = "202306010100";
|
||||
version = "unstable-2023-03-27";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "v2fly";
|
||||
repo = "geoip";
|
||||
rev = "d8faa6ba0754c083a89898610942d1d1d978ef7f";
|
||||
sha256 = "sha256-Aumk+YPsxZl3F/DQv6w0rE5f5hduLNYApCKQIvRUSIw=";
|
||||
rev = "9321a7f5e301a957228eba44845144b4555b6658";
|
||||
hash = "sha256-S30XEgzA9Vrq7I7REfO/WN/PKpcjcI7KZnrL4uw/Chs=";
|
||||
};
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
install -m 0644 geoip.dat -D $out/share/v2ray/geoip.dat
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
passthru.updateScript = ./update.sh;
|
||||
vendorHash = "sha256-bAXeA1pDIUuEvzTLydUIX6S6fm6j7CUQmBG+7xvxUcc=";
|
||||
|
||||
meta = with lib; {
|
||||
description = "GeoIP for V2Ray";
|
||||
@ -25,4 +27,43 @@ stdenv.mkDerivation rec {
|
||||
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;
|
||||
};
|
||||
}
|
||||
|
@ -1,6 +0,0 @@
|
||||
#! /usr/bin/env nix-shell
|
||||
#! nix-shell -i bash -p common-updater-scripts curl jq
|
||||
set -euo pipefail
|
||||
|
||||
COMMIT=$(curl "https://api.github.com/repos/v2fly/geoip/commits/release?per_page=1")
|
||||
update-source-version v2ray-geoip "$(echo $COMMIT | jq -r .commit.message)" --file=pkgs/data/misc/v2ray-geoip/default.nix --rev="$(echo $COMMIT | jq -r .sha)"
|
Loading…
Reference in New Issue
Block a user