diff --git a/dev-libs/expat/expat-2.4.3.recipe b/dev-libs/expat/expat-2.4.5.recipe similarity index 93% rename from dev-libs/expat/expat-2.4.3.recipe rename to dev-libs/expat/expat-2.4.5.recipe index bc4db61cd..73222e703 100644 --- a/dev-libs/expat/expat-2.4.3.recipe +++ b/dev-libs/expat/expat-2.4.5.recipe @@ -4,17 +4,17 @@ stream-oriented parser in which an application registers handlers for things \ the parser might find in the XML document (like start tags)." HOMEPAGE="http://expat.sourceforge.net/" COPYRIGHT="1998-2000 Thai Open Source Software Center Ltd and Clark Cooper - 2001-2018 Expat maintainers." + 2001-2022 Expat maintainers." LICENSE="MIT" REVISION="1" SOURCE_URI="https://downloads.sourceforge.net/expat/expat-$portVersion.tar.bz2" -CHECKSUM_SHA256="6f262e216a494fbf42d8c22bc841b3e117c21f2467a19dc4c27c991b5622f986" +CHECKSUM_SHA256="fbb430f964c7a2db2626452b6769e6a8d5d23593a453ccbc21701b74deabedff" PATCHES="expat-$portVersion.patchset" ARCHITECTURES="all" SECONDARY_ARCHITECTURES="x86_gcc2 x86" -libVersion=1.8.3 +libVersion=1.8.5 libVersionCompat="$libVersion compat >= ${libVersion%%.*}" portVersionCompat="$portVersion compat >= 2.2" diff --git a/dev-libs/expat/patches/expat-2.4.3.patchset b/dev-libs/expat/patches/expat-2.4.5.patchset similarity index 70% rename from dev-libs/expat/patches/expat-2.4.3.patchset rename to dev-libs/expat/patches/expat-2.4.5.patchset index e76a368ae..1120fb817 100644 --- a/dev-libs/expat/patches/expat-2.4.3.patchset +++ b/dev-libs/expat/patches/expat-2.4.5.patchset @@ -1,14 +1,34 @@ -From e8840419856ac4dc9c369894cbf2c834dcea774c Mon Sep 17 00:00:00 2001 +From ece0e0b6af5bb07e289f80416fab429fc001fd2b Mon Sep 17 00:00:00 2001 From: Jerome Duval Date: Mon, 24 May 2021 20:59:30 +0200 Subject: gcc2 build fix diff --git a/lib/xmlparse.c b/lib/xmlparse.c -index b2f5fc6..c129793 100644 +index c479a25..8a3649c 100644 --- a/lib/xmlparse.c +++ b/lib/xmlparse.c -@@ -3455,7 +3455,7 @@ storeAtts(XML_Parser parser, const ENCODING *enc, const char *attStr, +@@ -718,7 +718,8 @@ XML_ParserCreate(const XML_Char *encodingName) { + + XML_Parser XMLCALL + XML_ParserCreateNS(const XML_Char *encodingName, XML_Char nsSep) { +- XML_Char tmp[2] = {nsSep, 0}; ++ XML_Char tmp[2] = {0, 0}; ++ tmp[0] = nsSep; + return XML_ParserCreate_MM(encodingName, NULL, tmp); + } + +@@ -1343,7 +1344,8 @@ XML_ExternalEntityParserCreate(XML_Parser oldParser, const XML_Char *context, + would be otherwise. + */ + if (parser->m_ns) { +- XML_Char tmp[2] = {parser->m_namespaceSeparator, 0}; ++ XML_Char tmp[2] = {0, 0}; ++ tmp[0] = parser->m_namespaceSeparator; + parser = parserCreate(encodingName, &parser->m_mem, tmp, newDtd); + } else { + parser = parserCreate(encodingName, &parser->m_mem, NULL, newDtd); +@@ -3464,7 +3466,7 @@ storeAtts(XML_Parser parser, const ENCODING *enc, const char *attStr, if (parser->m_nsAttsPower >= sizeof(unsigned int) * 8 /* bits per byte */) { return XML_ERROR_NO_MEMORY; } @@ -17,7 +37,7 @@ index b2f5fc6..c129793 100644 unsigned int nsAttsSize = 1u << parser->m_nsAttsPower; unsigned char oldNsAttsPower = parser->m_nsAttsPower; /* size of hash table must be at least 2 * (# of prefixed attributes) */ -@@ -3612,6 +3612,7 @@ storeAtts(XML_Parser parser, const ENCODING *enc, const char *attStr, +@@ -3621,6 +3623,7 @@ storeAtts(XML_Parser parser, const ENCODING *enc, const char *attStr, } else /* not prefixed */ ((XML_Char *)s)[-1] = 0; /* clear flag */ } @@ -25,7 +45,7 @@ index b2f5fc6..c129793 100644 } /* clear flags for the remaining attributes */ for (; i < attIndex; i += 2) -@@ -3780,13 +3781,14 @@ addBinding(XML_Parser parser, PREFIX *prefix, const ATTRIBUTE_ID *attId, +@@ -3800,13 +3803,14 @@ addBinding(XML_Parser parser, PREFIX *prefix, const ATTRIBUTE_ID *attId, return XML_ERROR_NO_MEMORY; } #endif @@ -41,7 +61,7 @@ index b2f5fc6..c129793 100644 } parser->m_freeBindingList = b->nextTagBinding; } else { -@@ -5138,7 +5140,7 @@ doProlog(XML_Parser parser, const ENCODING *enc, const char *s, const char *end, +@@ -5158,7 +5162,7 @@ doProlog(XML_Parser parser, const ENCODING *enc, const char *s, const char *end, if (parser->m_groupSize > (unsigned int)(-1) / 2u) { return XML_ERROR_NO_MEMORY; } @@ -50,7 +70,7 @@ index b2f5fc6..c129793 100644 char *const new_connector = (char *)REALLOC( parser, parser->m_groupConnector, parser->m_groupSize *= 2); if (new_connector == NULL) { -@@ -5146,6 +5148,7 @@ doProlog(XML_Parser parser, const ENCODING *enc, const char *s, const char *end, +@@ -5166,6 +5170,7 @@ doProlog(XML_Parser parser, const ENCODING *enc, const char *s, const char *end, return XML_ERROR_NO_MEMORY; } parser->m_groupConnector = new_connector; @@ -58,7 +78,7 @@ index b2f5fc6..c129793 100644 } if (dtd->scaffIndex) { -@@ -5158,12 +5161,13 @@ doProlog(XML_Parser parser, const ENCODING *enc, const char *s, const char *end, +@@ -5178,12 +5183,13 @@ doProlog(XML_Parser parser, const ENCODING *enc, const char *s, const char *end, return XML_ERROR_NO_MEMORY; } #endif @@ -73,7 +93,7 @@ index b2f5fc6..c129793 100644 } } else { parser->m_groupConnector -@@ -6234,7 +6238,7 @@ defineAttribute(ELEMENT_TYPE *type, ATTRIBUTE_ID *attId, XML_Bool isCdata, +@@ -6260,7 +6266,7 @@ defineAttribute(ELEMENT_TYPE *type, ATTRIBUTE_ID *attId, XML_Bool isCdata, if (type->allocDefaultAtts > INT_MAX / 2) { return 0; } @@ -82,7 +102,7 @@ index b2f5fc6..c129793 100644 int count = type->allocDefaultAtts * 2; /* Detect and prevent integer overflow. -@@ -6253,7 +6257,8 @@ defineAttribute(ELEMENT_TYPE *type, ATTRIBUTE_ID *attId, XML_Bool isCdata, +@@ -6279,7 +6285,8 @@ defineAttribute(ELEMENT_TYPE *type, ATTRIBUTE_ID *attId, XML_Bool isCdata, return 0; type->allocDefaultAtts = count; type->defaultAtts = temp; @@ -92,7 +112,7 @@ index b2f5fc6..c129793 100644 } att = type->defaultAtts + type->nDefaultAtts; att->id = attId; -@@ -6902,7 +6907,7 @@ lookup(XML_Parser parser, HASH_TABLE *table, KEY name, size_t createSize) { +@@ -6928,7 +6935,7 @@ lookup(XML_Parser parser, HASH_TABLE *table, KEY name, size_t createSize) { if (newPower >= sizeof(unsigned long) * 8 /* bits per byte */) { return NULL; } @@ -101,27 +121,24 @@ index b2f5fc6..c129793 100644 size_t newSize = (size_t)1 << newPower; unsigned long newMask = (unsigned long)newSize - 1; -@@ -6911,7 +6916,9 @@ lookup(XML_Parser parser, HASH_TABLE *table, KEY name, size_t createSize) { +@@ -6937,6 +6944,7 @@ lookup(XML_Parser parser, HASH_TABLE *table, KEY name, size_t createSize) { return NULL; } -- size_t tsize = newSize * sizeof(NAMED *); -+ +{ -+ size_t tsize = newSize * sizeof(NAMED *); - NAMED **newV = (NAMED **)table->mem->malloc_fcn(tsize); + size_t tsize = newSize * sizeof(NAMED *); + NAMED **newV = table->mem->malloc_fcn(tsize); if (! newV) - return NULL; -@@ -6940,6 +6947,8 @@ lookup(XML_Parser parser, HASH_TABLE *table, KEY name, size_t createSize) { +@@ -6966,6 +6974,8 @@ lookup(XML_Parser parser, HASH_TABLE *table, KEY name, size_t createSize) { i < step ? (i += newSize - step) : (i -= step); } } +} + } } - table->v[i] = (NAMED *)table->mem->malloc_fcn(createSize); + table->v[i] = table->mem->malloc_fcn(createSize); if (! table->v[i]) -@@ -7360,11 +7369,12 @@ build_model(XML_Parser parser) { +@@ -7357,11 +7367,12 @@ build_model(XML_Parser parser) { > (size_t)(-1) - dtd->contentStringLen * sizeof(XML_Char)) { return NULL; } @@ -135,7 +152,24 @@ index b2f5fc6..c129793 100644 if (! ret) return NULL; -@@ -7443,7 +7453,7 @@ accountingReportStats(XML_Parser originParser, const char *epilog) { +@@ -7394,6 +7405,7 @@ build_model(XML_Parser parser) { + * to meet, but that is safe because we get the source index out + * before doing any writes on that node. + */ ++{ + XML_Content *dest = ret; /* tree node writing location, moves upwards */ + XML_Content *const destLimit = &ret[dtd->scaffCount]; + XML_Content *const stackBottom = &ret[dtd->scaffCount]; +@@ -7439,7 +7451,7 @@ build_model(XML_Parser parser) { + } + } + } +- ++} + return ret; + } + +@@ -7511,7 +7523,7 @@ accountingReportStats(XML_Parser originParser, const char *epilog) { if (rootParser->m_accounting.debugLevel < 1) { return; } @@ -144,7 +178,7 @@ index b2f5fc6..c129793 100644 const float amplificationFactor = accountingGetCurrentAmplification(rootParser); fprintf(stderr, -@@ -7453,6 +7463,7 @@ accountingReportStats(XML_Parser originParser, const char *epilog) { +@@ -7521,6 +7533,7 @@ accountingReportStats(XML_Parser originParser, const char *epilog) { rootParser->m_accounting.countBytesIndirect, (double)amplificationFactor, epilog); } @@ -152,7 +186,7 @@ index b2f5fc6..c129793 100644 static void accountingOnAbort(XML_Parser originParser) { -@@ -7471,6 +7482,7 @@ accountingReportDiff(XML_Parser rootParser, +@@ -7539,6 +7552,7 @@ accountingReportDiff(XML_Parser rootParser, bytesMore, (account == XML_ACCOUNT_DIRECT) ? "DIR" : "EXP", levelsAwayFromRootParser, source_line, 10, ""); @@ -160,7 +194,7 @@ index b2f5fc6..c129793 100644 const char ellipis[] = "[..]"; const size_t ellipsisLength = sizeof(ellipis) /* because compile-time */ - 1; const unsigned int contextLength = 10; -@@ -7495,6 +7507,7 @@ accountingReportDiff(XML_Parser rootParser, +@@ -7563,6 +7577,7 @@ accountingReportDiff(XML_Parser rootParser, } fprintf(stderr, "\"\n"); } @@ -168,7 +202,7 @@ index b2f5fc6..c129793 100644 static XML_Bool accountingDiffTolerated(XML_Parser originParser, int tok, const char *before, -@@ -7513,12 +7526,13 @@ accountingDiffTolerated(XML_Parser originParser, int tok, const char *before, +@@ -7581,12 +7596,13 @@ accountingDiffTolerated(XML_Parser originParser, int tok, const char *before, if (account == XML_ACCOUNT_NONE) return XML_TRUE; /* because these bytes have been accounted for, already */ @@ -183,7 +217,7 @@ index b2f5fc6..c129793 100644 const int isDirect = (account == XML_ACCOUNT_DIRECT) && (originParser == rootParser); const ptrdiff_t bytesMore = after - before; -@@ -7531,7 +7545,7 @@ accountingDiffTolerated(XML_Parser originParser, int tok, const char *before, +@@ -7599,7 +7615,7 @@ accountingDiffTolerated(XML_Parser originParser, int tok, const char *before, if (*additionTarget > (XmlBigCount)(-1) - (XmlBigCount)bytesMore) return XML_FALSE; *additionTarget += bytesMore; @@ -192,7 +226,7 @@ index b2f5fc6..c129793 100644 const XmlBigCount countBytesOutput = rootParser->m_accounting.countBytesDirect + rootParser->m_accounting.countBytesIndirect; -@@ -7550,6 +7564,9 @@ accountingDiffTolerated(XML_Parser originParser, int tok, const char *before, +@@ -7618,6 +7634,9 @@ accountingDiffTolerated(XML_Parser originParser, int tok, const char *before, return tolerated; } @@ -202,7 +236,7 @@ index b2f5fc6..c129793 100644 unsigned long long testingAccountingGetCountBytesDirect(XML_Parser parser) { -@@ -7572,6 +7589,7 @@ entityTrackingReportStats(XML_Parser rootParser, ENTITY *entity, +@@ -7640,6 +7659,7 @@ entityTrackingReportStats(XML_Parser rootParser, ENTITY *entity, if (rootParser->m_entity_stats.debugLevel < 1) return; @@ -210,7 +244,7 @@ index b2f5fc6..c129793 100644 # if defined(XML_UNICODE) const char *const entityName = "[..]"; # else -@@ -7588,6 +7606,7 @@ entityTrackingReportStats(XML_Parser rootParser, ENTITY *entity, +@@ -7656,6 +7676,7 @@ entityTrackingReportStats(XML_Parser rootParser, ENTITY *entity, entity->is_param ? "%" : "&", entityName, action, entity->textLen, sourceLine); } @@ -218,7 +252,7 @@ index b2f5fc6..c129793 100644 static void entityTrackingOnOpen(XML_Parser originParser, ENTITY *entity, int sourceLine) { -@@ -8158,9 +8177,11 @@ getDebugLevel(const char *variableName, unsigned long defaultDebugLevel) { +@@ -8226,9 +8247,11 @@ getDebugLevel(const char *variableName, unsigned long defaultDebugLevel) { if (valueOrNull == NULL) { return defaultDebugLevel; } @@ -230,14 +264,14 @@ index b2f5fc6..c129793 100644 char *afterValue = (char *)value; unsigned long debugLevel = strtoul(value, &afterValue, 10); if ((errno != 0) || (afterValue[0] != '\0')) { -@@ -8170,3 +8191,5 @@ getDebugLevel(const char *variableName, unsigned long defaultDebugLevel) { +@@ -8238,3 +8261,5 @@ getDebugLevel(const char *variableName, unsigned long defaultDebugLevel) { return debugLevel; } +} +} diff --git a/xmlwf/xmlwf.c b/xmlwf/xmlwf.c -index 29118bb..fae4801 100644 +index b0cd212..4ccb9a6 100644 --- a/xmlwf/xmlwf.c +++ b/xmlwf/xmlwf.c @@ -1050,6 +1050,7 @@ tmain(int argc, XML_Char **argv) {