dev-libs/spdlog: force use of external fmt lib

Closes: https://bugs.gentoo.org/827889
Package-Manager: Portage-3.0.30, Repoman-3.0.3
Signed-off-by: David Roman <davidroman96@gmail.com>
Closes: https://github.com/gentoo/gentoo/pull/23863
Signed-off-by: Sam James <sam@gentoo.org>
This commit is contained in:
David Roman
2022-01-19 00:37:51 +01:00
committed by Sam James
parent 945d39fec0
commit fc822ea213
2 changed files with 68 additions and 0 deletions

View File

@@ -0,0 +1,15 @@
diff --git a/include/spdlog/tweakme.h b/include/spdlog/tweakme.h
index 24361f30..6b4fc14c 100644
--- a/include/spdlog/tweakme.h
+++ b/include/spdlog/tweakme.h
@@ -71,7 +71,9 @@
// In this case spdlog will try to include <fmt/format.h> so set your -I flag
// accordingly.
//
-// #define SPDLOG_FMT_EXTERNAL
+#ifndef SPDLOG_FMT_EXTERNAL
+#define SPDLOG_FMT_EXTERNAL
+#endif
///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////

View File

@@ -0,0 +1,53 @@
# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit cmake
DESCRIPTION="Very fast, header only, C++ logging library"
HOMEPAGE="https://github.com/gabime/spdlog"
if [[ ${PV} == *9999 ]]; then
inherit git-r3
EGIT_REPO_URI="https://github.com/gabime/${PN}"
else
SRC_URI="https://github.com/gabime/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
# Temporary for bug #811750
SRC_URI+=" test? ( https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}-update-catch-glibc-2.34.patch.bz2 )"
KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86"
fi
LICENSE="MIT"
SLOT="0/1"
IUSE="test"
RESTRICT="!test? ( test )"
BDEPEND="
virtual/pkgconfig
"
DEPEND="
>=dev-libs/libfmt-8.0.0:=
"
RDEPEND="${DEPEND}"
PATCHES=( "${FILESDIR}/${PN}-force_external_fmt.patch" )
src_prepare() {
use test && eapply "${WORKDIR}"/${P}-update-catch-glibc-2.34.patch
cmake_src_prepare
rm -r include/spdlog/fmt/bundled || die "Failed to delete bundled libfmt"
}
src_configure() {
local mycmakeargs=(
-DSPDLOG_BUILD_BENCH=no
-DSPDLOG_BUILD_EXAMPLE=no
-DSPDLOG_FMT_EXTERNAL=yes
-DSPDLOG_BUILD_SHARED=yes
-DSPDLOG_BUILD_TESTS=$(usex test)
)
cmake_src_configure
}