commit:     928b17486c5c731485befc769175476ee877c6fb
Author:     Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
AuthorDate: Sun Aug 11 15:56:55 2019 +0000
Commit:     Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
CommitDate: Sun Aug 11 15:57:18 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=928b1748

dev-cpp/glog: bump to v0.4.0

Closes: https://bugs.gentoo.org/682622
Package-Manager: Portage-2.3.71, Repoman-2.3.17
Signed-off-by: Thomas Deutschmann <whissi <AT> gentoo.org>

 dev-cpp/glog/Manifest                              |  1 +
 dev-cpp/glog/files/glog-0.4.0-errnos.patch         | 99 ++++++++++++++++++++++
 .../glog/files/glog-0.4.0-fix-test-on-ports.patch  | 19 +++++
 dev-cpp/glog/files/glog-0.4.0-fix-x32-build.patch  | 35 ++++++++
 dev-cpp/glog/glog-0.4.0.ebuild                     | 43 ++++++++++
 5 files changed, 197 insertions(+)

diff --git a/dev-cpp/glog/Manifest b/dev-cpp/glog/Manifest
index 605c93ac9ab..76e694662c0 100644
--- a/dev-cpp/glog/Manifest
+++ b/dev-cpp/glog/Manifest
@@ -1,3 +1,4 @@
 DIST glog-0.3.3.tar.gz 509676 BLAKE2B 
21d8893ff535c0e8c1de27214f535aaea99727128d80f421da096969c19504da6a296054db2931232b4fd372446f96189464e4000f44c5720152085aa9976978
 SHA512 
95418ff0857415a0fbc15caeb22a13f3b6736618adcc3c30e054626f1397bc58399c45f68784c70b1f5dc594ebc6ea66e386896beab5c20be72dd53b25f5a4ac
 DIST glog-0.3.4.tar.gz 522508 BLAKE2B 
4a188d5998005b29afc52f2ea548f33e06a68da993bb74960e5aedb214ec52ef9e9fc39efb1a34f38f217b92df7db064ff01d58df36c3e4ad789becc97335ec2
 SHA512 
139525b546a9eccacc9bebf7cc3053ba52229e9488485ad45344c3d3134ca819d3b571250c0e3a6d84097009c8be89b0f4fa16ef5ec838ffcc237ae11c3a034c
 DIST glog-0.3.5.tar.gz 532275 BLAKE2B 
a455f3ff8fc7cf2861a4351a0305db9455bb79977e57c49b6269b3fa2c147cd9627bfaf4c7aaa04fe4a49158d79abeb5b985813fe8c473d6005e915335c0d693
 SHA512 
a54a3b8b4b7660d7558ba5168c659bc3c8323c30908a4f6a4bbc6f9cd899350f3243aabc720daebfdeb799b276b51ba1eaa1a0f83149c4e1a038d552ada1ed72
+DIST glog-0.4.0.tar.gz 200955 BLAKE2B 
083da6117af3e85697724942bfcb5a7831d447666945b06b149d8d324231b10923887bd8c507e8027136d12bffd30a657cb225df8c449f234381e3876f132953
 SHA512 
b585f1819ade2075f6b61dc5aaca5c3f9d25601dba2bd08b6c49b96ac5f79db23c6b7f2042df003f7130497dd7241fcaa8b107d1f97385cb66ce52d3c554b176

