diff --git a/mingw-w64-xlsxio/0001-xlsxio-cmake-fix-install.patch b/mingw-w64-xlsxio/0001-xlsxio-cmake-fix-install.patch new file mode 100644 index 0000000000..ea96a3d8f4 --- /dev/null +++ b/mingw-w64-xlsxio/0001-xlsxio-cmake-fix-install.patch @@ -0,0 +1,29 @@ +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -218,7 +218,7 @@ + ) + INSTALL(EXPORT xlsxioTargets + NAMESPACE xlsxio:: +- DESTINATION cmake ++ DESTINATION lib/cmake + ) + FILE(WRITE "${CMAKE_CURRENT_BINARY_DIR}/xlsxio-config.cmake.in" + [[INCLUDE(CMakeFindDependencyMacro) +@@ -245,7 +245,7 @@ + INCLUDE("${CMAKE_CURRENT_LIST_DIR}/xlsxioTargets.cmake") + ]]) + CONFIGURE_FILE("${CMAKE_CURRENT_BINARY_DIR}/xlsxio-config.cmake.in" "${CMAKE_CURRENT_BINARY_DIR}/xlsxio-config.cmake" @ONLY) +-INSTALL(FILES "${CMAKE_CURRENT_BINARY_DIR}/xlsxio-config.cmake" DESTINATION cmake) ++INSTALL(FILES "${CMAKE_CURRENT_BINARY_DIR}/xlsxio-config.cmake" DESTINATION lib/cmake) + + INSTALL(TARGETS ${ALLTARGETS_EXE} + ARCHIVE DESTINATION lib +@@ -275,7 +275,7 @@ + STRING(REGEX REPLACE "\([^ ]*\)[/\\]lib([^ /\\.]*).[^ ]*" "-L\\1 -l\\2" XLSXIO_LDFLAGS "${XLSXIO_LDFLAGS}") + CONFIGURE_FILE(templateConfig.cmake.in "${CMAKE_CURRENT_BINARY_DIR}/${XLSXIO_NAME}Config.cmake" @ONLY) + CONFIGURE_FILE(templateConfigVersion.cmake.in "${CMAKE_CURRENT_BINARY_DIR}/${XLSXIO_NAME}ConfigVersion.cmake" @ONLY) +- INSTALL(FILES "${CMAKE_CURRENT_BINARY_DIR}/${XLSXIO_NAME}Config.cmake" "${CMAKE_CURRENT_BINARY_DIR}/${XLSXIO_NAME}ConfigVersion.cmake" DESTINATION cmake) ++ INSTALL(FILES "${CMAKE_CURRENT_BINARY_DIR}/${XLSXIO_NAME}Config.cmake" "${CMAKE_CURRENT_BINARY_DIR}/${XLSXIO_NAME}ConfigVersion.cmake" DESTINATION lib/cmake) + IF (BUILD_PC_FILES) + CONFIGURE_FILE(template.pc.in "${CMAKE_CURRENT_BINARY_DIR}/${XLSXIO_NAME}.pc" @ONLY) + INSTALL(FILES "${CMAKE_CURRENT_BINARY_DIR}/${XLSXIO_NAME}.pc" DESTINATION lib/pkgconfig) diff --git a/mingw-w64-xlsxio/PKGBUILD b/mingw-w64-xlsxio/PKGBUILD index ad326a9c3f..8bb8c101f9 100644 --- a/mingw-w64-xlsxio/PKGBUILD +++ b/mingw-w64-xlsxio/PKGBUILD @@ -3,40 +3,65 @@ _realname=xlsxio pkgbase=mingw-w64-${_realname} pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" -pkgver=0.2.34 +pkgver=0.2.35 pkgrel=1 pkgdesc="C library for reading and writing .xlsx files(mingw-w64)" arch=('any') mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clangarm64' 'clang32') url="https://github.com/brechtsanders/xlsxio" -license=("MIT") -makedepends=("${MINGW_PACKAGE_PREFIX}-cc" - "${MINGW_PACKAGE_PREFIX}-pkgconf" - "${MINGW_PACKAGE_PREFIX}-cmake" - "${MINGW_PACKAGE_PREFIX}-expat" - "${MINGW_PACKAGE_PREFIX}-libzip") -depends=("${MINGW_PACKAGE_PREFIX}-libzip" - "${MINGW_PACKAGE_PREFIX}-expat") -source=("https://github.com/brechtsanders/xlsxio/archive/${pkgver}.tar.gz") -sha256sums=('726e3bc3cf571ac20e5c39b1f192f3793d24ebfdeaadcd210de74aa1ec100bb6') +license=("spdx:MIT") +makedepends=( + "${MINGW_PACKAGE_PREFIX}-cc" + "${MINGW_PACKAGE_PREFIX}-cmake" + "${MINGW_PACKAGE_PREFIX}-ninja" + "${MINGW_PACKAGE_PREFIX}-pkgconf" +) +depends=( + "${MINGW_PACKAGE_PREFIX}-libzip" + "${MINGW_PACKAGE_PREFIX}-expat" +) +source=("https://github.com/brechtsanders/xlsxio/releases/download/${pkgver}/xlsxio-${pkgver}.tar.xz" + 0001-xlsxio-cmake-fix-install.patch) +sha256sums=('b42abf540449767832e285e79014cd2339a94613f7a63567c4118182798d55d3' + 'ad49faea2d5797ee77c0cbb0aedf565dc5a401cf0fe664a0fcad225103198673') + +prepare() { + cd "${_realname}-${pkgver}" + patch -p1 -i "${srcdir}/0001-xlsxio-cmake-fix-install.patch" +} build() { - mkdir -p "${srcdir}/build-${CARCH}" - cd "${srcdir}/build-${CARCH}" + declare -a _extra_config + if check_option "debug" "n"; then + _extra_config+=("-DCMAKE_BUILD_TYPE=Release") + else + _extra_config+=("-DCMAKE_BUILD_TYPE=Debug") + fi MSYS2_ARG_CONV_EXCL="-DCMAKE_INSTALL_PREFIX=" \ - cmake -G"MSYS Makefiles" \ - -DCMAKE_INSTALL_PREFIX=${MINGW_PREFIX} \ - -DWITH_LIBZIP=ON \ - -DBUILD_TOOLS=OFF \ - -DBUILD_EXAMPLES=OFF \ - ../${_realname}-${pkgver} + cmake \ + -GNinja \ + -DCMAKE_INSTALL_PREFIX="${MINGW_PREFIX}" \ + "${_extra_config[@]}" \ + -DBUILD_EXAMPLES=OFF \ + -DWITH_LIBZIP=ON \ + -S "${_realname}-${pkgver}" \ + -B "build-${MSYSTEM}" - make + cmake --build "build-${MSYSTEM}" } package() { - cd "${srcdir}/build-${CARCH}" - - make DESTDIR="${pkgdir}" WITH_LIBZIP=1 install + DESTDIR="${pkgdir}" cmake --install "build-${MSYSTEM}" + install -Dm644 "${srcdir}/${_realname}-${pkgver}/LICENSE.txt" "${pkgdir}${MINGW_PREFIX}/share/licenses/${_realname}/LICENSE.txt" + + local PREFIX_WIN=$(cygpath -wm ${MINGW_PREFIX}) + for pcfile in "${pkgdir}${MINGW_PREFIX}"/lib/pkgconfig/*.pc; do + sed -s "s|${PREFIX_WIN}|${MINGW_PREFIX}|g" -i "${pcfile}" + done + + for _f in "${pkgdir}${MINGW_PREFIX}"/lib/cmake/*.cmake; do + sed -e "s|${PREFIX_WIN}|\$\{_IMPORT_PREFIX\}|g" -i ${_f} + sed -e "s|${MINGW_PREFIX}|\$\{_IMPORT_PREFIX\}|g" -i ${_f} + done }