Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
43 changes: 18 additions & 25 deletions Formula/e/edencommon.rb
Original file line number Diff line number Diff line change
@@ -1,45 +1,40 @@
class Edencommon < Formula
desc "Shared library for Watchman and Eden projects"
homepage "https://github.com/facebookexperimental/edencommon"
url "https://github.com/facebookexperimental/edencommon/archive/refs/tags/v2026.01.12.00.tar.gz"
sha256 "3b60d7dd939c5844b1758a843a37f42cfafda37536a4396eb3876cee70a844bd"
url "https://github.com/facebookexperimental/edencommon/archive/refs/tags/v2026.03.02.00.tar.gz"
sha256 "9d8a1cee7f5e95b11f67b7b553940b9e578eb699a33c5a75427b45b8172f8f4c"
license "MIT"
revision 1
head "https://github.com/facebookexperimental/edencommon.git", branch: "main"

bottle do
sha256 arm64_tahoe: "ff942a530e45fb9f08635976fab75a51051f3a4df8b0bc40c95905d912bf69c5"
sha256 arm64_sequoia: "422a39ee2415e2b4be9469c4a3f58c4d814aa24746d78b26286d540f64889ab6"
sha256 arm64_sonoma: "49e25ce35016c1b3f96cc5357a4214fbe642e7ffb384486d2e339ca0652330a0"
sha256 cellar: :any, sonoma: "f4b2e78e855180b5839b6a9d942f88c55de21d7a682714848a69b393672fb729"
sha256 cellar: :any_skip_relocation, arm64_linux: "a7f762271950bf4220b9d53e9531f1b6c46af0fc792d9691960b7234de1ecaec"
sha256 cellar: :any_skip_relocation, x86_64_linux: "0269aa5d2ab3b0d02cfca1d218696098348194210562eb58184af593900ff264"
sha256 arm64_tahoe: "abd328dfd04b46269c8e404d8e9f6bd720705a489487a0f25c8eef41f56d9825"
sha256 arm64_sequoia: "1f6e1f4e6bf1f05569c8398aeef0596103ed76935024241afd9fb1b97e3afecb"
sha256 arm64_sonoma: "74dbb01b47aca8a2443c70bf08c8c712ab22acd3884748b6bcf6dc7af3da56c5"
sha256 cellar: :any, sonoma: "83bd7d7e0459170538faa0541adb701ed8d5a57ce1e3d91073cd275f0fdbc8c5"
sha256 cellar: :any_skip_relocation, arm64_linux: "83debbe350ce8cfd46306cfbdae093a3577376cad4bd2ea765ef2ac5aaaaa360"
sha256 cellar: :any_skip_relocation, x86_64_linux: "cf63051a85ada65134b878f448f782aa079f07eefabc10936347b4572973467b"
end

depends_on "cmake" => :build
depends_on "fbthrift" => :build
depends_on "gflags" => :build
depends_on "glog" => :build
Comment thread
bevanjkay marked this conversation as resolved.
depends_on "googletest" => :build
depends_on "mvfst" => :build
depends_on "wangle" => :build
depends_on "boost"
depends_on "fb303"
depends_on "fbthrift"
depends_on "fmt"
depends_on "folly"
depends_on "gflags"
depends_on "glog"
depends_on "openssl@3"

def install
# Workaround to build with glog >= 0.7 until fixed upstream
inreplace "CMakeLists.txt", /^find_package\(Glog MODULE /, "# \\0"

# Fix "Process terminated due to timeout" by allowing a longer timeout.
inreplace buildpath.glob("eden/common/{os,utils}/test/CMakeLists.txt"),
/gtest_discover_tests\((.*)\)/,
"gtest_discover_tests(\\1 DISCOVERY_TIMEOUT 60)"
inreplace "eden/common/utils/test/CMakeLists.txt",
/gtest_discover_tests\((.*)\)/,
"gtest_discover_tests(\\1 DISCOVERY_TIMEOUT 60)"
# Related: https://gitlab.kitware.com/cmake/cmake/-/issues/26773
test_cmakelists = %w[
eden/common/os/test/CMakeLists.txt
eden/common/utils/test/CMakeLists.txt
]
inreplace test_cmakelists, /(gtest_discover_tests\(.*)\)/, "\\1 DISCOVERY_TIMEOUT 60)"

# Avoid having to build FBThrift py library
inreplace "CMakeLists.txt", "COMPONENTS cpp2 py)", "COMPONENTS cpp2)"
Expand All @@ -49,9 +44,7 @@ def install
-DBUILD_SHARED_LIBS=ON
-DCMAKE_INSTALL_RPATH=#{rpath}
]
linker_flags = %w[-undefined dynamic_lookup -dead_strip_dylibs]
linker_flags << "-ld_classic" if OS.mac? && MacOS.version == :ventura
shared_args << "-DCMAKE_SHARED_LINKER_FLAGS=-Wl,#{linker_flags.join(",")}" if OS.mac?
shared_args << "-DCMAKE_SHARED_LINKER_FLAGS=-Wl,-undefined,dynamic_lookup -Wl,-dead_strip_dylibs" if OS.mac?

system "cmake", "-S", ".", "-B", "_build", *shared_args, *std_cmake_args
system "cmake", "--build", "_build"
Expand Down
23 changes: 9 additions & 14 deletions Formula/f/fb303.rb
Original file line number Diff line number Diff line change
@@ -1,35 +1,30 @@
class Fb303 < Formula
desc "Thrift functions for querying information from a service"
homepage "https://github.com/facebook/fb303"
url "https://github.com/facebook/fb303/archive/refs/tags/v2026.01.12.00.tar.gz"
sha256 "e455652551702d040b9ba7c9e3991f556c851fc513fd28b039a56127a1190dd5"
url "https://github.com/facebook/fb303/archive/refs/tags/v2026.03.02.00.tar.gz"
sha256 "194c458684b68cc51aec63b44fd7bd41f3260390fa181cc35ece07988a4d37f4"
license "Apache-2.0"
revision 1
head "https://github.com/facebook/fb303.git", branch: "main"

bottle do
sha256 arm64_tahoe: "a2ca11b554ea9b7110a5a897a78efe7c908e816d7ac7055d683378629239a331"
sha256 arm64_sequoia: "af12a8e70f3c967fcf69ced337f68a5965f1aa22194f0af40e548d2db06a6ca1"
sha256 arm64_sonoma: "0390e77b75ddbccf590874c04c36e434554aea4a6e7cfde26bf3feadb13e3ae4"
sha256 cellar: :any, sonoma: "5b266a720a5708b3676e4789ecc490ce3eea7b455a46fea786168325f67d3628"
sha256 cellar: :any_skip_relocation, arm64_linux: "a48765f312636e7109a0d8db061767d0805a7ffbd112ec2dddf5e025d6807995"
sha256 cellar: :any_skip_relocation, x86_64_linux: "1fc0acecdb8da793d006c74a8b8202282beff9f5d85fb80e2974394350a5d764"
sha256 arm64_tahoe: "cd3e338c6362d32d5d3c72c9c03feb6a78b418538ca91491d7e7e15aec44d398"
sha256 arm64_sequoia: "cb0104b9d7db2343afe11d1d9081650306fddd35dc2ec81340b93c40c6597bd9"
sha256 arm64_sonoma: "5ad7f1d83b6ac5c81f4f5b84c61ad861fa1303f1ebf18d9f3da579ee24c13fe9"
sha256 cellar: :any, sonoma: "9b3b7f7b3d29f8fd16cf21b328ebb6501f02ea5d69492e484c99f92fcfddaeeb"
sha256 cellar: :any_skip_relocation, arm64_linux: "6fb7641331aeab62e009b5be31fabaaac0f41948529aed129a121acbf634d18f"
sha256 cellar: :any_skip_relocation, x86_64_linux: "ca440f3fc101e8d966857dca4199d0775fd8b07276edd7dab6e204e8434dae63"
end

depends_on "cmake" => [:build, :test]
depends_on "fizz" => [:build, :test]
depends_on "mvfst" => [:build, :test]
depends_on "fbthrift"
depends_on "fizz"
depends_on "fmt"
depends_on "folly"
depends_on "gflags"
depends_on "glog"
depends_on "openssl@3"

def install
# Workaround to build with glog >= 0.7 until fixed upstream
inreplace "CMakeLists.txt", /^find_package\(Glog MODULE /, "# \\0"

shared_args = ["-DBUILD_SHARED_LIBS=ON", "-DCMAKE_INSTALL_RPATH=#{rpath}"]
shared_args << "-DCMAKE_SHARED_LINKER_FLAGS=-Wl,-dead_strip_dylibs" if OS.mac?

Expand Down
22 changes: 10 additions & 12 deletions Formula/f/fbthrift.rb
Original file line number Diff line number Diff line change
@@ -1,25 +1,24 @@
class Fbthrift < Formula
desc "Facebook's branch of Apache Thrift, including a new C++ server"
homepage "https://github.com/facebook/fbthrift"
url "https://github.com/facebook/fbthrift/archive/refs/tags/v2026.01.12.00.tar.gz"
sha256 "6601fd362b96160ac9c37c3184153f605e4b09fbc54f3d474cf5cc926a3d62de"
url "https://github.com/facebook/fbthrift/archive/refs/tags/v2026.03.02.00.tar.gz"
sha256 "666184a82c151b373e313de5d9a673de40ff0dc02ed2018f48cd1d68762771b7"
license "Apache-2.0"
revision 1
head "https://github.com/facebook/fbthrift.git", branch: "main"

bottle do
rebuild 1
sha256 cellar: :any, arm64_tahoe: "f136b31674b82b47aff7794c165390da31d9ca42c54b3d4298c459ded8bdb028"
sha256 cellar: :any, arm64_sequoia: "e6714731357eecc01079dc715a6443b2aad8be219506d42bdb5587cc6c0f65fc"
sha256 cellar: :any, arm64_sonoma: "b67e3f1bcf63e2d691a34028e4cce8a014a5c3517788d59fa223d1d13de267cc"
sha256 cellar: :any, sonoma: "07d365f2daf208bb44e41ae03b69204d820684e0fe18f129696e5c75c815c760"
sha256 cellar: :any_skip_relocation, arm64_linux: "34804d936b450fc20820db783992c8b188a9e0dbaec05b46e2e021766c069caa"
sha256 cellar: :any_skip_relocation, x86_64_linux: "6b455f3610ea9d15687037e6e6cae87a7fdfafad586891205b331143075a44a1"
sha256 cellar: :any, arm64_tahoe: "d437a24fa480e1e0e89bf172e9c434e93fcb77361a5a77d589729919e04b678b"
sha256 cellar: :any, arm64_sequoia: "ed7a0d89afd7125b94ce1a266a6c4defd691df73f05b764eda2d53563b9dc930"
sha256 cellar: :any, arm64_sonoma: "b51c944cdfefdc932f6f727a47527dc4cb52c483332f7897dcc3ab0cc9d06e56"
sha256 cellar: :any, sonoma: "8ebf32162778438f4115c6602dfb2e4d641a479ae5be4834144ce78884d0d0d9"
sha256 cellar: :any_skip_relocation, arm64_linux: "8bc97ee4462d8fe026f69b25cf86e5b85e6c9341d7c46952ada3ae7cf5097e61"
sha256 cellar: :any_skip_relocation, x86_64_linux: "6d805f28d18b4ce66a2c1617ed232a8b712ee3601c255b558d58f7fee9ce9015"
end

depends_on "bison" => :build # Needs Bison 3.1+
depends_on "cmake" => [:build, :test]
depends_on "mvfst" => [:build, :test]
depends_on "zstd" => :build
depends_on "double-conversion"
depends_on "fizz"
depends_on "fmt"
Expand All @@ -29,7 +28,6 @@ class Fbthrift < Formula
depends_on "openssl@3"
depends_on "wangle"
depends_on "xxhash"
depends_on "zstd"

uses_from_macos "flex" => :build
uses_from_macos "python" => :build
Expand Down Expand Up @@ -97,7 +95,7 @@ def install
# Test CMake package to make sure required dependencies without linkage are kept,
# Link to `FBThrift::transport` as it uses path to `zstd` shared library
(testpath/"CMakeLists.txt").write <<~CMAKE
cmake_minimum_required(VERSION 3.5)
cmake_minimum_required(VERSION 4.0)
project(test LANGUAGES CXX)

list(APPEND CMAKE_MODULE_PATH "#{Formula["fizz"].opt_libexec}/cmake")
Expand Down
34 changes: 18 additions & 16 deletions Formula/f/fizz.rb
Original file line number Diff line number Diff line change
@@ -1,28 +1,25 @@
class Fizz < Formula
desc "C++14 implementation of the TLS-1.3 standard"
homepage "https://github.com/facebookincubator/fizz"
url "https://github.com/facebookincubator/fizz/archive/refs/tags/v2026.01.12.00.tar.gz"
sha256 "b7ae5196273553ee2d04830120830c1f1604b9e96d78db9b58c2ef2b753580d2"
url "https://github.com/facebookincubator/fizz/archive/refs/tags/v2026.03.02.00.tar.gz"
sha256 "f5756c8a869ecbff50cc720816bb6c7f99b61b0581edcef0fad7f0b0cb98c3d8"
license "BSD-3-Clause"
revision 1
head "https://github.com/facebookincubator/fizz.git", branch: "main"

bottle do
rebuild 1
sha256 arm64_tahoe: "3b68298e4e692d3843e33e8ac6971c31240816f8ed311ca98e316efe6bd50b8f"
sha256 arm64_sequoia: "64459d8d7d0b99f29b30300da69e928f0c4c864e55d5441e68adc9bef987c950"
sha256 arm64_sonoma: "b6cf0e4ef50e5045d2da714b425dcf69c276e1b168de9f5b67833de86228f4d7"
sha256 cellar: :any, sonoma: "1070c33027f2c7da503094c5c1dba18db152dba7e2cf6d8acc478df460c5169b"
sha256 cellar: :any_skip_relocation, arm64_linux: "6e5b6644bc69f603b7e1172f9d4a10620dbb5ea7a510f32d36f7be7d3a9a1be4"
sha256 cellar: :any_skip_relocation, x86_64_linux: "231db179b8fa8cd68f86dca39b477856661cbc82ae92a9b23346d157d4d7be71"
sha256 cellar: :any, arm64_tahoe: "eb24e819647f5aaded1a91814887d01b5bdb3be414603ec6c99056be38e1d6b0"
sha256 cellar: :any, arm64_sequoia: "6bd918cdd70d8cee264199ab0245dfea13ae0da8f2241fdc39ea67c31d39b364"
sha256 cellar: :any, arm64_sonoma: "57c607e49d0efa177055fe845e660f15d465fecd86628c03ccce6c1caa7860d5"
sha256 cellar: :any, sonoma: "d48ffb5c509b64da0ed6a5e3472aa0905d7a689975aedace40281131e9e5564d"
sha256 cellar: :any_skip_relocation, arm64_linux: "c3c3028892d712072a4f76343b64e970c80cfc9fe8077c073fef4ecbaf3e954a"
sha256 cellar: :any_skip_relocation, x86_64_linux: "170389a657e7116f2e346bb5c22e537a9ec6b1287f21428a5b4d2a9d6a47b11a"
end

depends_on "cmake" => [:build, :test]
depends_on "gflags" => :build
depends_on "libevent" => :build
depends_on "double-conversion"
depends_on "fmt"
depends_on "folly"
depends_on "gflags"
depends_on "glog"
depends_on "libsodium"
depends_on "openssl@3"
Expand All @@ -33,12 +30,17 @@ class Fizz < Formula
end

def install
args = ["-DBUILD_TESTS=OFF", "-DBUILD_SHARED_LIBS=ON", "-DCMAKE_INSTALL_RPATH=#{rpath}"]
args = %W[
-DBUILD_EXAMPLES=OFF
-DBUILD_TESTS=OFF
-DBUILD_SHARED_LIBS=ON
-DCMAKE_INSTALL_RPATH=#{rpath}
]
if OS.mac?
# Prevent indirect linkage with boost and snappy.
args += [
"-DCMAKE_EXE_LINKER_FLAGS=-Wl,-dead_strip_dylibs",
"-DCMAKE_SHARED_LINKER_FLAGS=-Wl,-dead_strip_dylibs",
args += %w[
-DCMAKE_EXE_LINKER_FLAGS=-Wl,-dead_strip_dylibs
-DCMAKE_SHARED_LINKER_FLAGS=-Wl,-dead_strip_dylibs
]
end
system "cmake", "-S", "fizz", "-B", "build", *args, *std_cmake_args
Expand Down
84 changes: 40 additions & 44 deletions Formula/f/folly.rb
Original file line number Diff line number Diff line change
@@ -1,20 +1,18 @@
class Folly < Formula
desc "Collection of reusable C++ library artifacts developed at Facebook"
homepage "https://github.com/facebook/folly"
url "https://github.com/facebook/folly/archive/refs/tags/v2026.01.12.00.tar.gz"
sha256 "4b694698c773a3236d6379316f67872db77070d56ea256bec5759964712f9c34"
url "https://github.com/facebook/folly/archive/refs/tags/v2026.03.02.00.tar.gz"
sha256 "f2a9bbd4bd36256d4554f9917fcefa9ec356cec637d2a743e01a6a1d569224dc"
license "Apache-2.0"
revision 1
head "https://github.com/facebook/folly.git", branch: "main"

bottle do
rebuild 1
sha256 cellar: :any, arm64_tahoe: "e89c848f5ecc2b582cd6f0de58c6408060632a29ee7908eba2a95370888dd4b2"
sha256 cellar: :any, arm64_sequoia: "a3a9644c73a7d11089769aca129156f1622bf2a69fae833f8ce4c4c54d0cb7fb"
sha256 cellar: :any, arm64_sonoma: "c060c7012cd759ba23000fef82d5ce4ead9dd767df8427f2e58cb2779d126c24"
sha256 cellar: :any, sonoma: "30a872cf363d30f97c1d7a5fb76b292f3876cafce2e17c4a0eeae4ba49b9f9ee"
sha256 cellar: :any_skip_relocation, arm64_linux: "c7956a6a6fc872211b52e4f9833e92c90fbf9e475ee167997ad3366605c982dd"
sha256 cellar: :any_skip_relocation, x86_64_linux: "3e01ad159525b43279d1ec39d2340d5ddf6e78acb4c6a542f5d7a6bf310d0407"
sha256 cellar: :any, arm64_tahoe: "1cb23b2dda767c57c67f9af304c8b024f2e20915899f67a337babe2adcd6c439"
sha256 cellar: :any, arm64_sequoia: "4fa29e77619fb5cc9e7254e153bf33286facdd664055ea6a086f8dba10126d4f"
sha256 cellar: :any, arm64_sonoma: "c6229c9457a9a12dd26b3ffee0bd6ad11b82a9ce98c0f253684946cbebcf0d76"
sha256 cellar: :any, sonoma: "1bb078819c030ca11558a371a4a256d75937ad8633fbdf55d831f4df8506794a"
sha256 cellar: :any_skip_relocation, arm64_linux: "f8887b0f37d7b75d7e0a92b07f3d23afdc742edd62c5562033e37b068bc43888"
sha256 cellar: :any_skip_relocation, x86_64_linux: "bd64c8ea8cecfe6f2787fb9885d862efca2827f427a38bc93ee8f00d9eb47fad"
end

depends_on "cmake" => :build
Expand Down Expand Up @@ -52,15 +50,12 @@ class Folly < Formula
EOS
end

# Workaround to build with glog >= 0.7
# ref: https://github.com/facebook/folly/issues/2171
# ref: https://github.com/facebook/folly/pull/2320
# ref: https://github.com/facebook/folly/pull/2474
# Workaround for arm64 Linux error on duplicate symbols
# Based on https://github.com/facebook/folly/pull/2562
patch :DATA

def install
args = %W[
-DCMAKE_LIBRARY_ARCHITECTURE=#{Hardware::CPU.arch}
args = %w[
-DFOLLY_USE_JEMALLOC=OFF
]

Expand All @@ -79,9 +74,6 @@ def install
end

test do
# Force use of Clang rather than LLVM Clang
ENV.clang if OS.mac?

(testpath/"test.cc").write <<~CPP
#include <folly/FBVector.h>
int main() {
Expand All @@ -94,36 +86,40 @@ def install
return 0;
}
CPP
system ENV.cxx, "-std=c++17", "test.cc", "-I#{include}", "-L#{lib}",
"-lfolly", "-o", "test"
system ENV.cxx, "-std=c++17", "test.cc", "-I#{include}", "-L#{lib}", "-lfolly", "-o", "test"
system "./test"
end
end

__END__
diff --git a/CMake/folly-config.cmake.in b/CMake/folly-config.cmake.in
index 957ae5c56..fe811d7d9 100644
--- a/CMake/folly-config.cmake.in
+++ b/CMake/folly-config.cmake.in
@@ -30,6 +30,7 @@ set(FOLLY_LIBRARIES Folly::folly)
diff --git a/folly/external/aor/CMakeLists.txt b/folly/external/aor/CMakeLists.txt
index e07e58745..1429f54e9 100644
--- a/folly/external/aor/CMakeLists.txt
+++ b/folly/external/aor/CMakeLists.txt
@@ -20,6 +20,10 @@
# Linux ELF directives (.size, etc.) that Darwin's assembler doesn't support
if(IS_AARCH64_ARCH)

# Find folly's dependencies
find_dependency(fmt)
+find_dependency(glog CONFIG)
+if(BUILD_SHARED_LIBS)
+ set(CMAKE_ASM_CREATE_SHARED_LIBRARY ${CMAKE_C_CREATE_SHARED_LIBRARY})
+endif()
+
folly_add_library(
NAME memcpy_aarch64
SRCS
@@ -34,6 +38,7 @@ folly_add_library(

set(Boost_USE_STATIC_LIBS "@FOLLY_BOOST_LINK_STATIC@")
find_package(Boost 1.69.0 REQUIRED
diff --git a/CMake/folly-deps.cmake b/CMake/folly-deps.cmake
index 2ca5cfec7..a284a91fe 100644
--- a/CMake/folly-deps.cmake
+++ b/CMake/folly-deps.cmake
@@ -62,7 +62,8 @@ if(LIBGFLAGS_FOUND)
set(FOLLY_LIBGFLAGS_INCLUDE ${LIBGFLAGS_INCLUDE_DIR})
endif()
folly_add_library(
NAME memcpy_aarch64-use
+ EXCLUDE_FROM_MONOLITH
SRCS
memcpy-advsimd.S
memcpy-armv8.S
@@ -58,6 +63,7 @@ folly_add_library(

-find_package(Glog MODULE)
+find_package(GLOG NAMES glog CONFIG REQUIRED)
+set(GLOG_LIBRARY glog::glog)
set(FOLLY_HAVE_LIBGLOG ${GLOG_FOUND})
list(APPEND FOLLY_LINK_LIBRARIES ${GLOG_LIBRARY})
list(APPEND FOLLY_INCLUDE_DIRECTORIES ${GLOG_INCLUDE_DIR})
folly_add_library(
NAME memset_aarch64-use
+ EXCLUDE_FROM_MONOLITH
SRCS
memset-advsimd.S
memset-mops.S
Loading
Loading