Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

apache-arrow: switch to llvm@17 #169354

Merged
merged 22 commits into from
Apr 18, 2024
Merged
Show file tree
Hide file tree
Changes from 11 commits
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
9ad4cd9
apache-arrow: switch to llvm@17
carlocab Mar 20, 2024
d2c8045
apache-arrow-glib: remove LLVM from library search paths
ZhongRuoyu Apr 18, 2024
e856794
gdal: remove LLVM from library search paths
ZhongRuoyu Apr 18, 2024
58064cd
mapnik: remove LLVM from library search paths
ZhongRuoyu Apr 18, 2024
325382a
mapserver: remove LLVM from library search paths
ZhongRuoyu Apr 18, 2024
b8ee135
osm2pgrouting: remove LLVM from library search paths
ZhongRuoyu Apr 18, 2024
5fa0fd1
osmcoastline: remove LLVM from library search paths
ZhongRuoyu Apr 18, 2024
59f323c
pgrouting: remove LLVM from library search paths
ZhongRuoyu Apr 18, 2024
1f3a860
postgis: remove LLVM from library search paths
ZhongRuoyu Apr 18, 2024
3e885df
rtabmap: remove LLVM from library search paths
ZhongRuoyu Apr 18, 2024
a586036
spatialite-gui: remove LLVM from library search paths
ZhongRuoyu Apr 18, 2024
ff14d96
apache-arrow: update 15.0.2_2 bottle.
ZhongRuoyu Apr 18, 2024
e4f1363
apache-arrow-glib: update 15.0.2_1 bottle.
ZhongRuoyu Apr 18, 2024
06590a1
gdal: update 3.8.5_1 bottle.
ZhongRuoyu Apr 18, 2024
9f8ff5e
mapnik: update 3.1.0_27 bottle.
ZhongRuoyu Apr 18, 2024
33daa81
mapserver: update 8.0.1_4 bottle.
ZhongRuoyu Apr 18, 2024
c84e4c1
osm2pgrouting: update 2.3.8_12 bottle.
ZhongRuoyu Apr 18, 2024
0440e52
osmcoastline: update 2.4.0_5 bottle.
ZhongRuoyu Apr 18, 2024
3342e50
pgrouting: update 3.6.2_1 bottle.
ZhongRuoyu Apr 18, 2024
c297b28
postgis: update 3.4.2_1 bottle.
ZhongRuoyu Apr 18, 2024
811900f
rtabmap: update 0.21.4_2 bottle.
ZhongRuoyu Apr 18, 2024
832caa8
spatialite-gui: update 2.1.0-beta1_5 bottle.
ZhongRuoyu Apr 18, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
10 changes: 10 additions & 0 deletions Formula/a/apache-arrow-glib.rb
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
class ApacheArrowGlib < Formula

Check notice on line 1 in Formula/a/apache-arrow-glib.rb

View workflow job for this annotation

GitHub Actions / macOS 12-arm64

Installed previously built bottle for apache-arrow-glib from

:21e8fb331f6 (Merge 834cdf47be46a9672276d860b1bbeab4b9522ecc into b295e40bded516437de651a8f8035a350ea77c83, 2024-04-18)

Check notice on line 1 in Formula/a/apache-arrow-glib.rb

View workflow job for this annotation

GitHub Actions / macOS 13-arm64

Installed previously built bottle for apache-arrow-glib from

:21e8fb331f6 (Merge 834cdf47be46a9672276d860b1bbeab4b9522ecc into b295e40bded516437de651a8f8035a350ea77c83, 2024-04-18)

Check notice on line 1 in Formula/a/apache-arrow-glib.rb

View workflow job for this annotation

GitHub Actions / macOS 14-arm64

Installed previously built bottle for apache-arrow-glib from

:21e8fb331f6 (Merge 834cdf47be46a9672276d860b1bbeab4b9522ecc into b295e40bded516437de651a8f8035a350ea77c83, 2024-04-18)

Check notice on line 1 in Formula/a/apache-arrow-glib.rb

View workflow job for this annotation

GitHub Actions / Linux

Installed previously built bottle for apache-arrow-glib from

:21e8fb331f6 (Merge 834cdf47be46a9672276d860b1bbeab4b9522ecc into b295e40bded516437de651a8f8035a350ea77c83, 2024-04-18)
desc "GLib bindings for Apache Arrow"
homepage "https://arrow.apache.org/"
url "https://www.apache.org/dyn/closer.lua?path=arrow/arrow-15.0.2/apache-arrow-15.0.2.tar.gz"
mirror "https://archive.apache.org/dist/arrow/arrow-15.0.2/apache-arrow-15.0.2.tar.gz"
sha256 "abbf97176db6a9e8186fe005e93320dac27c64562755c77de50a882eb6179ac6"
license "Apache-2.0"
revision 1
head "https://github.com/apache/arrow.git", branch: "main"

livecheck do
Expand All @@ -31,6 +32,15 @@
fails_with gcc: "5"

def install
# Work around an Xcode 15 linker issue which causes linkage against LLVM's
# libunwind due to it being present in a library search path.
if DevelopmentTools.clang_build_version >= 1500
recursive_dependencies
.select { |d| d.name.match?(/^llvm(@\d+)?$/) }
.map { |llvm_dep| llvm_dep.to_formula.opt_lib }
.each { |llvm_lib| ENV.remove "HOMEBREW_LIBRARY_PATHS", llvm_lib }
end
Comment on lines +37 to +42
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should probably just handle this in brew at this point.

