Date: Fri, 20 Jan 2017 19:38:57 +0000 (UTC) From: "Carlos J. Puga Medina" <cpm@FreeBSD.org> To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r431990 - in head/dns: powerdns powerdns-recursor powerdns-recursor/files powerdns/files Message-ID: <201701201938.v0KJcvav098477@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: cpm Date: Fri Jan 20 19:38:56 2017 New Revision: 431990 URL: https://svnweb.freebsd.org/changeset/ports/431990 Log: dns/powerdns and dns/powerdns-recursor: unbreak build with clang 4.0 json11.cpp:153:24: error: invalid operands to binary expression ('nullptr_t' and 'nullptr_t') return m_value < static_cast<const Value<tag, T> *>(other)->m_value; ~~~~~~~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ json11.cpp:209:5: note: in instantiation of member function 'json11::Value<json11::Json::Type::NUL, nullptr_t>::less' requested here JsonNull() : Value(nullptr) {} ^ PR: 216071 Submitted by: cpm Reported by: jbeich Reviewed by: jbeich Approved by: Ralf van der Enden <tremere@cainites.net> (maintainer) Obtained from: upstream MFH: 2017Q1 (blanket) Added: head/dns/powerdns-recursor/files/patch-ext_json11_json11.cpp (contents, props changed) head/dns/powerdns/files/patch-ext_json11_json11.cpp (contents, props changed) Modified: head/dns/powerdns-recursor/Makefile head/dns/powerdns/Makefile Modified: head/dns/powerdns-recursor/Makefile ============================================================================== --- head/dns/powerdns-recursor/Makefile Fri Jan 20 19:38:49 2017 (r431989) +++ head/dns/powerdns-recursor/Makefile Fri Jan 20 19:38:56 2017 (r431990) @@ -3,6 +3,7 @@ PORTNAME= recursor PORTVERSION= 4.0.4 +PORTREVISION= 1 CATEGORIES= dns ipv6 MASTER_SITES= http://downloads.powerdns.com/releases/ PKGNAMEPREFIX= powerdns- Added: head/dns/powerdns-recursor/files/patch-ext_json11_json11.cpp ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/dns/powerdns-recursor/files/patch-ext_json11_json11.cpp Fri Jan 20 19:38:56 2017 (r431990) @@ -0,0 +1,37 @@ +--- ext/json11/json11.cpp.orig 2017-01-18 18:06:37 UTC ++++ ext/json11/json11.cpp +@@ -37,11 +37,21 @@ using std::make_shared; + using std::initializer_list; + using std::move; + ++/* Helper for representing null - just a do-nothing struct, plus comparison ++ * operators so the helpers in JsonValue work. We can't use nullptr_t because ++ * it may not be orderable. ++*/ ++ ++struct NullStruct { ++ bool operator==(NullStruct) const { return true; } ++ bool operator<(NullStruct) const { return false; } ++}; ++ + /* * * * * * * * * * * * * * * * * * * * + * Serialization + */ + +-static void dump(std::nullptr_t, string &out) { ++static void dump(NullStruct, string &out) { + out += "null"; + } + +@@ -204,9 +214,9 @@ public: + explicit JsonObject(Json::object &&value) : Value(move(value)) {} + }; + +-class JsonNull final : public Value<Json::NUL, std::nullptr_t> { ++class JsonNull final : public Value<Json::NUL, NullStruct> { + public: +- JsonNull() : Value(nullptr) {} ++ JsonNull() : Value({}) {} + }; + + /* * * * * * * * * * * * * * * * * * * * Modified: head/dns/powerdns/Makefile ============================================================================== --- head/dns/powerdns/Makefile Fri Jan 20 19:38:49 2017 (r431989) +++ head/dns/powerdns/Makefile Fri Jan 20 19:38:56 2017 (r431990) @@ -2,6 +2,7 @@ PORTNAME= powerdns PORTVERSION= 4.0.3 +PORTREVISION= 1 CATEGORIES= dns ipv6 MASTER_SITES= http://downloads.powerdns.com/releases/ DISTNAME= pdns-${PORTVERSION} Added: head/dns/powerdns/files/patch-ext_json11_json11.cpp ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/dns/powerdns/files/patch-ext_json11_json11.cpp Fri Jan 20 19:38:56 2017 (r431990) @@ -0,0 +1,37 @@ +--- ext/json11/json11.cpp.orig 2017-01-18 18:06:37 UTC ++++ ext/json11/json11.cpp +@@ -37,11 +37,21 @@ using std::make_shared; + using std::initializer_list; + using std::move; + ++/* Helper for representing null - just a do-nothing struct, plus comparison ++ * operators so the helpers in JsonValue work. We can't use nullptr_t because ++ * it may not be orderable. ++*/ ++ ++struct NullStruct { ++ bool operator==(NullStruct) const { return true; } ++ bool operator<(NullStruct) const { return false; } ++}; ++ + /* * * * * * * * * * * * * * * * * * * * + * Serialization + */ + +-static void dump(std::nullptr_t, string &out) { ++static void dump(NullStruct, string &out) { + out += "null"; + } + +@@ -204,9 +214,9 @@ public: + explicit JsonObject(Json::object &&value) : Value(move(value)) {} + }; + +-class JsonNull final : public Value<Json::NUL, std::nullptr_t> { ++class JsonNull final : public Value<Json::NUL, NullStruct> { + public: +- JsonNull() : Value(nullptr) {} ++ JsonNull() : Value({}) {} + }; + + /* * * * * * * * * * * * * * * * * * * *
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201701201938.v0KJcvav098477>