summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSamuli Suominen <ssuominen@gentoo.org>2010-02-24 12:49:01 +0000
committerSamuli Suominen <ssuominen@gentoo.org>2010-02-24 12:49:01 +0000
commit99e6e524e9cd33704f83ab193f054386b1543833 (patch)
tree29e955b790c38400ce0daf12f2ed90ba6ebac396 /dev-libs
parentVersion bump (diff)
downloadhistorical-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
Diffstat (limited to 'dev-libs')
-rw-r--r--dev-libs/log4cxx/ChangeLog9
-rw-r--r--dev-libs/log4cxx/Manifest5
-rw-r--r--dev-libs/log4cxx/files/log4cxx-0.10.0-unixODBC.patch75
-rw-r--r--dev-libs/log4cxx/log4cxx-0.10.0.ebuild34
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