summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSamuli Suominen <ssuominen@gentoo.org>2010-06-29 19:09:55 +0000
committerSamuli Suominen <ssuominen@gentoo.org>2010-06-29 19:09:55 +0000
commit7c3370fff165aed4ff0683f35afb6f212209c396 (patch)
tree8d17c1b68206f94d92a7ce5621d8a89b6debf255 /dev-libs/log4cpp
parentVersion bump. (diff)
downloadhistorical-7c3370fff165aed4ff0683f35afb6f212209c396.tar.gz
historical-7c3370fff165aed4ff0683f35afb6f212209c396.tar.bz2
historical-7c3370fff165aed4ff0683f35afb6f212209c396.zip
Fix building with -Wl,--as-needed wrt #247067 by Diego E. Pettenò and Kacper Kowalik.
Package-Manager: portage-2.2_rc67/cvs/Linux x86_64
Diffstat (limited to 'dev-libs/log4cpp')
-rw-r--r--dev-libs/log4cpp/ChangeLog9
-rw-r--r--dev-libs/log4cpp/Manifest5
-rw-r--r--dev-libs/log4cpp/files/1.0-asneeded.patch122
-rw-r--r--dev-libs/log4cpp/log4cpp-1.0.ebuild5
4 files changed, 135 insertions, 6 deletions
diff --git a/dev-libs/log4cpp/ChangeLog b/dev-libs/log4cpp/ChangeLog
index 9a86e3a7db70..6dca4774cbfb 100644
--- a/dev-libs/log4cpp/ChangeLog
+++ b/dev-libs/log4cpp/ChangeLog
@@ -1,6 +1,11 @@
# ChangeLog for dev-libs/log4cpp
-# Copyright 2002-2008 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-libs/log4cpp/ChangeLog,v 1.17 2008/05/10 11:47:06 nixnut Exp $
+# Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/dev-libs/log4cpp/ChangeLog,v 1.18 2010/06/29 19:09:55 ssuominen Exp $
+
+ 29 Jun 2010; Samuli Suominen <ssuominen@gentoo.org>
+ +files/1.0-asneeded.patch, log4cpp-1.0.ebuild:
+ Fix building with -Wl,--as-needed wrt #247067 by Diego E. Pettenò and
+ Kacper Kowalik.
10 May 2008; nixnut <nixnut@gentoo.org> log4cpp-1.0.ebuild:
Stable on ppc wrt bug 220711
diff --git a/dev-libs/log4cpp/Manifest b/dev-libs/log4cpp/Manifest
index 093f359feefc..07b7ccf0d792 100644
--- a/dev-libs/log4cpp/Manifest
+++ b/dev-libs/log4cpp/Manifest
@@ -1,6 +1,7 @@
+AUX 1.0-asneeded.patch 4256 RMD160 f1c1ac98bee4d05ca2d8c8367f4112c5fe614db1 SHA1 f7e520cc969644637d8b3ad909ad2167690a6ee2 SHA256 950ecd6719ecc01747f25f2306c4ea072b55202fa558ede29269fba8612994c5
AUX 1.0-doc_install_path.patch 1150 RMD160 49e137bc740285f32c434866aae42ff4aac9141f SHA1 0ee7939b353566c019fbe1577fe1dda23139c763 SHA256 509681de09b218d922ecc1640f881ba5577d2d45817f40d01e644740ff84d507
AUX 1.0-gcc43.patch 1166 RMD160 9d3584ca99aef96731ee85608cd099773e2e066b SHA1 9cf28ce49c6dfc81c47fa994bf4e3d8b5a6eee45 SHA256 f569a48f495d3a4b87f6b2174e845b3fe328dfbd759a795e7ace53beb71ff308
DIST log4cpp-1.0.tar.gz 495726 RMD160 2ebc7c4bc0a77991023f4d85bdeee35ec6b75770 SHA1 bdb2fa7a8c8af738d79156bf9f6191875cdba5cc SHA256 b4533324b0a1f46ad74a9e92bf2caa46c246e9353059e1a835e735d41826ed19
-EBUILD log4cpp-1.0.ebuild 878 RMD160 dde7237956637b8924d8b4bd67af94f98dfc7f9d SHA1 69eb5729fb6d57f7a4637f7fa6df59335325ae01 SHA256 180f90dd607e9af2eec404e384c0a43971ab5a9f52a5c1f760bdc5cdc8d7d968
-MISC ChangeLog 2247 RMD160 b72a7236a4404d1c9e8b5ba25adb60dff9f75f1f SHA1 2e5067b932a7186add8080983f667dff74c0a6a7 SHA256 ffd368ccf479fad0f1d87a81dd9b439fb84f8e4d34cd2aaef4ae7c97e9a8b0fe
+EBUILD log4cpp-1.0.ebuild 917 RMD160 71d44ecb2439da7c844b79a13f96de195ea6b16c SHA1 84067005b5cc2136fd776eef90afb38595f958bf SHA256 57ddafd6b90bb86c80ad535b33b12c3a71358568a1b7dccff6a50523fdc86a5b
+MISC ChangeLog 2445 RMD160 fe1fe38728145429736d4f1d1a1b297e67c9d8e9 SHA1 175af90a724fad4e0f1e5121b285a061a09a1b8f SHA256 ca9faf070561c93adf485a962cf10a39efab834038d51c94f4935237b5c43110
MISC metadata.xml 156 RMD160 537178ef5a820896e97475fb9aded47d50474bef SHA1 2a4ef4879b918a28132d21cd6d1bbaa2a30dccde SHA256 0e8490f9c62cb74e5894b52f643a02de0024d97dbfebad43082dce6bcb39555f
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/log4cpp-1.0.ebuild b/dev-libs/log4cpp/log4cpp-1.0.ebuild
index 89f37205cc25..6f851c4512ad 100644
--- a/dev-libs/log4cpp/log4cpp-1.0.ebuild
+++ b/dev-libs/log4cpp/log4cpp-1.0.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2010 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/dev-libs/log4cpp/log4cpp-1.0.ebuild,v 1.6 2010/06/29 18:42:06 ssuominen Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-libs/log4cpp/log4cpp-1.0.ebuild,v 1.7 2010/06/29 19:09:55 ssuominen Exp $
EAPI=2
inherit autotools eutils
@@ -19,7 +19,8 @@ RDEPEND=""
src_prepare() {
epatch "${FILESDIR}"/${PV}-doc_install_path.patch \
- "${FILESDIR}"/${PV}-gcc43.patch
+ "${FILESDIR}"/${PV}-gcc43.patch \
+ "${FILESDIR}"/${PV}-asneeded.patch
AT_M4DIR="m4" eautoreconf
}