diff options
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/geoip')
-rw-r--r-- | nixpkgs/pkgs/development/libraries/geoip/default.nix | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/libraries/geoip/default.nix b/nixpkgs/pkgs/development/libraries/geoip/default.nix new file mode 100644 index 000000000000..cb8138dc115e --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/geoip/default.nix @@ -0,0 +1,32 @@ +# in geoipDatabase, you can insert a package defining ${geoipDatabase}/share/GeoIP +# e.g. geolite-legacy +{ stdenv, fetchFromGitHub, autoreconfHook +, drvName ? "geoip", geoipDatabase ? "/var/lib/geoip-databases" }: + +let version = "1.6.12"; + dataDir = if (stdenv.lib.isDerivation geoipDatabase) then "${toString geoipDatabase}/share/GeoIP" else geoipDatabase; +in stdenv.mkDerivation { + name = "${drvName}-${version}"; + + src = fetchFromGitHub { + owner = "maxmind"; + repo = "geoip-api-c"; + rev = "v${version}"; + sha256 = "0ixyp3h51alnncr17hqp1p0rlqz9w69nlhm60rbzjjz3vjx52ajv"; + }; + + nativeBuildInputs = [ autoreconfHook ]; + + postConfigure = '' + find . -name Makefile.in -exec sed -i -r 's#^pkgdatadir\s*=.+$#pkgdatadir = ${dataDir}#' {} \; + ''; + + meta = { + description = "Geolocation API"; + maintainers = [ stdenv.lib.maintainers.raskin ]; + license = stdenv.lib.licenses.lgpl21; + platforms = stdenv.lib.platforms.unix; + homepage = http://geolite.maxmind.com/; + downloadPage = "http://geolite.maxmind.com/download/"; + }; +} |