summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-libs/log4cpp')
-rw-r--r--dev-libs/log4cpp/Manifest2
-rw-r--r--dev-libs/log4cpp/files/1.0-asneeded.patch122
-rw-r--r--dev-libs/log4cpp/files/1.0-doc_install_path.patch38
-rw-r--r--dev-libs/log4cpp/files/1.0-gcc43.patch26
-rw-r--r--dev-libs/log4cpp/files/log4cpp-1.1-automake-1.13.patch11
-rw-r--r--dev-libs/log4cpp/files/log4cpp-1.1-cmath-fix.patch10
-rw-r--r--dev-libs/log4cpp/log4cpp-1.0.ebuild37
-rw-r--r--dev-libs/log4cpp/log4cpp-1.1.ebuild56
-rw-r--r--dev-libs/log4cpp/metadata.xml8
9 files changed, 310 insertions, 0 deletions
diff --git a/dev-libs/log4cpp/Manifest b/dev-libs/log4cpp/Manifest
new file mode 100644
index 000000000000..34d856ff0fbb
--- /dev/null
+++ b/dev-libs/log4cpp/Manifest
@@ -0,0 +1,2 @@
+DIST log4cpp-1.0.tar.gz 495726 SHA256 b4533324b0a1f46ad74a9e92bf2caa46c246e9353059e1a835e735d41826ed19 SHA512 461ce64aa6343c90a909b4f877dd5cfae8aad12a94965c41ad619da137e76fdf48f045a2575273971115aa56ee9649f59453f7c3c265678bafca93289bd9a012 WHIRLPOOL 96510c5e7c8a057c1a187966ba5b6d6baf0c2ca21abf5b74a3a93fc59a6caee2b797ff50dc7647f2774a6c7989f9a57cb2bff53bf4e1f4999206fec4aa498fbf
+DIST log4cpp-1.1.tar.gz 547676 SHA256 c25bd1e0abd47a5dee2ab49b84cbce6292fcada90536a26a5fc9999d343768b4 SHA512 e1a723641c75a0b7f9ad2338134b327cd9a0a1bd67ff76bca726389ad76e8ba0ee5a95abe6f29e05a77980255dc08b0aa5c906395b0a0ad094994c9e450e3ecb WHIRLPOOL 2ae511f67dbe80d8ec054e1e3ba370736105aca85418ffc3bd7b3ef6fd4d0f5d24f01bac28cd6932df833785da566776dc3664e6d7e8a1573fe1c1642aefadb2
diff --git a/dev-libs/log4cpp/files/1.0-asneeded.patch b/dev-libs/log4cpp/files/1.0-asneeded.patch
new file mode 100644
index 000000000000..e9fb05f4ae99
--- /dev/null
+++ b/dev-libs/log4cpp/files/1.0-asneeded.patch
@@ -0,0 +1,122 @@
+http://bugs.gentoo.org/247067
+
+--- m4/ACX_PTHREAD.m4
++++ m4/ACX_PTHREAD.m4
+@@ -266,6 +266,117 @@
+ else
+ PTHREAD_CC=$CC
+ fi
++
++ # The next part tries to detect GCC inconsistency with -shared on some
++ # architectures and systems. The problem is that in certain
++ # configurations, when -shared is specified, GCC "forgets" to
++ # internally use various flags which are still necessary.
++
++ #
++ # Prepare the flags
++ #
++ save_LDFLAGS="$LDFLAGS"
++ save_CFLAGS="$CFLAGS"
++ save_LIBS="$LIBS"
++ save_CC="$CC"
++
++ # Try with the flags determined by the earlier checks.
++ #
++ # -Wl,-z,defs forces link-time symbol resolution, so that the
++ # linking checks with -shared actually have any value
++ #
++ # FIXME: -fPIC is required for -shared on many architectures,
++ # so we specify it here, but the right way would probably be to
++ # properly detect whether it is actually required.
++ CFLAGS="-shared -fPIC -Wl,-z,defs $CFLAGS $PTHREAD_CFLAGS"
++ LIBS="$PTHREAD_LIBS $LIBS"
++ CC="$PTHREAD_CC"
++
++ # In order not to create several levels of indentation, we test
++ # the value of "$done" until we find the cure or run out of ideas.
++ done="no"
++
++ # First, make sure the CFLAGS we added are actually accepted by our
++ # compiler. If not (and OS X's ld, for instance, does not accept -z),
++ # then we can't do this test.
++ if test x"$done" = xno; then
++ AC_MSG_CHECKING([whether to check for GCC pthread/shared inconsistencies])
++ AC_TRY_LINK(,, , [done=yes])
++
++ if test "x$done" = xyes ; then
++ AC_MSG_RESULT([no])
++ else
++ AC_MSG_RESULT([yes])
++ fi
++ fi
++
++ if test x"$done" = xyes; then
++ done="no"
++ AC_MSG_CHECKING([whether -pthread is sufficient with -shared])
++ AC_TRY_LINK([#include <pthread.h>],
++ [pthread_t th; pthread_join(th, 0);
++ pthread_attr_init(0); pthread_cleanup_push(0, 0);
++ pthread_create(0,0,0,0); pthread_cleanup_pop(0); ],
++ [done=yes])
++
++ if test "x$done" = xyes; then
++ AC_MSG_RESULT([yes])
++ else
++ AC_MSG_RESULT([no])
++ fi
++ fi
++
++ #
++ # Linux gcc on some architectures such as mips/mipsel forgets
++ # about -lpthread
++ #
++ if test x"$done" = xno; then
++ AC_MSG_CHECKING([whether -lpthread fixes that])
++ LIBS="-lpthread $PTHREAD_LIBS $save_LIBS"
++ AC_TRY_LINK([#include <pthread.h>],
++ [pthread_t th; pthread_join(th, 0);
++ pthread_attr_init(0); pthread_cleanup_push(0, 0);
++ pthread_create(0,0,0,0); pthread_cleanup_pop(0); ],
++ [done=yes])
++
++ if test "x$done" = xyes; then
++ AC_MSG_RESULT([yes])
++ PTHREAD_LIBS="-lpthread $PTHREAD_LIBS"
++ else
++ AC_MSG_RESULT([no])
++ fi
++ fi
++ #
++ # FreeBSD 4.10 gcc forgets to use -lc_r instead of -lc
++ #
++ if test x"$done" = xno; then
++ AC_MSG_CHECKING([whether -lc_r fixes that])
++ LIBS="-lc_r $PTHREAD_LIBS $save_LIBS"
++ AC_TRY_LINK([#include <pthread.h>],
++ [pthread_t th; pthread_join(th, 0);
++ pthread_attr_init(0); pthread_cleanup_push(0, 0);
++ pthread_create(0,0,0,0); pthread_cleanup_pop(0); ],
++ [done=yes])
++
++ if test "x$done" = xyes; then
++ AC_MSG_RESULT([yes])
++ PTHREAD_LIBS="-lc_r $PTHREAD_LIBS"
++ else
++ AC_MSG_RESULT([no])
++ fi
++ fi
++ if test x"$done" = xno; then
++ # OK, we have run out of ideas
++ AC_MSG_WARN([Impossible to determine how to use pthreads with shared libraries])
++
++ # so it's not safe to assume that we may use pthreads
++ acx_pthread_ok=no
++ fi
++
++ CFLAGS="$save_CFLAGS"
++ LIBS="$save_LIBS"
++ CC="$save_CC"
++
+ else
+ PTHREAD_CC="$CC"
+ fi
diff --git a/dev-libs/log4cpp/files/1.0-doc_install_path.patch b/dev-libs/log4cpp/files/1.0-doc_install_path.patch
new file mode 100644
index 000000000000..8f9ef5137619
--- /dev/null
+++ b/dev-libs/log4cpp/files/1.0-doc_install_path.patch
@@ -0,0 +1,38 @@
+--- doc/Makefile.am.orig 2007-10-13 09:39:44.000000000 +0200
++++ doc/Makefile.am 2007-10-13 09:40:03.000000000 +0200
+@@ -1,7 +1,7 @@
+ SUBDIRS = html
+
+ man3dir = $(mandir)/man3
+-docdir = $(prefix)/doc/@PACKAGE_TARNAME@-@PACKAGE_VERSION@
++docdir = $(prefix)/share/doc/@PACKAGE_TARNAME@-@PACKAGE_VERSION@
+
+ EXTRA_DIST = \
+ mainPage.txt
+@@ -22,18 +22,18 @@
+
+
+ install-data-local:
+- $(mkinstalldirs) $(man3dir)
++ $(mkinstalldirs) $(DESTDIR)/$(man3dir)
+ @for i in ./man/man3/log4cpp.3 ./man/man3/log4cpp_*.3; do \
+ inst=`basename $$i | sed 's/_/::/g'`; \
+ echo "$(INSTALL_DATA) $$i$(man3dir)/$$inst"; \
+- $(INSTALL_DATA) $$i $(man3dir)/$$inst; \
++ $(INSTALL_DATA) $$i $(DESTDIR)/$(man3dir)/$$inst; \
+ done
+- $(mkinstalldirs) $(docdir)
+- cp -r html/. $(docdir)
+- $(RM) -r -f $(docdir)/CVS \
+- $(docdir)/Makefile.am \
+- $(docdir)/Makefile.in \
+- $(docdir)/Makefile
++ $(mkinstalldirs) $(DESTDIR)/$(docdir)
++ cp -r html/. $(DESTDIR)/$(docdir)
++ $(RM) -r -f $(DESTDIR)/$(docdir)/CVS \
++ $(DESTDIR)/$(docdir)/Makefile.am \
++ $(DESTDIR)/$(docdir)/Makefile.in \
++ $(DESTDIR)/$(docdir)/Makefile
+
+ uninstall-local:
+ $(RM) $(man3dir)/log4cpp.3
diff --git a/dev-libs/log4cpp/files/1.0-gcc43.patch b/dev-libs/log4cpp/files/1.0-gcc43.patch
new file mode 100644
index 000000000000..a60f986e9c0d
--- /dev/null
+++ b/dev-libs/log4cpp/files/1.0-gcc43.patch
@@ -0,0 +1,26 @@
+Index: log4cpp-1.0/src/BasicLayout.cpp
+===================================================================
+--- log4cpp-1.0.orig/src/BasicLayout.cpp 2008-03-14 16:06:57.000000000 -0400
++++ log4cpp-1.0/src/BasicLayout.cpp 2008-03-14 16:07:11.000000000 -0400
+@@ -15,6 +15,8 @@
+ #include <sstream>
+ #endif
+
++#include <memory>
++
+ namespace log4cpp {
+
+ BasicLayout::BasicLayout() {
+Index: log4cpp-1.0/src/PatternLayout.cpp
+===================================================================
+--- log4cpp-1.0.orig/src/PatternLayout.cpp 2008-03-14 16:07:33.000000000 -0400
++++ log4cpp-1.0/src/PatternLayout.cpp 2008-03-14 16:07:49.000000000 -0400
+@@ -370,7 +370,7 @@
+ literal = "";
+ }
+ if ((minWidth != 0) || (maxWidth != 0)) {
+- component = new FormatModifierComponent(component, std::abs(minWidth), maxWidth, minWidth < 0);
++ component = new FormatModifierComponent(component, std::abs((float)minWidth), maxWidth, minWidth < 0);
+ minWidth = maxWidth = 0;
+ }
+ _components.push_back(component);
diff --git a/dev-libs/log4cpp/files/log4cpp-1.1-automake-1.13.patch b/dev-libs/log4cpp/files/log4cpp-1.1-automake-1.13.patch
new file mode 100644
index 000000000000..ffac4a1dbfc7
--- /dev/null
+++ b/dev-libs/log4cpp/files/log4cpp-1.1-automake-1.13.patch
@@ -0,0 +1,11 @@
+--- configure.ac.orig 2015-01-14 09:37:13.616446476 +0300
++++ configure.ac 2015-01-14 09:37:26.119445770 +0300
+@@ -17,7 +17,7 @@
+
+ #AC_CONFIG_SRCDIR(configure.in)
+ AC_CONFIG_AUX_DIR(config)
+-AM_CONFIG_HEADER(include/config.h)
++AC_CONFIG_HEADERS([include/config.h])
+
+ AM_INIT_AUTOMAKE
+
diff --git a/dev-libs/log4cpp/files/log4cpp-1.1-cmath-fix.patch b/dev-libs/log4cpp/files/log4cpp-1.1-cmath-fix.patch
new file mode 100644
index 000000000000..fe3c810814bd
--- /dev/null
+++ b/dev-libs/log4cpp/files/log4cpp-1.1-cmath-fix.patch
@@ -0,0 +1,10 @@
+--- src/PatternLayout.cpp.orig 2015-01-14 09:24:32.332489499 +0300
++++ src/PatternLayout.cpp 2015-01-14 09:23:18.162493691 +0300
+@@ -24,6 +24,7 @@
+ #include <iomanip>
+ #include <ctime>
+ #include <cstdlib>
++#include <cmath>
+ #include "Localtime.hh"
+
+ #ifdef LOG4CPP_HAVE_INT64_T
diff --git a/dev-libs/log4cpp/log4cpp-1.0.ebuild b/dev-libs/log4cpp/log4cpp-1.0.ebuild
new file mode 100644
index 000000000000..4e260cc5e372
--- /dev/null
+++ b/dev-libs/log4cpp/log4cpp-1.0.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=2
+inherit autotools eutils
+
+DESCRIPTION="Library of C++ classes for flexible logging to files, syslog and other destinations"
+HOMEPAGE="http://log4cpp.sourceforge.net/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="amd64 ~arm ppc s390 x86"
+IUSE="doc"
+
+DEPEND="doc? ( app-doc/doxygen )"
+RDEPEND=""
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PV}-doc_install_path.patch \
+ "${FILESDIR}"/${PV}-gcc43.patch \
+ "${FILESDIR}"/${PV}-asneeded.patch
+
+ AT_M4DIR="m4" eautoreconf
+}
+
+src_configure() {
+ econf \
+ --without-idsa \
+ $(use_enable doc doxygen)
+}
+
+src_install () {
+ emake DESTDIR="${D}" install || die
+ dodoc AUTHORS ChangeLog NEWS README THANKS TODO
+}
diff --git a/dev-libs/log4cpp/log4cpp-1.1.ebuild b/dev-libs/log4cpp/log4cpp-1.1.ebuild
new file mode 100644
index 000000000000..f3f15829de02
--- /dev/null
+++ b/dev-libs/log4cpp/log4cpp-1.1.ebuild
@@ -0,0 +1,56 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+AT_M4DIR="m4"
+AUTOTOOLS_AUTORECONF=1
+inherit autotools-multilib
+
+DESCRIPTION="Library of C++ classes for flexible logging to files, syslog and other destinations"
+HOMEPAGE="http://log4cpp.sourceforge.net/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0/5"
+KEYWORDS="~amd64 ~arm ~ppc ~s390 ~x86"
+IUSE="doc static-libs test"
+
+DEPEND="doc? ( app-doc/doxygen )"
+RDEPEND=""
+
+DOCS=( AUTHORS ChangeLog NEWS README THANKS TODO )
+
+PATCHES=(
+ "${FILESDIR}/1.0-doc_install_path.patch"
+ "${FILESDIR}/1.0-gcc43.patch"
+ "${FILESDIR}/1.0-asneeded.patch"
+ "${FILESDIR}/${P}-cmath-fix.patch"
+ "${FILESDIR}/${P}-automake-1.13.patch"
+)
+
+S="${WORKDIR}/${PN}"
+
+MULTILIB_CHOST_TOOLS=(
+ /usr/bin/log4cpp-config
+)
+
+src_prepare() {
+ mv configure.{in,ac} || die
+
+ # Build tests conditionally
+ if ! use test; then
+ sed -i -e '/^SUBDIRS/s/ tests//' Makefile.am || die
+ fi
+
+ autotools-multilib_src_prepare
+}
+
+multilib_src_configure() {
+ local myeconfargs=(
+ --without-idsa
+ $(use_enable doc doxygen)
+ )
+ autotools-utils_src_configure
+}
diff --git a/dev-libs/log4cpp/metadata.xml b/dev-libs/log4cpp/metadata.xml
new file mode 100644
index 000000000000..bafe48212a72
--- /dev/null
+++ b/dev-libs/log4cpp/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>cpp</herd>
+ <upstream>
+ <remote-id type="sourceforge">log4cpp</remote-id>
+ </upstream>
+</pkgmetadata>