From 3965d4c962c148f441ce29cbaea762b10fdd359f Mon Sep 17 00:00:00 2001 From: Nikolay Amiantov Date: Sat, 12 Feb 2022 15:11:32 +0300 Subject: [PATCH] geolite-legacy: 2017-12-02 -> 2022-01-25 Use database from mailfud.org, with Arch Linux package as a snapshot. --- pkgs/data/misc/geolite-legacy/builder.sh | 20 --------- pkgs/data/misc/geolite-legacy/default.nix | 53 ++++++++++------------- 2 files changed, 23 insertions(+), 50 deletions(-) delete mode 100644 pkgs/data/misc/geolite-legacy/builder.sh diff --git a/pkgs/data/misc/geolite-legacy/builder.sh b/pkgs/data/misc/geolite-legacy/builder.sh deleted file mode 100644 index 0bb61d863ece..000000000000 --- a/pkgs/data/misc/geolite-legacy/builder.sh +++ /dev/null @@ -1,20 +0,0 @@ -source "$stdenv/setup" - -mkdir -p $out/share/GeoIP -cd $out/share/GeoIP - -# Iterate over all environment variable names beginning with "src": -for var in "${!src@}"; do - # Store the value of the variable with name $var in $src: - eval src="\$$var" - - # Copy $src to current directory, removing Nix hash from the filename: - dest="${src##*/}" - dest="${dest#*-}" - cp "$src" "$dest" -done - -gzip -dv *.gz - -ln -s GeoLiteCity.dat GeoIPCity.dat -ln -s GeoLiteCityv6.dat GeoIPCityv6.dat diff --git a/pkgs/data/misc/geolite-legacy/default.nix b/pkgs/data/misc/geolite-legacy/default.nix index 735a66089492..ad9560da9a48 100644 --- a/pkgs/data/misc/geolite-legacy/default.nix +++ b/pkgs/data/misc/geolite-legacy/default.nix @@ -1,41 +1,34 @@ -{ lib, stdenv, fetchurl }: +{ lib, stdenv, fetchurl, zstd }: -let - fetchDB = src: sha256: fetchurl { - inherit sha256; - url = "https://geolite.maxmind.com/download/geoip/database/${src}"; - }; -in stdenv.mkDerivation { pname = "geolite-legacy"; - version = "2017-12-02"; + version = "2022-01-25"; - srcGeoIP = fetchDB - "GeoLiteCountry/GeoIP.dat.gz" - "1nggml11wzlanmzk6wbw2kla91fj8ggd9kh9yz42lnyckdlf5ac4"; - srcGeoIPv6 = fetchDB - "GeoIPv6.dat.gz" - "0w809xgmr5zi4fgm9q3lhrnh1vl62s49n737bhq4jplm5918ki50"; - srcGeoLiteCity = fetchDB - "GeoLiteCity.dat.gz" - "0cibajsv5xdjpw1qfx22izm5azqcj0d7nvk39irgwflkim9jfjbs"; - srcGeoLiteCityv6 = fetchDB - "GeoLiteCityv6-beta/GeoLiteCityv6.dat.gz" - "1ldwbzgs64irfgb3kq3jp8fmhwmwqk713dr4kkdqlglrblr9hfkc"; - srcGeoIPASNum = fetchDB - "asnum/GeoIPASNum.dat.gz" - "06qqs8qr8vxqwd80npz7n66k3bpc1vs7w43i2bb4k0di5yxnjwr9"; - srcGeoIPASNumv6 = fetchDB - "asnum/GeoIPASNumv6.dat.gz" - "1qyq4h8cja62giv6q1qqc502vsq53wzz1kx80mgvwngmycrxa21k"; + # We use Arch Linux package as a snapshot, because upstream database is updated in-place. + geoip = fetchurl { + url = "https://archive.archlinux.org/packages/g/geoip-database/geoip-database-20220125-1-any.pkg.tar.zst"; + sha256 = "sha256-ieuLpllJTHYu28UXBGfDWbnr9Ei8pGnos+RPWDsAGcM="; + }; + + extra = fetchurl { + url = "https://archive.archlinux.org/packages/g/geoip-database-extra/geoip-database-extra-20220125-1-any.pkg.tar.zst"; + sha256 = "sha256-xrTnuJvuvtvn+uIARtbuJUlHco3Q+9BXLljt35V3ip0="; + }; + + nativeBuildInputs = [ zstd ]; + + buildCommand = '' + tar -xaf "$geoip" + tar -xaf "$extra" + mkdir -p $out/share + mv usr/share/GeoIP $out/share + ''; meta = with lib; { description = "GeoLite Legacy IP geolocation databases"; - homepage = "https://geolite.maxmind.com/download/geoip"; - license = licenses.cc-by-sa-30; + homepage = "https://mailfud.org/geoip-legacy/"; + license = licenses.cc-by-sa-40; platforms = platforms.all; maintainers = with maintainers; [ fpletz ]; }; - - builder = ./builder.sh; }