diff options
author | Samuli Suominen <ssuominen@gentoo.org> | 2010-02-24 12:49:01 +0000 |
---|---|---|
committer | Samuli Suominen <ssuominen@gentoo.org> | 2010-02-24 12:49:01 +0000 |
commit | 99e6e524e9cd33704f83ab193f054386b1543833 (patch) | |
tree | 29e955b790c38400ce0daf12f2ed90ba6ebac396 | |
parent | Version bump (diff) | |
download | historical-99e6e524e9cd33704f83ab193f054386b1543833.tar.gz historical-99e6e524e9cd33704f83ab193f054386b1543833.tar.bz2 historical-99e6e524e9cd33704f83ab193f054386b1543833.zip |
Fix building with unixODBC wrt #254920, thanks to David Klempner for reporting.
Package-Manager: portage-2.2_rc63/cvs/Linux x86_64
-rw-r--r-- | dev-libs/log4cxx/ChangeLog | 9 | ||||
-rw-r--r-- | dev-libs/log4cxx/Manifest | 5 | ||||
-rw-r--r-- | dev-libs/log4cxx/files/log4cxx-0.10.0-unixODBC.patch | 75 | ||||
-rw-r--r-- | dev-libs/log4cxx/log4cxx-0.10.0.ebuild | 34 |
4 files changed, 100 insertions, 23 deletions
diff --git a/dev-libs/log4cxx/ChangeLog b/dev-libs/log4cxx/ChangeLog index 83b0b1048542..bed531084aae 100644 --- a/dev-libs/log4cxx/ChangeLog +++ b/dev-libs/log4cxx/ChangeLog @@ -1,6 +1,11 @@ # ChangeLog for dev-libs/log4cxx -# Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/dev-libs/log4cxx/ChangeLog,v 1.30 2009/12/23 16:14:08 grobian Exp $ +# Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2 +# $Header: /var/cvsroot/gentoo-x86/dev-libs/log4cxx/ChangeLog,v 1.31 2010/02/24 12:49:00 ssuominen Exp $ + + 24 Feb 2010; Samuli Suominen <ssuominen@gentoo.org> log4cxx-0.10.0.ebuild, + +files/log4cxx-0.10.0-unixODBC.patch: + Fix building with unixODBC wrt #254920, thanks to David Klempner for + reporting. 23 Dec 2009; Fabian Groffen <grobian@gentoo.org> log4cxx-0.10.0.ebuild: Marked ~amd64-linux and ~ppc-macos, bug #294614 diff --git a/dev-libs/log4cxx/Manifest b/dev-libs/log4cxx/Manifest index adb69a2c9876..83a0055ea46f 100644 --- a/dev-libs/log4cxx/Manifest +++ b/dev-libs/log4cxx/Manifest @@ -1,12 +1,13 @@ AUX 0.10.0-missing_includes.patch 1554 RMD160 442e71ef3584b16dbe924fa9eccb38dccb1d2162 SHA1 ad67024a329223c815d3f6d14115ed2e00d2061f SHA256 7b78a7fe46ba1481af80fbf8e2a1c82bde00ce956a6ebe007a8f0b47f56cd735 AUX log4cxx-0.10.0-gcc44.patch 357 RMD160 b2a1e74e66d6102c04be8f42905e76946b9dc405 SHA1 62116e694561012a7cc81eafdce8e7b2ba5e0e60 SHA256 397c5420076b7fe2379b1f03b260cc5353a5bc9448ac388aac6e1fb964a7b185 +AUX log4cxx-0.10.0-unixODBC.patch 2989 RMD160 e300c120eb4c8a1691a73cad5c33f2b16d8c9c98 SHA1 2bb5dcbfb181ad346ebe3633abb8369f3ecc5bbf SHA256 f9fd19383c1b3fa4579e7063d36096c30e3b29a6b756d64d74a32fd088c04ca1 AUX log4cxx-0.9.7-gcc41.patch 523 RMD160 4b066a4844a06e73f59e87c9410dc26159fa869e SHA1 7f55bf31bb2225cbdd43ca41be47b921c2d795b6 SHA256 de55161e96e70a48eb0408d3096c831bf30d7985bb19e2f285389476035c9ec4 AUX log4cxx-0.9.7-gentoo.diff 1989 RMD160 9f4cc34f71119b8e318db5315cf2807d6ef1c788 SHA1 b8f6c3c2b86aecb08fc0ed867ca986db85d1e133 SHA256 ed1e5ec3192f61ff6731816ea45dee35e2d257b4d3f01b7e2fcf6e64febc0807 AUX log4cxx-0.9.7-tchar.patch 350 RMD160 aa4d404e36fe3765fc020c7bc5538458d846622c SHA1 a5cf4faefadc06b5f7560d1ea9aba2606fff085a SHA256 654b9c7e1d10d8d3ce7396ceb7588b270a73643aa81890748b6da18fc6409397 AUX log4cxx-0.9.7-use-SQLWCHAR.diff 967 RMD160 a2972e6c6b4c840f14082a0ef8d29d6bf03ab961 SHA1 2f340f656e33b297cdd205d69e8fb60e397b978e SHA256 4831659f137cdbb9c188d64f00c4b20d69082044d3705d8c6409ea5ab218b212 DIST apache-log4cxx-0.10.0.tar.gz 1667425 RMD160 6df384e5c746c3c6903efae6c9f0d64e4f07a5ad SHA1 d79c053e8ac90f66c5e873b712bb359fd42b648d SHA256 0de0396220a9566a580166e66b39674cb40efd2176f52ad2c65486c99c920c8c DIST log4cxx-0.9.7.tar.gz 256449 RMD160 e8bcb2b188615b4edb09b807cb763535432586e7 SHA1 a1e156f24530fea72fb2c4b11ae137eddda6fd5a SHA256 5b41b2fc267595bdb0fa4cd1152309413bc70e6d9196293113ebb82751eb7ec6 -EBUILD log4cxx-0.10.0.ebuild 1669 RMD160 2c250a7d1c17c6ba1fa9fd48b28426ba1c8b77d8 SHA1 88c255807514bf650db81767bfba435ad9fd3289 SHA256 a41fb299974d53a559ccd56c21f4e6a645d3e97e30fa57e0866e5f9819ca3e33 +EBUILD log4cxx-0.10.0.ebuild 1584 RMD160 4fac4cd53706cdbc866abc3f53b36ed7013a3502 SHA1 550a7aaf9b079ce2e05bfee9be1958f4e339d6cc SHA256 dafbf2bf708691fdda2d5f87b4b92f8098ba3c077b80bc90a8d14bd79c1ea0c4 EBUILD log4cxx-0.9.7-r4.ebuild 2386 RMD160 e2044c0266c183aad7f60050ce77c8a5cffc3a76 SHA1 2a15071ae8f99399f533dfc023f5838a8fec67d4 SHA256 4b658c9eaec6a91e9a28f189ce823fe8f4393674657a26cb22d7414c4e6ba193 -MISC ChangeLog 4625 RMD160 93d5b972d45d4f2966c59924a1d59aa3d5a74e8f SHA1 216b13703da6938357680700e90d9e2a83022113 SHA256 8a55f4bc6569d57357e25ac7b63d9c93a274f2472801369a85e52c7911631e6b +MISC ChangeLog 4829 RMD160 8279ec8a7d7f425c7d69d02ab6d792d04eaff7cd SHA1 f73300918171ed2b25fb0427fc4216ca3d81c771 SHA256 77d8da30f6d8bf706d7726e6219f477c1f7291c03e37b6157db97e42dc514a4e MISC metadata.xml 367 RMD160 c0e5c79d5c0bf196d945dc117b75b6adf4a3e980 SHA1 4b108cd4a2bf0fcb7469c89693315c19b2363209 SHA256 198d92b692ab95eb4fe72d88dac8b8daf126da23e84304443fa5f69e37883ffc diff --git a/dev-libs/log4cxx/files/log4cxx-0.10.0-unixODBC.patch b/dev-libs/log4cxx/files/log4cxx-0.10.0-unixODBC.patch new file mode 100644 index 000000000000..cedca2ccdf42 --- /dev/null +++ b/dev-libs/log4cxx/files/log4cxx-0.10.0-unixODBC.patch @@ -0,0 +1,75 @@ +http://issues.apache.org/jira/browse/LOGCXX-299 +http://bugs.gentoo.org/show_bug.cgi?id=254920 + +diff -ur apache-log4cxx-0.10.0.orig/src/main/cpp/odbcappender.cpp apache-log4cxx-0.10.0/src/main/cpp/odbcappender.cpp +--- apache-log4cxx-0.10.0.orig/src/main/cpp/odbcappender.cpp 2008-04-01 01:34:09.000000000 +0300 ++++ apache-log4cxx-0.10.0/src/main/cpp/odbcappender.cpp 2010-02-24 14:39:37.000000000 +0200 +@@ -167,7 +167,8 @@ + throw SQLException( SQL_HANDLE_DBC, con, "Failed to allocate sql handle.", p); + } + +- SQLWCHAR* wsql = Transcoder::wencode(sql, p); ++ SQLWCHAR* wsql; ++ encode(&wsql, sql, p); + ret = SQLExecDirectW(stmt, wsql, SQL_NTS); + + if (ret < 0) +@@ -237,9 +238,10 @@ + } + + +- SQLWCHAR* wURL = Transcoder::wencode(databaseURL, p); ++ SQLWCHAR* wURL; ++ encode(&wURL, databaseURL, p); + +- wchar_t szOutConnectionString[1024]; ++ SQLWCHAR szOutConnectionString[1024]; + SQLSMALLINT nOutConnctionLength = 0; + + ret = SQLDriverConnectW( connection, NULL, +@@ -331,3 +333,31 @@ + } + } + } ++ ++void ODBCAppender::encode(wchar_t** dest, const LogString& src, Pool& p) { ++ *dest = Transcoder::wencode(src, p); ++} ++ ++void ODBCAppender::encode(unsigned short** dest, ++ const LogString& src, Pool& p) { ++ // worst case double number of characters from UTF-8 or wchar_t ++ *dest = (unsigned short*) ++ p.palloc((src.size() + 1) * 2 * sizeof(unsigned short)); ++ unsigned short* current = *dest; ++ for(LogString::const_iterator i = src.begin(); ++ i != src.end();) { ++ unsigned int sv = Transcoder::decode(src, i); ++ if (sv < 0x10000) { ++ *current++ = (unsigned short) sv; ++ } else { ++ unsigned char u = (unsigned char) (sv >> 16); ++ unsigned char w = (unsigned char) (u - 1); ++ unsigned short hs = (0xD800 + ((w & 0xF) << 6) + ((sv & 0xFFFF) >> 10)); ++ unsigned short ls = (0xDC00 + (sv && 0x3FF)); ++ *current++ = (unsigned short) hs; ++ *current++ = (unsigned short) ls; ++ } ++ } ++ *current = 0; ++} ++ +diff -ur apache-log4cxx-0.10.0.orig/src/main/include/log4cxx/db/odbcappender.h apache-log4cxx-0.10.0/src/main/include/log4cxx/db/odbcappender.h +--- apache-log4cxx-0.10.0.orig/src/main/include/log4cxx/db/odbcappender.h 2008-04-01 01:34:09.000000000 +0300 ++++ apache-log4cxx-0.10.0/src/main/include/log4cxx/db/odbcappender.h 2010-02-24 14:39:39.000000000 +0200 +@@ -279,6 +279,10 @@ + private: + ODBCAppender(const ODBCAppender&); + ODBCAppender& operator=(const ODBCAppender&); ++ static void encode(wchar_t** dest, const LogString& src, ++ log4cxx::helpers::Pool& p); ++ static void encode(unsigned short** dest, const LogString& src, ++ log4cxx::helpers::Pool& p); + }; // class ODBCAppender + LOG4CXX_PTR_DEF(ODBCAppender); + diff --git a/dev-libs/log4cxx/log4cxx-0.10.0.ebuild b/dev-libs/log4cxx/log4cxx-0.10.0.ebuild index 90d9629a6598..568737a98fb0 100644 --- a/dev-libs/log4cxx/log4cxx-0.10.0.ebuild +++ b/dev-libs/log4cxx/log4cxx-0.10.0.ebuild @@ -1,12 +1,11 @@ -# Copyright 1999-2009 Gentoo Foundation +# Copyright 1999-2010 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/dev-libs/log4cxx/log4cxx-0.10.0.ebuild,v 1.6 2009/12/23 16:14:08 grobian Exp $ - -EAPI="1" +# $Header: /var/cvsroot/gentoo-x86/dev-libs/log4cxx/log4cxx-0.10.0.ebuild,v 1.7 2010/02/24 12:49:00 ssuominen Exp $ +EAPI=2 inherit eutils -MY_P="apache-${P}" +MY_P=apache-${P} DESCRIPTION="Library of C++ classes for flexible logging to files, syslog and other destinations" HOMEPAGE="http://logging.apache.org/log4cxx/" @@ -17,34 +16,32 @@ SLOT="0" KEYWORDS="~alpha ~amd64 ~hppa ~ia64 ~ppc ~ppc64 ~x86 ~amd64-linux ~ppc-macos" IUSE="doc iodbc unicode odbc smtp" -RDEPEND="dev-libs/apr:1 +DEPEND="dev-libs/apr:1 dev-libs/apr-util:1 odbc? ( iodbc? ( >=dev-db/libiodbc-3.52.4 ) !iodbc? ( dev-db/unixODBC ) ) smtp? ( net-libs/libesmtp )" -DEPEND="${RDEPEND}" -S="${WORKDIR}/${MY_P}" +S=${WORKDIR}/${MY_P} pkg_setup() { - if use iodbc && ! use odbc ; then + if use iodbc && ! use odbc; then elog "Please enable the odbc USE-flag as well if you want odbc-support through iodbc." fi } -src_unpack() { - unpack ${A} - cd "${S}" +src_prepare() { epatch "${FILESDIR}"/${PV}-missing_includes.patch \ - "${FILESDIR}"/${P}-gcc44.patch + "${FILESDIR}"/${P}-gcc44.patch \ + "${FILESDIR}"/${P}-unixODBC.patch } -src_compile() { +src_configure() { local myconf use smtp && myconf="${myconf} --with-SMTP=libesmtp" - if use odbc ; then - if use iodbc ; then + if use odbc; then + if use iodbc; then myconf="${myconf} --with-ODBC=iODBC" else myconf="${myconf} --with-ODBC=unixODBC" @@ -55,12 +52,11 @@ src_compile() { econf \ --disable-doxygen \ --disable-html-docs \ - ${myconf} || die "econf failed" - emake || die "emake failed" + ${myconf} } src_install () { - emake DESTDIR="${D}" install || die "make install failed" + emake DESTDIR="${D}" install || die dohtml -r site/* insinto /usr/share/doc/${PF}/examples |