From 4f2d7949f03e1c198bc888f2d05f421d35c57e21 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Mon, 9 Oct 2017 18:53:29 +0100 Subject: reinit the tree, so we can have metadata --- dev-libs/log4cxx/Manifest | 9 ++ .../log4cxx/files/log4cxx-0.10.0-fix-c++14.patch | 100 +++++++++++++++++++++ dev-libs/log4cxx/files/log4cxx-0.10.0-gcc44.patch | 12 +++ .../files/log4cxx-0.10.0-missing_includes.patch | 37 ++++++++ .../log4cxx/files/log4cxx-0.10.0-unixODBC.patch | 75 ++++++++++++++++ dev-libs/log4cxx/log4cxx-0.10.0-r1.ebuild | 63 +++++++++++++ dev-libs/log4cxx/metadata.xml | 11 +++ 7 files changed, 307 insertions(+) create mode 100644 dev-libs/log4cxx/Manifest create mode 100644 dev-libs/log4cxx/files/log4cxx-0.10.0-fix-c++14.patch create mode 100644 dev-libs/log4cxx/files/log4cxx-0.10.0-gcc44.patch create mode 100644 dev-libs/log4cxx/files/log4cxx-0.10.0-missing_includes.patch create mode 100644 dev-libs/log4cxx/files/log4cxx-0.10.0-unixODBC.patch create mode 100644 dev-libs/log4cxx/log4cxx-0.10.0-r1.ebuild create mode 100644 dev-libs/log4cxx/metadata.xml (limited to 'dev-libs/log4cxx') diff --git a/dev-libs/log4cxx/Manifest b/dev-libs/log4cxx/Manifest new file mode 100644 index 000000000000..55a690491576 --- /dev/null +++ b/dev-libs/log4cxx/Manifest @@ -0,0 +1,9 @@ +AUX log4cxx-0.10.0-fix-c++14.patch 4599 SHA256 1fcc731ece1e8f9ea4a753857843c77bbb4923ec4ff49dd343abf61d4659e027 SHA512 584bd8649b08be9867cef0af9746d9648e35d2438e7225c5435fd9820251958839bbf61627022514f5a96ff930ae5d07f637435ed15ee5bdeeba313e6b099b2c WHIRLPOOL 1025e85fbc58298c0b13d92b1a768da2b8822c15269fb093082ce66d62aa2f0890ab0486ac8d091adf1fe2b5123344e8a31235bfc6114faa60255e03f7ed0e72 +AUX log4cxx-0.10.0-gcc44.patch 357 SHA256 397c5420076b7fe2379b1f03b260cc5353a5bc9448ac388aac6e1fb964a7b185 SHA512 425d10d3d92d57269f447d5afd93f3302681c36f99654461a8377ea81c5d0ebe97fa60e54be169abc366d99c97ed6484626b5c1886f7996292d110e396ace97d WHIRLPOOL 828efce354c22242b03d2dfd9a98426777ae39937e8d2c170848c04373e0255e415ec5e08aafb7afbc271a7dac10a40848f6278eb52ef911e88cddba69766980 +AUX log4cxx-0.10.0-missing_includes.patch 1554 SHA256 7b78a7fe46ba1481af80fbf8e2a1c82bde00ce956a6ebe007a8f0b47f56cd735 SHA512 8fb9017206bca39fa4481707cdb13b68195cc2fce66383a601bc8c7cc20869ca356f2616459b5f10615d5a40f0759c24058f22d7e08c02fee1ce367c34b2d707 WHIRLPOOL 2ba4943cc80646f301f40d2dcfb0cc5db0dc5f583e33c3ae20179eea0f966f7d961ee52126370b884695596ee1a81c25c3270378ddff2ca141c7f10628391e17 +AUX log4cxx-0.10.0-unixODBC.patch 2989 SHA256 f9fd19383c1b3fa4579e7063d36096c30e3b29a6b756d64d74a32fd088c04ca1 SHA512 8f21778cb797750071a5db025d50ef580c64ff9e634e18fa6b7d90082bf842f4470fe5996cc0dcf2cece6c8c0c4d5e2aa9852ff596d0c5d4ba6a33be8eb3f651 WHIRLPOOL 7a51f3cd1527e1da3633c309b1ffeec2b53a2b06b9d57f9da3687e9ac9b15a95fc1be9597f638717b2c151daf3f774effd1fd31187a280ee2f73b5e6aec46164 +DIST apache-log4cxx-0.10.0.tar.gz 1667425 SHA256 0de0396220a9566a580166e66b39674cb40efd2176f52ad2c65486c99c920c8c SHA512 1c34d80983db5648bc4582ddcf6b4fdefdc6594c2769f95235f5441cd6d03cf279cc8f365e9a687085b113f79ebac9d7d33a54b6aa3b3b808c0e1a56a15ffa37 WHIRLPOOL 5d541b2113fa6170fcedd025182ce99dd6e6540ab29b5d751c823cef685bbc502c3e3ba9966671d86d3f1acb43b224bf88fcbcc206010d748b204fca586ef153 +EBUILD log4cxx-0.10.0-r1.ebuild 1519 SHA256 53980854046e85fabf214bfed3712e440b68c09ab91a0134d0ea291cb8816c59 SHA512 adbdd73a285c699ee97c4c30c7172073ea8918e6791a6374ef6dd6c8b1f08686dc1f95b4a23a6fa8400e3415ba11f12030b94c8f462ac39e9852d13446b02987 WHIRLPOOL 055048c98ba3c0b094e82c58d695697e63aa822aec7476ea6e61e890dd67f50c422109d1cb7b31664afbec55f4263021a81d0aecc6499327e1976f80bfab53a9 +MISC ChangeLog 3664 SHA256 8b13a122eec5d98af2ab5fe7a224b846501cb34398ef62305d0331ff29bbe90b SHA512 65558f07fb0d3b21ed9461dd2c06bfcba7fbf2dde8f36aaad0855a84ba83c9ee69a02736f442d0cbae393e59f1e58adf5e3ebd94b80a05b8d91e7f0ee7fd9919 WHIRLPOOL cfe3f4c47e1534b45391d2e614aedf966a3ae8c0a3302518d72511ca5150761b27769d914c948b56b14939617d251fcc09e54ff6ed8c3a9ca06a08d4d2fd3e7c +MISC ChangeLog-2015 5436 SHA256 60066912975ccda5e32fecbd9178ae275877e70a052e47ebb2932e25caa2000d SHA512 432556fbb0066e3bcf83aa45d473371c0f2a054fc0f4605d451dcbec00f1a541ab20152574235155fdeddc64673df7d40bfb845e5fafb9023c6897a00cebba76 WHIRLPOOL c017a766acebd6b4185f77ae3769dbdd0e1aea5ab450bffeb9a69d2dcfdf2addc5950f71a10d75887dd335b6a56ff654c2a8c5bb4fdc58b27c8c49bf0cf969e1 +MISC metadata.xml 339 SHA256 01f7d34b008bf73cec1faa16336f3804c7ff17ef4a220ee22369c54c1be3f82f SHA512 3e9f3f2506d640e264c827eea141b7ad50dd81f8c8386323da1c77db5cf152d76d45aad8103315a0d2ce347999d08df7128ca7d641a20fc39bd5ac608f532516 WHIRLPOOL 6ab0a8eca895cfad40e964ab5a99fac4cbdc84db6d4c94a2f6f7e278dd4752ee2a7fe7ba0cc6ac3220907687714bc4e818f7549f25f056ef0de8bccfe353095c diff --git a/dev-libs/log4cxx/files/log4cxx-0.10.0-fix-c++14.patch b/dev-libs/log4cxx/files/log4cxx-0.10.0-fix-c++14.patch new file mode 100644 index 000000000000..86ebdcccd5b8 --- /dev/null +++ b/dev-libs/log4cxx/files/log4cxx-0.10.0-fix-c++14.patch @@ -0,0 +1,100 @@ +Fix building with C++14, which errors out due to narrowing conversions. +See also: https://bugs.gentoo.org/show_bug.cgi?id=593874 + +--- a/src/main/cpp/locationinfo.cpp ++++ b/src/main/cpp/locationinfo.cpp +@@ -153,8 +153,8 @@ + 0x61, 0x70, 0x61, 0x63, 0x68, 0x65, 0x2E, 0x6C, + 0x6F, 0x67, 0x34, 0x6A, 0x2E, 0x73, 0x70, 0x69, + 0x2E, 0x4C, 0x6F, 0x63, 0x61, 0x74, 0x69, 0x6F, +- 0x6E, 0x49, 0x6E, 0x66, 0x6F, 0xED, 0x99, 0xBB, +- 0xE1, 0x4A, 0x91, 0xA5, 0x7C, 0x02, 0x00, 0x01, ++ 0x6E, 0x49, 0x6E, 0x66, 0x6F, (char)0xED, (char)0x99, (char)0xBB, ++ (char)0xE1, 0x4A, (char)0x91, (char)0xA5, 0x7C, 0x02, 0x00, 0x01, + 0x4C, 0x00, 0x08, 0x66, 0x75, 0x6C, 0x6C, 0x49, + 0x6E, 0x66, 0x6F, + 0x74, 0x00, 0x12, 0x4C, 0x6A, +--- a/src/main/cpp/loggingevent.cpp ++++ b/src/main/cpp/loggingevent.cpp +@@ -242,7 +242,7 @@ + 0x68, 0x65, 0x2E, 0x6C, 0x6F, 0x67, 0x34, 0x6A, + 0x2E, 0x73, 0x70, 0x69, 0x2E, 0x4C, 0x6F, 0x67, + 0x67, 0x69, 0x6E, 0x67, 0x45, 0x76, 0x65, 0x6E, +- 0x74, 0xF3, 0xF2, 0xB9, 0x23, 0x74, 0x0B, 0xB5, ++ 0x74, (char)0xF3, (char)0xF2, (char)0xB9, 0x23, 0x74, 0x0B, (char)0xB5, + 0x3F, 0x03, 0x00, 0x0A, 0x5A, 0x00, 0x15, 0x6D, + 0x64, 0x63, 0x43, 0x6F, 0x70, 0x79, 0x4C, 0x6F, + 0x6F, 0x6B, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, +--- a/src/main/cpp/objectoutputstream.cpp ++++ b/src/main/cpp/objectoutputstream.cpp +@@ -36,7 +36,7 @@ + objectHandle(0x7E0000), + classDescriptions(new ClassDescriptionMap()) + { +- char start[] = { 0xAC, 0xED, 0x00, 0x05 }; ++ char start[] = { (char)0xAC, (char)0xED, 0x00, 0x05 }; + ByteBuffer buf(start, sizeof(start)); + os->write(buf, p); + } +@@ -85,7 +85,7 @@ + 0x72, 0x00, 0x13, 0x6A, 0x61, 0x76, 0x61, + 0x2E, 0x75, 0x74, 0x69, 0x6C, 0x2E, 0x48, 0x61, + 0x73, 0x68, 0x74, 0x61, 0x62, 0x6C, 0x65, 0x13, +- 0xBB, 0x0F, 0x25, 0x21, 0x4A, 0xE4, 0xB8, 0x03, ++ (char)0xBB, 0x0F, 0x25, 0x21, 0x4A, (char)0xE4, (char)0xB8, 0x03, + 0x00, 0x02, 0x46, 0x00, 0x0A, 0x6C, 0x6F, 0x61, + 0x64, 0x46, 0x61, 0x63, 0x74, 0x6F, 0x72, 0x49, + 0x00, 0x09, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, +--- a/src/main/cpp/synchronized.cpp ++++ b/src/main/cpp/synchronized.cpp +@@ -38,6 +38,9 @@ + } + + synchronized::~synchronized() ++#if __cplusplus >= 201103L ++ noexcept(false) ++#endif + { + #if APR_HAS_THREADS + apr_status_t stat = apr_thread_mutex_unlock( +--- a/src/main/include/log4cxx/helpers/synchronized.h ++++ b/src/main/include/log4cxx/helpers/synchronized.h +@@ -29,7 +29,11 @@ + { + public: + synchronized(const Mutex& mutex); +- ~synchronized(); ++ ~synchronized() ++#if __cplusplus >= 201103L ++ noexcept(false) ++#endif ++; + + + private: +--- a/src/test/cpp/xml/domtestcase.cpp ++++ b/src/test/cpp/xml/domtestcase.cpp +@@ -190,9 +190,9 @@ + DOMConfigurator::configure(LOG4CXX_TEST_STR("input/xml/DOMTestCase3.xml")); + LOG4CXX_INFO(logger, "File name is expected to end with a superscript 3"); + #if LOG4CXX_LOGCHAR_IS_UTF8 +- const logchar fname[] = { 0x6F, 0x75, 0x74, 0x70, 0x75, 0x74, 0x2F, 0x64, 0x6F, 0x6D, 0xC2, 0xB3, 0 }; ++ const logchar fname[] = { 0x6F, 0x75, 0x74, 0x70, 0x75, 0x74, 0x2F, 0x64, 0x6F, 0x6D, (logchar)0xC2, (logchar)0xB3, 0 }; + #else +- const logchar fname[] = { 0x6F, 0x75, 0x74, 0x70, 0x75, 0x74, 0x2F, 0x64, 0x6F, 0x6D, 0xB3, 0 }; ++ const logchar fname[] = { 0x6F, 0x75, 0x74, 0x70, 0x75, 0x74, 0x2F, 0x64, 0x6F, 0x6D, (logchar)0xB3, 0 }; + #endif + File file; + file.setPath(fname); +@@ -209,9 +209,9 @@ + DOMConfigurator::configure(LOG4CXX_TEST_STR("input/xml/DOMTestCase4.xml")); + LOG4CXX_INFO(logger, "File name is expected to end with an ideographic 4"); + #if LOG4CXX_LOGCHAR_IS_UTF8 +- const logchar fname[] = { 0x6F, 0x75, 0x74, 0x70, 0x75, 0x74, 0x2F, 0x64, 0x6F, 0x6D, 0xE3, 0x86, 0x95, 0 }; ++ const logchar fname[] = { 0x6F, 0x75, 0x74, 0x70, 0x75, 0x74, 0x2F, 0x64, 0x6F, 0x6D, (logchar)0xE3, (logchar)0x86, (logchar)0x95, 0 }; + #else +- const logchar fname[] = { 0x6F, 0x75, 0x74, 0x70, 0x75, 0x74, 0x2F, 0x64, 0x6F, 0x6D, 0x3195, 0 }; ++ const logchar fname[] = { 0x6F, 0x75, 0x74, 0x70, 0x75, 0x74, 0x2F, 0x64, 0x6F, 0x6D, (logchar)0x3195, 0 }; + #endif + File file; + file.setPath(fname); diff --git a/dev-libs/log4cxx/files/log4cxx-0.10.0-gcc44.patch b/dev-libs/log4cxx/files/log4cxx-0.10.0-gcc44.patch new file mode 100644 index 000000000000..854d34a17492 --- /dev/null +++ b/dev-libs/log4cxx/files/log4cxx-0.10.0-gcc44.patch @@ -0,0 +1,12 @@ +Fix for gcc-4.4 +--- apache-log4cxx-0.10.0-orig/src/examples/cpp/console.cpp 2009-06-12 13:01:06.000000000 +0200 ++++ apache-log4cxx-0.10.0/src/examples/cpp/console.cpp 2009-06-12 13:07:05.000000000 +0200 +@@ -15,6 +15,7 @@ + * limitations under the License. + */ + ++#include + #include + #include + #include + diff --git a/dev-libs/log4cxx/files/log4cxx-0.10.0-missing_includes.patch b/dev-libs/log4cxx/files/log4cxx-0.10.0-missing_includes.patch new file mode 100644 index 000000000000..78a57916bde0 --- /dev/null +++ b/dev-libs/log4cxx/files/log4cxx-0.10.0-missing_includes.patch @@ -0,0 +1,37 @@ +diff -Naur apache-log4cxx-0.10.0.orig/src/examples/cpp/console.cpp apache-log4cxx-0.10.0/src/examples/cpp/console.cpp +--- apache-log4cxx-0.10.0.orig/src/examples/cpp/console.cpp 2008-04-01 00:34:52.000000000 +0200 ++++ apache-log4cxx-0.10.0/src/examples/cpp/console.cpp 2008-05-06 05:40:52.000000000 +0200 +@@ -15,7 +15,8 @@ + * limitations under the License. + */ + +-#include ++#include ++#include + #include + #include + #include +diff -Naur apache-log4cxx-0.10.0.orig/src/main/cpp/inputstreamreader.cpp apache-log4cxx-0.10.0/src/main/cpp/inputstreamreader.cpp +--- apache-log4cxx-0.10.0.orig/src/main/cpp/inputstreamreader.cpp 2008-04-01 00:34:09.000000000 +0200 ++++ apache-log4cxx-0.10.0/src/main/cpp/inputstreamreader.cpp 2008-05-06 05:32:31.000000000 +0200 +@@ -21,6 +21,8 @@ + #include + #include + ++#include ++ + using namespace log4cxx; + using namespace log4cxx::helpers; + +diff -Naur apache-log4cxx-0.10.0.orig/src/main/cpp/socketoutputstream.cpp apache-log4cxx-0.10.0/src/main/cpp/socketoutputstream.cpp +--- apache-log4cxx-0.10.0.orig/src/main/cpp/socketoutputstream.cpp 2008-04-01 00:34:09.000000000 +0200 ++++ apache-log4cxx-0.10.0/src/main/cpp/socketoutputstream.cpp 2008-05-06 05:35:55.000000000 +0200 +@@ -20,6 +20,8 @@ + #include + #include + ++#include ++ + using namespace log4cxx; + using namespace log4cxx::helpers; + 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-r1.ebuild b/dev-libs/log4cxx/log4cxx-0.10.0-r1.ebuild new file mode 100644 index 000000000000..a69b608e1aff --- /dev/null +++ b/dev-libs/log4cxx/log4cxx-0.10.0-r1.ebuild @@ -0,0 +1,63 @@ +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +MY_P=apache-${P} + +DESCRIPTION="Library of C++ classes for logging to files, syslog and other destinations" +HOMEPAGE="http://logging.apache.org/log4cxx/" +SRC_URI="mirror://apache/logging/${PN}/${PV}/${MY_P}.tar.gz" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~x86 ~amd64-linux ~ppc-macos" +IUSE="iodbc unicode odbc smtp" + +RDEPEND="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}" + +# test suite fails +RESTRICT="test" + +HTML_DOCS=( site/. ) +PATCHES=( + "${FILESDIR}/${PN}-0.10.0-missing_includes.patch" + "${FILESDIR}/${PN}-0.10.0-gcc44.patch" + "${FILESDIR}/${PN}-0.10.0-unixODBC.patch" + "${FILESDIR}/${PN}-0.10.0-fix-c++14.patch" +) + +pkg_setup() { + if use iodbc && ! use odbc; then + elog "Please enable the odbc USE-flag as well if you want odbc-support through iodbc." + fi +} + +src_configure() { + econf \ + --disable-doxygen \ + --disable-html-docs \ + --with-apr-util="${SYSROOT:-${EPREFIX}}/usr" \ + $(use_with smtp SMTP libesmtp) \ + $(use_with odbc ODBC $(usex iodbc iODBC unixODBC)) \ + --with-charset=$(usex unicode utf-8 auto) +} + +src_install() { + default + + docinto examples + dodoc src/examples/cpp/*.cpp + docompress -x /usr/share/doc/${PF}/examples + + # package provides .pc files + find "${D}" -name '*.la' -delete || die +} diff --git a/dev-libs/log4cxx/metadata.xml b/dev-libs/log4cxx/metadata.xml new file mode 100644 index 000000000000..28b539fe62c2 --- /dev/null +++ b/dev-libs/log4cxx/metadata.xml @@ -0,0 +1,11 @@ + + + + + cpp@gentoo.org + Gentoo C++ Project + + + Offer SMTP support via net-libs/libesmtp + + -- cgit v1.2.3