Though, dare I ask -- why don't we want linkage with our libunwind? As long as they're all using the same one it should be ok... (Though admittedly guaranteeing that may be a tall order)

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should probably just handle this in brew at this point.

Yea, I agree. Was looking into this too.

Though, dare I ask -- why don't we want linkage with our libunwind? As long as they're all using the same one it should be ok... (Though admittedly guaranteeing that may be a tall order)

Because we cannot be sure the LLVM used to build the formula (or simply present at build time) will continue to stay around until the next rebuild/update -- unless it's a direct runtime dependency.

Some formulae have a build-only dependency on llvm. The linkage test would have failed should there be libunwind linkage. This was the case when this workaround was added to apache-arrow in #146072 though LLVM became a runtime dependency later.

Some others, like the dependents here, depend on llvm indirectly via another runtime dependency (apache-arrow in this case). This makes it unnecessarily challenging for us to switch the dependency formula to a different llvm. Even a "hello world" can link to libunwind unexpectedly.

$ cat test.cc
#include <iostream>

int main() {
  std::cout << "hello, world\n";
}
$ LIBRARY_PATH="$(brew --prefix llvm)/lib" "$(brew --prefix llvm)/bin/clang++" test.cc
ld: warning: reexported library with install name '/usr/local/opt/llvm/lib/libunwind.1.dylib' found at '/usr/local/Cellar/llvm/17.0.6_1/lib/libunwind.1.0.dylib' couldn't be matched with any parent library and will be linked directly
$ otool -L ./a.out
./a.out:
	/usr/lib/libc++.1.dylib (compatibility version 1.0.0, current version 1700.255.0)
	/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1345.100.2)
	/usr/local/opt/llvm/lib/libunwind.1.dylib (compatibility version 1.0.0, current version 1.0.0)

Copy link
Member

@cho-m cho-m Apr 18, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should probably just handle this in brew at this point.

Makes sense.

Though, dare I ask -- why don't we want linkage with our libunwind? As long as they're all using the same one it should be ok... (Though admittedly guaranteeing that may be a tall order)

In current state, dependents are mixing libs and can end up crashing, e.g. #161342 (as I recall, there should be a couple other crashes fixed by unlinking llvm's libunwind)

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Even a "hello world" can link to libunwind unexpectedly.

$ cat test.cc
#include <iostream>

int main() {
  std::cout << "hello, world\n";
}
$ LIBRARY_PATH="$(brew --prefix llvm)/lib" "$(brew --prefix llvm)/bin/clang++" test.cc
ld: warning: reexported library with install name '/usr/local/opt/llvm/lib/libunwind.1.dylib' found at '/usr/local/Cellar/llvm/17.0.6_1/lib/libunwind.1.0.dylib' couldn't be matched with any parent library and will be linked directly
$ otool -L ./a.out
./a.out:
	/usr/lib/libc++.1.dylib (compatibility version 1.0.0, current version 1700.255.0)
	/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1345.100.2)
	/usr/local/opt/llvm/lib/libunwind.1.dylib (compatibility version 1.0.0, current version 1.0.0)

This is really weird. Smells like a bug in ld to me. Thoughts, @Bo98?


system "meson", "setup", "build", "c_glib", *std_meson_args
system "meson", "compile", "-C", "build", "--verbose"
system "meson", "install", "-C", "build"
Expand Down
6 changes: 3 additions & 3 deletions Formula/a/apache-arrow.rb
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
class ApacheArrow < Formula

Check notice on line 1 in Formula/a/apache-arrow.rb

View workflow job for this annotation

GitHub Actions / macOS 12-arm64

Installed previously built bottle for apache-arrow from

:770dd25df85 (Merge 9ad4cd92c8eaf414d931694d5db9a6413c7be19a into 4d72f2b6fea6dc661f837203f5a1bc9a93f240e5, 2024-04-18)

Check notice on line 1 in Formula/a/apache-arrow.rb

View workflow job for this annotation

GitHub Actions / macOS 13-arm64

Installed previously built bottle for apache-arrow from

:770dd25df85 (Merge 9ad4cd92c8eaf414d931694d5db9a6413c7be19a into 4d72f2b6fea6dc661f837203f5a1bc9a93f240e5, 2024-04-18)

Check notice on line 1 in Formula/a/apache-arrow.rb

View workflow job for this annotation

GitHub Actions / macOS 14-arm64

Installed previously built bottle for apache-arrow from

:770dd25df85 (Merge 9ad4cd92c8eaf414d931694d5db9a6413c7be19a into 4d72f2b6fea6dc661f837203f5a1bc9a93f240e5, 2024-04-18)

Check notice on line 1 in Formula/a/apache-arrow.rb

View workflow job for this annotation

GitHub Actions / Linux

Installed previously built bottle for apache-arrow from

:770dd25df85 (Merge 9ad4cd92c8eaf414d931694d5db9a6413c7be19a into 4d72f2b6fea6dc661f837203f5a1bc9a93f240e5, 2024-04-18)

Check notice on line 1 in Formula/a/apache-arrow.rb

View workflow job for this annotation

GitHub Actions / macOS 14-x86_64

Installed previously built bottle for apache-arrow from

:770dd25df85 (Merge 9ad4cd92c8eaf414d931694d5db9a6413c7be19a into 4d72f2b6fea6dc661f837203f5a1bc9a93f240e5, 2024-04-18)

