diff options
author | Samuli Suominen <ssuominen@gentoo.org> | 2010-06-29 19:09:55 +0000 |
---|---|---|
committer | Samuli Suominen <ssuominen@gentoo.org> | 2010-06-29 19:09:55 +0000 |
commit | 7c3370fff165aed4ff0683f35afb6f212209c396 (patch) | |
tree | 8d17c1b68206f94d92a7ce5621d8a89b6debf255 /dev-libs/log4cpp | |
parent | Version bump. (diff) | |
download | historical-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/ChangeLog | 9 | ||||
-rw-r--r-- | dev-libs/log4cpp/Manifest | 5 | ||||
-rw-r--r-- | dev-libs/log4cpp/files/1.0-asneeded.patch | 122 | ||||
-rw-r--r-- | dev-libs/log4cpp/log4cpp-1.0.ebuild | 5 |
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 } |