spdlog: define SPDLOG_FMT_EXTERNAL

This commit is contained in:
مهدي شينون (Mehdi Chinoune)
2023-09-04 17:47:09 +01:00
parent 0114a53c69
commit d4d2d682ff
2 changed files with 57 additions and 18 deletions

View File

@@ -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 <fmt/format.h> so set your -I flag
// accordingly.
//
-// #define SPDLOG_FMT_EXTERNAL
+#define SPDLOG_FMT_EXTERNAL
///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////

View File

@@ -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}/"
}