commit:     1b3025bcd147286244c69b2c6d7b10cd2e98d869
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Wed Feb 15 12:28:00 2017 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Wed Feb 15 12:28:00 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1b3025bc

net-im/openmittsu: Fix compile failure in format.h.

Bug: 609366

Package-Manager: Portage-2.3.3, Repoman-2.3.1

 .../files/openmittsu-0.9.2_p78-fmt.patch           | 49 ++++++++++++++++++++++
 net-im/openmittsu/openmittsu-0.9.2_p78.ebuild      |  1 +
 2 files changed, 50 insertions(+)

diff --git a/net-im/openmittsu/files/openmittsu-0.9.2_p78-fmt.patch 
b/net-im/openmittsu/files/openmittsu-0.9.2_p78-fmt.patch
new file mode 100644
index 0000000000..19b55701e8
--- /dev/null
+++ b/net-im/openmittsu/files/openmittsu-0.9.2_p78-fmt.patch
@@ -0,0 +1,49 @@
+https://bugs.gentoo.org/609366
+Backported from https://github.com/fmtlib/fmt.git:
+
+commit abbefd71666055daac9e14e78262620f9e845850
+Author: Victor Zverovich <[email protected]>
+Date:   Wed Oct 19 06:52:55 2016 -0700
+
+    CHAR_WIDTH -> CHAR_SIZE to avoid collision with ISO/IEC TS 18661-1:2014 
macro
+
+--- openMittsu-0.9.2_p78-orig/3rdparty/spdlog/include/spdlog/details/format.h
++++ openMittsu-0.9.2_p78/3rdparty/spdlog/include/spdlog/details/format.h
+@@ -2163,29 +2163,29 @@
+         typedef typename BasicWriter<Char>::CharPtr CharPtr;
+         Char fill = internal::CharTraits<Char>::cast(spec_.fill());
+         CharPtr out = CharPtr();
+-        const unsigned CHAR_WIDTH = 1;
+-        if (spec_.width_ > CHAR_WIDTH)
++        const unsigned CHAR_SIZE = 1;
++        if (spec_.width_ > CHAR_SIZE)
+         {
+             out = writer_.grow_buffer(spec_.width_);
+             if (spec_.align_ == ALIGN_RIGHT)
+             {
+-                std::uninitialized_fill_n(out, spec_.width_ - CHAR_WIDTH, 
fill);
+-                out += spec_.width_ - CHAR_WIDTH;
++                std::uninitialized_fill_n(out, spec_.width_ - CHAR_SIZE, 
fill);
++                out += spec_.width_ - CHAR_SIZE;
+             }
+             else if (spec_.align_ == ALIGN_CENTER)
+             {
+                 out = writer_.fill_padding(out, spec_.width_,
+-                                           internal::check(CHAR_WIDTH), fill);
++                                           internal::check(CHAR_SIZE), fill);
+             }
+             else
+             {
+-                std::uninitialized_fill_n(out + CHAR_WIDTH,
+-                                          spec_.width_ - CHAR_WIDTH, fill);
++                std::uninitialized_fill_n(out + CHAR_SIZE,
++                                          spec_.width_ - CHAR_SIZE, fill);
+             }
+         }
+         else
+         {
+-            out = writer_.grow_buffer(CHAR_WIDTH);
++            out = writer_.grow_buffer(CHAR_SIZE);
+         }
+         *out = internal::CharTraits<Char>::cast(value);
+     }

diff --git a/net-im/openmittsu/openmittsu-0.9.2_p78.ebuild 
b/net-im/openmittsu/openmittsu-0.9.2_p78.ebuild
index 8bbdab52d8..3cbd7a1482 100644
--- a/net-im/openmittsu/openmittsu-0.9.2_p78.ebuild
+++ b/net-im/openmittsu/openmittsu-0.9.2_p78.ebuild
@@ -38,6 +38,7 @@ src_prepare() {
        sed -i "/git_describe_checkout/\
                s/.*/set(OPENMITTSU_GIT_VERSION_STRING 
\"${PV/_p/-}-00000000\")/" \
                CMakeLists.txt || die
+       eapply "${FILESDIR}"/${P}-fmt.patch
        cmake-utils_src_prepare
 }
 

Reply via email to