diff --git a/clog b/clog index a638b41..89885f7 100644 --- a/clog +++ b/clog @@ -1,2 +1 @@ -Rebuilt - +Fix FTBFS due missing BR gcc gcc-c++ (RHBZ#1603733) diff --git a/cxxtools-2.3-arm.patch b/cxxtools-2.3-arm.patch new file mode 100644 index 0000000..651a3b0 --- /dev/null +++ b/cxxtools-2.3-arm.patch @@ -0,0 +1,265 @@ +--- src/csvparser.cpp~ 2012-09-21 14:19:12.000000000 -0500 ++++ src/csvparser.cpp 2012-09-21 14:32:10.667705093 -0500 +@@ -76,7 +76,7 @@ + + void CsvParser::advance(Char ch) + { +- if (ch == L'\n') ++ if ( (int) ch == (int) L'\n') + ++_lineNo; + + switch (_state) +@@ -82,7 +82,7 @@ + switch (_state) + { + case state_detectDelim: +- if (isalnum(ch) || ch == L'_' || ch == L' ') ++ if (isalnum(ch) || (int) ch == (int) L'_' || (int) ch == (int) ' ') + { + _titles.back() += ch.narrow(); + } +@@ -86,13 +86,13 @@ + { + _titles.back() += ch.narrow(); + } +- else if (ch == L'\n' || ch == L'\r') ++ else if ( (int) ch == (int) L'\n' || (int) ch == (int) L'\r') + { + log_debug("title=\"" << _titles.back() << '"'); + _noColumns = 1; +- _state = (ch == L'\r' ? state_cr : state_rowstart); ++ _state = ( (int) ch == (int) L'\r' ? state_cr : state_rowstart); + } +- else if (ch == L'\'' || ch == L'"') ++ else if ( (int) ch == (int) L'\'' || (int) ch == (int) L'"') + { + _quote = ch; + _state = state_detectDelim_q; +@@ -119,17 +119,17 @@ + break; + + case state_detectDelim_postq: +- if (isalnum(ch) || ch == L'_' || ch == L'\'' || ch == L'"' || ch == L' ') ++ if (isalnum(ch) || (int) ch == (int) L'_' || (int) ch == (int) L'\'' || (int) ch == (int) L'"' || (int) ch == (int) L' ') + { + std::ostringstream msg; + msg << "invalid character '" << ch.narrow() << "' within csv title of column " << _titles.size(); + SerializationError::doThrow(msg.str()); + } +- else if (ch == L'\n' || ch == L'\r') ++ else if ( (int) ch == (int) L'\n' || (int) ch == (int) L'\r') + { + log_debug("title=\"" << _titles.back() << '"'); + _noColumns = 1; +- _state = (ch == L'\r' ? state_cr : state_rowstart); ++ _state = ( (int) ch == (int) L'\r' ? state_cr : state_rowstart); + } + else + { +@@ -142,10 +142,10 @@ + break; + + case state_title: +- if (ch == L'\n' || ch == L'\r') ++ if ( (int) ch == (int) L'\n' || (int) ch == (int) L'\r') + { + log_debug("title=\"" << _titles.back() << '"'); +- _state = (ch == L'\r' ? state_cr : state_rowstart); ++ _state = ( (int) ch == (int) L'\r' ? state_cr : state_rowstart); + _noColumns = _titles.size(); + } + else if (ch == _delimiter) +@@ -153,7 +153,7 @@ + log_debug("title=\"" << _titles.back() << '"'); + _titles.push_back(std::string()); + } +- else if (ch == L'\'' || ch == L'\"') ++ else if ( (int) ch == (int) L'\'' || (int) ch == (int) L'\"') + { + if (_titles.back().empty()) + { +@@ -185,10 +185,10 @@ + break; + + case state_qtitlep: +- if (ch == L'\n' || ch == L'\r') ++ if ( (int) ch == (int) L'\n' || (int) ch == (int) L'\r') + { + log_debug("title=\"" << _titles.back() << '"'); +- _state = (ch == L'\r' ? state_cr : state_rowstart); ++ _state = ( (int) ch == (int) L'\r' ? state_cr : state_rowstart); + _noColumns = _titles.size(); + } + else if (ch == _delimiter) +@@ -207,7 +207,7 @@ + + case state_cr: + _state = state_rowstart; +- if (ch == L'\n') ++ if ( (int) ch == (int) L'\n') + { + break; + } +@@ -228,14 +228,14 @@ + _column < _titles.size() ? _titles[_column] : std::string(), + std::string(), SerializationInfo::Value); + +- if (ch == L'\n' || ch == L'\r') ++ if ( (int) ch == (int) L'\n' || (int) ch == (int) L'\r') + { + _deserializer->leaveMember(); + checkNoColumns(_column, _noColumns, _lineNo); + _deserializer->leaveMember(); +- _state = (ch == L'\r' ? state_cr : state_rowstart); ++ _state = ( (int) ch == (int) L'\r' ? state_cr : state_rowstart); + } +- else if (ch == L'"' || ch == L'\'') ++ else if ((int) ch == L'"' || (int) ch == L'\'') + { + _quote = ch; + _state = state_qdata; +@@ -253,7 +253,7 @@ + break; + + case state_data0: +- if (ch == L'"' || ch == L'\'') ++ if ( (int) ch == (int) L'"' || (int) ch == (int) L'\'') + { + _quote = ch; + _state = state_qdata; +@@ -261,7 +261,7 @@ + } + + case state_data: +- if (ch == L'\n' || ch == L'\r') ++ if ( (int) ch == (int) L'\n' || (int) ch == (int) L'\r') + { + log_debug("value \"" << _value << '"'); + _deserializer->setValue(_value); +@@ -269,7 +269,7 @@ + checkNoColumns(_column, _noColumns, _lineNo); + _deserializer->leaveMember(); // leave data item + _deserializer->leaveMember(); // leave row +- _state = (ch == L'\r' ? state_cr : state_rowstart); ++ _state = ( (int) ch == (int) L'\r' ? state_cr : state_rowstart); + } + else if (ch == _delimiter) + { +@@ -307,11 +307,11 @@ + break; + + case state_qdata_end: +- if (ch == L'\n' || ch == L'\r') ++ if ( (int) ch == (int) L'\n' || (int) ch == (int) L'\r') + { + checkNoColumns(_column, _noColumns, _lineNo); + _deserializer->leaveMember(); // leave row +- _state = (ch == L'\r' ? state_cr : state_rowstart); ++ _state = ( (int) ch == (int) L'\r' ? state_cr : state_rowstart); + } + else if (ch == _delimiter) + { +--- src/jsonformatter.cpp~ 2012-05-03 11:06:16.000000000 -0500 ++++ src/jsonformatter.cpp 2012-09-21 16:10:58.726176999 -0500 +@@ -323,25 +323,25 @@ + { + for (std::string::const_iterator it = str.begin(); it != str.end(); ++it) + { +- if (*it == '"') ++ if ( (int) *it == (int) '"') + *_ts << L'\\' + << L'\"'; +- else if (*it == '\\') ++ else if ( (int) *it == (int) '\\') + *_ts << L'\\' + << L'\\'; +- else if (*it == '\b') ++ else if ( (int) *it == (int) '\b') + *_ts << L'\\' + << L'b'; +- else if (*it == '\f') ++ else if ( (int) *it == (int) '\f') + *_ts << L'\\' + << L'f'; +- else if (*it == '\n') ++ else if ( (int) *it == (int) '\n') + *_ts << L'\\' + << L'n'; +- else if (*it == '\r') ++ else if ( (int) *it == (int) '\r') + *_ts << L'\\' + << L'r'; +- else if (*it == '\t') ++ else if ( (int) *it == (int) '\t') + *_ts << L'\\' + << L't'; + else if (static_cast(*it) >= 0x80 || static_cast(*it) < 0x20) +@@ -364,25 +364,25 @@ + { + for (cxxtools::String::const_iterator it = str.begin(); it != str.end(); ++it) + { +- if (*it == L'"') ++ if ( (int) *it == (int) L'"') + *_ts << L'\\' + << L'\"'; +- else if (*it == L'\\') ++ else if ( (int) *it == (int) L'\\') + *_ts << L'\\' + << L'\\'; +- else if (*it == L'\b') ++ else if ( (int) *it == (int) L'\b') + *_ts << L'\\' + << L'b'; +- else if (*it == L'\f') ++ else if ( (int) *it == (int) L'\f') + *_ts << L'\\' + << L'f'; +- else if (*it == L'\n') ++ else if ( (int) *it == (int) L'\n') + *_ts << L'\\' + << L'n'; +- else if (*it == L'\r') ++ else if ( (int) *it == (int) L'\r') + *_ts << L'\\' + << L'r'; +- else if (*it == L'\t') ++ else if ( (int) *it == (int) L'\t') + *_ts << L'\\' + << L't'; + else if (it->value() >= 0x80 || it->value() < 0x20) +--- src/xml/entityresolver.cpp~ 2012-05-03 11:06:15.000000000 -0500 ++++ src/xml/entityresolver.cpp 2012-09-21 17:51:22.973780927 -0500 +@@ -563,19 +563,19 @@ + + String EntityResolver::resolveEntity(const String& entity) const + { +- if (!entity.empty() && entity[0] == L'#') ++ if (!entity.empty() && (int) entity[0] == (int) L'#') + { + int code = 0; +- if (entity.size() > 2 && entity[1] == L'x') ++ if (entity.size() > 2 && (int) entity[1] == (int) L'x') + { + // hex notation: ꯍ + for (String::const_iterator it = entity.begin() + 2; it != entity.end(); ++it) + { +- if (*it >= L'0' && *it <= L'9') ++ if ( (int) *it >= (int) L'0' && (int) *it <= (int) L'9') + code = code * 16 + (it->value() - L'0'); +- else if (*it >= L'A' && *it <= L'F') ++ else if ( (int) *it >= (int) L'A' && (int) *it <= (int) L'F') + code = code * 16 + (it->value() - L'A' + 10); +- else if (*it >= L'a' && *it <= L'f') ++ else if ( (int) *it >= (int) L'a' && (int) *it <= (int) L'f') + code = code * 16 + (it->value() - L'a' + 10); + else + throw std::runtime_error(std::string("invalid entity ") + entity.narrow()); +@@ -586,7 +586,7 @@ + // dec notation: ✏ + for (String::const_iterator it = entity.begin() + 1; it != entity.end(); ++it) + { +- if (*it >= L'0' && *it <= L'9') ++ if ( (int) *it >= (int) L'0' && (int) *it <= (int) L'9') + code = code * 10 + (it->value() - '0'); + else + throw std::runtime_error(std::string("invalid entity ") + entity.narrow()); diff --git a/cxxtools.spec b/cxxtools.spec index eaf353d..147c886 100644 --- a/cxxtools.spec +++ b/cxxtools.spec @@ -1,6 +1,6 @@ Name: cxxtools Version: 2.2.1 -Release: 16%{?dist} +Release: 17%{?dist} Summary: A collection of general-purpose C++ classes Epoch: 1 @@ -11,7 +11,8 @@ Source0: http://www.tntnet.org/download/cxxtools-%{version}.tar.gz Patch0: cxxtools-2.2-arm.patch # https://github.com/maekitalo/cxxtools/commit/86d4bb1881172752a80b706f9cc5fb0ebfa1b04e Patch1: cxxtools-float.patch - +BuildRequires: gcc +BuildRequires: gcc-c++ Provides: bundled(md5-polstra) %description @@ -70,6 +71,9 @@ find $RPM_BUILD_ROOT -type f -name "*.la" -exec rm -f {} ';' %{_includedir}/cxxtools/ %changelog +* Sat Jul 21 2018 Martin Gansser - 1:2.2.1-17 +- Fix FTBFS due missing BR gcc gcc-c++ (RHBZ#1603733) + * Thu Jul 12 2018 Fedora Release Engineering - 1:2.2.1-16 - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild diff --git a/sources b/sources index a74038d..7768aa0 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -aab00068ae5237435b37ac86f2ac7576 cxxtools-2.2.1.tar.gz +SHA512 (cxxtools-2.2.1.tar.gz) = b6dc3f63c39fbbc35af973eea668a44d30673140c72bfa7efbdc21a71816be2983e85312b9213264d4f5162c3e420eedb41974bacb7fe8176f2a069b6f8f6f7b