diff options
| author | root <root@alpha.trunkmasters.com> | 2026-06-04 05:48:38 -0500 |
|---|---|---|
| committer | root <root@alpha.trunkmasters.com> | 2026-06-04 05:48:38 -0500 |
| commit | bfd9c39e4712ebdb442d4ca0673061faed1e70e1 (patch) | |
| tree | 0d7a74b4463ee387f9cf9368ceb1b757f694f72a /dev-cpp/glog | |
| parent | f716a9fe6455d39eef01e718aae68dae61c19704 (diff) | |
| download | baldeagleos-repo-bfd9c39e4712ebdb442d4ca0673061faed1e70e1.tar.gz baldeagleos-repo-bfd9c39e4712ebdb442d4ca0673061faed1e70e1.tar.xz baldeagleos-repo-bfd9c39e4712ebdb442d4ca0673061faed1e70e1.zip | |
Revert "Adding metadata"
This reverts commit f716a9fe6455d39eef01e718aae68dae61c19704.
Diffstat (limited to 'dev-cpp/glog')
| -rw-r--r-- | dev-cpp/glog/Manifest | 3 | ||||
| -rw-r--r-- | dev-cpp/glog/files/glog-0.5.0-IsGoogleLoggingInitialized_public.patch | 106 | ||||
| -rw-r--r-- | dev-cpp/glog/files/glog-0.5.0-vmodule_levels_changeability.patch | 171 | ||||
| -rw-r--r-- | dev-cpp/glog/files/glog-0.6.0-cmake-4.patch | 18 | ||||
| -rw-r--r-- | dev-cpp/glog/files/glog-0.6.0-disable-symbolize-test.patch | 30 | ||||
| -rw-r--r-- | dev-cpp/glog/files/glog-0.6.0-try-fix-logging-test.patch | 36 | ||||
| -rw-r--r-- | dev-cpp/glog/glog-0.5.0.ebuild | 61 | ||||
| -rw-r--r-- | dev-cpp/glog/glog-0.6.0-r1.ebuild | 64 | ||||
| -rw-r--r-- | dev-cpp/glog/glog-0.6.0.ebuild | 56 | ||||
| -rw-r--r-- | dev-cpp/glog/glog-0.7.1.ebuild | 60 | ||||
| -rw-r--r-- | dev-cpp/glog/metadata.xml | 15 |
11 files changed, 620 insertions, 0 deletions
diff --git a/dev-cpp/glog/Manifest b/dev-cpp/glog/Manifest new file mode 100644 index 000000000000..62d3e0cef14c --- /dev/null +++ b/dev-cpp/glog/Manifest @@ -0,0 +1,3 @@ +DIST glog-0.5.0.tar.gz 183346 BLAKE2B 9109a9a4bd3c74ba5d4c1d9ed44ffe0e16d5d3b9b12bf9dd5d31c6e728292ea50f39b4e1b96d55fbb35653a448af4dc8a978e266a2b0f34261c5108099e90845 SHA512 445e4338f3d81cd0b065f2da9c6ce343c243263ca144cea424ef97531a4e9e09c06ffd6942ac01c5213a8003c75cfbbede3c4028d12f0134f23ff29314769c1a +DIST glog-0.6.0.tar.gz 193267 BLAKE2B b42112cdfd54280ce7a9592c3af6b6e10dcb854fe9dbe0db7445c60801d1c12a240c4b3709b45e41aedeb8876d2e08fc3368296e088be6a66126858888cc274e SHA512 fd2c42583d0dd72c790a8cf888f328a64447c5fb9d99b2e2a3833d70c102cb0eb9ae874632c2732424cc86216c8a076a3e24b23a793eaddb5da8a1dc52ba9226 +DIST glog-0.7.1.tar.gz 182681 BLAKE2B d8bf2d4285e3be17a151d1f6f63dedbac9d5dd6667983d37e4b591be49751b6982abff7802dcd2c42651360d354c6c8ab1cc03c216ed1a3f7ba5cfb6a1a60dbf SHA512 2dabac87d44e4fe58beceb31b22be732b47df84c22f1af8c0e7d0f262de939889de1f16025c1256539f2833ef3393bc92034e983aa2886752bb8705801a68630 diff --git a/dev-cpp/glog/files/glog-0.5.0-IsGoogleLoggingInitialized_public.patch b/dev-cpp/glog/files/glog-0.5.0-IsGoogleLoggingInitialized_public.patch new file mode 100644 index 000000000000..d08e4b17882f --- /dev/null +++ b/dev-cpp/glog/files/glog-0.5.0-IsGoogleLoggingInitialized_public.patch @@ -0,0 +1,106 @@ +https://github.com/google/glog/issues/125 +https://github.com/google/glog/pull/651 +https://github.com/google/glog/commit/81e0d616edeb73cbd06d6c40bc4f90593ac0c5d1 + +--- a/src/glog/logging.h.in ++++ b/src/glog/logging.h.in +@@ -594,6 +594,9 @@ + void* prefix_callback_data = NULL); + #endif + ++// Check if google's logging library has been initialized. ++GOOGLE_GLOG_DLL_DECL bool IsGoogleLoggingInitialized(); ++ + // Shutdown google's logging library. + GOOGLE_GLOG_DLL_DECL void ShutdownGoogleLogging(); + +--- 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(); + ++ EXPECT_FALSE(IsGoogleLoggingInitialized()); ++ + // Setting a custom prefix generator (it will use the default format so that + // the golden outputs can be reused): + string prefix_attacher_data = "good data"; + InitGoogleLogging(argv[0], &PrefixAttacher, static_cast<void*>(&prefix_attacher_data)); + ++ EXPECT_TRUE(IsGoogleLoggingInitialized()); ++ + RunSpecifiedBenchmarks(); + + FLAGS_logtostderr = true; +@@ -992,8 +996,10 @@ + base::SetLogger(GLOG_INFO, + new RecordDeletionLogger(&custom_logger_deleted, + base::GetLogger(GLOG_INFO))); ++ EXPECT_TRUE(IsGoogleLoggingInitialized()); + ShutdownGoogleLogging(); + EXPECT_TRUE(custom_logger_deleted); ++ EXPECT_FALSE(IsGoogleLoggingInitialized()); + } + + _START_GOOGLE_NAMESPACE_ +--- 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(); + ++ EXPECT_FALSE(IsGoogleLoggingInitialized()); ++ + InitGoogleLogging(argv[0]); + ++ EXPECT_TRUE(IsGoogleLoggingInitialized()); ++ + RunSpecifiedBenchmarks(); + + FLAGS_logtostderr = true; +@@ -965,8 +969,10 @@ + base::SetLogger(GLOG_INFO, + new RecordDeletionLogger(&custom_logger_deleted, + base::GetLogger(GLOG_INFO))); ++ EXPECT_TRUE(IsGoogleLoggingInitialized()); + ShutdownGoogleLogging(); + EXPECT_TRUE(custom_logger_deleted); ++ EXPECT_FALSE(IsGoogleLoggingInitialized()); + } + + _START_GOOGLE_NAMESPACE_ +--- a/src/utilities.cc ++++ b/src/utilities.cc +@@ -62,6 +62,10 @@ + + static const char* g_program_invocation_short_name = NULL; + ++bool IsGoogleLoggingInitialized() { ++ return g_program_invocation_short_name != NULL; ++} ++ + _END_GOOGLE_NAMESPACE_ + + // The following APIs are all internal. +@@ -176,10 +180,6 @@ + } + } + +-bool IsGoogleLoggingInitialized() { +- return g_program_invocation_short_name != NULL; +-} +- + #ifdef OS_WINDOWS + struct timeval { + long tv_sec, tv_usec; +--- a/src/utilities.h ++++ b/src/utilities.h +@@ -163,8 +163,6 @@ + + const char* ProgramInvocationShortName(); + +-bool IsGoogleLoggingInitialized(); +- + int64 CycleClock_Now(); + + int64 UsecToCycles(int64 usec); diff --git a/dev-cpp/glog/files/glog-0.5.0-vmodule_levels_changeability.patch b/dev-cpp/glog/files/glog-0.5.0-vmodule_levels_changeability.patch new file mode 100644 index 000000000000..ed1f6a17d8df --- /dev/null +++ b/dev-cpp/glog/files/glog-0.5.0-vmodule_levels_changeability.patch @@ -0,0 +1,171 @@ +https://github.com/google/glog/issues/649 +https://github.com/google/glog/pull/650 +https://github.com/google/glog/commit/86fea1ab254c463cbb72e5ce8bcc6855bc4e1e9c + +--- 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) \ + __extension__ \ +- ({ static @ac_google_namespace@::int32* vlocal__ = NULL; \ ++ ({ static @ac_google_namespace@::SiteFlag vlocal__{NULL, NULL, 0, NULL}; \ + @ac_google_namespace@::int32 verbose_level__ = (verboselevel); \ +- (vlocal__ == NULL ? @ac_google_namespace@::InitVLOG3__(&vlocal__, &FLAGS_v, \ +- __FILE__, verbose_level__) : *vlocal__ >= verbose_level__); \ ++ (vlocal__.level == NULL ? @ac_google_namespace@::InitVLOG3__(&vlocal__, &FLAGS_v, \ ++ __FILE__, verbose_level__) : *vlocal__.level >= verbose_level__); \ + }) + #else + // GNU extensions not available, so we do not support --vmodule. +@@ -105,6 +105,13 @@ + + // Various declarations needed for VLOG_IS_ON above: ========================= + ++struct SiteFlag { ++ @ac_google_namespace@::int32* level; ++ const char* base_name; ++ size_t base_len; ++ SiteFlag* next; ++}; ++ + // Helper routine which determines the logging info for a particalur VLOG site. + // site_flag is the address of the site-local pointer to the controlling + // verbosity level +@@ -114,7 +121,7 @@ + // We will return the return value for VLOG_IS_ON + // and if possible set *site_flag appropriately. + extern GOOGLE_GLOG_DLL_DECL bool InitVLOG3__( +- @ac_google_namespace@::int32** site_flag, ++ @ac_google_namespace@::SiteFlag* site_flag, + @ac_google_namespace@::int32* site_default, + const char* fname, + @ac_google_namespace@::int32 verbose_level); +--- 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); + static void TestLoggingLevels(); ++static void TestVLogModule(); + static void TestLogString(); + static void TestLogSink(); + static void TestLogToString(); +@@ -223,6 +224,7 @@ + TestLogging(true); + TestRawLogging(); + TestLoggingLevels(); ++ TestVLogModule(); + TestLogString(); + TestLogSink(); + TestLogToString(); +@@ -453,6 +455,24 @@ + LogWithLevels(1, GLOG_FATAL, false, true); + } + ++int TestVlogHelper() { ++ if (VLOG_IS_ON(1)) { ++ return 1; ++ } ++ return 0; ++} ++ ++void TestVLogModule() { ++ int c = TestVlogHelper(); ++ EXPECT_EQ(0, c); ++ ++#if defined(__GNUC__) ++ EXPECT_EQ(0, SetVLOGLevel("logging_unittest", 1)); ++ c = TestVlogHelper(); ++ EXPECT_EQ(1, c); ++#endif ++} ++ + TEST(DeathRawCHECK, logging) { + ASSERT_DEATH(RAW_CHECK(false, "failure 1"), + "RAW: Check false failed: failure 1"); +--- 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). + static VModuleInfo* vmodule_list = 0; ++static SiteFlag* cached_site_list = 0; ++ + // Boolean initialization flag. + static bool inited_vmodule = false; + +@@ -190,6 +192,23 @@ + info->vlog_level = log_level; + info->next = vmodule_list; + vmodule_list = info; ++ ++ SiteFlag** item_ptr = &cached_site_list; ++ SiteFlag* item = cached_site_list; ++ ++ // We traverse the list fully because the pattern can match several items ++ // from the list. ++ while (item) { ++ if (SafeFNMatch_(module_pattern, pattern_len, item->base_name, ++ item->base_len)) { ++ // Redirect the cached value to its module override. ++ item->level = &info->vlog_level; ++ *item_ptr = item->next; // Remove the item from the list. ++ } else { ++ item_ptr = &item->next; ++ } ++ item = *item_ptr; ++ } + } + } + RAW_VLOG(1, "Set VLOG level for \"%s\" to %d", module_pattern, log_level); +@@ -198,7 +217,7 @@ + + // NOTE: Individual VLOG statements cache the integer log level pointers. + // NOTE: This function must not allocate memory or require any locks. +-bool InitVLOG3__(int32** site_flag, int32* site_default, ++bool InitVLOG3__(SiteFlag* site_flag, int32* level_default, + const char* fname, int32 verbose_level) { + MutexLock l(&vmodule_lock); + bool read_vmodule_flag = inited_vmodule; +@@ -211,10 +230,17 @@ + int old_errno = errno; + + // site_default normally points to FLAGS_v +- int32* site_flag_value = site_default; ++ int32* site_flag_value = level_default; + + // Get basename for file + const char* base = strrchr(fname, '/'); ++ ++#ifdef _WIN32 ++ if (!base) { ++ base = strrchr(fname, '\\'); ++ } ++#endif ++ + base = base ? (base+1) : fname; + const char* base_end = strchr(base, '.'); + size_t base_length = base_end ? size_t(base_end - base) : strlen(base); +@@ -244,7 +270,20 @@ + ANNOTATE_BENIGN_RACE(site_flag, + "*site_flag may be written by several threads," + " but the value will be the same"); +- if (read_vmodule_flag) *site_flag = site_flag_value; ++ if (read_vmodule_flag) { ++ site_flag->level = site_flag_value; ++ // If VLOG flag has been cached to the default site pointer, ++ // we want to add to the cached list in order to invalidate in case ++ // SetVModule is called afterwards with new modules. ++ // The performance penalty here is neglible, because InitVLOG3__ is called ++ // once per site. ++ if (site_flag_value == level_default && !site_flag->base_name) { ++ site_flag->base_name = base; ++ site_flag->base_len = base_length; ++ site_flag->next = cached_site_list; ++ cached_site_list = site_flag; ++ } ++ } + + // restore the errno in case something recoverable went wrong during + // the initialization of the VLOG mechanism (see above note "protect the..") diff --git a/dev-cpp/glog/files/glog-0.6.0-cmake-4.patch b/dev-cpp/glog/files/glog-0.6.0-cmake-4.patch new file mode 100644 index 000000000000..0f17e373e2e3 --- /dev/null +++ b/dev-cpp/glog/files/glog-0.6.0-cmake-4.patch @@ -0,0 +1,18 @@ +https://bugs.gentoo.org/954083 +https://github.com/google/glog/commit/3411d58669fe07e70335b252299432a00d1e7c6c + +From 3411d58669fe07e70335b252299432a00d1e7c6c Mon Sep 17 00:00:00 2001 +From: Sergiu Deitsch <sergiu.deitsch@gmail.com> +Date: Thu, 5 Oct 2023 00:48:10 +0200 +Subject: [PATCH] cmake: eliminate deprecation warning + +--- a/cmake/GetCacheVariables.cmake ++++ b/cmake/GetCacheVariables.cmake +@@ -1,5 +1,5 @@ + cmake_policy (PUSH) +-cmake_policy (VERSION 3.3) ++cmake_policy (VERSION 3.16...3.27) + + include (CMakeParseArguments) + + diff --git a/dev-cpp/glog/files/glog-0.6.0-disable-symbolize-test.patch b/dev-cpp/glog/files/glog-0.6.0-disable-symbolize-test.patch new file mode 100644 index 000000000000..8e9abc0ecd62 --- /dev/null +++ b/dev-cpp/glog/files/glog-0.6.0-disable-symbolize-test.patch @@ -0,0 +1,30 @@ +From 9ad08ac6cc7899947deb934a695d150f0ae360d0 Mon Sep 17 00:00:00 2001 +From: Rodrigo Queiro <rodrigoq@google.com> +Date: Tue, 13 Sep 2022 11:53:24 +0200 +Subject: [PATCH] Remove symbolize Bazel test + +It is broken on Windows CI (#859) in a way that I don't understand. + +* asturmlechner 2024-11-28: backported to cmake +--- + CMakeLists.txt | 2 +- + 1 file changed, 2 insertions(+), 2 deletions(-) + +--- a/CMakeLists.txt 2022-04-05 00:03:27.000000000 +0200 ++++ b/CMakeLists.txt 2024-11-28 22:58:18.584982147 +0100 +@@ -804,13 +804,13 @@ + GLOG_STL_LOGGING_FOR_EXT_SLIST) + endif (HAVE_EXT_SLIST) + +- if (HAVE_SYMBOLIZE) ++ if (0) + add_executable (symbolize_unittest + src/symbolize_unittest.cc + ) + + target_link_libraries (symbolize_unittest PRIVATE ${_GLOG_TEST_LIBS}) +- endif (HAVE_SYMBOLIZE) ++ endif () + + add_executable (demangle_unittest + src/demangle_unittest.cc diff --git a/dev-cpp/glog/files/glog-0.6.0-try-fix-logging-test.patch b/dev-cpp/glog/files/glog-0.6.0-try-fix-logging-test.patch new file mode 100644 index 000000000000..b3bec4801f28 --- /dev/null +++ b/dev-cpp/glog/files/glog-0.6.0-try-fix-logging-test.patch @@ -0,0 +1,36 @@ +From 45d7978dafceca8200fa4434d762f62642dc7cb4 Mon Sep 17 00:00:00 2001 +From: Sergiu Deitsch <sergiud@users.noreply.github.com> +Date: Tue, 2 Jan 2024 13:01:42 +0100 +Subject: [PATCH] fix(tests): prevent clang from optimizing new away (#1017) + +--- + src/logging_unittest.cc | 13 +++++++++++-- + 1 file changed, 10 insertions(+), 3 deletions(-) + +diff --git a/src/logging_unittest.cc b/src/logging_unittest.cc +index cb1c657e7..40da9a44d 100644 +--- a/src/logging_unittest.cc ++++ b/src/logging_unittest.cc +@@ -355,12 +355,19 @@ struct NewHook { + } + }; + ++namespace { ++int* allocInt() { return new int; } ++} // namespace ++ + TEST(DeathNoAllocNewHook, logging) { + // tests that NewHook used below works + NewHook new_hook; +- ASSERT_DEATH({ +- new int; +- }, "unexpected new"); ++ // Avoid unused warnings under MinGW ++ // ++ // NOTE MSVC produces warning C4551 here if we do not take the address of the ++ // function explicitly. ++ (void)&allocInt; ++ ASSERT_DEATH({ allocInt(); }, "unexpected new"); + } + + void TestRawLogging() { diff --git a/dev-cpp/glog/glog-0.5.0.ebuild b/dev-cpp/glog/glog-0.5.0.ebuild new file mode 100644 index 000000000000..a77fce16b22e --- /dev/null +++ b/dev-cpp/glog/glog-0.5.0.ebuild @@ -0,0 +1,61 @@ +# Copyright 2011-2024 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" +KEYWORDS="amd64 arm arm64 ~hppa ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" +IUSE="gflags +libunwind llvm-libunwind test" +RESTRICT="!test? ( test )" + +RDEPEND="gflags? ( dev-cpp/gflags:0=[${MULTILIB_USEDEP}] ) + libunwind? ( + llvm-libunwind? ( llvm-runtimes/libunwind:0=[${MULTILIB_USEDEP}] ) + !llvm-libunwind? ( sys-libs/libunwind:0=[${MULTILIB_USEDEP}] ) + )" +DEPEND="${RDEPEND} + test? ( >=dev-cpp/gtest-1.8.0[${MULTILIB_USEDEP}] )" + +PATCHES=( + "${FILESDIR}/${P}-IsGoogleLoggingInitialized_public.patch" + "${FILESDIR}/${P}-vmodule_levels_changeability.patch" +) + +src_configure() { + local mycmakeargs=( + -DBUILD_TESTING=$(usex test ON OFF) + -DWITH_CUSTOM_PREFIX=ON + -DWITH_GFLAGS=$(usex gflags ON OFF) + -DWITH_GTEST=$(usex test ON OFF) + -DWITH_UNWIND=$(usex libunwind ON OFF) + ) + if use libunwind; then + mycmakeargs+=( + -DUnwind_PLATFORM_LIBRARY="${ESYSROOT}/usr/$(get_libdir)/libunwind.so" + ) + fi + + cmake-multilib_src_configure +} + +src_test() { + # See bug #832355 + cmake-multilib_src_test -j1 +} diff --git a/dev-cpp/glog/glog-0.6.0-r1.ebuild b/dev-cpp/glog/glog-0.6.0-r1.ebuild new file mode 100644 index 000000000000..ee9f161d6d89 --- /dev/null +++ b/dev-cpp/glog/glog-0.6.0-r1.ebuild @@ -0,0 +1,64 @@ +# Copyright 2011-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake-multilib + +DESCRIPTION="Google Logging library" +HOMEPAGE="https://github.com/google/glog" + +if [[ ${PV} == 9999 ]]; then + EGIT_REPO_URI="https://github.com/google/glog" + inherit git-r3 +else + SRC_URI="https://github.com/google/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" + + KEYWORDS="amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" +fi + +LICENSE="BSD" +SLOT="0/1" +IUSE="gflags +libunwind llvm-libunwind test" +RESTRICT="!test? ( test )" + +RDEPEND=" + gflags? ( dev-cpp/gflags:=[${MULTILIB_USEDEP}] ) + libunwind? ( + llvm-libunwind? ( llvm-runtimes/libunwind:=[${MULTILIB_USEDEP}] ) + !llvm-libunwind? ( sys-libs/libunwind:=[${MULTILIB_USEDEP}] ) + ) +" +DEPEND=" + ${RDEPEND} + test? ( >=dev-cpp/gtest-1.8.0[${MULTILIB_USEDEP}] ) +" + +PATCHES=( + "${FILESDIR}"/${PN}-0.6.0-cmake-4.patch +) + +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() { + # Tests have a history of being brittle: bug #863599 + CMAKE_SKIP_TESTS=( + logging + stacktrace + symbolize + log_severity_conversion + includes_vlog_is_on + includes_raw_logging + ) + + cmake-multilib_src_test -j1 +} diff --git a/dev-cpp/glog/glog-0.6.0.ebuild b/dev-cpp/glog/glog-0.6.0.ebuild new file mode 100644 index 000000000000..259c361ffcf9 --- /dev/null +++ b/dev-cpp/glog/glog-0.6.0.ebuild @@ -0,0 +1,56 @@ +# Copyright 2011-2025 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 ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" +IUSE="gflags +libunwind llvm-libunwind test" +RESTRICT="!test? ( test )" + +RDEPEND="gflags? ( dev-cpp/gflags:0=[${MULTILIB_USEDEP}] ) + libunwind? ( + llvm-libunwind? ( llvm-runtimes/libunwind:0=[${MULTILIB_USEDEP}] ) + !llvm-libunwind? ( sys-libs/libunwind:0=[${MULTILIB_USEDEP}] ) + ) +" +DEPEND="${RDEPEND} + test? ( >=dev-cpp/gtest-1.8.0[${MULTILIB_USEDEP}] ) +" + +PATCHES=( + "${FILESDIR}/${P}-disable-symbolize-test.patch" # bug 863599 + "${FILESDIR}/${P}-try-fix-logging-test.patch" +) + +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 +} diff --git a/dev-cpp/glog/glog-0.7.1.ebuild b/dev-cpp/glog/glog-0.7.1.ebuild new file mode 100644 index 000000000000..51cde4ee2d29 --- /dev/null +++ b/dev-cpp/glog/glog-0.7.1.ebuild @@ -0,0 +1,60 @@ +# Copyright 2011-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake-multilib + +DESCRIPTION="Google Logging library" +HOMEPAGE="https://github.com/google/glog" + +if [[ ${PV} == 9999 ]]; then + EGIT_REPO_URI="https://github.com/google/glog" + inherit git-r3 +else + SRC_URI="https://github.com/google/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" + + KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +fi + +LICENSE="BSD" +SLOT="0/2" +IUSE="gflags +libunwind llvm-libunwind test" +RESTRICT="!test? ( test )" + +RDEPEND=" + gflags? ( dev-cpp/gflags:=[${MULTILIB_USEDEP}] ) + libunwind? ( + llvm-libunwind? ( llvm-runtimes/libunwind:=[${MULTILIB_USEDEP}] ) + !llvm-libunwind? ( sys-libs/libunwind:=[${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() { + # Tests have a history of being brittle: bug #863599 + CMAKE_SKIP_TESTS=( + logging + stacktrace + symbolize + log_severity_conversion + includes_vlog_is_on + includes_raw_logging + ) + + cmake-multilib_src_test -j1 +} diff --git a/dev-cpp/glog/metadata.xml b/dev-cpp/glog/metadata.xml new file mode 100644 index 000000000000..bbbd4c7947cd --- /dev/null +++ b/dev-cpp/glog/metadata.xml @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <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> + <flag name="libunwind">Use libunwind library (<pkg>sys-libs/libunwind</pkg> or <pkg>llvm-runtimes/libunwind</pkg>) instead of built-in fallback implementation for stack unwinding</flag> + </use> + <upstream> + <remote-id type="github">google/glog</remote-id> + </upstream> +</pkgmetadata> |
