diff --git a/builtins/cfitsio/CMakeLists.txt b/builtins/cfitsio/CMakeLists.txt index f179721885b27..37a42d1c0056e 100644 --- a/builtins/cfitsio/CMakeLists.txt +++ b/builtins/cfitsio/CMakeLists.txt @@ -26,6 +26,13 @@ if(WIN32) set(patch_args --ignore-whitespace) endif() +if(NOT EXISTS "${CFITSIO_PREFIX}/src/BUILTIN_CFITSIO/._patched") + set(CFITSIO_PATCH_COMMAND PATCH_COMMAND git init COMMAND git apply ${patch_args} + ${CMAKE_CURRENT_SOURCE_DIR}/cfitsio-no-find-zlib.diff + ${CMAKE_CURRENT_SOURCE_DIR}/no-fortran-wrapper.diff + ${CMAKE_CURRENT_SOURCE_DIR}/cfitsio-marker.diff) +endif() + ExternalProject_Add( BUILTIN_CFITSIO PREFIX ${CFITSIO_PREFIX} @@ -43,12 +50,10 @@ ExternalProject_Add( -DZLIB_INCLUDE_DIR=${ZLIB_INCLUDE_DIRS} -DZLIB_LIBRARIES=$ # Skip the find_package(ZLIB REQUIRED), because we feed CFITSIO our own ZLIB flags. - PATCH_COMMAND git apply ${patch_args} - ${CMAKE_CURRENT_SOURCE_DIR}/cfitsio-no-find-zlib.diff - ${CMAKE_CURRENT_SOURCE_DIR}/no-fortran-wrapper.diff + ${CFITSIO_PATCH_COMMAND} BUILD_COMMAND ${CMAKE_COMMAND} --build . ${CFITSIO_BUILD_COMMAND_FLAGS} INSTALL_COMMAND ${CMAKE_COMMAND} --build . ${CFITSIO_BUILD_COMMAND_FLAGS} --target install - LOG_DOWNLOAD 1 LOG_CONFIGURE 1 LOG_BUILD 1 LOG_INSTALL 1 LOG_OUTPUT_ON_FAILURE 1 + LOG_PATCH 1 LOG_DOWNLOAD 1 LOG_CONFIGURE 1 LOG_BUILD 1 LOG_INSTALL 1 LOG_OUTPUT_ON_FAILURE 1 BUILD_BYPRODUCTS ${CFITSIO_LIBRARIES} TIMEOUT 600 ) diff --git a/builtins/cfitsio/cfitsio-marker.diff b/builtins/cfitsio/cfitsio-marker.diff new file mode 100644 index 0000000000000..6be2f6ccec01a --- /dev/null +++ b/builtins/cfitsio/cfitsio-marker.diff @@ -0,0 +1,4 @@ +--- /dev/null 2026-03-12 08:23:04 ++++ ._patched 2026-04-28 08:20:11 +@@ -0,0 +1,1 @@ ++cfitsio has been patched diff --git a/builtins/gl2ps/CMakeLists.txt b/builtins/gl2ps/CMakeLists.txt index 5ab968966276b..72ee0381c450d 100644 --- a/builtins/gl2ps/CMakeLists.txt +++ b/builtins/gl2ps/CMakeLists.txt @@ -10,7 +10,7 @@ set(ROOT_GL2PS_VERSION 1.4.2) set(ROOT_GL2PS_HASH "8d1c00c1018f96b4b97655482e57dcb0ce42ae2f1d349cd6d4191e7848d9ffe9") # Backport fix for static Win32 having being overwritten by shared lib: https://gitlab.onelab.info/gl2ps/gl2ps/-/work_items/30 # We use all seven commits between 1.4.2 and before bump to 1.4.3 -set(ROOT_GL2PS_PATCH_FILE ${CMAKE_CURRENT_SOURCE_DIR}/v142_post_tag_fixes.patch) +set(ROOT_GL2PS_PATCH_FILES ${CMAKE_CURRENT_SOURCE_DIR}/v142_post_tag_fixes.patch ${CMAKE_CURRENT_SOURCE_DIR}/gl2ps-marker.patch) set(ROOT_GL2PS_PREFIX ${CMAKE_BINARY_DIR}/builtins/GL2PS-prefix) @@ -29,12 +29,17 @@ if(WIN32) set(patch_args --ignore-whitespace) endif() +# check if the patch has already been applied +if(NOT EXISTS "${ROOT_GL2PS_PREFIX}/src/BUILTIN_GL2PS/._patched") + set(GL2PS_PATCH_COMMAND PATCH_COMMAND git init COMMAND git apply ${patch_args} ${ROOT_GL2PS_PATCH_FILES}) +endif() + ExternalProject_Add( BUILTIN_GL2PS PREFIX ${ROOT_GL2PS_PREFIX} URL ${lcgpackages}/gl2ps-${ROOT_GL2PS_VERSION}.tgz URL_HASH SHA256=${ROOT_GL2PS_HASH} - PATCH_COMMAND git apply ${patch_args} ${ROOT_GL2PS_PATCH_FILE} + ${GL2PS_PATCH_COMMAND} CMAKE_ARGS -G ${CMAKE_GENERATOR} -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} -DCMAKE_INSTALL_PREFIX= @@ -46,11 +51,7 @@ ExternalProject_Add( -DBUILD_SHARED_LIBS=OFF BUILD_COMMAND ${CMAKE_COMMAND} --build . ${ROOT_GL2PS_BUILD_COMMAND_FLAGS} INSTALL_COMMAND ${CMAKE_COMMAND} --build . ${ROOT_GL2PS_BUILD_COMMAND_FLAGS} --target install - LOG_DOWNLOAD 1 - LOG_CONFIGURE 1 - LOG_BUILD 1 - LOG_INSTALL 1 - LOG_OUTPUT_ON_FAILURE 1 + LOG_PATCH 1 LOG_DOWNLOAD 1 LOG_CONFIGURE 1 LOG_BUILD 1 LOG_INSTALL 1 LOG_OUTPUT_ON_FAILURE 1 BUILD_BYPRODUCTS ${ROOT_GL2PS_LIBRARY} TIMEOUT 600) diff --git a/builtins/gl2ps/gl2ps-marker.patch b/builtins/gl2ps/gl2ps-marker.patch new file mode 100644 index 0000000000000..44b7174ea80ff --- /dev/null +++ b/builtins/gl2ps/gl2ps-marker.patch @@ -0,0 +1,4 @@ +--- /dev/null 2026-03-12 08:23:04 ++++ ._patched 2026-04-28 08:20:11 +@@ -0,0 +1,1 @@ ++gl2ps has been patched diff --git a/builtins/libgif/CMakeLists.txt b/builtins/libgif/CMakeLists.txt index 48a2ed37254b3..a9ad0531f7c18 100644 --- a/builtins/libgif/CMakeLists.txt +++ b/builtins/libgif/CMakeLists.txt @@ -28,12 +28,17 @@ if(WIN32) set(patch_args --ignore-whitespace) endif() +# check if the patch has already been applied +if(NOT EXISTS "${ROOT_LIBGIF_PREFIX}/src/BUILTIN_LIBGIF/CMakeLists.txt") + set(LIBGIF_PATCH_COMMAND PATCH_COMMAND git init COMMAND git apply ${patch_args} ${ROOT_LIBGIF_PATCH_FILE}) +endif() + ExternalProject_Add( BUILTIN_LIBGIF PREFIX ${ROOT_LIBGIF_PREFIX} URL ${lcgpackages}/giflib-${ROOT_LIBGIF_VERSION}.tar.gz URL_HASH SHA256=${ROOT_LIBGIF_HASH} - PATCH_COMMAND git apply ${patch_args} ${ROOT_LIBGIF_PATCH_FILE} + ${LIBGIF_PATCH_COMMAND} CMAKE_ARGS -G ${CMAKE_GENERATOR} -DCMAKE_POLICY_VERSION_MINIMUM=3.5 -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} @@ -43,7 +48,7 @@ ExternalProject_Add( -DCMAKE_C_VISIBILITY_PRESET=hidden BUILD_COMMAND ${CMAKE_COMMAND} --build . ${ROOT_LIBGIF_BUILD_COMMAND_FLAGS} INSTALL_COMMAND ${CMAKE_COMMAND} --build . ${ROOT_LIBGIF_BUILD_COMMAND_FLAGS} --target install - LOG_CONFIGURE 1 LOG_BUILD 1 LOG_INSTALL 1 LOG_OUTPUT_ON_FAILURE 1 + LOG_PATCH 1 LOG_CONFIGURE 1 LOG_BUILD 1 LOG_INSTALL 1 LOG_OUTPUT_ON_FAILURE 1 BUILD_BYPRODUCTS ${ROOT_LIBGIF_LIBRARY} TIMEOUT 600 )