dev-cpp/glog: Sync with Gentoo

It's from Gentoo commit c41c298434c4fc3876c4086d0a4a7b59c72bd0cf.
This commit is contained in:
Krzesimir Nowak 2024-08-02 16:45:53 +02:00
parent 9aefcbd359
commit 1892418c7e
10 changed files with 77 additions and 227 deletions

View File

@ -1,2 +1,2 @@
DIST glog-0.4.0.tar.gz 200955 BLAKE2B 083da6117af3e85697724942bfcb5a7831d447666945b06b149d8d324231b10923887bd8c507e8027136d12bffd30a657cb225df8c449f234381e3876f132953 SHA512 b585f1819ade2075f6b61dc5aaca5c3f9d25601dba2bd08b6c49b96ac5f79db23c6b7f2042df003f7130497dd7241fcaa8b107d1f97385cb66ce52d3c554b176
DIST glog-0.5.0.tar.gz 183346 BLAKE2B 9109a9a4bd3c74ba5d4c1d9ed44ffe0e16d5d3b9b12bf9dd5d31c6e728292ea50f39b4e1b96d55fbb35653a448af4dc8a978e266a2b0f34261c5108099e90845 SHA512 445e4338f3d81cd0b065f2da9c6ce343c243263ca144cea424ef97531a4e9e09c06ffd6942ac01c5213a8003c75cfbbede3c4028d12f0134f23ff29314769c1a
DIST glog-0.6.0.tar.gz 193267 BLAKE2B b42112cdfd54280ce7a9592c3af6b6e10dcb854fe9dbe0db7445c60801d1c12a240c4b3709b45e41aedeb8876d2e08fc3368296e088be6a66126858888cc274e SHA512 fd2c42583d0dd72c790a8cf888f328a64447c5fb9d99b2e2a3833d70c102cb0eb9ae874632c2732424cc86216c8a076a3e24b23a793eaddb5da8a1dc52ba9226

View File

@ -1,99 +0,0 @@
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

View File

@ -1,19 +0,0 @@
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

View File

@ -1,35 +0,0 @@
Description: fix FTBFS on x32
Author: Guillaume Morin <guillaume@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;
}

View File

