lol

geoip: add geoipWithDatabase for shell use

This installs (by default) geolite-legacy as the default database for geoiplookup

+16 -2
+11 -2
pkgs/development/libraries/geoip/default.nix
··· 1 - { stdenv, fetchurl }: 1 + # in geoipDatabase, you can insert a package defining ${geoipDatabase}/share/GeoIP 2 + # e.g. geolite-legacy 3 + { stdenv, fetchurl, pkgs, drvName ? "geoip", geoipDatabase ? null }: 2 4 3 5 let version = "1.6.2"; in 4 6 5 7 stdenv.mkDerivation { 6 - name = "geoip-${version}"; 8 + name = "${drvName}-${version}"; 7 9 8 10 src = fetchurl { 9 11 url = "http://geolite.maxmind.com/download/geoip/api/c/GeoIP-${version}.tar.gz"; 10 12 sha256 = "0dd6si4cvip73kxdn43apg6yygvaf7dnk5awqfg9w2fd2ll0qnh7"; 11 13 }; 14 + 15 + postInstall = '' 16 + DB=${toString geoipDatabase} 17 + if [ -n "$DB" ]; then 18 + ln -s $DB/share/GeoIP $out/share/GeoIP 19 + fi 20 + ''; 12 21 13 22 meta = { 14 23 description = "Geolocation API";
+5
pkgs/top-level/all-packages.nix
··· 5767 5767 5768 5768 geoclue2 = callPackage ../development/libraries/geoclue/2.0.nix {}; 5769 5769 5770 + geoipWithDatabase = makeOverridable (callPackage ../development/libraries/geoip) { 5771 + drvName = "geoip-tools"; 5772 + geoipDatabase = geolite-legacy; 5773 + }; 5774 + 5770 5775 geoip = callPackage ../development/libraries/geoip { }; 5771 5776 5772 5777 geoipjava = callPackage ../development/libraries/java/geoipjava { };