summaryrefslogtreecommitdiff
path: root/dev-cpp/glog
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2018-07-14 21:03:06 +0100
committerV3n3RiX <venerix@redcorelinux.org>2018-07-14 21:03:06 +0100
commit8376ef56580626e9c0f796d5b85b53a0a1c7d5f5 (patch)
tree7681bbd4e8b05407772df40a4bf04cbbc8afc3fa /dev-cpp/glog
parent30a9caf154332f12ca60756e1b75d2f0e3e1822d (diff)
gentoo resync : 14.07.2018
Diffstat (limited to 'dev-cpp/glog')
-rw-r--r--dev-cpp/glog/Manifest11
-rw-r--r--dev-cpp/glog/files/glog-0.3.2-avoid-inline-asm.patch56
-rw-r--r--dev-cpp/glog/files/glog-0.3.4-fix-build-system.patch142
-rw-r--r--dev-cpp/glog/files/glog-0.3.4-fix-gcc5-demangling.patch56
-rw-r--r--dev-cpp/glog/glog-0.3.3-r1.ebuild64
-rw-r--r--dev-cpp/glog/glog-0.3.4-r1.ebuild47
-rw-r--r--dev-cpp/glog/glog-0.3.4.ebuild65
-rw-r--r--dev-cpp/glog/glog-0.3.5.ebuild47
-rw-r--r--dev-cpp/glog/metadata.xml16
9 files changed, 504 insertions, 0 deletions
diff --git a/dev-cpp/glog/Manifest b/dev-cpp/glog/Manifest
new file mode 100644
index 000000000000..f54bdb928242
--- /dev/null
+++ b/dev-cpp/glog/Manifest
@@ -0,0 +1,11 @@
+AUX glog-0.3.2-avoid-inline-asm.patch 1837 BLAKE2B 2cd93d0be42a9cf18e610dbccc3859cf7347d25b9205c6bb69c795e3df63c2fdd31972312afaa835cbf1d5eae8b1b6b274d41093bf35d32db7cba2df8833f8c3 SHA512 d45e6e1ef311a8eaccbbcf802c609c19509b74d0647a6ff4e2f0886ecd52d7f107c76d06cba88036870a4c34c62c19df661c59ea5011dff931ad14a3f5d8ab58
+AUX glog-0.3.4-fix-build-system.patch 4861 BLAKE2B d1c10a8c4b264003e0718da28e1df5a24045a61987dae2412a1c72abcc3ec8d8f01d3f5a4e14a97ebb3b482effe8bafa0fe44710a94d16c5db97d44891ca3a68 SHA512 ba162ebb8395044b2bb7b1982a463be01155772acf898614cc13f73c523f63094621f887b8a67e6f810d98914177a1a4a82a45ba7ff7415101f70a8915ae42f0
+AUX glog-0.3.4-fix-gcc5-demangling.patch 1992 BLAKE2B 086661e687a98e34777fd0baf97dec3730acad2ff8fd2184bb0a25d3c516125ca97d92bd799f33fabce4aabfeb1fba6dd865c89aef1659095988c34166285f69 SHA512 6f0b6f74dd039672f80dce55526ae784ff56add01ffc0dc0f5adf4c0ebbf9af15cfd054b370a0631fb7044abb20edf6dc79cb0dd2ac49fda7131ec152f54f054
+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
+EBUILD glog-0.3.3-r1.ebuild 1781 BLAKE2B 14b1654553f9c52c9f0f7a3efaffd3e6ae408212b25ac35db9b51eb543e92a99bab32392ae3cb2df410c12330bf618d347f13a102b4da16025880cf46ac43de1 SHA512 d116e48b3cd2e2513291b006d94100414399d3f77ce5bd4058c86a28241b690476cdbc7c189684bc86758dc0bb08d11bbd575beb71d1f4969bff8477c8a45f2c
+EBUILD glog-0.3.4-r1.ebuild 1192 BLAKE2B cb2259d727bd5629059a4848f0efd990ab054a587994c0b951007c58cdff3b8991936c391fc431d41e17d475178e83f48fd29ad4d3fd1f3fc278e2525d404576 SHA512 cd39b6f0edc218fb67b20a09e37a0149e3b1d165beed2614654db7ba6ee50d94480a83ef602728f4b8aedaf33547dd06512925c46b48d0f02ed77da1a88c5f0d
+EBUILD glog-0.3.4.ebuild 1802 BLAKE2B a0d46af823ee228ad860a96dbf11cc26cc97cd49c96e3d3f860324ab3809273ffe2db3744a566beb73b5e01f8dd85447320e53c067c006fed12dc98ec6d77ea5 SHA512 b445fa06f2260544a4b61da19f9dae1d3272d77348be4c381da6e862b6ced086d4916c743bb29882678458b0ef93704b96f2d7494989f726795ef874ee870037
+EBUILD glog-0.3.5.ebuild 1198 BLAKE2B d30874550c821e6bc4e1127660c43fbf23e3ce1f4fe74d05246fe97d1f0912f9452b6ed43c78cf93e70e460fcb14268f18ea64439c82e3ce196f236e81f08acb SHA512 f60474a111c82217991ef31825cc9d3f19914815d011351216f814041902e77e6dd44aaf8cb3a90fd0601654add6d82111532143227fbba41ed8c5db5afaa1ea
+MISC metadata.xml 609 BLAKE2B 44e06e9039e048b3be88b61ad11a3b698a99e78fcd8df49e66c5a63bea43422e3c8f197f847e5c22057828d23ddc37efb09cb9015f5a6b252e20c8d038ecf5b3 SHA512 9dc4390cd212eb4a9d05ea2eeae26d7556c7ddc01444a917a9d5958d4604a4808b73ab7a7f9f4c6809ae396a53c1e9c73c5ce6b96595c7dd7d86dd6ec7a739fb
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
new file mode 100644
index 000000000000..b6fa9cdb7374
--- /dev/null
+++ b/dev-cpp/glog/files/glog-0.3.2-avoid-inline-asm.patch
@@ -0,0 +1,56 @@
+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
new file mode 100644
index 000000000000..cd38111bc81f
--- /dev/null
+++ b/dev-cpp/glog/files/glog-0.3.4-fix-build-system.patch
@@ -0,0 +1,142 @@
+--- 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
new file mode 100644
index 000000000000..fd1518c68583
--- /dev/null
+++ b/dev-cpp/glog/files/glog-0.3.4-fix-gcc5-demangling.patch
@@ -0,0 +1,56 @@
+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.3-r1.ebuild b/dev-cpp/glog/glog-0.3.3-r1.ebuild
new file mode 100644
index 000000000000..667d65726491
--- /dev/null
+++ b/dev-cpp/glog/glog-0.3.3-r1.ebuild
@@ -0,0 +1,64 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="4"
+inherit eutils multilib-minimal
+
+DESCRIPTION="Google's C++ logging library"
+HOMEPAGE="https://github.com/google/glog"
+SRC_URI="https://google-glog.googlecode.com/files/${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="gflags static-libs unwind test"
+
+RDEPEND="gflags? ( >=dev-cpp/gflags-2.0-r1[${MULTILIB_USEDEP}] )
+ unwind? ( sys-libs/libunwind )"
+DEPEND="${RDEPEND}
+ test? ( >=dev-cpp/gtest-1.8.0[${MULTILIB_USEDEP}] )"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-0.3.2-avoid-inline-asm.patch
+ # Fix the --dodcdir flag:
+ # https://code.google.com/p/google-glog/issues/detail?id=193
+ sed -i \
+ -e '/^docdir =/s:=.*:= @docdir@:' \
+ Makefile.in || die
+}
+
+multilib_src_configure() {
+ use test || export ac_cv_prog_GTEST_CONFIG=no
+ ECONF_SOURCE=${S} \
+ ac_cv_lib_gflags_main=$(usex gflags) \
+ ac_cv_lib_unwind_backtrace=$(usex unwind) \
+ econf \
+ --docdir="\$(datarootdir)/doc/${PF}" \
+ --htmldir='$(docdir)/html' \
+ $(use_enable static-libs static)
+}
+
+_emake() {
+ # The tests always get built ... disable them when unused.
+ emake $(usex test '' noinst_PROGRAMS=) "$@"
+}
+
+multilib_src_compile() {
+ _emake
+}
+
+multilib_src_install() {
+ _emake install DESTDIR="${D}"
+}
+
+multilib_src_install_all() {
+ # Punt docs we don't care about (NEWS is 0 bytes).
+ rm "${ED}"/usr/share/doc/${PF}/{COPYING,NEWS,README.windows} || die
+
+ # --htmldir doesn't work (yet):
+ # https://code.google.com/p/google-glog/issues/detail?id=144
+ dohtml "${ED}"/usr/share/doc/${PF}/*
+ rm "${ED}"/usr/share/doc/${PF}/*.{html,css}
+
+ use static-libs || find "${ED}" -name '*.la' -delete
+}
diff --git a/dev-cpp/glog/glog-0.3.4-r1.ebuild b/dev-cpp/glog/glog-0.3.4-r1.ebuild
new file mode 100644
index 000000000000..ad7b6587ddb3
--- /dev/null
+++ b/dev-cpp/glog/glog-0.3.4-r1.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2018 Gentoo Foundation
+# 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="~alpha amd64 arm ~arm64 ~hppa ~ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-linux ~x86-linux"
+IUSE="gflags static-libs test unwind"
+
+RDEPEND="
+ gflags? ( >=dev-cpp/gflags-2.0-r1[${MULTILIB_USEDEP}] )
+ unwind? ( 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 unwind)
+}
+
+multilib_src_install_all() {
+ einstalldocs
+
+ # package provides .pc files
+ find "${D}" -name '*.la' -delete || die
+}
diff --git a/dev-cpp/glog/glog-0.3.4.ebuild b/dev-cpp/glog/glog-0.3.4.ebuild
new file mode 100644
index 000000000000..a6b6ee4e3fb4
--- /dev/null
+++ b/dev-cpp/glog/glog-0.3.4.ebuild
@@ -0,0 +1,65 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+
+inherit eutils 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="gflags static-libs unwind test"
+
+RDEPEND="gflags? ( >=dev-cpp/gflags-2.0-r1[${MULTILIB_USEDEP}] )
+ unwind? ( sys-libs/libunwind )"
+DEPEND="${RDEPEND}
+ test? ( >=dev-cpp/gtest-1.8.0[${MULTILIB_USEDEP}] )"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-0.3.2-avoid-inline-asm.patch
+ # Fix the --dodcdir flag:
+ # https://code.google.com/p/google-glog/issues/detail?id=193
+ sed -i \
+ -e '/^docdir =/s:=.*:= @docdir@:' \
+ Makefile.in || die
+}
+
+multilib_src_configure() {
+ use test || export ac_cv_prog_GTEST_CONFIG=no
+ ECONF_SOURCE=${S} \
+ ac_cv_lib_gflags_main=$(usex gflags) \
+ ac_cv_lib_unwind_backtrace=$(usex unwind) \
+ econf \
+ --docdir="\$(datarootdir)/doc/${PF}" \
+ --htmldir='$(docdir)/html' \
+ $(use_enable static-libs static)
+}
+
+_emake() {
+ # The tests always get built ... disable them when unused.
+ emake $(usex test '' noinst_PROGRAMS=) "$@"
+}
+
+multilib_src_compile() {
+ _emake
+}
+
+multilib_src_install() {
+ _emake install DESTDIR="${D}"
+}
+
+multilib_src_install_all() {
+ # Punt docs we don't care about (NEWS is 0 bytes).
+ rm "${ED}"/usr/share/doc/${PF}/{COPYING,NEWS,README.windows} || die
+
+ # --htmldir doesn't work (yet):
+ # https://code.google.com/p/google-glog/issues/detail?id=144
+ dohtml "${ED}"/usr/share/doc/${PF}/*
+ rm "${ED}"/usr/share/doc/${PF}/*.{html,css}
+
+ use static-libs || find "${ED}" -name '*.la' -delete
+}
diff --git a/dev-cpp/glog/glog-0.3.5.ebuild b/dev-cpp/glog/glog-0.3.5.ebuild
new file mode 100644
index 000000000000..1f4064c66394
--- /dev/null
+++ b/dev-cpp/glog/glog-0.3.5.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2018 Gentoo Foundation
+# 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="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-linux ~x86-linux"
+IUSE="gflags static-libs test unwind"
+
+RDEPEND="
+ gflags? ( >=dev-cpp/gflags-2.0-r1[${MULTILIB_USEDEP}] )
+ unwind? ( 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 unwind)
+}
+
+multilib_src_install_all() {
+ einstalldocs
+
+ # package provides .pc files
+ find "${D}" -name '*.la' -delete || die
+}
diff --git a/dev-cpp/glog/metadata.xml b/dev-cpp/glog/metadata.xml
new file mode 100644
index 000000000000..a1375d627eeb
--- /dev/null
+++ b/dev-cpp/glog/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>cpp@gentoo.org</email>
+ <name>Gentoo C++ Project</name>
+ </maintainer>
+ <use>
+ <flag name="gflags">Use <pkg>dev-cpp/gflags</pkg> for flag parsing</flag>
+ <flag name="unwind">Use <pkg>sys-libs/libunwind</pkg> for stack unwinding instead of glibc/gcc (may be more reliable on x86_64)</flag>
+ </use>
+ <upstream>
+ <remote-id type="google-code">google-glog</remote-id>
+ <remote-id type="github">google/glog</remote-id>
+ </upstream>
+</pkgmetadata>