69 lines
1.7 KiB
Nix
69 lines
1.7 KiB
Nix
|
{ stdenv, lib, fetchFromGitHub, fetchurl
|
||
|
, clang-tools, cmake, bzip2, zlib, expat, boost, git, pandoc, gzip
|
||
|
, postgresql_12
|
||
|
, python3, python3Packages, php
|
||
|
}:
|
||
|
|
||
|
let
|
||
|
countryGrid = fetchurl {
|
||
|
# Nominatim docs mention https://www.nominatim.org/data/country_grid.sql.gz but it's not a very good URL for pinning
|
||
|
url = "https://web.archive.org/web/20220323041006/https://nominatim.org/data/country_grid.sql.gz";
|
||
|
sha256 = "sha256-/mY5Oq9WF0klXOv0xh0TqEJeMmuM5QQJ2IxANRZd4Ek=";
|
||
|
};
|
||
|
in
|
||
|
stdenv.mkDerivation rec {
|
||
|
pname = "nominatim";
|
||
|
version = "4.0.1";
|
||
|
|
||
|
src = fetchFromGitHub {
|
||
|
owner = "osm-search";
|
||
|
repo = "Nominatim";
|
||
|
rev = "v${version}";
|
||
|
fetchSubmodules = true;
|
||
|
sha256 = "sha256-sKI/KBKveb5kAWJ7y1xw+ZF1thynr402rJhVjkIdFMo=";
|
||
|
};
|
||
|
|
||
|
nativeBuildInputs = [
|
||
|
cmake
|
||
|
clang-tools
|
||
|
git
|
||
|
pandoc
|
||
|
php
|
||
|
];
|
||
|
|
||
|
buildInputs = [
|
||
|
bzip2
|
||
|
zlib
|
||
|
expat
|
||
|
boost
|
||
|
python3
|
||
|
# python3Packages.pylint # We don't want to run pylint because the package could break on pylint bumps which is really annoying.
|
||
|
# python3Packages.pytest # disabled since I can't get it to run tests anyway
|
||
|
# python3Packages.behave # disabled since I can't get it to run tests anyway
|
||
|
postgresql_12
|
||
|
];
|
||
|
|
||
|
propagatedBuildInputs = with python3Packages; [
|
||
|
pyyaml
|
||
|
python-dotenv
|
||
|
psycopg2
|
||
|
psutil
|
||
|
jinja2
|
||
|
PyICU
|
||
|
datrie
|
||
|
];
|
||
|
|
||
|
postPatch = ''
|
||
|
mkdir -p ./data
|
||
|
ln -s ${countryGrid} ./data/country_osm_grid.sql.gz
|
||
|
'';
|
||
|
|
||
|
meta = with lib; {
|
||
|
description = "Search engine for OpenStreetMap data";
|
||
|
homepage = "https://nominatim.org/";
|
||
|
license = licenses.gpl2Plus;
|
||
|
platforms = platforms.unix;
|
||
|
maintainers = [ maintainers.mausch ];
|
||
|
};
|
||
|
}
|