diff options
| author | Danny Milosavljevic <dannym@friendly-machines.com> | 2025-10-20 08:25:07 +0000 |
|---|---|---|
| committer | Danny Milosavljevic <dannym@friendly-machines.com> | 2025-11-02 16:13:35 +0100 |
| commit | 335c424a3d4496907c756d3c3f4c5bf35d9580f9 (patch) | |
| tree | e870bcf562defdb87b84ecdca98c345c15af9232 /gnu/packages/patches/swift-corelibs-libdispatch-5.7.3-modulemap.patch | |
| parent | 3aa493477c9d271aeb8a6c75647a9dd00cbfb508 (diff) | |
gnu: Add swift-bootstrap.
* gnu/packages/swift.scm (swift-bootstrap): New variable.
(%swift-bootstrap-source): New variable.
(%swift-libdispatch-source): New variable.
* gnu/local.mk (dist_patch_DATA): Add swift-5.7.3-sdk-path.patch,
swift-5.7.3-sourcekit-rpath.patch,
swift-corelibs-libdispatch-5.6.3-lock-cpp.patch,
swift-corelibs-libdispatch-5.7.3-modulemap.patch.
* gnu/packages/patches/swift-5.7.3-sdk-path.patch: New file.
* gnu/packages/patches/swift-5.7.3-sourcekit-rpath.patch: New file.
* gnu/packages/patches/swift-corelibs-libdispatch-5.6.3-lock-cpp.patch: New file.
* gnu/packages/patches/swift-corelibs-libdispatch-5.7.3-modulemap.patch: New file.
Change-Id: Ibcab88d88be0cc9634f297d17174ca99060e4d98
Diffstat (limited to 'gnu/packages/patches/swift-corelibs-libdispatch-5.7.3-modulemap.patch')
| -rw-r--r-- | gnu/packages/patches/swift-corelibs-libdispatch-5.7.3-modulemap.patch | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/gnu/packages/patches/swift-corelibs-libdispatch-5.7.3-modulemap.patch b/gnu/packages/patches/swift-corelibs-libdispatch-5.7.3-modulemap.patch new file mode 100644 index 00000000000..6084a1cfdef --- /dev/null +++ b/gnu/packages/patches/swift-corelibs-libdispatch-5.7.3-modulemap.patch @@ -0,0 +1,50 @@ +Author: Danny Milosavljevic <dannym@friendly-machines.com> +Date: 2025-10-20 +Subject: Fix module.modulemap to use build directory instead of src directory + +Swift corelibs-libdispatch 5.7.3 tries to copy module.modulemap files into the +source directory, which fails when the source is in the read-only /gnu/store. +This patch changes the output paths to use PROJECT_BINARY_DIR instead. + +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -262,25 +262,29 @@ + + if(CMAKE_SYSTEM_NAME STREQUAL Darwin) + add_custom_command(OUTPUT +- "${PROJECT_SOURCE_DIR}/dispatch/module.modulemap" +- "${PROJECT_SOURCE_DIR}/private/module.modulemap" ++ "${PROJECT_BINARY_DIR}/dispatch/module.modulemap" ++ "${PROJECT_BINARY_DIR}/private/module.modulemap" + COMMAND +- ${CMAKE_COMMAND} -E copy_if_different "${PROJECT_SOURCE_DIR}/dispatch/darwin/module.modulemap" "${PROJECT_SOURCE_DIR}/dispatch/module.modulemap" ++ ${CMAKE_COMMAND} -E make_directory "${PROJECT_BINARY_DIR}/dispatch" "${PROJECT_BINARY_DIR}/private" + COMMAND +- ${CMAKE_COMMAND} -E copy_if_different "${PROJECT_SOURCE_DIR}/private/darwin/module.modulemap" "${PROJECT_SOURCE_DIR}/private/module.modulemap") ++ ${CMAKE_COMMAND} -E copy_if_different "${PROJECT_SOURCE_DIR}/dispatch/darwin/module.modulemap" "${PROJECT_BINARY_DIR}/dispatch/module.modulemap" ++ COMMAND ++ ${CMAKE_COMMAND} -E copy_if_different "${PROJECT_SOURCE_DIR}/private/darwin/module.modulemap" "${PROJECT_BINARY_DIR}/private/module.modulemap") + else() + add_custom_command(OUTPUT +- "${PROJECT_SOURCE_DIR}/dispatch/module.modulemap" +- "${PROJECT_SOURCE_DIR}/private/module.modulemap" ++ "${PROJECT_BINARY_DIR}/dispatch/module.modulemap" ++ "${PROJECT_BINARY_DIR}/private/module.modulemap" ++ COMMAND ++ ${CMAKE_COMMAND} -E make_directory "${PROJECT_BINARY_DIR}/dispatch" "${PROJECT_BINARY_DIR}/private" + COMMAND +- ${CMAKE_COMMAND} -E copy_if_different "${PROJECT_SOURCE_DIR}/dispatch/generic/module.modulemap" "${PROJECT_SOURCE_DIR}/dispatch/module.modulemap" ++ ${CMAKE_COMMAND} -E copy_if_different "${PROJECT_SOURCE_DIR}/dispatch/generic/module.modulemap" "${PROJECT_BINARY_DIR}/dispatch/module.modulemap" + COMMAND +- ${CMAKE_COMMAND} -E copy_if_different "${PROJECT_SOURCE_DIR}/private/generic/module.modulemap" "${PROJECT_SOURCE_DIR}/private/module.modulemap") ++ ${CMAKE_COMMAND} -E copy_if_different "${PROJECT_SOURCE_DIR}/private/generic/module.modulemap" "${PROJECT_BINARY_DIR}/private/module.modulemap") + endif() + add_custom_target(module-maps ALL + DEPENDS +- "${PROJECT_SOURCE_DIR}/dispatch/module.modulemap" +- "${PROJECT_SOURCE_DIR}/private/module.modulemap") ++ "${PROJECT_BINARY_DIR}/dispatch/module.modulemap" ++ "${PROJECT_BINARY_DIR}/private/module.modulemap") + + configure_file("${PROJECT_SOURCE_DIR}/cmake/config.h.in" + "${PROJECT_BINARY_DIR}/config/config_ac.h") |
