class OsrmBackend < Formula desc "High performance routing engine" homepage "http://project-osrm.org/" url "https://github.com/Project-OSRM/osrm-backend/archive/v5.22.0.tar.gz" sha256 "df0987a04bcf65d74f9c4e18f34a01982bf3bb97aa47f9d86cfb8b35f17a6a55" head "https://github.com/Project-OSRM/osrm-backend.git" bottle do cellar :any sha256 "949e7503d8b2ae9847d3b2f20220dddda1561d991e223870030af91016834ee5" => :mojave sha256 "8baa7145775784dd311869c9dabea2abe8be1b8dce1a7c4872a6d261d1df752b" => :high_sierra sha256 "bc01e672d1758ffa27ea5b9b2eb85a113e3f3ee2619f42274fbe6a6a57d99cc3" => :sierra end depends_on "cmake" => :build depends_on "boost" depends_on "libstxxl" depends_on "libxml2" depends_on "libzip" depends_on "lua" # "invalid use of non-static data member 'offset'" # https://github.com/Project-OSRM/osrm-backend/issues/3719 depends_on :macos => :el_capitan depends_on "tbb" def install mkdir "build" do system "cmake", "..", "-DENABLE_CCACHE:BOOL=OFF", *std_cmake_args system "make" system "make", "install" end pkgshare.install "profiles" end test do node1 = 'visible="true" version="1" changeset="676636" timestamp="2008-09-21T21:37:45Z"' node2 = 'visible="true" version="1" changeset="323878" timestamp="2008-05-03T13:39:23Z"' node3 = 'visible="true" version="1" changeset="323878" timestamp="2008-05-03T13:39:23Z"' (testpath/"test.osm").write <<~EOS EOS (testpath/"tiny-profile.lua").write <<~EOS function way_function (way, result) result.forward_mode = mode.driving result.forward_speed = 1 end EOS safe_system "#{bin}/osrm-extract", "test.osm", "--profile", "tiny-profile.lua" safe_system "#{bin}/osrm-contract", "test.osrm" assert_predicate testpath/"test.osrm", :exist?, "osrm-extract generated no output!" end end