1 { stdenv, lib, fetchFromGitHub, fetchurl
2 , clang-tools, cmake, bzip2, zlib, expat, boost, git, pandoc
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 sha256 = "sha256-sKI/KBKveb5kAWJ7y1xw+ZF1thynr402rJhVjkIdFMo=";
40 (python3.withPackages (ps: with ps; [
50 # python3Packages.pylint # We don't want to run pylint because the package could break on pylint bumps which is really annoying.
51 # python3Packages.pytest # disabled since I can't get it to run tests anyway
52 # python3Packages.behave # disabled since I can't get it to run tests anyway
58 ln -s ${countryGrid} ./data/country_osm_grid.sql.gz
62 description = "Search engine for OpenStreetMap data";
63 homepage = "https://nominatim.org/";
64 license = licenses.gpl2Plus;
65 platforms = platforms.unix;
66 maintainers = [ maintainers.mausch ];
67 mainProgram = "nominatim";