external/curl/0001-const-up-readonly-H2_NON_FIELD.patch.1 |   25 +
 external/curl/UnpackedTarball_curl.mk                     |    5 
 external/libstaroffice/0001-const-up-these-arrays.patch.1 |  264 ++++++++++++++
 external/libstaroffice/UnpackedTarball_libstaroffice.mk   |    8 
 4 files changed, 302 insertions(+)

New commits:
commit fe0dca387a668c7b1e73bc0c253fc0fcb6f8a051
Author:     Caolán McNamara <caolan.mcnam...@collabora.com>
AuthorDate: Sat Jul 19 14:57:56 2025 +0100
Commit:     Caolán McNamara <caolan.mcnam...@collabora.com>
CommitDate: Wed Jul 23 09:47:43 2025 +0200

    const up libstaroffice
    
    Change-Id: I04a24f373cb24a2061acdd323b4da279ef7c9c07
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/188186
    Reviewed-by: Caolán McNamara <caolan.mcnam...@collabora.com>
    Tested-by: Jenkins

diff --git a/external/libstaroffice/0001-const-up-these-arrays.patch.1 
b/external/libstaroffice/0001-const-up-these-arrays.patch.1
new file mode 100644
index 000000000000..5da9ce35c78e
--- /dev/null
+++ b/external/libstaroffice/0001-const-up-these-arrays.patch.1
@@ -0,0 +1,264 @@
+From 6fc47d83edee9e13e09a96b1e719c2bf8cadcb43 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolan.mcnam...@collabora.com>
+Date: Tue, 22 Jul 2025 19:54:24 +0100
+Subject: [PATCH] const up these arrays
+
+and move them out of the .data section
+---
+ src/lib/StarCellFormula.cxx        |  8 ++++----
+ src/lib/StarFileManager.cxx        |  2 +-
+ src/lib/StarFormatManager.cxx      |  2 +-
+ src/lib/StarItem.cxx               |  2 +-
+ src/lib/StarObject.cxx             |  6 +++---
+ src/lib/StarObjectChart.cxx        | 10 +++++-----
+ src/lib/StarObjectModel.cxx        |  2 +-
+ src/lib/StarObjectNumericRuler.cxx |  2 +-
+ src/lib/StarObjectSpreadsheet.cxx  |  8 ++++----
+ src/lib/libstaroffice_internal.cxx |  4 ++--
+ 10 files changed, 23 insertions(+), 23 deletions(-)
+
+diff --git a/src/lib/StarCellFormula.cxx b/src/lib/StarCellFormula.cxx
+index b994e13..a8e3bfc 100644
+--- a/src/lib/StarCellFormula.cxx
++++ b/src/lib/StarCellFormula.cxx
+@@ -216,7 +216,7 @@ bool Token::updateFunction()
+     instr.m_content=nOp==33 ? "and" : "or";
+   }
+   else if (nOp>=21 && nOp<=37) {
+-    static char const *wh[]=
++    static char const* const wh[]=
+     {"+", "-", "*", "/", "&", "^", "=", "<>", "<", ">", "<=", ">=", "OR", 
"AND", "!", "~", ":"};
+     m_content=StarCellFormulaInternal::Token::C_FunctionOperator;
+     m_longValue=2;
+@@ -238,7 +238,7 @@ bool Token::updateFunction()
+   }
+   // function no parameter
+   else if (nOp>=46 && nOp<=53) {  // 60 endNoPar
+-    static char const *wh[]= {
++    static char const* const wh[]= {
+       "Pi", "Random", "True", "False", "Today"/*getActDate*/, 
"Now"/*getActTime*/,
+       "NA", "Current"
+     };
+@@ -255,7 +255,7 @@ bool Token::updateFunction()
+   else if (nOp>=61 && nOp<=131) { // 200 endOnePar
+     m_content=StarCellFormulaInternal::Token::C_FunctionOperator;
+     m_longValue=1;
+-    static char const *wh[]= {
++    static char const* const wh[]= {
+       "Degrees", "Radians", "Sin", "Cos", "Tan", "Cot", "Asin", "Acos", 
"Atan", "ACot", // 70
+       "SinH", "CosH", "TanH", "CotH", "AsinH", "ACosH", "ATanH", "ACosH", // 
78
+       "Exp", "Ln", "Sqrt", "Fact", // 82
+@@ -273,7 +273,7 @@ bool Token::updateFunction()
+   // multiple
+   else if (nOp>=201 && nOp<=386) {
+     m_content=StarCellFormulaInternal::Token::C_FunctionOperator;
+-    static char const *wh[]= {
++    static char const* const wh[]= {
+       "Atan2", "Ceil", "Floor", "Round", "RoundUp", "RoundDown", "Trunc", 
"Log", // 208
+       "Power", "GCD", "LCM", "Mod", "SumProduct", "SumSQ", "SumX2MY2", 
"SumX2PY2", "SumXMY2", // 217
+       "Date", "Time", "Days", "Days360", "Min", "Max", "Sum", "Product", 
"Average", "Count", // 227
+diff --git a/src/lib/StarFileManager.cxx b/src/lib/StarFileManager.cxx
+index f0587a9..e9d9471 100644
+--- a/src/lib/StarFileManager.cxx
++++ b/src/lib/StarFileManager.cxx
+@@ -886,7 +886,7 @@ bool StarFileManager::readJobSetUp(StarZone &zone, bool 
useJobLen)
+         name+=ch;
+       }
+       if (!name.empty()) {
+-        static char const *wh[]= { "printerName", "deviceName", "portName", 
"driverName" };
++        static char const* const wh[]= { "printerName", "deviceName", 
"portName", "driverName" };
+         f << wh[i] << "=" << name << ",";
+       }
+       input->seek(actPos+length, librevenge::RVNG_SEEK_SET);
+diff --git a/src/lib/StarFormatManager.cxx b/src/lib/StarFormatManager.cxx
+index b92bc41..6211406 100644
+--- a/src/lib/StarFormatManager.cxx
++++ b/src/lib/StarFormatManager.cxx
+@@ -311,7 +311,7 @@ bool 
NumberFormatter::FormatItem::updateNumberingProperties(librevenge::RVNGProp
+     if (m_text.empty()) break;
+     auto fChar=int(m_text.cstr()[0]);
+     if (fChar>=32) {
+-      static int cCharWidths[ 128-32 ] = {
++      static const int cCharWidths[ 128-32 ] = {
+         1,1,1,2,2,3,2,1,1,1,1,2,1,1,1,1,
+         2,2,2,2,2,2,2,2,2,2,1,1,2,2,2,2,
+         3,2,2,2,2,2,2,3,2,1,2,2,2,3,3,3,
+diff --git a/src/lib/StarItem.cxx b/src/lib/StarItem.cxx
+index 1dda45e..a48f5a1 100644
+--- a/src/lib/StarItem.cxx
++++ b/src/lib/StarItem.cxx
+@@ -70,7 +70,7 @@ std::ostream &operator<<(std::ostream &o, StarItemStyle 
const &style)
+ {
+   for (int i=0; i<4; ++i) {
+     if (style.m_names[i].empty()) continue;
+-    static char const *wh[]= {"name","parent","follow","help"};
++    static char const* const wh[]= {"name","parent","follow","help"};
+     o << wh[i] << "=" << style.m_names[i].cstr() << ",";
+   }
+   switch (style.m_family&0xff) {
+diff --git a/src/lib/StarObject.cxx b/src/lib/StarObject.cxx
+index a915b79..3820686 100644
+--- a/src/lib/StarObject.cxx
++++ b/src/lib/StarObject.cxx
+@@ -533,7 +533,7 @@ bool 
StarObject::readSfxDocumentInformation(STOFFInputStreamPtr input, std::stri
+     f << "SfxDocInfo-A" << i << ":";
+     auto dSz=int(input->readULong(2));
+     int expectedSz= i < 3 ? 33 : i < 5 ? 65 : i==5 ? 257 : i==6 ? 129 : i<15 
? 21 : 2;
+-    static char const *wh[]= {
++    static char const* const wh[]= {
+       
"time[creation]","time[mod]","time[print]","title","subject","comment","keyword",
+       "user0[name]", "user0[data]","user1[name]", 
"user1[data]","user2[name]", "user2[data]","user3[name]", "user3[data]",
+       "template[name]", "template[filename]"
+@@ -559,7 +559,7 @@ bool 
StarObject::readSfxDocumentInformation(STOFFInputStreamPtr input, std::stri
+     if (StarEncoding::convert(string, encoding, finalString, srcPositions)) {
+       auto attrib=libstoff::getString(finalString);
+       f << attrib.cstr() << ",";
+-      static char const *attribNames[] = {
++      static char const* const attribNames[] = {
+         "meta:initial-creator", "dc:creator", "", "dc:title", "dc:subject", 
"dc:description"/*comment*/, "meta:keywords",
+         "", "user", "", "user", "", "user", "", "user",
+         "librevenge:template-name", "librevenge:template-filename"
+@@ -590,7 +590,7 @@ bool 
StarObject::readSfxDocumentInformation(STOFFInputStreamPtr input, std::stri
+       f << "date=" << date << ", time=" << time << ",";
+       std::string dateTime;
+       if (date && libstoff::convertToDateTime(date,time, dateTime)) {
+-        static char const *attribNames[]= { "meta:creation-date", "dc:date", 
"meta:print-date" };
++        static char const* const attribNames[]= { "meta:creation-date", 
"dc:date", "meta:print-date" };
+         m_metaData.insert(attribNames[i], dateTime.c_str());
+       }
+     }
+diff --git a/src/lib/StarObjectChart.cxx b/src/lib/StarObjectChart.cxx
+index 9af3f8f..e26f35b 100644
+--- a/src/lib/StarObjectChart.cxx
++++ b/src/lib/StarObjectChart.cxx
+@@ -496,7 +496,7 @@ bool StarObjectChart::readSCHAttributes(StarZone &zone)
+       zone.closeSCHHeader("SCHAttributes");
+       return true;
+     }
+-    static char const *wh[]= {"mainTitle", "subTitle", "xAxisTitle", 
"yAxisTitle", "zAxisTitle" };
++    static char const* const wh[]= {"mainTitle", "subTitle", "xAxisTitle", 
"yAxisTitle", "zAxisTitle" };
+     f << wh[i] << "=" << libstoff::getString(string).cstr();
+     if (bShow) f << ":show";
+     f << ",";
+@@ -506,7 +506,7 @@ bool StarObjectChart::readSCHAttributes(StarZone &zone)
+       bool bShow;
+       *input>>bShow;
+       if (!bShow) continue;
+-      static char const *wh[]= {"Axis", "GridMain", "GridHelp", "Descr"};
++      static char const* const wh[]= {"Axis", "GridMain", "GridHelp", 
"Descr"};
+       f << "show" << char('X'+i) << wh[j] << ",";
+     }
+   }
+@@ -772,7 +772,7 @@ bool StarObjectChart::readSCHAttributes(StarZone &zone)
+       for (int i=0; i<7; ++i) {
+         *input >> nInt16;
+         if (!nInt16) continue;
+-        static char const *wh[]= 
{"useRelPosForChartGroup","adjMargForLegend","adjMargForTitle","adjMargForSubTitle",
++        static char const* const wh[]= 
{"useRelPosForChartGroup","adjMargForLegend","adjMargForTitle","adjMargForSubTitle",
+                                   
"adjMargForXAxisTitle","adjMargForYAxisTitle","adjMargForZAxisTitle"
+                                  };
+         f << wh[i] << ",";
+@@ -797,7 +797,7 @@ bool StarObjectChart::readSCHAttributes(StarZone &zone)
+         bool hasMoved;
+         *input>>hasMoved;
+         if (!hasMoved) continue;
+-        static char const *wh[]= {"diagram", "title", "subTitle", "legend", 
"XAxis", "YAxis", "ZAxis"};
++        static char const* const wh[]= {"diagram", "title", "subTitle", 
"legend", "XAxis", "YAxis", "ZAxis"};
+         f << wh[i] << "HasMoved,";
+       }
+     }
+@@ -978,7 +978,7 @@ bool StarObjectChart::readSCHMemChart(StarZone &zone)
+     }
+     if (string.empty()) continue;
+     if (i<5) {
+-      static char const *wh[]= 
{"mainTitle","subTitle","xAxisTitle","yAxisTitle","zAxisTitle"};
++      static char const* const wh[]= 
{"mainTitle","subTitle","xAxisTitle","yAxisTitle","zAxisTitle"};
+       f << wh[i] << "=" << libstoff::getString(string).cstr() << ",";
+     }
+     else if (i<5+int(nCol))
+diff --git a/src/lib/StarObjectModel.cxx b/src/lib/StarObjectModel.cxx
+index 9d9c4f8..761b167 100644
+--- a/src/lib/StarObjectModel.cxx
++++ b/src/lib/StarObjectModel.cxx
+@@ -669,7 +669,7 @@ bool StarObjectModel::read(StarZone &zone)
+           break;
+         }
+         if (string.empty()) continue;
+-        static char const *wh[]= {"cTableName", "dashName", "lineEndName", 
"hashName", "gradientName", "bitmapName"};
++        static char const* const wh[]= {"cTableName", "dashName", 
"lineEndName", "hashName", "gradientName", "bitmapName"};
+         f << wh[i] << "=" << libstoff::getString(string).cstr() << ",";
+       }
+     }
+diff --git a/src/lib/StarObjectNumericRuler.cxx 
b/src/lib/StarObjectNumericRuler.cxx
+index 75a620b..48c91b0 100644
+--- a/src/lib/StarObjectNumericRuler.cxx
++++ b/src/lib/StarObjectNumericRuler.cxx
+@@ -233,7 +233,7 @@ bool StarObjectNumericRuler::readLevel(StarZone &zone, 
STOFFListLevel &level)
+       return true;
+     }
+     if (string.empty()) continue;
+-    static char const *wh[]= {"prefix", "postfix", "fontname", "fontstyle"};
++    static char const* const wh[]= {"prefix", "postfix", "fontname", 
"fontstyle"};
+     f << wh[i] << "=" << libstoff::getString(string).cstr() << ",";
+     if (i==0) 
level.m_propertyList.insert("style:num-prefix",libstoff::getString(string));
+     else if (i==1) 
level.m_propertyList.insert("style:num-suffix",libstoff::getString(string));
+diff --git a/src/lib/StarObjectSpreadsheet.cxx 
b/src/lib/StarObjectSpreadsheet.cxx
+index 4723f33..a8419a4 100644
+--- a/src/lib/StarObjectSpreadsheet.cxx
++++ b/src/lib/StarObjectSpreadsheet.cxx
+@@ -1172,7 +1172,7 @@ try
+                 break;
+               }
+               if (string.empty()) continue;
+-              static char const *wh[]= 
{"serviceName","source","name","user","pass"};
++              static char const* const wh[]= 
{"serviceName","source","name","user","pass"};
+               f << wh[j] << "=" << libstoff::getString(string).cstr() << ",";
+             }
+             break;
+@@ -1946,7 +1946,7 @@ bool StarObjectSpreadsheet::readSCTable(StarZone &zone, 
StarObjectSpreadsheetInt
+           break;
+         }
+         if (!string.empty()) {
+-          static char const *wh[]= {"name", "comment", "pass"};
++          static char const* const wh[]= {"name", "comment", "pass"};
+           f << wh[i] << "=" << libstoff::getString(string).cstr() << ",";
+           if (i==0 && !m_spreadsheetState->m_tableList.empty() && 
m_spreadsheetState->m_tableList.back())
+             
m_spreadsheetState->m_tableList.back()->m_name=libstoff::getString(string);
+@@ -2036,7 +2036,7 @@ bool StarObjectSpreadsheet::readSCTable(StarZone &zone, 
StarObjectSpreadsheetInt
+           break;
+         }
+         if (string.empty()) continue;
+-        static char const *wh[]= {"doc", "flt", "tab"};
++        static char const* const wh[]= {"doc", "flt", "tab"};
+         f << "link[" << wh[i] << "]=" << libstoff::getString(string).cstr() 
<< ",";
+       }
+       if (!ok) break;
+@@ -2121,7 +2121,7 @@ bool StarObjectSpreadsheet::readSCColumn(StarZone &zone, 
StarObjectSpreadsheetIn
+             break;
+           }
+           if (string.empty()) continue;
+-          static char const *wh[]= {"note","date","author"};
++          static char const* const wh[]= {"note","date","author"};
+           cell.m_notes[j]=libstoff::getString(string);
+           f << wh[j] << "=" << cell.m_notes[j].cstr()  << ",";
+         }
+diff --git a/src/lib/libstaroffice_internal.cxx 
b/src/lib/libstaroffice_internal.cxx
+index c23880a..0894c7a 100644
+--- a/src/lib/libstaroffice_internal.cxx
++++ b/src/lib/libstaroffice_internal.cxx
+@@ -164,10 +164,10 @@ std::string numberingValueToString(NumberingType type, 
int value)
+     return s;
+   case LOWERCASE_ROMAN:
+   case UPPERCASE_ROMAN: {
+-    static char const *romanS[] = {"M", "CM", "D", "CD", "C", "XC", "L",
++    static char const* const romanS[] = {"M", "CM", "D", "CD", "C", "XC", "L",
+                                    "XL", "X", "IX", "V", "IV", "I"
+                                   };
+-    static char const *romans[] = {"m", "cm", "d", "cd", "c", "xc", "l",
++    static char const* const romans[] = {"m", "cm", "d", "cd", "c", "xc", "l",
+                                    "xl", "x", "ix", "v", "iv", "i"
+                                   };
+     static int const romanV[] = {1000, 900, 500, 400,  100, 90, 50,
+-- 
+2.49.0
+
diff --git a/external/libstaroffice/UnpackedTarball_libstaroffice.mk 
b/external/libstaroffice/UnpackedTarball_libstaroffice.mk
index b7d8f4ee744d..d926c9901086 100644
--- a/external/libstaroffice/UnpackedTarball_libstaroffice.mk
+++ b/external/libstaroffice/UnpackedTarball_libstaroffice.mk
@@ -15,6 +15,14 @@ $(eval $(call 
gb_UnpackedTarball_set_patchlevel,libstaroffice,0))
 
 $(eval $(call gb_UnpackedTarball_update_autoconf_configs,libstaroffice))
 
+# 0001-const-up-these-arrays.patch.1
+# upstream attempt as:
+# https://github.com/fosnola/libstaroffice/pull/12
+
+$(eval $(call gb_UnpackedTarball_add_patches,libstaroffice, \
+    external/libstaroffice/0001-const-up-these-arrays.patch.1 \
+))
+
 ifneq ($(OS),MACOSX)
 ifneq ($(OS),WNT)
 $(eval $(call gb_UnpackedTarball_add_patches,libstaroffice, \
commit 4ed79daa9d4d2574c2a3343fe1c91a63e1ee0e03
Author:     Caolán McNamara <caolan.mcnam...@collabora.com>
AuthorDate: Tue Jul 22 13:40:12 2025 +0100
Commit:     Caolán McNamara <caolan.mcnam...@collabora.com>
CommitDate: Wed Jul 23 09:47:36 2025 +0200

    const up curl
    
    Change-Id: I57bcbab73ec258804b65367c38ed5843c2c05ac7
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/188184
    Tested-by: Jenkins
    Reviewed-by: Caolán McNamara <caolan.mcnam...@collabora.com>

diff --git a/external/curl/0001-const-up-readonly-H2_NON_FIELD.patch.1 
b/external/curl/0001-const-up-readonly-H2_NON_FIELD.patch.1
new file mode 100644
index 000000000000..6d7104bfea77
--- /dev/null
+++ b/external/curl/0001-const-up-readonly-H2_NON_FIELD.patch.1
@@ -0,0 +1,25 @@
+From df1f9619ac00091b309a479a166fe861f935779c Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolan.mcnam...@collabora.com>
+Date: Tue, 22 Jul 2025 14:48:26 +0100
+Subject: [PATCH] const up readonly H2_NON_FIELD
+
+---
+ lib/http.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/lib/http.c b/lib/http.c
+index e5a069627..9a844301f 100644
+--- a/lib/http.c
++++ b/lib/http.c
+@@ -4569,7 +4569,7 @@ struct name_const {
+ };
+ 
+ /* keep them sorted by length! */
+-static struct name_const H2_NON_FIELD[] = {
++static const struct name_const H2_NON_FIELD[] = {
+   { STRCONST("Host") },
+   { STRCONST("Upgrade") },
+   { STRCONST("Connection") },
+-- 
+2.49.0
+
diff --git a/external/curl/UnpackedTarball_curl.mk 
b/external/curl/UnpackedTarball_curl.mk
index 53b32969cb14..52861a50bed8 100644
--- a/external/curl/UnpackedTarball_curl.mk
+++ b/external/curl/UnpackedTarball_curl.mk
@@ -17,12 +17,17 @@ $(eval $(call gb_UnpackedTarball_fix_end_of_line,curl,\
        winbuild/MakefileBuild.vc \
 ))
 
+# 0001-const-up-readonly-H2_NON_FIELD.patch
+# upstream effort as:
+# https://github.com/curl/curl/pull/17996
+
 $(eval $(call gb_UnpackedTarball_add_patches,curl,\
        external/curl/curl-msvc.patch.1 \
        external/curl/curl-msvc-zlib.patch.1 \
        external/curl/curl-msvc-disable-protocols.patch.1 \
        external/curl/zlib.patch.0 \
        external/curl/configurable-z-option.patch.0 \
+       external/curl/0001-const-up-readonly-H2_NON_FIELD.patch.1 \
 ))
 
 ifeq ($(OS)-$(COM_IS_CLANG),WNT-TRUE)

Reply via email to