Name: valhalla Version: 3.9.1 Release: 1%{?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 Recommends: %{name}-data-tools = %{version}-%{release} %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 and shared libraries. Install the valhalla-data-tools subpackage to build routing tiles from OpenStreetMap data. %package data-tools Summary: Valhalla data processing and tile building tools Requires: %{name} = %{version}-%{release} # Needed at runtime to prepare the timezones SQLite database Requires: spatialite-tools %description data-tools This package contains data processing tools for building and managing Valhalla routing tiles from OpenStreetMap data. Includes utilities for transit data processing, statistics, and tile validation. Required for: - Building routing tiles from OpenStreetMap data (valhalla_build_tiles) - Transit data processing and validation - Elevation and landmark data augmentation %package devel Summary: Development files for Valhalla Requires: %{name} = %{version}-%{release} # Valhalla's public headers expose Boost Requires: libboost-all-devel %description devel Development headers, libraries, and CMake files for building applications that use Valhalla. %package doc Summary: Documentation for Valhalla %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 # remove third_party repositories as those are included via system deps rm -rf %{_includedir}/valhalla/third_party %files %license COPYING %{_bindir}/valhalla_service %{_bindir}/valhalla_export_edges %{_bindir}/valhalla_expand_bounding_box %{_libdir}/libvalhalla.so.* %files data-tools %license COPYING %{_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 %files devel %license COPYING %{_libdir}/libvalhalla.so %{_includedir}/valhalla/ %{_libdir}/pkgconfig/libvalhalla.pc %files doc %license COPYING %doc CHANGELOG.md %doc README.md %doc %{_docdir}/libvalhalla-dev/ %doc %{_docdir}/libvalhalla0/ %doc %{_docdir}/valhalla/ %changelog * Wed Oct 07 2026 Alexander Oberlaender - 3.9.1-1 - Initial packaging for Fedora