From b1a2c78f42913e8dea0577b3a8a7814d3d026504 Mon Sep 17 00:00:00 2001 From: Scott M Anderson Date: Fri, 22 May 2026 11:37:59 -0600 Subject: [PATCH 1/5] upstream workflows, on: workflow_dispatch --- .github/workflows/cmake.yml | 2 +- .github/workflows/configure.yml | 2 +- .github/workflows/fuzz.yml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/cmake.yml b/.github/workflows/cmake.yml index 5409195c9..edd83a2f6 100644 --- a/.github/workflows/cmake.yml +++ b/.github/workflows/cmake.yml @@ -1,5 +1,5 @@ name: CMake -on: [push, pull_request] +on: [workflow_dispatch] jobs: ci-cmake: name: ${{ matrix.name }} diff --git a/.github/workflows/configure.yml b/.github/workflows/configure.yml index b9162b2da..4fd51848b 100644 --- a/.github/workflows/configure.yml +++ b/.github/workflows/configure.yml @@ -1,5 +1,5 @@ name: Configure -on: [push, pull_request] +on: [workflow_dispatch] jobs: ci-configure: name: ${{ matrix.name }} diff --git a/.github/workflows/fuzz.yml b/.github/workflows/fuzz.yml index b065d09fd..3c4dc9ebd 100644 --- a/.github/workflows/fuzz.yml +++ b/.github/workflows/fuzz.yml @@ -1,5 +1,5 @@ name: OSS-Fuzz -on: [pull_request] +on: [workflow_dispatch] jobs: Fuzzing: runs-on: ubuntu-latest From 67532b576aed3b4f03aff82cea31881d3ed83c96 Mon Sep 17 00:00:00 2001 From: Scott M Anderson Date: Fri, 22 May 2026 11:40:18 -0600 Subject: [PATCH 2/5] gitignore: add externpro ignores --- .gitignore | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.gitignore b/.gitignore index 8d069ed38..93d4e2b97 100644 --- a/.gitignore +++ b/.gitignore @@ -49,3 +49,8 @@ user.bazelrc # MODULE.bazel.lock is ignored for now as per this recommendation: # https://github.com/bazelbuild/bazel/issues/20369 MODULE.bazel.lock + +# externpro +.env +_bld*/ +docker-compose.override.yml From 0fb535a1be78842d7e770141bddf59cddd813312 Mon Sep 17 00:00:00 2001 From: Scott M Anderson Date: Fri, 22 May 2026 15:58:12 -0600 Subject: [PATCH 3/5] cmake: xpExternPackage, externpro-ready --- CMakeLists.txt | 54 ++++++++++++++++++++++++++++++++++++------- CMakePresetsBase.json | 4 ++-- 2 files changed, 48 insertions(+), 10 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index e103c409a..1ad531c8b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.12...3.31) +cmake_minimum_required(VERSION 3.12...4.3) project( zlib @@ -39,10 +39,12 @@ include(CheckFunctionExists) include(CheckIncludeFile) include(CMakePackageConfigHelpers) include(CheckTypeSize) -include(CPack) include(GNUInstallDirs) +if(NOT COMMAND xpExternPackage) +include(CPack) set(CPACK_INCLUDED TRUE) +endif() if(NOT ZLIB_CONF_WRITTEN) set(Z_PREFIX ${ZLIB_PREFIX}) @@ -208,7 +210,15 @@ if(ZLIB_BUILD_STATIC) zlibstatic PUBLIC $ $ - $) + $ # include + $) # include + if(COMMAND xpExternPackage AND HAVE_OFF64_T) + set(publicDef PUBLIC _LARGEFILE64_SOURCE=1) + elseif(COMMAND xpExternPackage) + set(publicDef) + else() + set(publicDef PUBLIC $<$:_LARGEFILE64_SOURCE=1>) + endif() target_compile_definitions( zlibstatic PRIVATE ZLIB_BUILD @@ -216,9 +226,12 @@ if(ZLIB_BUILD_STATIC) $<$:HAVE_HIDDEN> $<$:_CRT_SECURE_NO_DEPRECATE> $<$:_CRT_NONSTDC_NO_DEPRECATE> - PUBLIC $<$:_LARGEFILE64_SOURCE=1>) + ${publicDef}) + if(NOT COMMAND xpExternPackage) + set(exportName EXPORT_NAME ZLIBSTATIC) + endif() set_target_properties( - zlibstatic PROPERTIES EXPORT_NAME ZLIBSTATIC OUTPUT_NAME + zlibstatic PROPERTIES ${exportName} OUTPUT_NAME z${zlib_static_suffix}) endif(ZLIB_BUILD_STATIC) @@ -255,11 +268,32 @@ if(ZLIB_INSTALL) RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}") + if(COMMAND xpExternPackage) + string(JOIN "\n" ALIASES + "if(NOT TARGET ZLIB::ZLIB)" + " add_library(ZLIB::ZLIB ALIAS ${PROJECT_NAME}::zlibstatic)" + "endif()" + "" + ) + xpExternPackage(EXPORT zlibStaticExport TARGETS_FILE ZLIB-static + LIBRARIES zlibstatic DEFAULT_TARGETS zlibstatic + CREATE_ALIASES PKG_CMAKE_USEXT + BASE v${PROJECT_VERSION} XPDIFF "patch" DESC "${PROJECT_DESCRIPTION}" + WEB "${PROJECT_HOMEPAGE_URL} 'zlib website'" UPSTREAM "github.com/madler/zlib" + LICENSE "[Zlib](https://zlib.net/zlib_license.html 'zlib/libpng license, see https://en.wikipedia.org/wiki/Zlib_License')" + ) + set(CMAKE_NAMESPACE ${PROJECT_NAME}) + set(CMAKE_OPT_INSTALL FALSE) + elseif(NOT DEFINED CMAKE_INSTALL_CMAKEDIR) + set(CMAKE_INSTALL_CMAKEDIR ${CMAKE_INSTALL_LIBDIR}/cmake/zlib) + set(CMAKE_NAMESPACE ZLIB) + set(CMAKE_OPT_INSTALL TRUE) + endif() install( EXPORT zlibStaticExport FILE ZLIB-static.cmake - NAMESPACE ZLIB:: - DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/zlib) + NAMESPACE ${CMAKE_NAMESPACE}:: + DESTINATION ${CMAKE_INSTALL_CMAKEDIR}) endif(ZLIB_BUILD_STATIC) configure_package_config_file( @@ -272,13 +306,15 @@ if(ZLIB_INSTALL) VERSION "${zlib_VERSION}" COMPATIBILITY AnyNewerVersion) + if(CMAKE_OPT_INSTALL) install(FILES ${zlib_BINARY_DIR}/ZLIBConfig.cmake ${zlib_BINARY_DIR}/ZLIBConfigVersion.cmake DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/zlib) + endif() # CMAKE_OPT_INSTALL install( FILES ${ZLIB_PUBLIC_HDRS} COMPONENT Development - DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}") + DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/${PROJECT_NAME}") install( FILES zlib.3 COMPONENT Docs @@ -293,10 +329,12 @@ if(ZLIB_INSTALL) doc/txtvsbin.txt COMPONENT Docs DESTINATION "${CMAKE_INSTALL_DOCDIR}/zlib") + if(CMAKE_OPT_INSTALL) install( FILES ${ZLIB_PC} COMPONENT Development DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig") + endif() # CMAKE_OPT_INSTALL endif(ZLIB_INSTALL) # ============================================================================ diff --git a/CMakePresetsBase.json b/CMakePresetsBase.json index 885f01ffd..f3e345fb5 100644 --- a/CMakePresetsBase.json +++ b/CMakePresetsBase.json @@ -6,8 +6,8 @@ "hidden": true, "binaryDir": "${sourceDir}/_bld-${presetName}", "cacheVariables": { - "SKIP_INSTALL_SHARED_LIBRARIES": "ON", - "SKIP_INSTALL_FILES": "ON", + "ZLIB_BUILD_SHARED": "OFF", + "ZLIB_BUILD_TESTING": "OFF", "CMAKE_EXPERIMENTAL_GENERATE_SBOM": "ca494ed3-b261-4205-a01f-603c95e4cae0" } } From 3e4e9d772dc0a276d075ac522a7c99f7c10a94ff Mon Sep 17 00:00:00 2001 From: Scott M Anderson Date: Fri, 22 May 2026 16:08:44 -0600 Subject: [PATCH 4/5] update .github/release-tag.json --- .github/release-tag.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/release-tag.json b/.github/release-tag.json index 6b67347d7..31bd8b24d 100644 --- a/.github/release-tag.json +++ b/.github/release-tag.json @@ -1,4 +1,4 @@ { - "message": "xpro version 1.3.1.5 tag", - "tag": "xpv1.3.1.5" + "message": "xpro version 1.3.2.1 tag", + "tag": "xpv1.3.2.1" } From 9e1861d50967964758519514c0f872b9b623791f Mon Sep 17 00:00:00 2001 From: Scott M Anderson Date: Fri, 22 May 2026 16:16:15 -0600 Subject: [PATCH 5/5] upstream workflows, on: workflow_dispatch --- .github/workflows/c-std.yml | 2 -- .github/workflows/contribs.yml | 2 +- .github/workflows/msys-cygwin.yml | 2 +- .github/workflows/others.yml | 2 +- 4 files changed, 3 insertions(+), 5 deletions(-) diff --git a/.github/workflows/c-std.yml b/.github/workflows/c-std.yml index 91b262b5c..7f6a6015c 100644 --- a/.github/workflows/c-std.yml +++ b/.github/workflows/c-std.yml @@ -5,8 +5,6 @@ name: C Standard on: workflow_dispatch: - push: - pull_request: jobs: diff --git a/.github/workflows/contribs.yml b/.github/workflows/contribs.yml index c26a9ef59..5c9ae6a8b 100644 --- a/.github/workflows/contribs.yml +++ b/.github/workflows/contribs.yml @@ -1,5 +1,5 @@ name: contribs -on: [push, pull_request] +on: [workflow_dispatch] jobs: ci-cmake: name: ${{ matrix.name }} diff --git a/.github/workflows/msys-cygwin.yml b/.github/workflows/msys-cygwin.yml index d58e4887f..7bd2dfeb1 100644 --- a/.github/workflows/msys-cygwin.yml +++ b/.github/workflows/msys-cygwin.yml @@ -1,6 +1,6 @@ name: mingw/cygwin -on: [push, pull_request] +on: [workflow_dispatch] jobs: MSys: diff --git a/.github/workflows/others.yml b/.github/workflows/others.yml index d7b40ec00..0c6c920aa 100644 --- a/.github/workflows/others.yml +++ b/.github/workflows/others.yml @@ -1,6 +1,6 @@ name: anyVM-OSes -on: [push, pull_request] +on: [workflow_dispatch] jobs: