public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/gentoo:master commit in: dev-cpp/glog/, dev-cpp/glog/files/
@ 2021-06-04 19:51 Mike Gilbert
  0 siblings, 0 replies; 4+ messages in thread
From: Mike Gilbert @ 2021-06-04 19:51 UTC (permalink / raw
  To: gentoo-commits

commit:     6d87191d729e19343fdf66df33b2786a9f0cb68a
Author:     Arfrever Frehtes Taifersar Arahesis <Arfrever <AT> Apache <DOT> Org>
AuthorDate: Fri Jun  4 00:00:00 2021 +0000
Commit:     Mike Gilbert <floppym <AT> gentoo <DOT> org>
CommitDate: Fri Jun  4 19:48:06 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6d87191d

dev-cpp/glog: Version bump (0.5.0).

Signed-off-by: Arfrever Frehtes Taifersar Arahesis <Arfrever <AT> Apache.Org>
Signed-off-by: Mike Gilbert <floppym <AT> gentoo.org>

 dev-cpp/glog/Manifest                              |   1 +
 ...g-0.5.0-IsGoogleLoggingInitialized_public.patch | 106 +++++++++++++
 .../glog-0.5.0-vmodule_levels_changeability.patch  | 171 +++++++++++++++++++++
 dev-cpp/glog/glog-0.5.0.ebuild                     |  57 +++++++
 4 files changed, 335 insertions(+)

diff --git a/dev-cpp/glog/Manifest b/dev-cpp/glog/Manifest
index 70b9824bb8d..7c483d27446 100644
--- a/dev-cpp/glog/Manifest
+++ b/dev-cpp/glog/Manifest
@@ -1,2 +1,3 @@
 DIST glog-0.3.4.tar.gz 522508 BLAKE2B 4a188d5998005b29afc52f2ea548f33e06a68da993bb74960e5aedb214ec52ef9e9fc39efb1a34f38f217b92df7db064ff01d58df36c3e4ad789becc97335ec2 SHA512 139525b546a9eccacc9bebf7cc3053ba52229e9488485ad45344c3d3134ca819d3b571250c0e3a6d84097009c8be89b0f4fa16ef5ec838ffcc237ae11c3a034c
 DIST glog-0.4.0.tar.gz 200955 BLAKE2B 083da6117af3e85697724942bfcb5a7831d447666945b06b149d8d324231b10923887bd8c507e8027136d12bffd30a657cb225df8c449f234381e3876f132953 SHA512 b585f1819ade2075f6b61dc5aaca5c3f9d25601dba2bd08b6c49b96ac5f79db23c6b7f2042df003f7130497dd7241fcaa8b107d1f97385cb66ce52d3c554b176
+DIST glog-0.5.0.tar.gz 183346 BLAKE2B 9109a9a4bd3c74ba5d4c1d9ed44ffe0e16d5d3b9b12bf9dd5d31c6e728292ea50f39b4e1b96d55fbb35653a448af4dc8a978e266a2b0f34261c5108099e90845 SHA512 445e4338f3d81cd0b065f2da9c6ce343c243263ca144cea424ef97531a4e9e09c06ffd6942ac01c5213a8003c75cfbbede3c4028d12f0134f23ff29314769c1a

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 00000000000..a19ebdcf0fa
--- /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
+
+--- /src/glog/logging.h.in
++++ /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();
+ 
+--- /src/logging_custom_prefix_unittest.cc
++++ /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_
+--- /src/logging_unittest.cc
++++ /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_
+--- /src/utilities.cc
++++ /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;
+--- /src/utilities.h
++++ /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 00000000000..f9b90c1521a
--- /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
+
+--- /src/glog/vlog_is_on.h.in
++++ /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);
+--- /src/logging_unittest.cc
++++ /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");
+--- /src/vlog_is_on.cc
++++ /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/glog-0.5.0.ebuild b/dev-cpp/glog/glog-0.5.0.ebuild
new file mode 100644
index 00000000000..4df075626ad
--- /dev/null
+++ b/dev-cpp/glog/glog-0.5.0.ebuild
@@ -0,0 +1,57 @@
+# Copyright 2011-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+CMAKE_ECLASS="cmake"
+
+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 ~ia64 ~mips ~ppc64 ~s390 ~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}] )"
+
+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
+}


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-cpp/glog/, dev-cpp/glog/files/
@ 2021-06-06 17:04 Mike Gilbert
  0 siblings, 0 replies; 4+ messages in thread
From: Mike Gilbert @ 2021-06-06 17:04 UTC (permalink / raw
  To: gentoo-commits

commit:     94fdecc1cacdbb331c88943e61b97957022864fd
Author:     Arfrever Frehtes Taifersar Arahesis <Arfrever <AT> Apache <DOT> Org>
AuthorDate: Sat Jun  5 05:00:00 2021 +0000
Commit:     Mike Gilbert <floppym <AT> gentoo <DOT> org>
CommitDate: Sun Jun  6 17:04:42 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=94fdecc1

dev-cpp/glog: Delete old version (0.3.4-r1).

Signed-off-by: Arfrever Frehtes Taifersar Arahesis <Arfrever <AT> Apache.Org>
Signed-off-by: Mike Gilbert <floppym <AT> gentoo.org>

 dev-cpp/glog/Manifest                              |   1 -
 .../glog/files/glog-0.3.2-avoid-inline-asm.patch   |  56 --------
 .../glog/files/glog-0.3.4-fix-build-system.patch   | 142 ---------------------
 .../files/glog-0.3.4-fix-gcc5-demangling.patch     |  56 --------
 dev-cpp/glog/glog-0.3.4-r1.ebuild                  |  48 -------
 5 files changed, 303 deletions(-)

diff --git a/dev-cpp/glog/Manifest b/dev-cpp/glog/Manifest
index 7c483d27446..b52819ecab8 100644
--- a/dev-cpp/glog/Manifest
+++ b/dev-cpp/glog/Manifest
@@ -1,3 +1,2 @@
-DIST glog-0.3.4.tar.gz 522508 BLAKE2B 4a188d5998005b29afc52f2ea548f33e06a68da993bb74960e5aedb214ec52ef9e9fc39efb1a34f38f217b92df7db064ff01d58df36c3e4ad789becc97335ec2 SHA512 139525b546a9eccacc9bebf7cc3053ba52229e9488485ad45344c3d3134ca819d3b571250c0e3a6d84097009c8be89b0f4fa16ef5ec838ffcc237ae11c3a034c
 DIST glog-0.4.0.tar.gz 200955 BLAKE2B 083da6117af3e85697724942bfcb5a7831d447666945b06b149d8d324231b10923887bd8c507e8027136d12bffd30a657cb225df8c449f234381e3876f132953 SHA512 b585f1819ade2075f6b61dc5aaca5c3f9d25601dba2bd08b6c49b96ac5f79db23c6b7f2042df003f7130497dd7241fcaa8b107d1f97385cb66ce52d3c554b176
 DIST glog-0.5.0.tar.gz 183346 BLAKE2B 9109a9a4bd3c74ba5d4c1d9ed44ffe0e16d5d3b9b12bf9dd5d31c6e728292ea50f39b4e1b96d55fbb35653a448af4dc8a978e266a2b0f34261c5108099e90845 SHA512 445e4338f3d81cd0b065f2da9c6ce343c243263ca144cea424ef97531a4e9e09c06ffd6942ac01c5213a8003c75cfbbede3c4028d12f0134f23ff29314769c1a

diff --git a/dev-cpp/glog/files/glog-0.3.2-avoid-inline-asm.patch b/dev-cpp/glog/files/glog-0.3.2-avoid-inline-asm.patch
deleted file mode 100644
index b6fa9cdb737..00000000000
--- a/dev-cpp/glog/files/glog-0.3.2-avoid-inline-asm.patch
+++ /dev/null
@@ -1,56 +0,0 @@
-http://code.google.com/p/google-glog/issues/detail?id=130
-
-make the code work with all gcc targets
-
---- a/src/symbolize_unittest.cc
-+++ b/src/symbolize_unittest.cc
-@@ -60,9 +60,7 @@ using namespace GOOGLE_NAMESPACE;
- #    endif  // __i386__
- #  else
- #  endif  // __GNUC__ >= 4
--#  if defined(__i386__) || defined(__x86_64__)
--#    define TEST_X86_32_AND_64 1
--#  endif  // defined(__i386__) || defined(__x86_64__)
-+#  define TEST_WITH_LABEL_ADDRESSES
- #endif
- 
- // A wrapper function for Symbolize() to make the unit test simple.
-@@ -289,22 +287,24 @@ TEST(Symbolize, SymbolizeWithDemanglingStackConsumption) {
- extern "C" {
- inline void* always_inline inline_func() {
-   register void *pc = NULL;
--#ifdef TEST_X86_32_AND_64
--  __asm__ __volatile__("call 1f; 1: pop %0" : "=r"(pc));
-+#ifdef TEST_WITH_LABEL_ADDRESSES
-+  pc = &&curr_pc;
-+  curr_pc:
- #endif
-   return pc;
- }
- 
- void* ATTRIBUTE_NOINLINE non_inline_func() {
-   register void *pc = NULL;
--#ifdef TEST_X86_32_AND_64
--  __asm__ __volatile__("call 1f; 1: pop %0" : "=r"(pc));
-+#ifdef TEST_WITH_LABEL_ADDRESSES
-+  pc = &&curr_pc;
-+  curr_pc:
- #endif
-   return pc;
- }
- 
- void ATTRIBUTE_NOINLINE TestWithPCInsideNonInlineFunction() {
--#if defined(TEST_X86_32_AND_64) && defined(HAVE_ATTRIBUTE_NOINLINE)
-+#if defined(TEST_WITH_LABEL_ADDRESSES) && defined(HAVE_ATTRIBUTE_NOINLINE)
-   void *pc = non_inline_func();
-   const char *symbol = TrySymbolize(pc);
-   CHECK(symbol != NULL);
-@@ -314,7 +314,7 @@ void ATTRIBUTE_NOINLINE TestWithPCInsideNonInlineFunction() {
- }
- 
- void ATTRIBUTE_NOINLINE TestWithPCInsideInlineFunction() {
--#if defined(TEST_X86_32_AND_64) && defined(HAVE_ALWAYS_INLINE)
-+#if defined(TEST_WITH_LABEL_ADDRESSES) && defined(HAVE_ALWAYS_INLINE)
-   void *pc = inline_func();  // Must be inlined.
-   const char *symbol = TrySymbolize(pc);
-   CHECK(symbol != NULL);

diff --git a/dev-cpp/glog/files/glog-0.3.4-fix-build-system.patch b/dev-cpp/glog/files/glog-0.3.4-fix-build-system.patch
deleted file mode 100644
index cd38111bc81..00000000000
--- a/dev-cpp/glog/files/glog-0.3.4-fix-build-system.patch
+++ /dev/null
@@ -1,142 +0,0 @@
---- a/configure.ac
-+++ b/configure.ac
-@@ -11,7 +11,7 @@
- AC_CONFIG_SRCDIR(README)
- AC_CONFIG_MACRO_DIR([m4])
- AM_INIT_AUTOMAKE
--AM_CONFIG_HEADER(src/config.h)
-+AC_CONFIG_HEADERS([src/config.h])
- 
- AC_LANG(C++)
- 
-@@ -21,7 +21,7 @@
- AC_PROG_CXX
- AM_CONDITIONAL(GCC, test "$GCC" = yes)   # let the Makefile know if we're gcc
- 
--AC_PROG_LIBTOOL
-+LT_INIT
- AC_SUBST(LIBTOOL_DEPS)
- 
- # Check whether some low-level functions/files are available
-@@ -128,32 +128,48 @@
- fi
- 
- # Check if there is google-gflags library installed.
--SAVE_CFLAGS="$CFLAGS"
--SAVE_LIBS="$LIBS"
--AC_ARG_WITH(gflags, AS_HELP_STRING[--with-gflags=GFLAGS_DIR],
--  GFLAGS_CFLAGS="-I${with_gflags}/include"
--  GFLAGS_LIBS="-L${with_gflags}/lib -lgflags"
--  CFLAGS="$CFLAGS $GFLAGS_CFLAGS"
--  LIBS="$LIBS $GFLAGS_LIBS"
--)
--AC_CHECK_LIB(gflags, main, ac_cv_have_libgflags=1, ac_cv_have_libgflags=0)
--if test x"$ac_cv_have_libgflags" = x"1"; then
--  AC_DEFINE(HAVE_LIB_GFLAGS, 1, [define if you have google gflags library])
--  if test x"$GFLAGS_LIBS" = x""; then
--    GFLAGS_LIBS="-lgflags"
--  fi
--else
--  GFLAGS_CFLAGS=
--  GFLAGS_LIBS=
--fi
--CFLAGS="$SAVE_CFLAGS"
--LIBS="$SAVE_LIBS"
-+AC_ARG_ENABLE([gflags],
-+	AS_HELP_STRING([--enable-gflags], [Enable google-gflags]))
-+
-+ac_cv_have_libgflags=0
-+AS_IF([test "x$enable_gflags" != "xno"], [
-+	SAVE_CFLAGS="$CFLAGS"
-+	SAVE_LIBS="$LIBS"
-+	AC_ARG_WITH([gflags], AS_HELP_STRING([--with-gflags=GFLAGS_DIR]),[
-+		GFLAGS_CFLAGS="-I${with_gflags}/include"
-+		GFLAGS_LIBS="-L${with_gflags}/lib -lgflags"
-+		CFLAGS="$CFLAGS $GFLAGS_CFLAGS"
-+		LIBS="$LIBS $GFLAGS_LIBS"
-+	])
-+
-+	AC_CHECK_LIB(gflags, main, ac_cv_have_libgflags=1, ac_cv_have_libgflags=0)
-+	CFLAGS="$SAVE_CFLAGS"
-+	LIBS="$SAVE_LIBS"
-+])
-+
-+AS_IF([test "x$ac_cv_have_libgflags" = "x1"], [
-+	AC_DEFINE([HAVE_LIB_GFLAGS], [1], [define if you have google gflags library])
-+	AS_IF([test "x$GFLAGS_LIBS" = "x"], [
-+		GFLAGS_LIBS="-lgflags"
-+	])
-+], [
-+	GFLAGS_CFLAGS=
-+	GFLAGS_LIBS=
-+])
- 
- # TODO(hamaji): Use official m4 macros provided by testing libraries
- #               once the m4 macro of Google Mocking becomes ready.
- # Check if there is Google Test library installed.
--AC_CHECK_PROG(GTEST_CONFIG, gtest-config, "yes")
--AC_CHECK_LIB(gtest, main, have_gtest_lib="yes")
-+AC_ARG_ENABLE([gtest-config],
-+	AS_HELP_STRING([--enable-gtest-config], [Enable looking for gtest-config]))
-+
-+AS_IF([test "x$enable_gtest_config" != "xno"], [
-+	AC_CHECK_PROG(GTEST_CONFIG, gtest-config, "yes")
-+	AC_CHECK_LIB(gtest, main, have_gtest_lib="yes")
-+], [
-+	have_gtest_lib="no"
-+])
-+
- if test x"$GTEST_CONFIG" = "xyes" -a x"$have_gtest_lib" = "xyes"; then
-   GTEST_CFLAGS=`gtest-config --cppflags --cxxflags`
-   GTEST_LIBS=`gtest-config --ldflags --libs`
-@@ -178,17 +194,13 @@
- AM_CONDITIONAL(HAVE_GMOCK, test x"$GMOCK_CONFIG" = "xyes")
- 
- # We want to link in libunwind if it exists
--UNWIND_LIBS=
--# Unfortunately, we need to check the header file in addition to the
--# lib file to check if libunwind is available since libunwind-0.98
--# doesn't install all necessary header files.
--if test x"$ac_cv_have_libunwind_h" = x"1"; then
-- AC_CHECK_LIB(unwind, backtrace, UNWIND_LIBS=-lunwind)
--fi
--AC_SUBST(UNWIND_LIBS)
--if test x"$UNWIND_LIBS" != x""; then
--  AC_DEFINE(HAVE_LIB_UNWIND, 1, [define if you have libunwind])
--fi
-+AC_ARG_ENABLE([unwind],
-+	AS_HELP_STRING([--enable-unwind], [Enable libunwind]))
-+
-+AS_IF([test "x$enable_unwind" != "xno"], [
-+	PKG_CHECK_MODULES([UNWIND], [libunwind > 0.98])
-+	AC_DEFINE([HAVE_LIB_UNWIND], [1], [define if you have libunwind])
-+])
- 
- # We'd like to use read/write locks in several places in the code.
- # See if our pthreads support extends to that.  Note: for linux, it
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -40,12 +40,11 @@
- nodist_gloginclude_HEADERS = src/glog/logging.h src/glog/raw_logging.h src/glog/vlog_is_on.h src/glog/stl_logging.h
- noinst_HEADERS = src/glog/logging.h.in src/glog/raw_logging.h.in src/glog/vlog_is_on.h.in src/glog/stl_logging.h.in
- 
--docdir = $(prefix)/share/doc/$(PACKAGE)-$(VERSION)
- ## This is for HTML and other documentation you want to install.
- ## Add your documentation files (in doc/) in addition to these
- ## top-level boilerplate files.  Also add a TODO file if you have one.
--dist_doc_DATA = AUTHORS COPYING ChangeLog INSTALL NEWS README README.windows \
--                doc/designstyle.css doc/glog.html
-+dist_doc_DATA = AUTHORS ChangeLog INSTALL NEWS README
-+dist_html_DATA = doc/designstyle.css doc/glog.html
- 
- ## The libraries (.so's) you want to install
- lib_LTLIBRARIES =
-@@ -215,7 +214,7 @@
- 
- ## This should always include $(TESTS), but may also include other
- ## binaries that you compile but don't want automatically installed.
--noinst_PROGRAMS = $(TESTS) $(TEST_BINARIES)
-+check_PROGRAMS = $(TESTS) $(TEST_BINARIES)
- 
- rpm: dist-gzip packages/rpm.sh packages/rpm/rpm.spec
- 	@cd packages && ./rpm.sh ${PACKAGE} ${VERSION}

diff --git a/dev-cpp/glog/files/glog-0.3.4-fix-gcc5-demangling.patch b/dev-cpp/glog/files/glog-0.3.4-fix-gcc5-demangling.patch
deleted file mode 100644
index fd1518c6858..00000000000
--- a/dev-cpp/glog/files/glog-0.3.4-fix-gcc5-demangling.patch
+++ /dev/null
@@ -1,56 +0,0 @@
-From b1639e3014996fbc7635870e013559c54e7e3b2f Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?David=20Mart=C3=ADnez=20Moreno?= <ender@debian.org>
-Date: Thu, 13 Aug 2015 09:31:26 -0700
-Subject: [PATCH] Fix ABI demangling for the GCC 5.x case.
-
-When glog is compiled with gcc-5.2 in cxx11 ABI mode, it barfs about unmangled symbols.  This patches it getting inspiration from binutils and demangle.cc itself, although it may be totally wrong or maybe have to use ParseAbiTag in more places.  I haven't read the spec for the symbols, though.
-
-This patch makes the demangle unit test pass correctly.
----
- src/demangle.cc | 19 +++++++++++++++++++
- 1 file changed, 19 insertions(+)
-
-diff --git a/src/demangle.cc b/src/demangle.cc
-index e858181..0f0c831 100644
---- a/src/demangle.cc
-+++ b/src/demangle.cc
-@@ -439,6 +439,7 @@ static bool ParseExprPrimary(State *state);
- static bool ParseLocalName(State *state);
- static bool ParseDiscriminator(State *state);
- static bool ParseSubstitution(State *state);
-+static bool ParseAbiTag(State *state);
- 
- // Implementation note: the following code is a straightforward
- // translation of the Itanium C++ ABI defined in BNF with a couple of
-@@ -567,6 +568,8 @@ static bool ParseNestedName(State *state) {
- static bool ParsePrefix(State *state) {
-   bool has_something = false;
-   while (true) {
-+    if (ParseAbiTag(state))
-+      continue;
-     MaybeAppendSeparator(state);
-     if (ParseTemplateParam(state) ||
-         ParseSubstitution(state) ||
-@@ -585,6 +588,22 @@ static bool ParsePrefix(State *state) {
-   return true;
- }
- 
-+// <abi-tag>          ::= B <source-name>
-+static bool ParseAbiTag(State *state) {
-+  State copy = *state;
-+
-+  Append(state, "[", 1);
-+  if (ParseOneCharToken(state, 'B') &&
-+      ParseSourceName(state))
-+  {
-+    Append(state, "]", 1);
-+    return true;
-+  }
-+
-+  *state = copy;
-+  return false;
-+}
-+
- // <unqualified-name> ::= <operator-name>
- //                    ::= <ctor-dtor-name>
- //                    ::= <source-name>

diff --git a/dev-cpp/glog/glog-0.3.4-r1.ebuild b/dev-cpp/glog/glog-0.3.4-r1.ebuild
deleted file mode 100644
index d6fd3e0dc0d..00000000000
--- a/dev-cpp/glog/glog-0.3.4-r1.ebuild
+++ /dev/null
@@ -1,48 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-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="amd64 arm ~arm64 ~hppa ~ia64 ~mips ppc ppc64 ~s390 x86 ~amd64-linux ~x86-linux"
-IUSE="gflags +libunwind static-libs test"
-RESTRICT="test"
-
-RDEPEND="
-	gflags? ( >=dev-cpp/gflags-2.0-r1[${MULTILIB_USEDEP}] )
-	libunwind? ( sys-libs/libunwind[${MULTILIB_USEDEP}] )"
-DEPEND="${RDEPEND}
-	test? ( >=dev-cpp/gtest-1.8.0[${MULTILIB_USEDEP}] )"
-
-PATCHES=(
-	"${FILESDIR}"/${PN}-0.3.2-avoid-inline-asm.patch
-	"${FILESDIR}"/${PN}-0.3.4-fix-build-system.patch
-	"${FILESDIR}"/${PN}-0.3.4-fix-gcc5-demangling.patch
-)
-
-src_prepare() {
-	default
-	eautoreconf
-}
-
-multilib_src_configure() {
-	ECONF_SOURCE="${S}" econf \
-		$(use_enable gflags) \
-		$(use_enable static-libs static) \
-		$(use_enable test gtest-config) \
-		$(use_enable libunwind unwind)
-}
-
-multilib_src_install_all() {
-	einstalldocs
-
-	# package provides .pc files
-	find "${D}" -name '*.la' -delete || die
-}


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-cpp/glog/, dev-cpp/glog/files/
@ 2022-08-18  3:16 Matt Turner
  0 siblings, 0 replies; 4+ messages in thread
From: Matt Turner @ 2022-08-18  3:16 UTC (permalink / raw
  To: gentoo-commits

commit:     475dab847fb2e961d0ef35173cd1295d17bf966b
Author:     Matt Turner <mattst88 <AT> gentoo <DOT> org>
AuthorDate: Thu Aug 18 03:15:38 2022 +0000
Commit:     Matt Turner <mattst88 <AT> gentoo <DOT> org>
CommitDate: Thu Aug 18 03:16:28 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=475dab84

Revert "dev-cpp/glog: Drop old versions"

Still needed by sci-libs/caffe2.

This reverts commit 3817d0904d1cd868a656cf05c50f431bd6a6ccb7.

Signed-off-by: Matt Turner <mattst88 <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                     | 46 ++++++++++
 5 files changed, 200 insertions(+)

diff --git a/dev-cpp/glog/Manifest b/dev-cpp/glog/Manifest
index 27d44dcf6c41..30b5047877a8 100644
--- a/dev-cpp/glog/Manifest
+++ b/dev-cpp/glog/Manifest
@@ -1,2 +1,3 @@
+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

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 000000000000..c55716db1ba2
--- /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 000000000000..392ae8ca7819
--- /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 000000000000..e53318ac66ff
--- /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 <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;
+ }
+ 

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 000000000000..9b10f2e2fc95
--- /dev/null
+++ b/dev-cpp/glog/glog-0.4.0.ebuild
@@ -0,0 +1,46 @@
+# Copyright 2011-2022 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 -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
+}


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-cpp/glog/, dev-cpp/glog/files/
@ 2024-11-28 22:05 Andreas Sturmlechner
  0 siblings, 0 replies; 4+ messages in thread
From: Andreas Sturmlechner @ 2024-11-28 22:05 UTC (permalink / raw
  To: gentoo-commits

commit:     5c1744bb015d407629860df1065037870ebfb034
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Thu Nov 28 22:05:10 2024 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Thu Nov 28 22:05:29 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5c1744bb

dev-cpp/glog: Disable broken symbolize patch, try fix logging test

Closes: https://bugs.gentoo.org/863599
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 .../files/glog-0.6.0-disable-symbolize-test.patch  | 30 ++++++++++++++++++
 .../files/glog-0.6.0-try-fix-logging-test.patch    | 36 ++++++++++++++++++++++
 dev-cpp/glog/glog-0.6.0.ebuild                     | 13 ++++++--
 3 files changed, 76 insertions(+), 3 deletions(-)

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.6.0.ebuild b/dev-cpp/glog/glog-0.6.0.ebuild
index 069eec682395..7dccfa1a63d5 100644
--- a/dev-cpp/glog/glog-0.6.0.ebuild
+++ b/dev-cpp/glog/glog-0.6.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2011-2023 Gentoo Authors
+# Copyright 2011-2024 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI="8"
@@ -29,9 +29,16 @@ 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}] )"
+	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=(


^ permalink raw reply related	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2024-11-28 22:05 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-08-18  3:16 [gentoo-commits] repo/gentoo:master commit in: dev-cpp/glog/, dev-cpp/glog/files/ Matt Turner
  -- strict thread matches above, loose matches on Subject: below --
2024-11-28 22:05 Andreas Sturmlechner
2021-06-06 17:04 Mike Gilbert
2021-06-04 19:51 Mike Gilbert

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox