gentoo-ebuilds/dev-cpp/folly/files/folly-2025.04.14.00-CMake-Avoid-finding-liburing.patch
sin-ack 8ac2ad8883
dev-cpp/folly: add IUSE io-uring
There are three different problems being addressed here:

1. Recent Folly versions depend on liburing features that have not yet
   been released.
2. Folly has no build system configuration option to disable io_uring
   support.
3. Folly's CMake build system will unconditionally add liburing as a
   library to link against, which downstream Facebook libraries rely on.

The third one creates an implicit dependency between Folly and liburing
which means if liburing gets depcleaned or otherwise unmerged, other
Facebook packages will fail to build.

We solve this by conditionally patching out io_uring support based on
USE=io-uring and having a (currently technically invalid) dependency
on the yet-unreleased liburing-2.10, which will make it automagically
start working once we do have that release in ::gentoo.

Ref: https://github.com/facebook/folly/issues/2420
Bug: https://bugs.gentoo.org/954335
Signed-off-by: sin-ack <sin-ack@protonmail.com>
Part-of: https://github.com/gentoo/gentoo/pull/41734
Signed-off-by: Sam James <sam@gentoo.org>
2025-04-25 00:31:44 +01:00

30 lines
1.1 KiB
Diff

From a0d86ed3bc2150ddfad50ab1b2eb09bea7a277d2 Mon Sep 17 00:00:00 2001
From: sin-ack <sin-ack@protonmail.com>
Date: Thu, 24 Apr 2025 20:59:06 +0000
Subject: [PATCH] CMake: Avoid finding liburing
Otherwise, Folly will unconditionally add it to the list of libraries to
link even if io_uring support is otherwise disabled, creating an
implicit dependency on it that can't be tracked by package managers.
---
CMake/folly-deps.cmake | 4 ----
1 file changed, 4 deletions(-)
diff --git a/CMake/folly-deps.cmake b/CMake/folly-deps.cmake
index 6ce4c679a..b1e20a901 100644
--- a/CMake/folly-deps.cmake
+++ b/CMake/folly-deps.cmake
@@ -139,10 +139,6 @@ find_package(LibAIO)
list(APPEND FOLLY_LINK_LIBRARIES ${LIBAIO_LIBRARIES})
list(APPEND FOLLY_INCLUDE_DIRECTORIES ${LIBAIO_INCLUDE_DIRS})
-find_package(LibUring)
-list(APPEND FOLLY_LINK_LIBRARIES ${LIBURING_LIBRARIES})
-list(APPEND FOLLY_INCLUDE_DIRECTORIES ${LIBURING_INCLUDE_DIRS})
-
find_package(Libsodium)
list(APPEND FOLLY_LINK_LIBRARIES ${LIBSODIUM_LIBRARIES})
list(APPEND FOLLY_INCLUDE_DIRECTORIES ${LIBSODIUM_INCLUDE_DIRS})
--
2.49.0