Check notice on line 1 in Formula/a/apache-arrow.rb

View workflow job for this annotation

GitHub Actions / macOS 12-x86_64

Installed previously built bottle for apache-arrow from

:770dd25df85 (Merge 9ad4cd92c8eaf414d931694d5db9a6413c7be19a into 4d72f2b6fea6dc661f837203f5a1bc9a93f240e5, 2024-04-18)

Check notice on line 1 in Formula/a/apache-arrow.rb

View workflow job for this annotation

GitHub Actions / macOS 13-x86_64

Installed previously built bottle for apache-arrow from

:770dd25df85 (Merge 9ad4cd92c8eaf414d931694d5db9a6413c7be19a into 4d72f2b6fea6dc661f837203f5a1bc9a93f240e5, 2024-04-18)
desc "Columnar in-memory analytics layer designed to accelerate big data"
homepage "https://arrow.apache.org/"
url "https://www.apache.org/dyn/closer.lua?path=arrow/arrow-15.0.2/apache-arrow-15.0.2.tar.gz"
mirror "https://archive.apache.org/dist/arrow/arrow-15.0.2/apache-arrow-15.0.2.tar.gz"
sha256 "abbf97176db6a9e8186fe005e93320dac27c64562755c77de50a882eb6179ac6"
license "Apache-2.0"
revision 1
revision 2
head "https://github.com/apache/arrow.git", branch: "main"

bottle do
Expand All @@ -26,7 +26,7 @@
depends_on "bzip2"
depends_on "glog"
depends_on "grpc"
depends_on "llvm"
depends_on "llvm@17"
depends_on "lz4"
depends_on "openssl@3"
depends_on "protobuf"
Expand All @@ -43,7 +43,7 @@
def install
# Work around an Xcode 15 linker issue which causes linkage against LLVM's
# libunwind due to it being present in a library search path.
ENV.remove "HOMEBREW_LIBRARY_PATHS", Formula["llvm"].opt_lib if DevelopmentTools.clang_build_version >= 1500
ENV.remove "HOMEBREW_LIBRARY_PATHS", Formula["llvm@17"].opt_lib if DevelopmentTools.clang_build_version >= 1500