@ -2,8 +2,8 @@ https://github.com/google/glog/issues/125
https://github.com/google/glog/pull/651
https://github.com/google/glog/commit/81e0d616edeb73cbd06d6c40bc4f90593ac0c5d1
--- /src/glog/logging.h.in
+++ /src/glog/logging.h.in
--- a/src/glog/logging.h.in
+++ b/src/glog/logging.h.in
@@ -594,6 +594,9 @@
void* prefix_callback_data = NULL);
#endif
@ -14,8 +14,8 @@ https://github.com/google/glog/commit/81e0d616edeb73cbd06d6c40bc4f90593ac0c5d1
// Shutdown google's logging library.
GOOGLE_GLOG_DLL_DECL void ShutdownGoogleLogging();
--- /src/logging_custom_prefix_unittest.cc
+++ /src/logging_custom_prefix_unittest.cc
--- a/src/logging_custom_prefix_unittest.cc
+++ b/src/logging_custom_prefix_unittest.cc
@@ -221,11 +221,15 @@
LogWithLevels(0, 0, 0, 0); // simulate "before global c-tors"
const string early_stderr = GetCapturedTestStderr();
@ -43,8 +43,8 @@ https://github.com/google/glog/commit/81e0d616edeb73cbd06d6c40bc4f90593ac0c5d1
}
_START_GOOGLE_NAMESPACE_
--- /src/logging_unittest.cc
+++ /src/logging_unittest.cc
--- a/src/logging_unittest.cc
+++ b/src/logging_unittest.cc
@@ -197,8 +197,12 @@
LogWithLevels(0, 0, 0, 0); // simulate "before global c-tors"
const string early_stderr = GetCapturedTestStderr();
@ -69,8 +69,8 @@ https://github.com/google/glog/commit/81e0d616edeb73cbd06d6c40bc4f90593ac0c5d1
}
_START_GOOGLE_NAMESPACE_
--- /src/utilities.cc
+++ /src/utilities.cc
--- a/src/utilities.cc
+++ b/src/utilities.cc
@@ -62,6 +62,10 @@
static const char* g_program_invocation_short_name = NULL;
@ -93,8 +93,8 @@ https://github.com/google/glog/commit/81e0d616edeb73cbd06d6c40bc4f90593ac0c5d1
#ifdef OS_WINDOWS
struct timeval {
long tv_sec, tv_usec;
--- /src/utilities.h
+++ /src/utilities.h
--- a/src/utilities.h
+++ b/src/utilities.h
@@ -163,8 +163,6 @@
const char* ProgramInvocationShortName();

View File

@ -2,8 +2,8 @@ https://github.com/google/glog/issues/649
https://github.com/google/glog/pull/650
https://github.com/google/glog/commit/86fea1ab254c463cbb72e5ce8bcc6855bc4e1e9c
--- /src/glog/vlog_is_on.h.in
+++ /src/glog/vlog_is_on.h.in
--- a/src/glog/vlog_is_on.h.in
+++ b/src/glog/vlog_is_on.h.in
@@ -81,10 +81,10 @@
// parsing of --vmodule flag and/or SetVLOGLevel calls.
#define VLOG_IS_ON(verboselevel) \
@ -41,8 +41,8 @@ https://github.com/google/glog/commit/86fea1ab254c463cbb72e5ce8bcc6855bc4e1e9c
@ac_google_namespace@::int32* site_default,
const char* fname,
@ac_google_namespace@::int32 verbose_level);
--- /src/logging_unittest.cc
+++ /src/logging_unittest.cc
--- a/src/logging_unittest.cc
+++ b/src/logging_unittest.cc
@@ -98,6 +98,7 @@
static void TestRawLogging();
static void LogWithLevels(int v, int severity, bool err, bool alsoerr);
@ -84,8 +84,8 @@ https://github.com/google/glog/commit/86fea1ab254c463cbb72e5ce8bcc6855bc4e1e9c
TEST(DeathRawCHECK, logging) {
ASSERT_DEATH(RAW_CHECK(false, "failure 1"),
"RAW: Check false failed: failure 1");
--- /src/vlog_is_on.cc
+++ /src/vlog_is_on.cc
--- a/src/vlog_is_on.cc
+++ b/src/vlog_is_on.cc
@@ -125,6 +125,8 @@
// Pointer to head of the VModuleInfo list.
// It's a map from module pattern to logging level for those module(s).

View File

@ -1,46 +0,0 @@
# Copyright 2011-2020 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"
# -sparc as libunwind is not ported on sparc
KEYWORDS="amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~s390 -sparc x86 ~amd64-linux ~x86-linux"
IUSE="gflags static-libs test"
RESTRICT="test"
RDEPEND="sys-libs/libunwind[${MULTILIB_USEDEP}]
gflags? ( dev-cpp/gflags[${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) \
ac_cv_lib_gflags_main="$(usex gflags)"
}
multilib_src_install_all() {
einstalldocs
# package provides .pc files
find "${D}" -name '*.la' -delete || die
}

View File

@ -1,8 +1,7 @@
# Copyright 2011-2021 Gentoo Authors
# Copyright 2011-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="7"
CMAKE_ECLASS="cmake"
EAPI="8"
inherit cmake-multilib
@ -22,7 +21,7 @@ fi
LICENSE="BSD"
SLOT="0"
KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc64 ~s390 ~x86 ~amd64-linux ~x86-linux"
KEYWORDS="amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux"
IUSE="gflags +libunwind llvm-libunwind test"
RESTRICT="!test? ( test )"
@ -55,3 +54,8 @@ src_configure() {
cmake-multilib_src_configure
}
src_test() {
# See bug #832355
cmake-multilib_src_test -j1
}

View File

@ -0,0 +1,49 @@
# Copyright 2011-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="8"
inherit cmake-multilib
if [[ "${PV}" == "9999" ]]; then
inherit git-r3
EGIT_REPO_URI="https://github.com/google/glog"
fi
DESCRIPTION="Google Logging library"
HOMEPAGE="https://github.com/google/glog"
if [[ "${PV}" == "9999" ]]; then
SRC_URI=""
else
SRC_URI="https://github.com/google/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
fi
LICENSE="BSD"
SLOT="0/1"
KEYWORDS="amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ppc ~ppc64 ~riscv ~s390 sparc ~x86 ~amd64-linux ~x86-linux"
IUSE="gflags +libunwind llvm-libunwind test"
RESTRICT="!test? ( test )"
RDEPEND="gflags? ( dev-cpp/gflags:0=[${MULTILIB_USEDEP}] )
libunwind? (
llvm-libunwind? ( sys-libs/llvm-libunwind:0=[${MULTILIB_USEDEP}] )
!llvm-libunwind? ( sys-libs/libunwind:0=[${MULTILIB_USEDEP}] )
)"
DEPEND="${RDEPEND}
test? ( >=dev-cpp/gtest-1.8.0[${MULTILIB_USEDEP}] )"
src_configure() {
local mycmakeargs=(
-DBUILD_TESTING=$(usex test ON OFF)
-DWITH_GFLAGS=$(usex gflags ON OFF)
-DWITH_GTEST=$(usex test ON OFF)
-DWITH_UNWIND=$(usex libunwind ON OFF)
)
cmake-multilib_src_configure
}
src_test() {
cmake-multilib_src_test -j1
}

View File

@ -1,13 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person" proxied="yes">
<email>arfrever.fta@gmail.com</email>
<name>Arfrever Frehtes Taifersar Arahesis</name>
</maintainer>
<maintainer type="person" proxied="proxy">
<email>floppym@gentoo.org</email>
<name>Mike Gilbert</name>
<maintainer type="project">
<email>cjk@gentoo.org</email>
<name>Cjk</name>
</maintainer>
<use>
<flag name="gflags">Use <pkg>dev-cpp/gflags</pkg> for flag parsing</flag>