diff --git a/dev-cpp/glog/files/glog-0.4.0-errnos.patch 
b/dev-cpp/glog/files/glog-0.4.0-errnos.patch
new file mode 100644
index 00000000000..c55716db1ba
--- /dev/null
+++ b/dev-cpp/glog/files/glog-0.4.0-errnos.patch
@@ -0,0 +1,99 @@
+Index: b/src/googletest.h
+===================================================================
+--- a/src/googletest.h
++++ b/src/googletest.h
+@@ -437,6 +437,18 @@ static inline void StringReplace(string*
+   }
+ }
+ 
++static inline void IntReplace(string* str,
++                          const string& oldsub,
++                          int newsub) {
++  size_t pos = str->find(oldsub);
++  if (pos != string::npos) {
++    std::ostringstream ss;
++    ss << newsub;
++    const std::string x = ss.str();
++    str->replace(pos, oldsub.size(), x.c_str());
++  }
++}
++
+ static inline string Munge(const string& filename) {
+   FILE* fp = fopen(filename.c_str(), "rb");
+   CHECK(fp != NULL) << filename << ": couldn't open";
+@@ -452,9 +464,13 @@ static inline string Munge(const string&
+ 
+     StringReplace(&line, "__SUCCESS__", StrError(0));
+     StringReplace(&line, "__ENOENT__", StrError(ENOENT));
++    IntReplace(&line, "__ENOENT_NUM__", ENOENT);
+     StringReplace(&line, "__EINTR__", StrError(EINTR));
++    IntReplace(&line, "__EINTR_NUM__", EINTR);
+     StringReplace(&line, "__ENXIO__", StrError(ENXIO));
++    IntReplace(&line, "__ENXIO_NUM__", ENXIO);
+     StringReplace(&line, "__ENOEXEC__", StrError(ENOEXEC));
++    IntReplace(&line, "__ENOEXEC_NUM__", ENOEXEC);
+     result += line + "\n";
+   }
+   fclose(fp);
+Index: b/src/logging_unittest.cc
+===================================================================
+--- a/src/logging_unittest.cc
++++ b/src/logging_unittest.cc
+@@ -238,6 +238,17 @@ int main(int argc, char **argv) {
+   return 0;
+ }
+ 
++static int errnoForIteration(int i) {
++  switch (i) {
++    case 0: return 0;
++    case 2: return ENOENT;
++    case 4: return EINTR;
++    case 6: return ENXIO;
++    case 8: return ENOEXEC;
++  }
++  return -1;
++}
++
+ void TestLogging(bool check_counts) {
+   int64 base_num_infos   = LogMessage::num_messages(GLOG_INFO);
+   int64 base_num_warning = LogMessage::num_messages(GLOG_WARNING);
+@@ -246,7 +257,7 @@ void TestLogging(bool check_counts) {
+   LOG(INFO) << string("foo ") << "bar " << 10 << ' ' << 3.4;
+   for ( int i = 0; i < 10; ++i ) {
+     int old_errno = errno;
+-    errno = i;
++    errno = errnoForIteration(i);
+     PLOG_EVERY_N(ERROR, 2) << "Plog every 2, iteration " << COUNTER;
+     errno = old_errno;
+ 
+Index: b/src/logging_unittest.err
+===================================================================
+--- a/src/logging_unittest.err
++++ b/src/logging_unittest.err
+@@ -51,21 +51,21 @@ WDATE TIME__ THREADID logging_unittest.c
+ IDATE TIME__ THREADID logging_unittest.cc:LINE] Log if every 1, iteration 1
+ EDATE TIME__ THREADID logging_unittest.cc:LINE] Log if less than 3 every 2, 
iteration 1
+ IDATE TIME__ THREADID logging_unittest.cc:LINE] Log if every 1, iteration 2
+-EDATE TIME__ THREADID logging_unittest.cc:LINE] Plog every 2, iteration 3: 
__ENOENT__ [2]
++EDATE TIME__ THREADID logging_unittest.cc:LINE] Plog every 2, iteration 3: 
__ENOENT__ [__ENOENT_NUM__]
+ IDATE TIME__ THREADID logging_unittest.cc:LINE] Log if every 1, iteration 3
+ EDATE TIME__ THREADID logging_unittest.cc:LINE] Log if less than 3 every 2, 
iteration 3
+ EDATE TIME__ THREADID logging_unittest.cc:LINE] Log every 3, iteration 4
+ IDATE TIME__ THREADID logging_unittest.cc:LINE] Log if every 1, iteration 4
+-EDATE TIME__ THREADID logging_unittest.cc:LINE] Plog every 2, iteration 5: 
__EINTR__ [4]
++EDATE TIME__ THREADID logging_unittest.cc:LINE] Plog every 2, iteration 5: 
__EINTR__ [__EINTR_NUM__]
+ EDATE TIME__ THREADID logging_unittest.cc:LINE] Log every 4, iteration 5
+ IDATE TIME__ THREADID logging_unittest.cc:LINE] Log if every 1, iteration 5
+ WDATE TIME__ THREADID logging_unittest.cc:LINE] Log if every 5, iteration 6
+ IDATE TIME__ THREADID logging_unittest.cc:LINE] Log if every 1, iteration 6
+-EDATE TIME__ THREADID logging_unittest.cc:LINE] Plog every 2, iteration 7: 
__ENXIO__ [6]
++EDATE TIME__ THREADID logging_unittest.cc:LINE] Plog every 2, iteration 7: 
__ENXIO__ [__ENXIO_NUM__]
+ EDATE TIME__ THREADID logging_unittest.cc:LINE] Log every 3, iteration 7
+ IDATE TIME__ THREADID logging_unittest.cc:LINE] Log if every 1, iteration 7
+ IDATE TIME__ THREADID logging_unittest.cc:LINE] Log if every 1, iteration 8
+-EDATE TIME__ THREADID logging_unittest.cc:LINE] Plog every 2, iteration 9: 
__ENOEXEC__ [8]
++EDATE TIME__ THREADID logging_unittest.cc:LINE] Plog every 2, iteration 9: 
__ENOEXEC__ [__ENOEXEC_NUM__]
+ EDATE TIME__ THREADID logging_unittest.cc:LINE] Log every 4, iteration 9
+ IDATE TIME__ THREADID logging_unittest.cc:LINE] Log if every 1, iteration 9
+ EDATE TIME__ THREADID logging_unittest.cc:LINE] Log every 3, iteration 10
+

