geoip: add geoipWithDatabase for shell use

This installs (by default) geolite-legacy as the default database for geoiplookup
This commit is contained in:
Herwig Hochleitner 2015-04-21 04:21:41 +02:00
parent 74235b70f1
commit cf07760a2c
2 changed files with 16 additions and 2 deletions

View File

@ -1,15 +1,24 @@
{ stdenv, fetchurl }:
# in geoipDatabase, you can insert a package defining ${geoipDatabase}/share/GeoIP
# e.g. geolite-legacy
{ stdenv, fetchurl, pkgs, drvName ? "geoip", geoipDatabase ? null }:
let version = "1.6.2"; in
stdenv.mkDerivation {
name = "geoip-${version}";
name = "${drvName}-${version}";
src = fetchurl {
url = "http://geolite.maxmind.com/download/geoip/api/c/GeoIP-${version}.tar.gz";
sha256 = "0dd6si4cvip73kxdn43apg6yygvaf7dnk5awqfg9w2fd2ll0qnh7";
};
postInstall = ''
DB=${toString geoipDatabase}
if [ -n "$DB" ]; then
ln -s $DB/share/GeoIP $out/share/GeoIP
fi
'';
meta = {
description = "Geolocation API";
maintainers = [ stdenv.lib.maintainers.raskin ];

View File

@ -5767,6 +5767,11 @@ let
geoclue2 = callPackage ../development/libraries/geoclue/2.0.nix {};
geoipWithDatabase = makeOverridable (callPackage ../development/libraries/geoip) {
drvName = "geoip-tools";
geoipDatabase = geolite-legacy;
};
geoip = callPackage ../development/libraries/geoip { };
geoipjava = callPackage ../development/libraries/java/geoipjava { };