mirror of
https://github.com/gentoo-mirror/guru.git
synced 2026-07-22 13:33:32 -04:00
dev-lang/swift: fix building when dev-libs/libdispatch is present
Swift currently fails to build if `dev-libs/libdispatch` is installed because it globally installs private `libdispatch` headers which get unexpectedly picked up during the Swift build. Since the headers are not expected to be present when building Swift on non-Darwin platforms, the check for the header can be patched out. Signed-off-by: Itai Ferber <itai@itaiferber.net>
This commit is contained in:
@@ -0,0 +1,23 @@
|
||||
# `DispatchGlobalExecutor` checks for the presence of `dispatch/private.h` for
|
||||
# certain low-level libdispatch functionality, and because the header is
|
||||
# normally only available on Darwin platforms (it is never installed as part of
|
||||
# a normal Swift build on any platform), makes certain assumptions about
|
||||
# symbols available there. However, `dev-libs/libdispatch` explicitly installs
|
||||
# private headers system-wide for `gnustep-base/libobjc2`, and those get picked
|
||||
# up during the Swift build. Because of the structure of the header on Linux,
|
||||
# anyone who has `dev-libs/libdispatch` installed will fail to build.
|
||||
|
||||
--- a/swift/stdlib/public/Concurrency/DispatchGlobalExecutor.cpp
|
||||
+++ b/swift/stdlib/public/Concurrency/DispatchGlobalExecutor.cpp
|
||||
@@ -46,11 +46,6 @@
|
||||
#endif
|
||||
#endif
|
||||
|
||||
-#if __has_include(<dispatch/private.h>)
|
||||
-#include <dispatch/private.h>
|
||||
-#define SWIFT_CONCURRENCY_HAS_DISPATCH_PRIVATE 1
|
||||
-#endif
|
||||
-
|
||||
#include "Error.h"
|
||||
#include "ExecutorImpl.h"
|
||||
#include "TaskPrivate.h"
|
||||
Reference in New Issue
Block a user