forked from gentoo/gentoo
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Closes: https://bugs.gentoo.org/682622 Package-Manager: Portage-2.3.71, Repoman-2.3.17 Signed-off-by: Thomas Deutschmann <[email protected]>
- Loading branch information
Showing
5 changed files
with
197 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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 | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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 | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,35 @@ | ||
Description: fix FTBFS on x32 | ||
Author: Guillaume Morin <[email protected]> | ||
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; | ||
} | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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 | ||
} |