args = %W[
-DCMAKE_INSTALL_RPATH=#{rpath}
Expand Down
10 changes: 10 additions & 0 deletions Formula/g/gdal.rb
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
class Gdal < Formula

Check notice on line 1 in Formula/g/gdal.rb

View workflow job for this annotation

GitHub Actions / macOS 12-arm64

Installed previously built bottle for gdal from

:21e8fb331f6 (Merge 834cdf47be46a9672276d860b1bbeab4b9522ecc into b295e40bded516437de651a8f8035a350ea77c83, 2024-04-18)

Check notice on line 1 in Formula/g/gdal.rb

View workflow job for this annotation

GitHub Actions / macOS 13-arm64

Installed previously built bottle for gdal from

:21e8fb331f6 (Merge 834cdf47be46a9672276d860b1bbeab4b9522ecc into b295e40bded516437de651a8f8035a350ea77c83, 2024-04-18)

Check notice on line 1 in Formula/g/gdal.rb

View workflow job for this annotation

GitHub Actions / macOS 14-arm64

Installed previously built bottle for gdal from

:21e8fb331f6 (Merge 834cdf47be46a9672276d860b1bbeab4b9522ecc into b295e40bded516437de651a8f8035a350ea77c83, 2024-04-18)

Check notice on line 1 in Formula/g/gdal.rb

View workflow job for this annotation

GitHub Actions / Linux

Installed previously built bottle for gdal from

:21e8fb331f6 (Merge 834cdf47be46a9672276d860b1bbeab4b9522ecc into b295e40bded516437de651a8f8035a350ea77c83, 2024-04-18)

Check notice on line 1 in Formula/g/gdal.rb

View workflow job for this annotation

GitHub Actions / macOS 14-x86_64

Installed previously built bottle for gdal from

:29a039cc8ae (Merge 18211283664ba0e1efb4e059be600a01b2ec4f52 into 3b3b59ec5d9892c48870cfede7ef3731399b31ba, 2024-04-18)

Check notice on line 1 in Formula/g/gdal.rb

View workflow job for this annotation

GitHub Actions / macOS 12-x86_64

Installed previously built bottle for gdal from

:21e8fb331f6 (Merge 834cdf47be46a9672276d860b1bbeab4b9522ecc into b295e40bded516437de651a8f8035a350ea77c83, 2024-04-18)

Check notice on line 1 in Formula/g/gdal.rb

View workflow job for this annotation

GitHub Actions / macOS 13-x86_64

Installed previously built bottle for gdal from

:29a039cc8ae (Merge 18211283664ba0e1efb4e059be600a01b2ec4f52 into 3b3b59ec5d9892c48870cfede7ef3731399b31ba, 2024-04-18)
desc "Geospatial Data Abstraction Library"
homepage "https://www.gdal.org/"
url "https://github.com/OSGeo/gdal/releases/download/v3.8.5/gdal-3.8.5.tar.gz"
sha256 "0c865c7931c7e9bb4832f50fb53aec8676cbbaccd6e55945011b737fb89a49c2"
license "MIT"
revision 1

livecheck do
url "https://download.osgeo.org/gdal/CURRENT/"
Expand Down Expand Up @@ -84,6 +85,15 @@
end

def install
# Work around an Xcode 15 linker issue which causes linkage against LLVM's
# libunwind due to it being present in a library search path.
if DevelopmentTools.clang_build_version >= 1500
recursive_dependencies
.select { |d| d.name.match?(/^llvm(@\d+)?$/) }
.map { |llvm_dep| llvm_dep.to_formula.opt_lib }
.each { |llvm_lib| ENV.remove "HOMEBREW_LIBRARY_PATHS", llvm_lib }
end

site_packages = prefix/Language::Python.site_packages(python3)
# Work around Homebrew's "prefix scheme" patch which causes non-pip installs
# to incorrectly try to write into HOMEBREW_PREFIX/lib since Python 3.10.
Expand Down
11 changes: 10 additions & 1 deletion Formula/m/mapnik.rb
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
class Mapnik < Formula

Check notice on line 1 in Formula/m/mapnik.rb

View workflow job for this annotation

GitHub Actions / macOS 12-arm64

Installed previously built bottle for mapnik from

:21e8fb331f6 (Merge 834cdf47be46a9672276d860b1bbeab4b9522ecc into b295e40bded516437de651a8f8035a350ea77c83, 2024-04-18)

Check notice on line 1 in Formula/m/mapnik.rb

View workflow job for this annotation

GitHub Actions / macOS 13-arm64

Installed previously built bottle for mapnik from

:21e8fb331f6 (Merge 834cdf47be46a9672276d860b1bbeab4b9522ecc into b295e40bded516437de651a8f8035a350ea77c83, 2024-04-18)

Check notice on line 1 in Formula/m/mapnik.rb

View workflow job for this annotation

GitHub Actions / macOS 14-arm64

Installed previously built bottle for mapnik from

:21e8fb331f6 (Merge 834cdf47be46a9672276d860b1bbeab4b9522ecc into b295e40bded516437de651a8f8035a350ea77c83, 2024-04-18)

Check notice on line 1 in Formula/m/mapnik.rb

View workflow job for this annotation

GitHub Actions / Linux

Installed previously built bottle for mapnik from

:29a039cc8ae (Merge 18211283664ba0e1efb4e059be600a01b2ec4f52 into 3b3b59ec5d9892c48870cfede7ef3731399b31ba, 2024-04-18)
desc "Toolkit for developing mapping applications"
homepage "https://mapnik.org/"
license "LGPL-2.1-or-later"
revision 26
revision 27
head "https://github.com/mapnik/mapnik.git", branch: "master"

# TODO: Try switching to CMake build on next release as it works better with
Expand Down Expand Up @@ -60,6 +60,15 @@
uses_from_macos "zlib"

def install
# Work around an Xcode 15 linker issue which causes linkage against LLVM's
# libunwind due to it being present in a library search path.
if DevelopmentTools.clang_build_version >= 1500
recursive_dependencies
.select { |d| d.name.match?(/^llvm(@\d+)?$/) }
.map { |llvm_dep| llvm_dep.to_formula.opt_lib }
.each { |llvm_lib| ENV.remove "HOMEBREW_LIBRARY_PATHS", llvm_lib }
end

boost = Formula["boost"]
harfbuzz = Formula["harfbuzz"]
icu = Formula["icu4c"]
Expand Down
19 changes: 18 additions & 1 deletion Formula/m/mapserver.rb
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ class Mapserver < Formula
url "https://download.osgeo.org/mapserver/mapserver-8.0.1.tar.gz"
sha256 "79d23595ef95d61d3d728ae5e60850a3dbfbf58a46953b4fdc8e6e0ffe5748ba"
license "MIT"
revision 3
revision 4

livecheck do
url "https://mapserver.org/download.html"
Expand Down Expand Up @@ -51,6 +51,23 @@ def python3
end

def install
# Work around an Xcode 15 linker issue which causes linkage against LLVM's
# libunwind due to it being present in a library search path.
if DevelopmentTools.clang_build_version >= 1500
recursive_dependencies
.select { |d| d.name.match?(/^llvm(@\d+)?$/) }
.map { |llvm_dep| llvm_dep.to_formula.opt_lib }
.each { |llvm_lib| ENV.remove "HOMEBREW_LIBRARY_PATHS", llvm_lib }
end

# Workaround for: Built-in generator --c_out specifies a maximum edition
# PROTO3 which is not the protoc maximum 2023.
# Remove when fixed in `protobuf-c`:
# https://github.com/protobuf-c/protobuf-c/pull/711
inreplace "CMakeLists.txt",
"COMMAND ${PROTOBUFC_COMPILER}",
"COMMAND #{Formula["protobuf"].opt_bin/"protoc"}"

if OS.mac?
mapscript_rpath = rpath(source: prefix/Language::Python.site_packages(python3)/"mapscript")
# Install within our sandbox and add missing RPATH due to _mapscript.so not using CMake install()
Expand Down
16 changes: 12 additions & 4 deletions Formula/o/osm2pgrouting.rb
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
class Osm2pgrouting < Formula

Check notice on line 1 in Formula/o/osm2pgrouting.rb

View workflow job for this annotation

GitHub Actions / macOS 12-arm64

Installed previously built bottle for osm2pgrouting from

:29a039cc8ae (Merge 18211283664ba0e1efb4e059be600a01b2ec4f52 into 3b3b59ec5d9892c48870cfede7ef3731399b31ba, 2024-04-18)

Check notice on line 1 in Formula/o/osm2pgrouting.rb

View workflow job for this annotation

GitHub Actions / macOS 13-arm64

Installed previously built bottle for osm2pgrouting from

:29a039cc8ae (Merge 18211283664ba0e1efb4e059be600a01b2ec4f52 into 3b3b59ec5d9892c48870cfede7ef3731399b31ba, 2024-04-18)

Check notice on line 1 in Formula/o/osm2pgrouting.rb

View workflow job for this annotation

GitHub Actions / macOS 14-arm64

Installed previously built bottle for osm2pgrouting from

:29a039cc8ae (Merge 18211283664ba0e1efb4e059be600a01b2ec4f52 into 3b3b59ec5d9892c48870cfede7ef3731399b31ba, 2024-04-18)
desc "Import OSM data into pgRouting database"
homepage "https://pgrouting.org/docs/tools/osm2pgrouting.html"
url "https://github.com/pgRouting/osm2pgrouting/archive/refs/tags/v2.3.8.tar.gz"
sha256 "e3a58bcacf0c8811e0dcf3cf3791a4a7cc5ea2a901276133eacf227b30fd8355"
license "GPL-2.0-or-later"
revision 11
revision 12
head "https://github.com/pgRouting/osm2pgrouting.git", branch: "main"

bottle do
Expand All @@ -28,10 +28,18 @@
fails_with gcc: "5"

def install
mkdir "build" do
system "cmake", "..", *std_cmake_args
system "make", "install"
# Work around an Xcode 15 linker issue which causes linkage against LLVM's
# libunwind due to it being present in a library search path.
if DevelopmentTools.clang_build_version >= 1500
recursive_dependencies
.select { |d| d.name.match?(/^llvm(@\d+)?$/) }
.map { |llvm_dep| llvm_dep.to_formula.opt_lib }
.each { |llvm_lib| ENV.remove "HOMEBREW_LIBRARY_PATHS", llvm_lib }
end

system "cmake", "-S", ".", "-B", "build", *std_cmake_args
system "cmake", "--build", "build"
system "cmake", "--install", "build"
end

test do
Expand Down
19 changes: 16 additions & 3 deletions Formula/o/osmcoastline.rb
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
class Osmcoastline < Formula

Check notice on line 1 in Formula/o/osmcoastline.rb

View workflow job for this annotation

GitHub Actions / macOS 12-arm64

Installed previously built bottle for osmcoastline from

:21e8fb331f6 (Merge 834cdf47be46a9672276d860b1bbeab4b9522ecc into b295e40bded516437de651a8f8035a350ea77c83, 2024-04-18)

Check notice on line 1 in Formula/o/osmcoastline.rb

View workflow job for this annotation

GitHub Actions / macOS 13-arm64

Installed previously built bottle for osmcoastline from

:21e8fb331f6 (Merge 834cdf47be46a9672276d860b1bbeab4b9522ecc into b295e40bded516437de651a8f8035a350ea77c83, 2024-04-18)

Check notice on line 1 in Formula/o/osmcoastline.rb

View workflow job for this annotation

GitHub Actions / macOS 14-arm64

Installed previously built bottle for osmcoastline from

:21e8fb331f6 (Merge 834cdf47be46a9672276d860b1bbeab4b9522ecc into b295e40bded516437de651a8f8035a350ea77c83, 2024-04-18)
desc "Extracts coastline data from OpenStreetMap planet file"
homepage "https://osmcode.org/osmcoastline/"
url "https://github.com/osmcode/osmcoastline/archive/refs/tags/v2.4.0.tar.gz"
sha256 "2c1a28313ed19d6e2fb1cb01cde8f4f44ece378393993b0059f447c5fce11f50"
license "GPL-3.0-or-later"
revision 4
revision 5

bottle do
sha256 cellar: :any, arm64_sonoma: "7129acb1c9d8790b0fd50e7a6fca0cb9933d03f6ea56ca9ea455bf68a4d7959a"
Expand Down Expand Up @@ -35,9 +35,22 @@
end

def install
# Work around an Xcode 15 linker issue which causes linkage against LLVM's
# libunwind due to it being present in a library search path.
if DevelopmentTools.clang_build_version >= 1500
recursive_dependencies
.select { |d| d.name.match?(/^llvm(@\d+)?$/) }
.map { |llvm_dep| llvm_dep.to_formula.opt_lib }
.each { |llvm_lib| ENV.remove "HOMEBREW_LIBRARY_PATHS", llvm_lib }
end

protozero = Formula["libosmium"].opt_libexec/"include"
system "cmake", ".", "-DPROTOZERO_INCLUDE_DIR=#{protozero}", *std_cmake_args
system "make", "install"
args = %W[
-DPROTOZERO_INCLUDE_DIR=#{protozero}
]
system "cmake", "-S", ".", "-B", "build", *std_cmake_args, *args
system "cmake", "--build", "build"
system "cmake", "--install", "build"
end

test do
Expand Down
10 changes: 10 additions & 0 deletions Formula/p/pgrouting.rb
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
class Pgrouting < Formula

Check notice on line 1 in Formula/p/pgrouting.rb

View workflow job for this annotation

GitHub Actions / macOS 12-arm64

Installed previously built bottle for pgrouting from

:29a039cc8ae (Merge 18211283664ba0e1efb4e059be600a01b2ec4f52 into 3b3b59ec5d9892c48870cfede7ef3731399b31ba, 2024-04-18)

Check notice on line 1 in Formula/p/pgrouting.rb

View workflow job for this annotation

GitHub Actions / macOS 13-arm64

Installed previously built bottle for pgrouting from

:29a039cc8ae (Merge 18211283664ba0e1efb4e059be600a01b2ec4f52 into 3b3b59ec5d9892c48870cfede7ef3731399b31ba, 2024-04-18)

Check notice on line 1 in Formula/p/pgrouting.rb

View workflow job for this annotation

GitHub Actions / macOS 14-arm64

Installed previously built bottle for pgrouting from

:29a039cc8ae (Merge 18211283664ba0e1efb4e059be600a01b2ec4f52 into 3b3b59ec5d9892c48870cfede7ef3731399b31ba, 2024-04-18)

Check notice on line 1 in Formula/p/pgrouting.rb

View workflow job for this annotation

GitHub Actions / Linux

Installed previously built bottle for pgrouting from

:29a039cc8ae (Merge 18211283664ba0e1efb4e059be600a01b2ec4f52 into 3b3b59ec5d9892c48870cfede7ef3731399b31ba, 2024-04-18)

Check notice on line 1 in Formula/p/pgrouting.rb

View workflow job for this annotation

GitHub Actions / macOS 12-x86_64

Installed previously built bottle for pgrouting from

:29a039cc8ae (Merge 18211283664ba0e1efb4e059be600a01b2ec4f52 into 3b3b59ec5d9892c48870cfede7ef3731399b31ba, 2024-04-18)

Check notice on line 1 in Formula/p/pgrouting.rb

View workflow job for this annotation

GitHub Actions / macOS 13-x86_64

Installed previously built bottle for pgrouting from

:29a039cc8ae (Merge 18211283664ba0e1efb4e059be600a01b2ec4f52 into 3b3b59ec5d9892c48870cfede7ef3731399b31ba, 2024-04-18)
desc "Provides geospatial routing for PostGIS/PostgreSQL database"
homepage "https://pgrouting.org/"
url "https://github.com/pgRouting/pgrouting/releases/download/v3.6.2/pgrouting-3.6.2.tar.gz"
sha256 "f4a1ed79d6f714e52548eca3bb8e5593c6745f1bde92eb5fb858efd8984dffa2"
license "GPL-2.0-or-later"
revision 1
head "https://github.com/pgRouting/pgrouting.git", branch: "main"

livecheck do
Expand Down Expand Up @@ -33,6 +34,15 @@
end

def install
# Work around an Xcode 15 linker issue which causes linkage against LLVM's
# libunwind due to it being present in a library search path.
if DevelopmentTools.clang_build_version >= 1500
recursive_dependencies
.select { |d| d.name.match?(/^llvm(@\d+)?$/) }
.map { |llvm_dep| llvm_dep.to_formula.opt_lib }
.each { |llvm_lib| ENV.remove "HOMEBREW_LIBRARY_PATHS", llvm_lib }
end

mkdir "stage"
mkdir "build" do
system "cmake", "-DPOSTGRESQL_PG_CONFIG=#{postgresql.opt_bin}/pg_config", "..", *std_cmake_args
Expand Down
16 changes: 16 additions & 0 deletions Formula/p/postgis.rb
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
class Postgis < Formula

Check notice on line 1 in Formula/p/postgis.rb

View workflow job for this annotation

GitHub Actions / macOS 12-arm64

Installed previously built bottle for postgis from

:29a039cc8ae (Merge 18211283664ba0e1efb4e059be600a01b2ec4f52 into 3b3b59ec5d9892c48870cfede7ef3731399b31ba, 2024-04-18)

Check notice on line 1 in Formula/p/postgis.rb

View workflow job for this annotation

GitHub Actions / macOS 13-arm64

Installed previously built bottle for postgis from

:29a039cc8ae (Merge 18211283664ba0e1efb4e059be600a01b2ec4f52 into 3b3b59ec5d9892c48870cfede7ef3731399b31ba, 2024-04-18)

Check notice on line 1 in Formula/p/postgis.rb

View workflow job for this annotation

GitHub Actions / macOS 14-arm64

Installed previously built bottle for postgis from

:29a039cc8ae (Merge 18211283664ba0e1efb4e059be600a01b2ec4f52 into 3b3b59ec5d9892c48870cfede7ef3731399b31ba, 2024-04-18)

Check notice on line 1 in Formula/p/postgis.rb

View workflow job for this annotation

GitHub Actions / Linux

Installed previously built bottle for postgis from

:29a039cc8ae (Merge 18211283664ba0e1efb4e059be600a01b2ec4f52 into 3b3b59ec5d9892c48870cfede7ef3731399b31ba, 2024-04-18)

Check notice on line 1 in Formula/p/postgis.rb

View workflow job for this annotation

GitHub Actions / macOS 12-x86_64

Installed previously built bottle for postgis from

:29a039cc8ae (Merge 18211283664ba0e1efb4e059be600a01b2ec4f52 into 3b3b59ec5d9892c48870cfede7ef3731399b31ba, 2024-04-18)

Check notice on line 1 in Formula/p/postgis.rb

View workflow job for this annotation

GitHub Actions / macOS 13-x86_64

Installed previously built bottle for postgis from

:29a039cc8ae (Merge 18211283664ba0e1efb4e059be600a01b2ec4f52 into 3b3b59ec5d9892c48870cfede7ef3731399b31ba, 2024-04-18)
desc "Adds support for geographic objects to PostgreSQL"
homepage "https://postgis.net/"
url "https://download.osgeo.org/postgis/source/postgis-3.4.2.tar.gz"
sha256 "c8c874c00ba4a984a87030af6bf9544821502060ad473d5c96f1d4d0835c5892"
license "GPL-2.0-or-later"
revision 1

livecheck do
url "https://download.osgeo.org/postgis/source/"
Expand Down Expand Up @@ -47,11 +48,26 @@
end

def install
# Work around an Xcode 15 linker issue which causes linkage against LLVM's
# libunwind due to it being present in a library search path.
if DevelopmentTools.clang_build_version >= 1500
recursive_dependencies
.select { |d| d.name.match?(/^llvm(@\d+)?$/) }
.map { |llvm_dep| llvm_dep.to_formula.opt_lib }
.each { |llvm_lib| ENV.remove "HOMEBREW_LIBRARY_PATHS", llvm_lib }
end

ENV.deparallelize

# C++17 is required.
ENV.append "CXXFLAGS", "-std=c++17"

# Workaround for: Built-in generator --c_out specifies a maximum edition
# PROTO3 which is not the protoc maximum 2023.
# Remove when fixed in `protobuf-c`:
# https://github.com/protobuf-c/protobuf-c/pull/711
ENV["PROTOCC"] = Formula["protobuf"].opt_bin/"protoc"

args = [
"--with-projdir=#{Formula["proj"].opt_prefix}",
"--with-jsondir=#{Formula["json-c"].opt_prefix}",
Expand Down
11 changes: 10 additions & 1 deletion Formula/r/rtabmap.rb
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
url "https://github.com/introlab/rtabmap/archive/refs/tags/0.21.4.tar.gz"
sha256 "242f8da7c5d20f86a0399d6cfdd1a755e64e9117a9fa250ed591c12f38209157"
license "BSD-3-Clause"
revision 1
revision 2
head "https://github.com/introlab/rtabmap.git", branch: "master"

bottle do
Expand All @@ -25,7 +25,16 @@
depends_on "pcl"
depends_on "pdal"

def install

Check failure on line 28 in Formula/r/rtabmap.rb

View workflow job for this annotation

GitHub Actions / Linux

`brew install --verbose --build-bottle rtabmap` failed on Linux!

tar: llvm@17/17.0.6/lib/objects-Release: Cannot mkdir: No space left on device tar: llvm@17/17.0.6/lib/objects-Release/obj.MLIRCAPIMath: Cannot mkdir: No such file or directory tar: llvm@17/17.0.6/lib/objects-Release: Cannot mkdir: No space left on device tar: llvm@17/17.0.6/lib/objects-Release/obj.MLIRCAPIMath/Math.cpp.o: Cannot open: No such file or directory tar: llvm@17/17.0.6/lib/objects-Release: Cannot mkdir: No space left on device tar: llvm@17/17.0.6/lib/objects-Release/obj.MLIRCAPIMemRef: Cannot mkdir: No such file or directory tar: llvm@17/17.0.6/lib/objects-Release: Cannot mkdir: No space left on device tar: llvm@17/17.0.6/lib/objects-Release/obj.MLIRCAPIMemRef/MemRef.cpp.o: Cannot open: No such file or directory tar: llvm@17/17.0.6/lib/objects-Release: Cannot mkdir: No space left on device tar: llvm@17/17.0.6/lib/objects-Release/obj.MLIRCAPIPDL: Cannot mkdir: No such file or directory tar: llvm@17/17.0.6/lib/objects-Release: Cannot mkdir: No space left on device tar: llvm@17/17.0.6/lib/objects-Release/obj.MLIRCAPIPDL/PDL.cpp.o: Cannot open: No such file or directory tar: llvm@17/17.0.6/lib/objects-Release: Cannot mkdir: No space left on device tar: llvm@17/17.0.6/lib/objects-Release/obj.MLIRCAPIQuant: Cannot mkdir: No such file or directory tar: llvm@17/17.0.6/lib/objects-Release: Cannot mkdir: No space left on device tar: llvm@17/17.0.6/lib/objects-Release/obj.MLIRCAPIQuant/Quant.cpp.o: Cannot open: No such file or directory tar: llvm@17/17.0.6/lib/objects-Release: Cannot mkdir: No space left on device tar: llvm@17/17.0.6/lib/objects-Release/obj.MLIRCAPIRegisterEverything: Cannot mkdir: No such file or directory tar: llvm@17/17.0.6/lib/objects-Release: Cannot mkdir: No space left on device tar: llvm@17/17.0.6/lib/objects-Release/obj.MLIRCAPIRegisterEverything/RegisterEverything.cpp.o: Cannot open: No such file or directory tar: llvm@17/17.0.6/lib/objects-Release: Cannot mkdir: No space left on device tar: llvm@17/17.0.6/lib/objects-Release/obj.MLIRCAPISCF: Cannot mkdir: No such file or directory tar: llvm@17/17.0.6/lib/objects-Release: Cannot mkdir: No space left on device tar: llvm@17/17.0.6/lib/objects-Release/obj.MLIRCAPISCF/SCF.cpp.o: Cannot open: No such file or directory tar: llvm@17/17.0.6/lib/objects-Release: Cannot mkdir: No space left on device tar: llvm@17/17.0.6/lib/objects-Release/obj.MLIRCAPIShape: Cannot mkdir: No such file or directory tar: llvm@17/17.0.6/lib/objects-Release: Cannot mkdir: No space left on device tar: llvm@17/17.0.6/lib/objects-Release/obj.MLIRCAPIShape/Shape.cpp.o: Cannot open: No such file or directory tar: llvm@17/17.0.6/lib/objects-Release: Cannot mkdir: No space left on device tar: llvm@17/17.0.6/lib/objects-Release/obj.MLIRCAPISparseTensor: Cannot mkdir: No such file or directory tar: llvm@17/17.0.6/lib/objects-Release: Cannot mkdir: No space left on device tar: llvm@17/17.0.6/lib/objects-Release/obj.MLIRCAPISparseTensor/SparseTensor.cpp.o: Cannot open: No such file or directory tar: llvm@17/17.0.6/lib/objects-Release: Cannot mkdir: No space left on device tar: llvm@17/17.0.6/lib/objects-Release/obj.MLIRCAPISparseTensor/SparseTensorPasses.cpp.o: Cannot open: No such file or directory tar: llvm@17/17.0.6/lib/objects-Release: Cannot mkdir: No space left on device tar: llvm@17/17.0.6/lib/objects-Release/obj.MLIRCAPITensor: Cannot mkdir: No such file or directory tar: llvm@17/17.0.6/lib/objects-Release: Cannot mkdir: No space left on device tar: llvm@17/17.0.6/lib/objects-Release/obj.MLIRCAPITensor/Tensor.cpp.o: Cannot open: No such file or directory tar: llvm@17/17.0.6/lib/objects-Release: Cannot mkdir: No space left on device tar: llvm@17/17.0.6/lib/objects-Release/obj.MLIRCAPITransformDialect: Cannot mkdir: No such file or directory tar: llvm@17/17.0.6/lib/objects-Release: Cannot mkdir: No space left on device tar: llvm@17/17.0.6/lib/objects-Release/obj.MLIRCAPITransformDialect/Transform.cpp.o: Cannot open: No such file or directory tar: llvm@17/17.0.6/lib/objects-Release: Cannot mkdir: No space left on device tar: llvm@17/17.0.6/lib/objects-Release/obj.MLIRCAPITransform
# Work around an Xcode 15 linker issue which causes linkage against LLVM's
# libunwind due to it being present in a library search path.
if DevelopmentTools.clang_build_version >= 1500
recursive_dependencies
.select { |d| d.name.match?(/^llvm(@\d+)?$/) }
.map { |llvm_dep| llvm_dep.to_formula.opt_lib }
.each { |llvm_lib| ENV.remove "HOMEBREW_LIBRARY_PATHS", llvm_lib }
end

args = %W[
-DCMAKE_INSTALL_RPATH=#{rpath}
]
Expand Down
11 changes: 10 additions & 1 deletion Formula/s/spatialite-gui.rb
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
class SpatialiteGui < Formula

Check notice on line 1 in Formula/s/spatialite-gui.rb

View workflow job for this annotation

GitHub Actions / macOS 12-arm64

Installed previously built bottle for spatialite-gui from

:29a039cc8ae (Merge 18211283664ba0e1efb4e059be600a01b2ec4f52 into 3b3b59ec5d9892c48870cfede7ef3731399b31ba, 2024-04-18)

Check notice on line 1 in Formula/s/spatialite-gui.rb

View workflow job for this annotation

GitHub Actions / macOS 13-arm64

Installed previously built bottle for spatialite-gui from

:29a039cc8ae (Merge 18211283664ba0e1efb4e059be600a01b2ec4f52 into 3b3b59ec5d9892c48870cfede7ef3731399b31ba, 2024-04-18)

Check notice on line 1 in Formula/s/spatialite-gui.rb

View workflow job for this annotation

GitHub Actions / macOS 14-arm64

Installed previously built bottle for spatialite-gui from

:29a039cc8ae (Merge 18211283664ba0e1efb4e059be600a01b2ec4f52 into 3b3b59ec5d9892c48870cfede7ef3731399b31ba, 2024-04-18)
desc "GUI tool supporting SpatiaLite"
homepage "https://www.gaia-gis.it/fossil/spatialite_gui/index"
url "https://www.gaia-gis.it/gaia-sins/spatialite-gui-sources/spatialite_gui-2.1.0-beta1.tar.gz"
sha256 "ba48d96df18cebc3ff23f69797207ae1582cce62f4596b69bae300ca3c23db33"
license "GPL-3.0-or-later"
revision 4
revision 5

livecheck do
url "https://www.gaia-gis.it/gaia-sins/spatialite-gui-sources/"
Expand Down Expand Up @@ -46,6 +46,15 @@
uses_from_macos "zlib"

def install
# Work around an Xcode 15 linker issue which causes linkage against LLVM's
# libunwind due to it being present in a library search path.
if DevelopmentTools.clang_build_version >= 1500
recursive_dependencies
.select { |d| d.name.match?(/^llvm(@\d+)?$/) }
.map { |llvm_dep| llvm_dep.to_formula.opt_lib }
.each { |llvm_lib| ENV.remove "HOMEBREW_LIBRARY_PATHS", llvm_lib }
end

# Link flags for sqlite don't seem to get passed to make, which
# causes builds to fatally error out on linking.
# https://github.com/Homebrew/homebrew/issues/44003
Expand Down