From 1ca835d388d33832e7dfa5e1a9f94f1efae263f7 Mon Sep 17 00:00:00 2001 From: Don Olmstead Date: Mon, 2 Dec 2024 12:00:20 -0800 Subject: [PATCH 1/2] [libxslt] Update to v1.1.42 Add any additional options to the feature listing. Update patches to apply to latest code. Add an additional patch to fix compatibility in package version file. Modify the xcb manifest to build libxslt with the tools option. --- ports/libxslt/fix-gcrypt-deps.patch | 10 ++++----- ports/libxslt/libexslt-pkgconfig.patch | 4 ++-- ports/libxslt/msvc-no-suffix.patch | 10 ++++----- ports/libxslt/portfile.cmake | 31 +++++++++++++++++++------- ports/libxslt/python3.patch | 6 ++--- ports/libxslt/skip-install-docs.patch | 8 ++++--- ports/libxslt/vcpkg.json | 17 +++++++++----- ports/xcb/vcpkg.json | 8 +++++-- 8 files changed, 60 insertions(+), 34 deletions(-) diff --git a/ports/libxslt/fix-gcrypt-deps.patch b/ports/libxslt/fix-gcrypt-deps.patch index 6d91a7248d4f7b..fc5b07c7e36cd5 100644 --- a/ports/libxslt/fix-gcrypt-deps.patch +++ b/ports/libxslt/fix-gcrypt-deps.patch @@ -1,8 +1,8 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index 6dc6501..d36a049 100644 +index fb352475..4113fbff 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -317,7 +317,9 @@ target_include_directories( +@@ -319,7 +319,9 @@ target_include_directories( if(LIBXSLT_WITH_CRYPTO AND NOT WIN32) target_link_libraries(LibExslt PRIVATE Gcrypt::Gcrypt) @@ -12,9 +12,9 @@ index 6dc6501..d36a049 100644 + string(APPEND EXSLT_PRIVATE_REQUIRES " libgcrypt") endif() - target_link_libraries(LibExslt PUBLIC LibXslt LibXml2::LibXml2) + if(UNIX) diff --git a/FindGcrypt.cmake b/FindGcrypt.cmake -index 781113d..a78fa84 100644 +index 781113d5..6f680beb 100644 --- a/FindGcrypt.cmake +++ b/FindGcrypt.cmake @@ -1,3 +1,20 @@ @@ -38,7 +38,7 @@ index 781113d..a78fa84 100644 include(FindPackageHandleStandardArgs) include(SelectLibraryConfigurations) -@@ -38,3 +53,4 @@ if(GCRYPT_FOUND AND NOT TARGET Gcrypt::Gcrypt) +@@ -38,3 +55,4 @@ if(GCRYPT_FOUND AND NOT TARGET Gcrypt::Gcrypt) INTERFACE_INCLUDE_DIRECTORIES "${GCRYPT_INCLUDE_DIRS}" ) endif() diff --git a/ports/libxslt/libexslt-pkgconfig.patch b/ports/libxslt/libexslt-pkgconfig.patch index b500a8108ca906..be4933faf75e33 100644 --- a/ports/libxslt/libexslt-pkgconfig.patch +++ b/ports/libxslt/libexslt-pkgconfig.patch @@ -1,5 +1,5 @@ diff --git a/libexslt.pc.in b/libexslt.pc.in -index 1d60563..50089e8 100644 +index f448bb83..791bcdda 100644 --- a/libexslt.pc.in +++ b/libexslt.pc.in @@ -7,7 +7,8 @@ includedir=@includedir@ @@ -9,6 +9,6 @@ index 1d60563..50089e8 100644 -Requires: libxml-2.0, libxslt +Requires: libxslt +Requires.private: @EXSLT_PRIVATE_REQUIRES@ - Cflags: @EXSLT_INCLUDEDIR@ + Cflags: @EXSLT_INCLUDEDIR@ @LIBEXSLT_CFLAGS@ Libs: @EXSLT_LIBDIR@ -lexslt Libs.private: @EXSLT_PRIVATE_LIBS@ diff --git a/ports/libxslt/msvc-no-suffix.patch b/ports/libxslt/msvc-no-suffix.patch index 243687fc579404..421e933bdb8118 100644 --- a/ports/libxslt/msvc-no-suffix.patch +++ b/ports/libxslt/msvc-no-suffix.patch @@ -1,9 +1,9 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index d8679fb..6dc6501 100644 +index fb352475..a4bb094e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -244,7 +249,7 @@ set_target_properties( - VERSION ${PROJECT_VERSION} +@@ -247,7 +247,7 @@ set_target_properties( + SOVERSION ${LIBXSLT_MAJOR_VERSION} ) -if(MSVC) @@ -11,8 +11,8 @@ index d8679fb..6dc6501 100644 if(BUILD_SHARED_LIBS) set_target_properties( LibXslt -@@ -327,7 +332,7 @@ set_target_properties( - VERSION ${LIBEXSLT_VERSION} +@@ -340,7 +340,7 @@ set_target_properties( + SOVERSION ${LIBEXSLT_MAJOR_VERSION} ) -if(MSVC) diff --git a/ports/libxslt/portfile.cmake b/ports/libxslt/portfile.cmake index 4ba16ebef54419..9aca6f0abf0ad7 100644 --- a/ports/libxslt/portfile.cmake +++ b/ports/libxslt/portfile.cmake @@ -1,8 +1,14 @@ +vcpkg_download_distfile(FIX_PACKAGE_VERSION_PATCH + URLS https://github.com/GNOME/libxslt/commit/7504032097712714aafe309d54f2ad57e3364bac.diff?full_index=1 + FILENAME Fix-package-version.patch + SHA512 972921decf374fe8a4cad4e09890ce0d5961ee05e3c52d117c09fe8bde1a4540ebe212e767f8a95d281945240f29a90fd15e37104f45d47440032737d41dc8d0 +) + vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO GNOME/libxslt - REF v1.1.37 - SHA512 4e7a57cbe02ceea34404213a88bdbb63a756edfab63063ce3979b670816ae3f6fb3637a49508204e6e46b936628e0a3b8b77e9201530a1184225bd68da403b25 + REF "v${VERSION}" + SHA512 0974419e0eae3cd4070ca52341b3df2d1b873b30d0ede2143274fcd0ef8653d5ac55b5f0faad56d8cf60443fefb01c5f5ddecff4b7638ba28e450e88f1c3d3c4 HEAD_REF master PATCHES python3.patch @@ -10,12 +16,17 @@ vcpkg_from_github( libexslt-pkgconfig.patch fix-gcrypt-deps.patch skip-install-docs.patch + ${FIX_PACKAGE_VERSION_PATCH} ) vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS FEATURES "python" LIBXSLT_WITH_PYTHON "crypto" LIBXSLT_WITH_CRYPTO + "plugins" LIBXSLT_WITH_MODULES + "profiler" LIBXSLT_WITH_PROFILER + "thread" LIBXSLT_WITH_THREADS + "tools" LIBXSLT_WITH_PROGRAMS ) if("python" IN_LIST FEATURES) vcpkg_find_acquire_program(PYTHON3) @@ -28,16 +39,13 @@ vcpkg_cmake_configure( OPTIONS ${FEATURE_OPTIONS} -DLIBXSLT_WITH_TESTS:BOOL=OFF - -DLIBXSLT_WITH_THREADS:BOOL=ON OPTIONS_RELEASE ${FEATURE_OPTIONS_RELEASE} -DLIBXSLT_WITH_XSLT_DEBUG:BOOL=OFF - -DLIBXSLT_WITH_MEM_DEBUG:BOOL=OFF -DLIBXSLT_WITH_DEBUGGER:BOOL=OFF OPTIONS_DEBUG ${FEATURE_OPTIONS_DEBUG} -DLIBXSLT_WITH_XSLT_DEBUG:BOOL=ON - -DLIBXSLT_WITH_MEM_DEBUG:BOOL=ON -DLIBXSLT_WITH_DEBUGGER:BOOL=ON ) vcpkg_cmake_install() @@ -56,7 +64,9 @@ if(NOT VCPKG_BUILD_TYPE) vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/tools/libxslt/debug/xslt-config" [[${prefix}/include]] [[${prefix}/../include]]) endif() vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/libxslt/xsltconfig.h" "#define LIBXSLT_DEFAULT_PLUGINS_PATH() \"${CURRENT_INSTALLED_DIR}/lib/libxslt-plugins\"" "" IGNORE_UNCHANGED) -vcpkg_copy_tools(TOOL_NAMES xsltproc AUTO_CLEAN) +if("tools" IN_LIST FEATURES) + vcpkg_copy_tools(TOOL_NAMES xsltproc AUTO_CLEAN) +endif() vcpkg_fixup_pkgconfig() vcpkg_copy_pdbs() @@ -72,12 +82,17 @@ if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW) if(NOT VCPKG_BUILD_TYPE) vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/libxslt.pc" " -lxslt" " -llibxslt") vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/libexslt.pc" " -lexslt" " -llibexslt") - endif() + endif() endif() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") +if (VCPKG_LIBRARY_LINKAGE STREQUAL "static") + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/bin) +endif() + file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake" DESTINATION "${CURRENT_PACKAGES_DIR}/share/libxslt") file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") -file(INSTALL "${SOURCE_PATH}/Copyright" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/Copyright") diff --git a/ports/libxslt/python3.patch b/ports/libxslt/python3.patch index fc86d1fc56e8cb..bca1d1dcbd7fe4 100644 --- a/ports/libxslt/python3.patch +++ b/ports/libxslt/python3.patch @@ -1,10 +1,10 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index d8679fb..6dc6501 100644 +index fb352475..75bd44a5 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -35,6 +35,11 @@ if(LIBXSLT_WITH_PYTHON) +@@ -63,6 +63,11 @@ if(LIBXSLT_WITH_PYTHON) check_symbol_exists(F_GETFL fcntl.h HAVE_F_GETFL) - if(HAVE_UNISTD_H AND HAVE_F_GETFL) + if(WIN32 OR (HAVE_UNISTD_H AND HAVE_F_GETFL)) find_package(Python COMPONENTS Interpreter Development REQUIRED) + elseif(1) + find_package(Python3 COMPONENTS Interpreter Development REQUIRED) diff --git a/ports/libxslt/skip-install-docs.patch b/ports/libxslt/skip-install-docs.patch index a5d59f3254031b..5d11ea8e41d767 100644 --- a/ports/libxslt/skip-install-docs.patch +++ b/ports/libxslt/skip-install-docs.patch @@ -1,15 +1,17 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index 6dc6501..d36a049 100644 +index fb352475..23fe90f6 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -432,10 +434,12 @@ if(LIBXSLT_WITH_PYTHON) +@@ -474,12 +474,14 @@ if(LIBXSLT_WITH_PYTHON) install(FILES ${CMAKE_CURRENT_BINARY_DIR}/libxslt.py DESTINATION ${LIBXSLT_PYTHON_INSTALL_DIR} COMPONENT runtime) endif() +if(VCPKG_INSTALL_DOCS) install(FILES libexslt/libexslt.3 DESTINATION ${CMAKE_INSTALL_MANDIR}/man3 COMPONENT documentation) install(FILES libxslt/libxslt.3 DESTINATION ${CMAKE_INSTALL_MANDIR}/man3 COMPONENT documentation) - install(FILES doc/xsltproc.1 DESTINATION ${CMAKE_INSTALL_MANDIR}/man1 COMPONENT documentation) + if(LIBXSLT_WITH_PROGRAMS) + install(FILES doc/xsltproc.1 DESTINATION ${CMAKE_INSTALL_MANDIR}/man1 COMPONENT documentation) + endif() install(DIRECTORY doc/ DESTINATION ${CMAKE_INSTALL_DATADIR}/doc/libxslt COMPONENT documentation PATTERN Makefile.* EXCLUDE) +endif() diff --git a/ports/libxslt/vcpkg.json b/ports/libxslt/vcpkg.json index 745f1957f1b616..879c7e82508dee 100644 --- a/ports/libxslt/vcpkg.json +++ b/ports/libxslt/vcpkg.json @@ -1,7 +1,6 @@ { "name": "libxslt", - "version": "1.1.37", - "port-version": 4, + "version": "1.1.42", "description": "Libxslt is a XSLT library implemented in C for XSLT 1.0 and most of EXSLT", "homepage": "https://github.com/GNOME/libxslt", "license": null, @@ -21,7 +20,7 @@ } ], "default-features": [ - "default-features" + "thread" ], "features": { "crypto": { @@ -31,16 +30,22 @@ "libgcrypt" ] }, - "default-features": { - "description": "default features for the current platform" - }, "plugins": { "description": "(deprecated)", "supports": "!static" }, + "profiler": { + "description": "Build with profiling support" + }, "python": { "description": "Builds with python support", "supports": "!windows" + }, + "thread": { + "description": "Enable multi-threading support" + }, + "tools": { + "description": "Build the utilities" } } } diff --git a/ports/xcb/vcpkg.json b/ports/xcb/vcpkg.json index 127acfbc63f65f..3551f9d26c8ae7 100644 --- a/ports/xcb/vcpkg.json +++ b/ports/xcb/vcpkg.json @@ -1,7 +1,7 @@ { "name": "xcb", "version": "1.14", - "port-version": 2, + "port-version": 3, "description": "C interface to the X Window System protocol, which replaces the traditional Xlib interface.", "homepage": "https://xcb.freedesktop.org/", "license": "X11-distribute-modifications-variant", @@ -11,7 +11,11 @@ "libxdmcp", { "name": "libxslt", - "host": true + "host": true, + "default-features": false, + "features": [ + "tools" + ] }, "pthread", "pthread-stubs", From 206d51dae9d4a672502102553069503795d2544e Mon Sep 17 00:00:00 2001 From: Don Olmstead Date: Mon, 2 Dec 2024 14:21:33 -0800 Subject: [PATCH 2/2] [libxslt] Update to v1.1.42 --- versions/baseline.json | 6 +++--- versions/l-/libxslt.json | 5 +++++ versions/x-/xcb.json | 5 +++++ 3 files changed, 13 insertions(+), 3 deletions(-) diff --git a/versions/baseline.json b/versions/baseline.json index 4a976b0e093034..b06b9a9213d996 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -5481,8 +5481,8 @@ "port-version": 0 }, "libxslt": { - "baseline": "1.1.37", - "port-version": 4 + "baseline": "1.1.42", + "port-version": 0 }, "libxt": { "baseline": "1.3.0", @@ -9778,7 +9778,7 @@ }, "xcb": { "baseline": "1.14", - "port-version": 2 + "port-version": 3 }, "xcb-image": { "baseline": "0.4.1", diff --git a/versions/l-/libxslt.json b/versions/l-/libxslt.json index 5e33c379862273..b437bd15674470 100644 --- a/versions/l-/libxslt.json +++ b/versions/l-/libxslt.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "8bd8a88f0bf38f7e3b7dda75aa505d413a496836", + "version": "1.1.42", + "port-version": 0 + }, { "git-tree": "75b0e06db8a91635c6383e8d7be0f96222aa3cbd", "version": "1.1.37", diff --git a/versions/x-/xcb.json b/versions/x-/xcb.json index 83758af6432e2e..561bf0a86a6f01 100644 --- a/versions/x-/xcb.json +++ b/versions/x-/xcb.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "c22c4b92b4143d3aeb4d3ecbe82d9c03ca7acece", + "version": "1.14", + "port-version": 3 + }, { "git-tree": "409e8b6e371d2541c6330d13034e44bcaa4e10e8", "version": "1.14",