summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
authorTobias Geerinckx-Rice <tobias.geerinckx.rice@gmail.com>2015-05-10 22:20:44 +0200
committerTobias Geerinckx-Rice <tobias.geerinckx.rice@gmail.com>2015-05-10 22:20:44 +0200
commit029db1fdf43151bad74023be20bd72571d11439c (patch)
tree8bb2932a0d1c3ee2d2248db7d7fdb40dd23521b7 /pkgs
parenteafd67b45eb5cdbe2bb03f0778f3219816ab94be (diff)
parentcf07760a2cfc92b347be9159661bd104a034c7cc (diff)
downloadnixpkgs-029db1fdf43151bad74023be20bd72571d11439c.tar
nixpkgs-029db1fdf43151bad74023be20bd72571d11439c.tar.gz
nixpkgs-029db1fdf43151bad74023be20bd72571d11439c.tar.bz2
nixpkgs-029db1fdf43151bad74023be20bd72571d11439c.tar.lz
nixpkgs-029db1fdf43151bad74023be20bd72571d11439c.tar.xz
nixpkgs-029db1fdf43151bad74023be20bd72571d11439c.tar.zst
nixpkgs-029db1fdf43151bad74023be20bd72571d11439c.zip
Merge pull request #7401 from bendlas/geoip-database
geoip: Install geolite database by default
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/development/libraries/geoip/default.nix13
-rw-r--r--pkgs/top-level/all-packages.nix5
2 files changed, 16 insertions, 2 deletions
diff --git a/pkgs/development/libraries/geoip/default.nix b/pkgs/development/libraries/geoip/default.nix
index 99a566cf195..77ea6b6a016 100644
--- a/pkgs/development/libraries/geoip/default.nix
+++ b/pkgs/development/libraries/geoip/default.nix
@@ -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 ];
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 716349d6074..53cb16b95c0 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -5870,6 +5870,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 { };