1 { stdenv, lib, fetchFromGitHub, fetchurl
2 , clang-tools, cmake, bzip2, zlib, expat, boost, git, pandoc, nlohmann_json
3 # Nominatim needs to be built with the same postgres version it will target
9 countryGrid = fetchurl {
10 # Nominatim docs mention https://www.nominatim.org/data/country_grid.sql.gz but it's not a very good URL for pinning
11 url = "https://web.archive.org/web/20220323041006/https://nominatim.org/data/country_grid.sql.gz";
12 sha256 = "sha256-/mY5Oq9WF0klXOv0xh0TqEJeMmuM5QQJ2IxANRZd4Ek=";
15 stdenv.mkDerivation rec {
19 src = fetchFromGitHub {
23 fetchSubmodules = true;
24 hash = "sha256-GPMDbvTPl9SLpZi5gyRAPQ84NSTIRoSfGJeqWs1e9Oo=";
42 (python3.withPackages (ps: with ps; [
54 # python3Packages.pylint # We don't want to run pylint because the package could break on pylint bumps which is really annoying.
55 # python3Packages.pytest # disabled since I can't get it to run tests anyway
56 # python3Packages.behave # disabled since I can't get it to run tests anyway
62 ln -s ${countryGrid} ./data/country_osm_grid.sql.gz
66 description = "Search engine for OpenStreetMap data";
67 homepage = "https://nominatim.org/";
68 license = licenses.gpl2Plus;
69 platforms = platforms.unix;
70 maintainers = [ maintainers.mausch ];
71 mainProgram = "nominatim";