From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id 9794D138334 for ; Sat, 27 Oct 2018 07:28:53 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 8634CE07F1; Sat, 27 Oct 2018 07:28:52 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id 540C9E07F1 for ; Sat, 27 Oct 2018 07:28:52 +0000 (UTC) Received: from oystercatcher.gentoo.org (oystercatcher.gentoo.org [148.251.78.52]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id C4F0C335C8F for ; Sat, 27 Oct 2018 07:28:50 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id 98A6844E for ; Sat, 27 Oct 2018 07:28:48 +0000 (UTC) From: "Hans de Graaff" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Hans de Graaff" Message-ID: <1540625309.e94534c89a38f3109c46fd5f9bba2cc484113e27.graaff@gentoo> Subject: [gentoo-commits] repo/gentoo:master commit in: dev-db/mysql-workbench/files/, dev-db/mysql-workbench/ X-VCS-Repository: repo/gentoo X-VCS-Files: dev-db/mysql-workbench/files/mysql-workbench-6.3.10-i386-json.patch dev-db/mysql-workbench/mysql-workbench-6.3.10.ebuild X-VCS-Directories: dev-db/mysql-workbench/files/ dev-db/mysql-workbench/ X-VCS-Committer: graaff X-VCS-Committer-Name: Hans de Graaff X-VCS-Revision: e94534c89a38f3109c46fd5f9bba2cc484113e27 X-VCS-Branch: master Date: Sat, 27 Oct 2018 07:28:48 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Archives-Salt: b1ecce11-7324-4bc6-be5d-0ae9156c4157 X-Archives-Hash: 382ee4a946ad7266d7dea6a8e4d7cf8a commit: e94534c89a38f3109c46fd5f9bba2cc484113e27 Author: Hans de Graaff gentoo org> AuthorDate: Sat Oct 27 07:27:47 2018 +0000 Commit: Hans de Graaff gentoo org> CommitDate: Sat Oct 27 07:28:29 2018 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e94534c8 dev-db/mysql-workbench: fix compilation on x86 Fix compilation on x86 with debian patch. Thanks to asturm for finding the patch. Closes: https://bugs.gentoo.org/659176 Signed-off-by: Hans de Graaff gentoo.org> Package-Manager: Portage-2.3.49, Repoman-2.3.11 .../files/mysql-workbench-6.3.10-i386-json.patch | 182 +++++++++++++++++++++ .../mysql-workbench/mysql-workbench-6.3.10.ebuild | 1 + 2 files changed, 183 insertions(+) diff --git a/dev-db/mysql-workbench/files/mysql-workbench-6.3.10-i386-json.patch b/dev-db/mysql-workbench/files/mysql-workbench-6.3.10-i386-json.patch new file mode 100644 index 00000000000..31e789992d1 --- /dev/null +++ b/dev-db/mysql-workbench/files/mysql-workbench-6.3.10-i386-json.patch @@ -0,0 +1,182 @@ +Last-Update: 2018-03-05 +Forwarded: not-needed +Origin: upstream, https://github.com/mysql/mysql-workbench/commit/fff08d9ec68de8215fc8f12fe0ee42e598e1cf75.patch +Bug-Upstream: https://github.com/mysql/mysql-workbench/pull/14 +Bug-Upstream: https://bugs.mysql.com/bug.php?id=84886 +Bug-Upstream: https://bugs.mysql.com/bug.php?id=84951 +From: Christian Hesse +Description: fixes FTBFS on 32bit architectures. + +~~~~ +/<>/mysql-workbench-6.3.10+dfsg/library/base/jsonparser.cpp:346:79: error: format '%lu' expects argument of type 'long unsigned int', but argument 2 has type 'JsonParser::JsonArray::SizeType {aka unsigned int}' [-Werror=format=] + throw std::out_of_range(base::strfmt("Index '%lu' is out of range.", pos)); + ^ +/<>/mysql-workbench-6.3.10+dfsg/library/base/jsonparser.cpp: In member function 'const JsonParser::JsonValue& JsonParser::JsonArray::at(JsonParser::JsonArray::SizeType) const': +/<>/mysql-workbench-6.3.10+dfsg/library/base/jsonparser.cpp:361:79: error: format '%lu' expects argument of type 'long unsigned int', but argument 2 has type 'JsonParser::JsonArray::SizeType {aka unsigned int}' [-Werror=format=] + throw std::out_of_range(base::strfmt("Index '%lu' is out of range.", pos)); + ^ +/<>/mysql-workbench-6.3.10+dfsg/library/base/jsonparser.cpp: In member function 'void JsonParser::JsonWriter::write(const JsonParser::JsonValue&)': +/<>/mysql-workbench-6.3.10+dfsg/library/base/jsonparser.cpp:1672:44: error: conversion from 'const JsonParser::JsonValue' to 'int64_t {aka long long int}' is ambiguous + _output += std::to_string((int64_t)value); + ^~~~~ +/<>/mysql-workbench-6.3.10+dfsg/library/base/jsonparser.cpp:1001:3: note: candidate: JsonParser::JsonValue::operator bool() const + JsonValue::operator bool() const { + ^~~~~~~~~ +/<>/mysql-workbench-6.3.10+dfsg/library/base/jsonparser.cpp:981:3: note: candidate: JsonParser::JsonValue::operator double() const + JsonValue::operator double() const { + ^~~~~~~~~ +/<>/mysql-workbench-6.3.10+dfsg/library/base/jsonparser.cpp:950:3: note: candidate: JsonParser::JsonValue::operator size_t() const + JsonValue::operator size_t() const { + ^~~~~~~~~ +/<>/mysql-workbench-6.3.10+dfsg/library/base/jsonparser.cpp:939:3: note: candidate: JsonParser::JsonValue::operator ssize_t() const + JsonValue::operator ssize_t() const { + ^~~~~~~~~ +/<>/mysql-workbench-6.3.10+dfsg/library/base/jsonparser.cpp:1675:45: error: conversion from 'const JsonParser::JsonValue' to 'uint64_t {aka long long unsigned int}' is ambiguous + _output += std::to_string((uint64_t)value); +~~~~ + +--- a/library/base/jsonparser.cpp ++++ b/library/base/jsonparser.cpp +@@ -342,9 +342,9 @@ + * If no such data is present std::out_of_range is thrown. + */ + JsonValue &JsonArray::at(SizeType pos) { + if (pos > _data.size()) +- throw std::out_of_range(base::strfmt("Index '%lu' is out of range.", pos)); ++ throw std::out_of_range(base::strfmt("Index '%zu' is out of range.", pos)); + return _data.at(pos); + } + + //-------------------------------------------------------------------------------------------------- +@@ -357,9 +357,9 @@ + * If no such data is present std::out_of_range is thrown. + */ + const JsonValue &JsonArray::at(SizeType pos) const { + if (pos > _data.size()) +- throw std::out_of_range(base::strfmt("Index '%lu' is out of range.", pos)); ++ throw std::out_of_range(base::strfmt("Index '%zu' is out of range.", pos)); + return _data.at(pos); + } + + //-------------------------------------------------------------------------------------------------- +@@ -1667,14 +1667,16 @@ + break; + case VDouble: + _output += std::to_string((double)value); + break; ++#ifdef DEFINE_UINT64_T_FUNCTIONS + case VInt64: + _output += std::to_string((int64_t)value); + break; + case VUint64: + _output += std::to_string((uint64_t)value); + break; ++#endif + case VObject: + write((JsonObject)value); + break; + case VArray: +--- a/library/forms/jsonview.cpp ++++ b/library/forms/jsonview.cpp +@@ -650,10 +650,12 @@ + bool setData = false; + if (data != nullptr) { + std::stringstream buffer; + double number = 0; ++#ifdef DEFINE_UINT64_T_FUNCTIONS + int64_t number2 = 0; + uint64_t number3 = 0; ++#endif + bool retBool = false; + auto &storedValue = data->getData(); + switch (storedValue.getType()) { + case VDouble: +@@ -663,8 +665,9 @@ + buffer >> number; + storedValue = number; + setData = true; + break; ++#ifdef DEFINE_UINT64_T_FUNCTIONS + case VInt64: + if (!base::is_number(value)) + break; + buffer << value; +@@ -679,8 +682,9 @@ + buffer >> number3; + storedValue = number3; + setData = true; + break; ++#endif + case VBoolean: + if (!base::isBool(value)) + break; + buffer << value; +@@ -1072,16 +1076,18 @@ + case VDouble: + node->set_string(1, std::to_string((double)value)); + node->set_string(2, "Double"); + break; ++#ifdef DEFINE_UINT64_T_FUNCTIONS + case VInt64: + node->set_string(1, std::to_string((int64_t)value)); + node->set_string(2, "Long Integer"); + break; + case VUint64: + node->set_string(1, std::to_string((uint64_t)value)); + node->set_string(2, "Unsigned Long Integer"); + break; ++#endif + default: + break; + } + node->set_data(new JsonTreeBaseView::JsonValueNodeData(value)); +@@ -1321,10 +1327,12 @@ + JsonParser::JsonValue &storedValue = (!key.empty() ? ((JsonObject &)data->getData())[key] : data->getData()); + if (data != NULL) { + std::stringstream buffer; + double number = 0; ++#ifdef DEFINE_UINT64_T_FUNCTIONS + int64_t number2 = 0; + uint64_t number3 = 0; ++#endif + bool retBool = false; + switch (storedValue.getType()) { + case VDouble: + if (!base::is_number(value)) +@@ -1334,8 +1342,9 @@ + storedValue = number; + node->set_float(column, number); + _dataChanged(false); + break; ++#ifdef DEFINE_UINT64_T_FUNCTIONS + case VInt64: + if (!base::is_number(value)) + break; + buffer << value; +@@ -1352,8 +1361,9 @@ + storedValue = number3; + node->set_float(column, (double)number3); + _dataChanged(false); + break; ++#endif + case VBoolean: + if (!base::isBool(value)) + break; + buffer << value; +@@ -1611,14 +1621,16 @@ + switch (value.getType()) { + case VDouble: + node->set_float(columnId, (double)value); + break; ++#ifdef DEFINE_UINT64_T_FUNCTIONS + case VInt64: + node->set_long(columnId, (int64_t)value); + break; + case VUint64: + node->set_long(columnId, (uint64_t)value); + break; ++#endif + default: + break; + } + } diff --git a/dev-db/mysql-workbench/mysql-workbench-6.3.10.ebuild b/dev-db/mysql-workbench/mysql-workbench-6.3.10.ebuild index e89f1328742..4e80549449d 100644 --- a/dev-db/mysql-workbench/mysql-workbench-6.3.10.ebuild +++ b/dev-db/mysql-workbench/mysql-workbench-6.3.10.ebuild @@ -65,6 +65,7 @@ S="${WORKDIR}"/"${MY_P}" PATCHES=( "${FILESDIR}/${PN}-6.2.5-wbcopytables.patch" "${FILESDIR}/${PN}-6.3.9-mariadb-json.patch" + "${FILESDIR}/${PN}-6.3.10-i386-json.patch" ) src_unpack() {