From d4d2d682ff8315f87e0feaed7cbb2e0893f5bc4a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D9=85=D9=87=D8=AF=D9=8A=20=D8=B4=D9=8A=D9=86=D9=88=D9=86?= =?UTF-8?q?=20=28Mehdi=20Chinoune=29?= Date: Mon, 4 Sep 2023 17:47:09 +0100 Subject: [PATCH] spdlog: define SPDLOG_FMT_EXTERNAL --- .../001-spdlog_fmt_external.patch | 11 ++++ mingw-w64-spdlog/PKGBUILD | 64 +++++++++++++------ 2 files changed, 57 insertions(+), 18 deletions(-) create mode 100644 mingw-w64-spdlog/001-spdlog_fmt_external.patch diff --git a/mingw-w64-spdlog/001-spdlog_fmt_external.patch b/mingw-w64-spdlog/001-spdlog_fmt_external.patch new file mode 100644 index 0000000000..aac0a9cf7b --- /dev/null +++ b/mingw-w64-spdlog/001-spdlog_fmt_external.patch @@ -0,0 +1,11 @@ +--- a/include/spdlog/tweakme.h 2023-01-02 09:57:15.667781832 -0800 ++++ b/include/spdlog/tweakme.h 2023-01-02 09:57:17.761105926 -0800 +@@ -78,7 +78,7 @@ + // In this case spdlog will try to include so set your -I flag + // accordingly. + // +-// #define SPDLOG_FMT_EXTERNAL ++#define SPDLOG_FMT_EXTERNAL + /////////////////////////////////////////////////////////////////////////////// + + /////////////////////////////////////////////////////////////////////////////// diff --git a/mingw-w64-spdlog/PKGBUILD b/mingw-w64-spdlog/PKGBUILD index 418016290d..b6d24455fb 100644 --- a/mingw-w64-spdlog/PKGBUILD +++ b/mingw-w64-spdlog/PKGBUILD @@ -4,49 +4,77 @@ _realname=spdlog pkgbase=mingw-w64-${_realname} pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" pkgver=1.12.0 -pkgrel=2 +pkgrel=3 pkgdesc='Very fast, header-only/compiled, C++ logging library (mingw-w64)' arch=('any') mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32' 'clangarm64') url='https://github.com/gabime/spdlog' -license=('MIT') -makedepends=("${MINGW_PACKAGE_PREFIX}-cmake" - "${MINGW_PACKAGE_PREFIX}-cc") +license=('spdx:MIT') +makedepends=("${MINGW_PACKAGE_PREFIX}-cc" + "${MINGW_PACKAGE_PREFIX}-cmake" + "${MINGW_PACKAGE_PREFIX}-ninja") depends=("${MINGW_PACKAGE_PREFIX}-fmt") -options=('staticlibs' '!strip' '!buildflags') -source=("${_realname}-${pkgver}.tar.gz::https://github.com/gabime/spdlog/archive/v${pkgver}.tar.gz") -sha256sums=('4dccf2d10f410c1e2feaff89966bfc49a1abb29ef6f08246335b110e001e09a9') +source=("${_realname}-${pkgver}.tar.gz::https://github.com/gabime/spdlog/archive/v${pkgver}.tar.gz" + 001-spdlog_fmt_external.patch) +sha256sums=('4dccf2d10f410c1e2feaff89966bfc49a1abb29ef6f08246335b110e001e09a9' + 'a0eb34b7c6920f0db2587460071f53372663c191cdfe34bf5ea2704c309c745f') + +apply_patch_with_msg() { + for _patch in "$@" + do + msg2 "Applying $_patch" + patch -Nbp1 -i "${srcdir}/$_patch" + done +} + +prepare() { + cd "${srcdir}/${_realname}-${pkgver}" + + # copied from https://gitlab.archlinux.org/archlinux/packaging/packages/spdlog/-/blob/189f1145/spdlog_fmt_external.patch + apply_patch_with_msg \ + 001-spdlog_fmt_external.patch + + find . -name "*.orig" -exec rm -f {} \; +} build() { - [[ -d "${srcdir}/build-${MINGW_CHOST}" ]] && rm -rf "${srcdir}/build-${MINGW_CHOST}" - mkdir -p "${srcdir}/build-${MINGW_CHOST}" && cd "${srcdir}/build-${MINGW_CHOST}" + mkdir -p "${srcdir}/build-${MSYSTEM}" && cd "${srcdir}/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"MSYS Makefiles" \ + -G"Ninja" \ -DCMAKE_INSTALL_PREFIX=${MINGW_PREFIX} \ - -DCMAKE_BUILD_TYPE=Release \ + "${_extra_config[@]}" \ -DSPDLOG_BUILD_BENCH=OFF \ -DSPDLOG_BUILD_EXAMPLE=OFF \ - -DSPDLOG_BUILD_TESTS=ON \ + -DSPDLOG_BUILD_TESTS=OFF \ -DSPDLOG_FMT_EXTERNAL=ON \ -DSPDLOG_BUILD_SHARED=ON \ - -DCMAKE_RUNTIME_OUTPUT_DIRECTORY="${srcdir}/build-${MINGW_CHOST}" \ + -DCMAKE_RUNTIME_OUTPUT_DIRECTORY="${srcdir}/build-${MSYSTEM}" \ ../${_realname}-${pkgver} - make + ${MINGW_PREFIX}/bin/cmake --build . } check() { - cd "${srcdir}/build-${MINGW_CHOST}" + cd "${srcdir}/build-${MSYSTEM}" + ${MINGW_PREFIX}/bin/cmake -DSPDLOG_BUILD_TESTS=ON ../${_realname}-${pkgver} + ${MINGW_PREFIX}/bin/cmake --build . - make test || true + ${MINGW_PREFIX}/bin/ctest || true } package() { - cd "${srcdir}/build-${MINGW_CHOST}" + cd "${srcdir}/build-${MSYSTEM}" - make DESTDIR="${pkgdir}" install + DESTDIR="${pkgdir}" ${MINGW_PREFIX}/bin/cmake --install . install -Dm644 "${srcdir}/${_realname}-${pkgver}/LICENSE" -t "${pkgdir}${MINGW_PREFIX}/share/licenses/${_realname}/" }