diff --git a/dev-cpp/glog/files/glog-0.4.0-fix-test-on-ports.patch 
b/dev-cpp/glog/files/glog-0.4.0-fix-test-on-ports.patch
new file mode 100644
index 00000000000..392ae8ca781
--- /dev/null
+++ b/dev-cpp/glog/files/glog-0.4.0-fix-test-on-ports.patch
@@ -0,0 +1,19 @@
+Index: google-glog-0.3.2/src/signalhandler_unittest.sh
+===================================================================
+--- google-glog-0.3.2.orig/src/signalhandler_unittest.sh       2013-03-13 
13:49:37.820188111 -0400
++++ google-glog-0.3.2/src/signalhandler_unittest.sh    2013-03-13 
14:07:11.980204520 -0400
+@@ -65,10 +65,10 @@
+   exit 0
+ fi
+ 
+-# The PC cannot be obtained in signal handlers on PowerPC correctly.
+-# We just skip the test for PowerPC.
+-if [ x`uname -p` = x"powerpc" ]; then
+-  echo "PASS (We don't test the signal handler on PowerPC.)"
++# This test only works correctly on i386 and amd64.
++# We just skip the test when not on those platforms.
++if [ x`uname -m` != x"x86_64" -a x`uname -m` != x"i686" ]; then
++  echo "PASS (We only test the signal handler on i386 or amd64.)"
+   exit 0
+ fi
+ 

diff --git a/dev-cpp/glog/files/glog-0.4.0-fix-x32-build.patch 
b/dev-cpp/glog/files/glog-0.4.0-fix-x32-build.patch
new file mode 100644
index 00000000000..e53318ac66f
--- /dev/null
+++ b/dev-cpp/glog/files/glog-0.4.0-fix-x32-build.patch
@@ -0,0 +1,35 @@
+Description: fix FTBFS on x32
+Author: Guillaume Morin <guilla...@morinfr.org>
+Forwarded: no
+Last-Update: 2019-08-05
+
+---
+
+--- google-glog-0.3.4.orig/src/symbolize_unittest.cc
++++ google-glog-0.3.4/src/symbolize_unittest.cc
+@@ -313,8 +313,12 @@ extern "C" {
+ inline void* always_inline inline_func() {
+   void *pc = NULL;
+ #ifdef TEST_X86_32_AND_64
++#if __x86_64__ || (__x86_64__ && __ILP32__)
++  __asm__ __volatile__("call 1f; 1: popq %q0" : "=r"(pc));
++#else
+   __asm__ __volatile__("call 1f; 1: pop %0" : "=r"(pc));
+ #endif
++#endif
+   return pc;
+ }
+ 
+@@ -322,8 +326,12 @@ void* ATTRIBUTE_NOINLINE non_inline_func
+ void* ATTRIBUTE_NOINLINE non_inline_func() {
+   void *pc = NULL;
+ #ifdef TEST_X86_32_AND_64
++#if __x86_64__ || (__x86_64__ && __ILP32__)
++  __asm__ __volatile__("call 1f; 1: popq %q0" : "=r"(pc));
++#else
+   __asm__ __volatile__("call 1f; 1: pop %0" : "=r"(pc));
+ #endif
++#endif
+   return pc;
+ }
+ 

diff --git a/dev-cpp/glog/glog-0.4.0.ebuild b/dev-cpp/glog/glog-0.4.0.ebuild
new file mode 100644
index 00000000000..c5097b33e78
--- /dev/null
+++ b/dev-cpp/glog/glog-0.4.0.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+inherit autotools multilib-minimal
+
+DESCRIPTION="Google's C++ logging library"
+HOMEPAGE="https://github.com/google/glog";
+SRC_URI="https://github.com/google/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 
~sh ~sparc ~x86 ~amd64-linux ~x86-linux"
+IUSE="static-libs test"
+RESTRICT="test"
+
+RDEPENDS="sys-libs/libunwind[${MULTILIB_USEDEP}]"
+DEPEND="${RDEPEND}
+       test? ( >=dev-cpp/gtest-1.8.0[${MULTILIB_USEDEP}] )"
+
+PATCHES=(
+       "${FILESDIR}"/${PN}-0.4.0-fix-x32-build.patch
+       "${FILESDIR}"/${PN}-0.4.0-errnos.patch
+       "${FILESDIR}"/${PN}-0.4.0-fix-test-on-ports.patch
+)
+
+src_prepare() {
+       default
+       eautoreconf
+}
+
+multilib_src_configure() {
+       ECONF_SOURCE="${S}" econf \
+               $(use_enable static-libs static)
+}
+
+multilib_src_install_all() {
+       einstalldocs
+
+       # package provides .pc files
+       find "${D}" -name '*.la' -delete || die
+}

Reply via email to