summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorhealther <healther@users.noreply.github.com>2017-02-18 23:10:15 +0100
committerAdam J. Stewart <ajstewart426@gmail.com>2017-02-18 16:10:15 -0600
commit1a5b3e184fa2eafc563e52db21a311969614d4a4 (patch)
treec448d61bd908a09d9688590f3c11fb60a33723f3
parent63a0ca729d7a1330fcbb2a1dcbd1a4d35ce989c1 (diff)
downloadspack-1a5b3e184fa2eafc563e52db21a311969614d4a4.tar.gz
spack-1a5b3e184fa2eafc563e52db21a311969614d4a4.tar.bz2
spack-1a5b3e184fa2eafc563e52db21a311969614d4a4.tar.xz
spack-1a5b3e184fa2eafc563e52db21a311969614d4a4.zip
Add package: log4cxx (#3097)
* Add log4cxx package * add missing patch files to log4cxx * remove unnecessary dependencies * this fails at 'make check' * this is the AutotoolsPackage version * fixed install bug
-rw-r--r--var/spack/repos/builtin/packages/log4cxx/log4cxx-0.10.0-missing_includes.patch38
-rw-r--r--var/spack/repos/builtin/packages/log4cxx/log4cxx-0.10.0-narrowing-fixes-from-upstream.patch117
-rw-r--r--var/spack/repos/builtin/packages/log4cxx/package.py47
3 files changed, 202 insertions, 0 deletions
diff --git a/var/spack/repos/builtin/packages/log4cxx/log4cxx-0.10.0-missing_includes.patch b/var/spack/repos/builtin/packages/log4cxx/log4cxx-0.10.0-missing_includes.patch
new file mode 100644
index 0000000000..6834648d09
--- /dev/null
+++ b/var/spack/repos/builtin/packages/log4cxx/log4cxx-0.10.0-missing_includes.patch
@@ -0,0 +1,38 @@
+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,10 @@
+ * limitations under the License.
+ */
+
+-#include <stdlib.h>
++#include <cstdio>
++#include <cstdlib>
++#include <cstring>
++#include <stdint.h>
+ #include <log4cxx/logger.h>
+ #include <log4cxx/consoleappender.h>
+ #include <log4cxx/simplelayout.h>
+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 <log4cxx/helpers/pool.h>
+ #include <log4cxx/helpers/bytebuffer.h>
+
++#include <cstring>
++
+ 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 <log4cxx/helpers/socket.h>
+ #include <log4cxx/helpers/bytebuffer.h>
+
++#include <cstring>
++
+ using namespace log4cxx;
+ using namespace log4cxx::helpers; \ No newline at end of file
diff --git a/var/spack/repos/builtin/packages/log4cxx/log4cxx-0.10.0-narrowing-fixes-from-upstream.patch b/var/spack/repos/builtin/packages/log4cxx/log4cxx-0.10.0-narrowing-fixes-from-upstream.patch
new file mode 100644
index 0000000000..e583e7661d
--- /dev/null
+++ b/var/spack/repos/builtin/packages/log4cxx/log4cxx-0.10.0-narrowing-fixes-from-upstream.patch
@@ -0,0 +1,117 @@
+diff --git a/src/main/cpp/locationinfo.cpp b/src/main/cpp/locationinfo.cpp
+index e76ea29..bd22a1d 100644
+--- a/src/main/cpp/locationinfo.cpp
++++ b/src/main/cpp/locationinfo.cpp
+@@ -149,18 +149,21 @@ void LocationInfo::write(ObjectOutputStream& os, Pool& p) const {
+ os.writeNull(p);
+ } else {
+ char prolog[] = {
+- 0x72, 0x00, 0x21, 0x6F, 0x72, 0x67, 0x2E,
+- 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,
+- 0x4C, 0x00, 0x08, 0x66, 0x75, 0x6C, 0x6C, 0x49,
+- 0x6E, 0x66, 0x6F,
+- 0x74, 0x00, 0x12, 0x4C, 0x6A,
+- 0x61, 0x76, 0x61, 0x2F, 0x6C, 0x61, 0x6E, 0x67,
+- 0x2F, 0x53, 0x74, 0x72, 0x69, 0x6E, 0x67, 0x3B,
+- 0x78, 0x70 };
++ 0x72,
++ 0x00,
++ 0x21, 0x6F, 0x72, 0x67, 0x2E, 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, static_cast<char>(0xED),
++ static_cast<char>(0x99), static_cast<char>(0xBB), static_cast<char>(0xE1),
++ 0x4A, static_cast<char>(0x91), static_cast<char>(0xA5), 0x7C, 0x02,
++ 0x00,
++ 0x01, 0x4C,
++ 0x00,
++ 0x08, 0x66, 0x75, 0x6C, 0x6C, 0x49, 0x6E, 0x66, 0x6F, 0x74,
++ 0x00,
++ 0x12, 0x4C, 0x6A, 0x61, 0x76, 0x61, 0x2F, 0x6C, 0x61, 0x6E, 0x67, 0x2F,
++ 0x53, 0x74, 0x72, 0x69, 0x6E, 0x67, 0x3B, 0x78, 0x70
++ };
+ os.writeProlog("org.apache.log4j.spi.LocationInfo", 2, prolog, sizeof(prolog), p);
+ char* line = p.itoa(lineNumber);
+ //
+diff --git a/src/main/cpp/loggingevent.cpp b/src/main/cpp/loggingevent.cpp
+index 1c0d4be..edbf40b 100644
+--- a/src/main/cpp/loggingevent.cpp
++++ b/src/main/cpp/loggingevent.cpp
+@@ -242,7 +242,7 @@ void LoggingEvent::writeProlog(ObjectOutputStream& os, Pool& p) {
+ 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, static_cast<char>(0xF3), static_cast<char>(0xF2), static_cast<char>(0xB9), 0x23, 0x74, 0x0B, static_cast<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,
+diff --git a/src/main/cpp/objectoutputstream.cpp b/src/main/cpp/objectoutputstream.cpp
+index 7cd696b..5442420 100644
+--- a/src/main/cpp/objectoutputstream.cpp
++++ b/src/main/cpp/objectoutputstream.cpp
+@@ -36,7 +36,7 @@ ObjectOutputStream::ObjectOutputStream(OutputStreamPtr outputStream, Pool& p)
+ objectHandle(0x7E0000),
+ classDescriptions(new ClassDescriptionMap())
+ {
+- char start[] = { 0xAC, 0xED, 0x00, 0x05 };
++ char start[] = { static_cast<char>(0xAC), static_cast<char>(0xED), 0x00, 0x05 };
+ ByteBuffer buf(start, sizeof(start));
+ os->write(buf, p);
+ }
+@@ -81,15 +81,15 @@ void ObjectOutputStream::writeObject(const MDC::Map& val, Pool& p) {
+ //
+ // TC_OBJECT and the classDesc for java.util.Hashtable
+ //
+- char prolog[] = {
+- 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,
+- 0x00, 0x02, 0x46, 0x00, 0x0A, 0x6C, 0x6F, 0x61,
+- 0x64, 0x46, 0x61, 0x63, 0x74, 0x6F, 0x72, 0x49,
+- 0x00, 0x09, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68,
+- 0x6F, 0x6C, 0x64, 0x78, 0x70 };
++ char prolog[] = {
++ 0x72, 0x00, 0x13, 0x6A, 0x61, 0x76, 0x61,
++ 0x2E, 0x75, 0x74, 0x69, 0x6C, 0x2E, 0x48, 0x61,
++ 0x73, 0x68, 0x74, 0x61, 0x62, 0x6C, 0x65, 0x13,
++ static_cast<char>(0xBB), 0x0F, 0x25, 0x21, 0x4A, static_cast<char>(0xE4), static_cast<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,
++ 0x6F, 0x6C, 0x64, 0x78, 0x70 };
+ writeProlog("java.util.Hashtable", 1, prolog, sizeof(prolog), p);
+ //
+ // loadFactor = 0.75, threshold = 5, blockdata start, buckets.size = 7
+diff --git a/src/test/cpp/xml/domtestcase.cpp b/src/test/cpp/xml/domtestcase.cpp
+index a500628..29d67dd 100644
+--- a/src/test/cpp/xml/domtestcase.cpp
++++ b/src/test/cpp/xml/domtestcase.cpp
+@@ -190,9 +190,9 @@ public:
+ 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, static_cast<logchar>(0xC2), static_cast<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, static_cast<logchar>(0xB3), 0 };
+ #endif
+ File file;
+ file.setPath(fname);
+@@ -209,9 +209,9 @@ public:
+ 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, static_cast<logchar>(0xE3), static_cast<logchar>(0x86), static_cast<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, static_cast<logchar>(0x3195), 0 };
+ #endif
+ File file;
+ file.setPath(fname); \ No newline at end of file
diff --git a/var/spack/repos/builtin/packages/log4cxx/package.py b/var/spack/repos/builtin/packages/log4cxx/package.py
new file mode 100644
index 0000000000..b6611544df
--- /dev/null
+++ b/var/spack/repos/builtin/packages/log4cxx/package.py
@@ -0,0 +1,47 @@
+##############################################################################
+# Copyright (c) 2013-2016, Lawrence Livermore National Security, LLC.
+# Produced at the Lawrence Livermore National Laboratory.
+#
+# This file is part of Spack.
+# Created by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
+# LLNL-CODE-647188
+#
+# For details, see https://github.com/llnl/spack
+# Please also see the LICENSE file for our notice and the LGPL.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License (as
+# published by the Free Software Foundation) version 2.1, February 1999.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the IMPLIED WARRANTY OF
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the terms and
+# conditions of the GNU Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+##############################################################################
+from spack import *
+
+
+class Log4cxx(AutotoolsPackage):
+ """A C++ port of Log4j"""
+
+ homepage = "https://logging.apache.org/log4cxx/latest_stable/"
+ url = "http://mirror.netcologne.de/apache.org/logging/log4cxx/0.10.0/apache-log4cxx-0.10.0.tar.gz"
+
+ version('0.10.0', 'b30ffb8da3665178e68940ff7a61084c')
+
+ depends_on('libxml2')
+ depends_on('apr-util')
+
+ build_directory = 'spack-build'
+
+ # patches from https://aur.archlinux.org/packages/log4cxx/
+ patch('log4cxx-0.10.0-missing_includes.patch')
+ patch('log4cxx-0.10.0-narrowing-fixes-from-upstream.patch')
+
+ def configure_args(self):
+ args = ['--disable-static']
+ return args