Name: valhalla Version: 3.9.1 Release: 2%{?dist} Summary: Open-source routing engine for OpenStreetMap data License: MIT URL: https://github.com/valhalla/valhalla Source0: %{url}/archive/refs/tags/%{version}.tar.gz # https://github.com/valhalla/valhalla/issues/6384 Patch0: 0001-fix-flatbush-include-directory.patch # https://github.com/valhalla/valhalla/issues/6387 Patch1: 0002-enable-os-timezone-db.patch Patch2: 0003-fix-atomic-move.patch BuildRequires: cmake BuildRequires: gcc BuildRequires: gcc-c++ BuildRequires: make BuildRequires: pkgconf-pkg-config # Core libraries used by libvalhalla and the tools BuildRequires: boost-devel BuildRequires: libcurl-devel BuildRequires: zlib-devel BuildRequires: lz4-devel BuildRequires: protobuf-devel BuildRequires: protobuf-compiler BuildRequires: date-devel BuildRequires: protozero-devel BuildRequires: rapidjson-devel BuildRequires: libosmium-devel BuildRequires: cxxopts-devel # Packages to be submitted to upstream BuildRequires: date-tz-private-devel BuildRequires: unordered_dense-devel BuildRequires: vtzero-devel BuildRequires: flatbush-devel BuildRequires: cpp-statsd-client-devel BuildRequires: just_gtfs # Data tools (ENABLE_DATA_TOOLS=ON) BuildRequires: geos-devel BuildRequires: sqlite-devel BuildRequires: libspatialite-devel BuildRequires: spatialite-tools BuildRequires: luajit-devel BuildRequires: openssl-devel BuildRequires: expat-devel # ENABLE_GEOTIFF=ON BuildRequires: libtiff-devel BuildRequires: libgeotiff-devel # Needed at runtime to prepare the timezones SQLite database Requires: spatialite-tools %description Valhalla is an open-source routing engine for OpenStreetMap data. It provides turn-by-turn routing, time-distance matrices, isochrones, map matching, elevation queries, and optimized routes (TSP). Built with C++20 and CMake, it processes routing data into binary tiles for efficient runtime querying. This package contains the core executables, the data tools for building routing tiles from OpenStreetMap data, and shared libraries. %package devel Summary: Development files for Valhalla Requires: %{name} = %{version}-%{release} Requires: boost-devel %description devel Development headers, libraries, and CMake files for building applications that use Valhalla. %package doc Summary: Documentation for Valhalla BuildArch: noarch %description doc Documentation for Valhalla including API references, build guides, and usage examples. %prep %autosetup -p1 %build %cmake \ -DENABLE_TOOLS=ON \ -DENABLE_DATA_TOOLS=ON \ -DENABLE_SERVICES=OFF \ -DENABLE_PYTHON_BINDINGS=OFF \ -DENABLE_NODE_BINDINGS=OFF \ -DENABLE_TESTS=OFF \ -DENABLE_CCACHE=OFF \ -DPREFER_EXTERNAL_DEPS=ON \ -DENABLE_GEOTIFF=ON \ -DENABLE_LZ4=ON %cmake_build %install %cmake_install # CPack additionally installs per-component documentation into # valhalla/, libvalhalla0/ and libvalhalla-dev/ doc directories; # documentation is packaged via %doc/%license instead. Removing these # fixes the rpmlint files-duplicate and files-duplicated-waste findings. rm -rf %{buildroot}%{_docdir}/valhalla \ %{buildroot}%{_docdir}/libvalhalla0 \ %{buildroot}%{_docdir}/libvalhalla-dev # third_party repositories are included via system deps rm -rf %{buildroot}%{_includedir}/valhalla/third_party %check # Tests are currently not built (ENABLE_TESTS=OFF) because dependencies fail %files %license COPYING %doc README.md %{_bindir}/valhalla_service %{_bindir}/valhalla_export_edges %{_bindir}/valhalla_expand_bounding_box %{_bindir}/valhalla_build_statistics %{_bindir}/valhalla_ways_to_edges %{_bindir}/valhalla_validate_transit %{_bindir}/valhalla_benchmark_admins %{_bindir}/valhalla_build_connectivity %{_bindir}/valhalla_build_tiles %{_bindir}/valhalla_build_admins %{_bindir}/valhalla_convert_transit %{_bindir}/valhalla_ingest_transit %{_bindir}/valhalla_query_transit %{_bindir}/valhalla_add_predicted_traffic %{_bindir}/valhalla_assign_speeds %{_bindir}/valhalla_add_elevation %{_bindir}/valhalla_build_landmarks %{_bindir}/valhalla_add_landmarks %{_bindir}/valhalla_build_config %{_bindir}/valhalla_build_elevation %{_bindir}/valhalla_build_extract %{_bindir}/valhalla_build_timezones %{_libdir}/libvalhalla.so.* %files devel %license COPYING %{_libdir}/libvalhalla.so %{_includedir}/valhalla/ %{_libdir}/pkgconfig/libvalhalla.pc %files doc %license COPYING %doc CHANGELOG.md %changelog * Wed Oct 07 2026 Alexander Oberlaender - 3.9.1-2 - Data tools merged into the main package * Wed Oct 07 2026 Alexander Oberlaender - 3.9.1-1 - Initial packaging for Fedora