commit:     07d3f7a5daab2a29c4644675bd608d46189cf023
Author:     Craig Andrews <candrews <AT> gentoo <DOT> org>
AuthorDate: Mon Jul  6 17:06:17 2020 +0000
Commit:     Craig Andrews <candrews <AT> gentoo <DOT> org>
CommitDate: Mon Jul  6 19:15:40 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=07d3f7a5

dev-libs/spdlog: Compatibility with dev-libs/libfmt-7.0.0

Closes: https://bugs.gentoo.org/show_bug.cgi?id=731100
Package-Manager: Portage-2.3.103, Repoman-2.3.23
Signed-off-by: Craig Andrews <candrews <AT> gentoo.org>

 .../spdlog/files/spdlog-1.6.1-libfmt-7.0.0.patch   | 33 ++++++++++++++++++++++
 .../{spdlog-9999.ebuild => spdlog-1.6.1-r1.ebuild} |  6 +++-
 dev-libs/spdlog/spdlog-9999.ebuild                 |  2 +-
 3 files changed, 39 insertions(+), 2 deletions(-)

diff --git a/dev-libs/spdlog/files/spdlog-1.6.1-libfmt-7.0.0.patch 
b/dev-libs/spdlog/files/spdlog-1.6.1-libfmt-7.0.0.patch
new file mode 100644
index 00000000000..422a507a6d8
--- /dev/null
+++ b/dev-libs/spdlog/files/spdlog-1.6.1-libfmt-7.0.0.patch
@@ -0,0 +1,33 @@
+https://github.com/gabime/spdlog/pull/1606
+
+From 22bee8128a4150ce37cf761ed9a609ad891848a6 Mon Sep 17 00:00:00 2001
+From: Craig Andrews <candr...@integralblue.com>
+Date: Mon, 6 Jul 2020 13:01:52 -0400
+Subject: [PATCH] fmt 7.0.0 renamed the internal namespace to detail.
+
+See: https://github.com/fmtlib/fmt/issues/1538
+---
+ include/spdlog/details/fmt_helper.h | 10 +++++++++-
+ 1 file changed, 9 insertions(+), 1 deletion(-)
+
+diff --git a/include/spdlog/details/fmt_helper.h 
b/include/spdlog/details/fmt_helper.h
+index cbc0bdf3..4f363858 100644
+--- a/include/spdlog/details/fmt_helper.h
++++ b/include/spdlog/details/fmt_helper.h
+@@ -34,7 +34,15 @@ template<typename T>
+ inline unsigned int count_digits(T n)
+ {
+     using count_type = typename std::conditional<(sizeof(T) > 
sizeof(uint32_t)), uint64_t, uint32_t>::type;
+-    return static_cast<unsigned 
int>(fmt::internal::count_digits(static_cast<count_type>(n)));
++    return static_cast<unsigned int>(fmt::
++// fmt 7.0.0 renamed the internal namespace to detail.
++// See: https://github.com/fmtlib/fmt/issues/1538
++#if FMT_VERSION < 70000
++internal
++#else
++detail
++#endif
++::count_digits(static_cast<count_type>(n)));
+ }
+ 
+ inline void pad2(int n, memory_buf_t &dest)

diff --git a/dev-libs/spdlog/spdlog-9999.ebuild 
b/dev-libs/spdlog/spdlog-1.6.1-r1.ebuild
similarity index 89%
copy from dev-libs/spdlog/spdlog-9999.ebuild
copy to dev-libs/spdlog/spdlog-1.6.1-r1.ebuild
index 24491a214dc..04237834f6c 100644
--- a/dev-libs/spdlog/spdlog-9999.ebuild
+++ b/dev-libs/spdlog/spdlog-1.6.1-r1.ebuild
@@ -13,7 +13,7 @@ if [[ ${PV} == *9999 ]]; then
        EGIT_REPO_URI="https://github.com/gabime/${PN}";
 else
        SRC_URI="https://github.com/gabime/${PN}/archive/v${PV}.tar.gz -> 
${P}.tar.gz"
-       KEYWORDS="~amd64"
+       KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86"
 fi
 
 LICENSE="MIT"
@@ -29,6 +29,10 @@ DEPEND="
 "
 RDEPEND="${DEPEND}"
 
+PATCHES=(
+       "${FILESDIR}/${P}-libfmt-7.0.0.patch"
+)
+
 src_prepare() {
        cmake_src_prepare
        rm -r include/spdlog/fmt/bundled || die "Failed to delete bundled 
libfmt"

diff --git a/dev-libs/spdlog/spdlog-9999.ebuild 
b/dev-libs/spdlog/spdlog-9999.ebuild
index 24491a214dc..6da33cbbf3c 100644
--- a/dev-libs/spdlog/spdlog-9999.ebuild
+++ b/dev-libs/spdlog/spdlog-9999.ebuild
@@ -13,7 +13,7 @@ if [[ ${PV} == *9999 ]]; then
        EGIT_REPO_URI="https://github.com/gabime/${PN}";
 else
        SRC_URI="https://github.com/gabime/${PN}/archive/v${PV}.tar.gz -> 
${P}.tar.gz"
-       KEYWORDS="~amd64"
+       KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86"
 fi
 
 LICENSE="MIT"

Reply via email to