diff --git a/mingw-w64-cjson/001-fix-cmake-files.patch b/mingw-w64-cjson/001-fix-cmake-files.patch new file mode 100644 index 0000000000..6ba24dbd59 --- /dev/null +++ b/mingw-w64-cjson/001-fix-cmake-files.patch @@ -0,0 +1,98 @@ +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -146,25 +146,25 @@ + configure_file("${CMAKE_CURRENT_SOURCE_DIR}/library_config/libcjson.pc.in" + "${CMAKE_CURRENT_BINARY_DIR}/libcjson.pc" @ONLY) + +-install(FILES cJSON.h DESTINATION "${CMAKE_INSTALL_FULL_INCLUDEDIR}/cjson") +-install (FILES "${CMAKE_CURRENT_BINARY_DIR}/libcjson.pc" DESTINATION "${CMAKE_INSTALL_FULL_LIBDIR}/pkgconfig") ++install(FILES cJSON.h DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/cjson") ++install (FILES "${CMAKE_CURRENT_BINARY_DIR}/libcjson.pc" DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig") + install(TARGETS "${CJSON_LIB}" + EXPORT "${CJSON_LIB}" +- ARCHIVE DESTINATION "${CMAKE_INSTALL_FULL_LIBDIR}" +- LIBRARY DESTINATION "${CMAKE_INSTALL_FULL_LIBDIR}" +- RUNTIME DESTINATION "${CMAKE_INSTALL_FULL_BINDIR}" +- INCLUDES DESTINATION "${CMAKE_INSTALL_FULL_INCLUDEDIR}" ++ ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" ++ LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" ++ RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" ++ INCLUDES DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}" + ) + if (BUILD_SHARED_AND_STATIC_LIBS) + install(TARGETS "${CJSON_LIB}-static" + EXPORT "${CJSON_LIB}" +- ARCHIVE DESTINATION "${CMAKE_INSTALL_FULL_LIBDIR}" +- INCLUDES DESTINATION "${CMAKE_INSTALL_FULL_INCLUDEDIR}" ++ ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" ++ INCLUDES DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}" + ) + endif() + if(ENABLE_TARGET_EXPORT) + # export library information for CMake projects +- install(EXPORT "${CJSON_LIB}" DESTINATION "${CMAKE_INSTALL_FULL_LIBDIR}/cmake/cJSON") ++ install(EXPORT "${CJSON_LIB}" DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/cJSON") + endif() + + if(ENABLE_CJSON_VERSION_SO) +@@ -199,23 +199,23 @@ + + install(TARGETS "${CJSON_UTILS_LIB}" + EXPORT "${CJSON_UTILS_LIB}" +- ARCHIVE DESTINATION "${CMAKE_INSTALL_FULL_LIBDIR}" +- LIBRARY DESTINATION "${CMAKE_INSTALL_FULL_LIBDIR}" +- RUNTIME DESTINATION "${CMAKE_INSTALL_FULL_BINDIR}" +- INCLUDES DESTINATION "${CMAKE_INSTALL_FULL_INCLUDEDIR}" ++ ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" ++ LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" ++ RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" ++ INCLUDES DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}" + ) + if (BUILD_SHARED_AND_STATIC_LIBS) + install(TARGETS "${CJSON_UTILS_LIB}-static" + EXPORT "${CJSON_UTILS_LIB}" +- ARCHIVE DESTINATION "${CMAKE_INSTALL_FULL_LIBDIR}" +- INCLUDES DESTINATION "${CMAKE_INSTALL_FULL_INCLUDEDIR}" ++ ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" ++ INCLUDES DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}" + ) + endif() +- install(FILES cJSON_Utils.h DESTINATION "${CMAKE_INSTALL_FULL_INCLUDEDIR}/cjson") +- install (FILES "${CMAKE_CURRENT_BINARY_DIR}/libcjson_utils.pc" DESTINATION "${CMAKE_INSTALL_FULL_LIBDIR}/pkgconfig") ++ install(FILES cJSON_Utils.h DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/cjson") ++ install (FILES "${CMAKE_CURRENT_BINARY_DIR}/libcjson_utils.pc" DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig") + if(ENABLE_TARGET_EXPORT) + # export library information for CMake projects +- install(EXPORT "${CJSON_UTILS_LIB}" DESTINATION "${CMAKE_INSTALL_FULL_LIBDIR}/cmake/cJSON") ++ install(EXPORT "${CJSON_UTILS_LIB}" DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/cJSON") + endif() + + if(ENABLE_CJSON_VERSION_SO) +@@ -238,7 +238,7 @@ + # Install package config files + install(FILES ${PROJECT_BINARY_DIR}/cJSONConfig.cmake + ${PROJECT_BINARY_DIR}/cJSONConfigVersion.cmake +- DESTINATION "${CMAKE_INSTALL_FULL_LIBDIR}/cmake/cJSON") ++ DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/cJSON") + endif() + + option(ENABLE_CJSON_TEST "Enable building cJSON test" ON) +--- a/library_config/cJSONConfig.cmake.in ++++ b/library_config/cJSONConfig.cmake.in +@@ -1,12 +1,12 @@ + # Whether the utils lib was build. + set(CJSON_UTILS_FOUND @ENABLE_CJSON_UTILS@) + +-# The include directories used by cJSON +-set(CJSON_INCLUDE_DIRS "@CMAKE_INSTALL_FULL_INCLUDEDIR@") +-set(CJSON_INCLUDE_DIR "@CMAKE_INSTALL_FULL_INCLUDEDIR@") +- + get_filename_component(_dir "${CMAKE_CURRENT_LIST_FILE}" PATH) + ++# The include directories used by cJSON ++set(CJSON_INCLUDE_DIRS "${_dir}/../../../@CMAKE_INSTALL_INCLUDEDIR@") ++set(CJSON_INCLUDE_DIR "${_dir}/../../../@CMAKE_INSTALL_INCLUDEDIR@") ++ + # The cJSON library + set(CJSON_LIBRARY "@CJSON_LIB@") + if(@ENABLE_TARGET_EXPORT@) diff --git a/mingw-w64-cjson/PKGBUILD b/mingw-w64-cjson/PKGBUILD index d194eef6e7..1ff87aa9ef 100644 --- a/mingw-w64-cjson/PKGBUILD +++ b/mingw-w64-cjson/PKGBUILD @@ -4,30 +4,44 @@ _realname=cjson pkgbase=mingw-w64-${_realname} pkgname=("${MINGW_PACKAGE_PREFIX}-${_realname}") pkgver=1.7.16 -pkgrel=1 +pkgrel=2 pkgdesc="Ultralightweight JSON parser in ANSI C (mingw-w64)" arch=(any) -mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32' 'clangarm64') +mingw_arch=('mingw64' 'ucrt64' 'clang64' 'clangarm64') url="https://github.com/DaveGamble/cJSON" -license=('MIT') +license=('spdx:MIT') depends=("${MINGW_PACKAGE_PREFIX}-gcc-libs") -makedepends=("${MINGW_PACKAGE_PREFIX}-cmake" - "${MINGW_PACKAGE_PREFIX}-cc" +makedepends=("${MINGW_PACKAGE_PREFIX}-cc" + "${MINGW_PACKAGE_PREFIX}-cmake" "${MINGW_PACKAGE_PREFIX}-ninja") -source=("${_realname}-${pkgver}.tar.gz::https://github.com/DaveGamble/cJSON/archive/v${pkgver}.tar.gz") -sha512sums=('24e6efb1067ecd2d87ea64eef5969fc425e8bcefd18f634cee6cc0b5b13614c97146495aaa125febd33a20d197408af720b596549db7537ec05d3e60bd87ea6a') +source=("https://github.com/DaveGamble/cJSON/archive/v${pkgver}/${_realname}-${pkgver}.tar.gz" + "001-fix-cmake-files.patch") +sha256sums=('451131a92c55efc5457276807fc0c4c2c2707c9ee96ef90c47d68852d5384c6c' + 'f7a5e88c13d58806876dac5d2e255812bee7837cfe7214c9fe8e0f57edb5c25d') + +prepare() { + cd ${_realname}-${pkgver} + patch -p1 -i "${srcdir}"/001-fix-cmake-files.patch +} build() { - [[ -d ${srcdir}/build-${MSYSTEM} ]] && rm -rf ${srcdir}/build-${MSYSTEM} mkdir -p build-${MSYSTEM} && cd build-${MSYSTEM} + 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=" \ ${MINGW_PREFIX}/bin/cmake \ -G Ninja \ - -DCMAKE_BUILD_TYPE=Release \ + "${_extra_config[@]}" \ -DCMAKE_INSTALL_PREFIX=${MINGW_PREFIX} \ -DENABLE_CJSON_TEST=OFF \ -DBUILD_SHARED_AND_STATIC_LIBS=ON \ + -DCMAKE_DLL_NAME_WITH_SOVERSION=ON \ -DENABLE_CJSON_UTILS=ON \ ../${_realname}-${pkgver}