- fix build against our bundled ICU
- update external/pdfium/extractpatterns.patch to work after the
upstream commit fc790866bf26d977b2ea3a0c3938bb52895309ea (Consolidate
CFX_RenderDevice and remove CPDF_WindowsRenderDevice, 2026-06-29), which
folded CFX_DefaultRenderDevice into CFX_RenderDevice.
- update CppunitTest_vcl_pdfexport2: mostly likely needed after the
upstream commit 2f7a54a926a1b8e51aff9ac2aca5cccb29920aae (Partially
fix RTL character and line reading order in CPDF_TextPage, 2026-07-24)
- CppunitTest_vcl_pdfexport: same
Signed-off-by: Miklos Vajna <vmiklos@collabora.com>
Change-Id: I25612e6696a24588b9bf045e666047e6c2955d7c
Reviewed-on: https://gerrit.collaboraoffice.com/c/online/+/8557
Tested-by: Jenkins CPCI <releng@collaboraoffice.com>
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
(cherry picked from commit a7149002917e82ef07250d2e964537118294993a)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/210417
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
the update to nss 3.128 put the -DHAVE_PLATFORM_GHASH define behind a
check for the variable LITTLE_ENDIAN, but the makefile based system only
had a check for that added to the coreconf/Linux.mk file instead of e.g.
the UNIX.mk one that would also be included in the macOS makefile
(Darwin.mk)
So as a workaround specify it on the commandline - our configure already
tests for it, so we don't need a dedicated compile check or patch to the
nss bits.
Not having the define results in having duplicate methods in both gcm.o
as well as ghash-aarch64.o and the macOS linker fails:
duplicate symbol '_gcm_HashInit_hw' in:
/Users/cloph/build/workdir/UnpackedTarball/nss/nss/lib/freebl/out/Darwin_SINGLE_SHLIB/gcm.o
/Users/cloph/build/workdir/UnpackedTarball/nss/nss/lib/freebl/out/Darwin_SINGLE_SHLIB/ghash-aarch64.o
duplicate symbol '_platform_ghash_support' in:
/Users/cloph/build/workdir/UnpackedTarball/nss/nss/lib/freebl/out/Darwin_SINGLE_SHLIB/gcm.o
/Users/cloph/build/workdir/UnpackedTarball/nss/nss/lib/freebl/out/Darwin_SINGLE_SHLIB/ghash-aarch64.o
duplicate symbol '_gcm_HashZeroX_hw' in:
/Users/cloph/build/workdir/UnpackedTarball/nss/nss/lib/freebl/out/Darwin_SINGLE_SHLIB/gcm.o
/Users/cloph/build/workdir/UnpackedTarball/nss/nss/lib/freebl/out/Darwin_SINGLE_SHLIB/ghash-aarch64.o
duplicate symbol '_gcm_HashWrite_hw' in:
/Users/cloph/build/workdir/UnpackedTarball/nss/nss/lib/freebl/out/Darwin_SINGLE_SHLIB/gcm.o
/Users/cloph/build/workdir/UnpackedTarball/nss/nss/lib/freebl/out/Darwin_SINGLE_SHLIB/ghash-aarch64.o
duplicate symbol '_gcm_HashMult_hw' in:
/Users/cloph/build/workdir/UnpackedTarball/nss/nss/lib/freebl/out/Darwin_SINGLE_SHLIB/gcm.o
/Users/cloph/build/workdir/UnpackedTarball/nss/nss/lib/freebl/out/Darwin_SINGLE_SHLIB/ghash-aarch64.o
ld: 5 duplicate symbols
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Change-Id: Ic662115581aef7c2083f73079b2cff99b941ecd5
KillPython runs an inline CodeTaskFactory task that compiles a temporary
dll and loads it. Two parallel builds on one machine race over that dll,
and one build fails to find it:
pyproject.props(176,5): error MSB4175: The task factory "CodeTaskFactory"
could not be loaded from the assembly "...\Microsoft.Build.Tasks.Core.dll".
Could not find file '...\tmp\rmlsuizu\rmlsuizu.dll'.
KillPython only kills a stray python.exe that holds the output file open
across an incremental rebuild. A clean build has none to kill, so pass
/p:KillPython=false to override pythoncore.vcxproj and skip the target.
Signed-off-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Change-Id: Ic6cc3d51d4409bce6cc95137626debcab67dbc53
Reviewed-on: https://gerrit.collaboraoffice.com/c/online/+/10183
Tested-by: Jenkins CPCI <releng@collaboraoffice.com>
Reviewed-by: Noel Grandin <noel.grandin@collabora.com>
(cherry picked from commit a287185f62eaa49f03ab0b3b2e5d956221ef9997)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/210291
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Their subsets were embedded as simple TrueType fonts. Simple TrueType
fonts select glyphs through the cmap table of the subset font, and we
had to give the subset font a fake cmap table that mapped codes to glyph
ID sequentially. This was a gross hack.
Embedding them as CIDFontType2 instead lets the CMap and the CIDToGIDMap
do the mapping, as they now already for fonts with a CFF table. The cmap
table is not needed as all now.
PDFium grows the top of the glyph bounding box by a 64th for composite
fonts but not for simple ones, which makes many tests to now fail. We
now patch that out to keep both kinds of embedding measuring glyphs the
same.
Change-Id: I4d136b0e5d2c63afd56e25a81aec16364e570cca
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/208839
Reviewed-by: Khaled Hosny <khaled@libreoffice.org>
Tested-by: Jenkins
as seen e.g. at
> In file included from engine/cppuhelper/source/defaultbootstrap.cxx:27:
> In file included from engine/cppuhelper/source/servicemanager.hxx:35:
> In file included from engine/external/boost/include/boost/container/small_vector.hpp:31:
> In file included from engine/workdir/UnpackedTarball/boost/boost/container/small_vector.hpp:27:
> In file included from engine/workdir/UnpackedTarball/boost/boost/container/vector.hpp:61:
> In file included from engine/workdir/UnpackedTarball/boost/boost/move/algo/adaptive_merge.hpp:16:
> engine/workdir/UnpackedTarball/boost/boost/move/algo/detail/adaptive_sort_merge.hpp:261:17: error: unused function template 'needed_keys_count' [-Werror,-Wunused-template]
> 261 | static SizeType needed_keys_count(SizeType n_block_a, SizeType n_block_b)
> | ^~~~~~~~~~~~~~~~~
and
> In file included from engine/vcl/source/outdev/eps.cxx:22:
> In file included from engine/include/vcl/metaact.hxx:45:
> In file included from engine/workdir/UnpackedTarball/boost/boost/container/vector.hpp:61:
> In file included from engine/workdir/UnpackedTarball/boost/boost/move/algo/adaptive_merge.hpp:16:
> engine/workdir/UnpackedTarball/boost/boost/move/algo/detail/adaptive_sort_merge.hpp:261:17: error: unused function template 'needed_keys_count' [-Werror,-Wunused-template]
> 261 | static SizeType needed_keys_count(SizeType n_block_a, SizeType n_block_b)
> | ^~~~~~~~~~~~~~~~~
Signed-off-by: Stephan Bergmann <stephan.bergmann@collabora.com>
Change-Id: I1c81650c82df717317846769ea3ac016d9a14652
Reviewed-on: https://gerrit.collaboraoffice.com/c/online/+/7281
Reviewed-by: Noel Grandin <noel.grandin@collabora.com>
Tested-by: Jenkins CPCI <releng@collaboraoffice.com>
(cherry picked from commit fd3a8cc0417525806d45522fc6752c6678b2d433)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/208736
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Drop the exterals patches as VCL internals don’t support this anymore,
and drop the LOK addfont change as it wouldn’t work now. I don’t know if
LOK addfont has any use now, but I left it.
Change-Id: I2798679d0bb59bb6c2c6e0eae329287f36662223
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/208546
Reviewed-by: Khaled Hosny <khaled@libreoffice.org>
Tested-by: Jenkins
The FreeType/fontconfig font backend was spread over three directories
mostly for historical reasons. Lets clean this up and consolidate it
under one directory.
helper.cxx holds the psp path helpers, so it goes to print/ next to the
rest of the printing code.
Change-Id: I67d20e3e4bdf71d978a79e672bb31d3dd1460595
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/208522
Tested-by: Jenkins
Reviewed-by: Khaled Hosny <khaled@libreoffice.org>
The patch fails for Windows so I put it specifically for Linux.
Done with the advice from Chatgpt (GPT-5.5)
With Python 3.14.6 from Debian testing (updated 2026-07-18) and no python in autogen.input
Traceback (most recent call last):
File "/home/julien/lo/libreoffice/workdir/UnpackedTarball/fontconfig/fc-const/./fc-const.py", line 181, in <module>
main()
~~~~^^
File "/home/julien/lo/libreoffice/workdir/UnpackedTarball/fontconfig/fc-const/./fc-const.py", line 158, in main
type=argparse.FileType('w'),
~~~~~~~~~~~~~~~~~^^^^^
File "/usr/lib/python3.14/argparse.py", line 1368, in __init__
warnings.warn(
~~~~~~~~~~~~~^
"FileType is deprecated. Simply open files after parsing arguments.",
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
category=PendingDeprecationWarning,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
stacklevel=2
^^^^^^^^^^^^
)
^
PendingDeprecationWarning: FileType is deprecated. Simply open files after parsing arguments.
Traceback (most recent call last):
File "/home/julien/lo/libreoffice/workdir/UnpackedTarball/fontconfig/fc-genericfamily/./fc-genericfamily.py", line 189, in <module>
sys.exit(main())
~~~~^^
File "/home/julien/lo/libreoffice/workdir/UnpackedTarball/fontconfig/fc-genericfamily/./fc-genericfamily.py", line 156, in main
type=argparse.FileType("w", encoding="utf-8"),
~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.14/argparse.py", line 1368, in __init__
warnings.warn(
~~~~~~~~~~~~~^
"FileType is deprecated. Simply open files after parsing arguments.",
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
category=PendingDeprecationWarning,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
stacklevel=2
^^^^^^^^^^^^
)
^
Change-Id: I5a9e319562642c94b81076a33433a29ace32f400
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/208245
Tested-by: Julien Nabet <serval2412@yahoo.fr>
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
a handful of other libs like curl, the mariadb-, ldap-, postgresqel
connector and python depend on it and are in turn not reproducible if
openssl differs
Python has code generators that result in differences unless the var is set
Change-Id: I6fe61a41802442821092182b418c4cd073fa18bf
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/207290
Tested-by: Jenkins
Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
unfortunately ant as deployed on the baseline has a bug and expects
SOURCE_DATE_EPOCH to be in milliseconds, and if set in an environment
variable would also override the ant.tstamp.now property even when
explicitly provided at the commandline, so to avoid bogus timestamps
unset it if it was exported in the environment (default build doesn't
export it, but the user may export it to override or provide a value
e.g. when not building from source.
for ant.tstamp.now to work for setting the tstamp value, ant 1.10.2 or
later is required
Change-Id: I2dd53cb99281f46d58a8db35baf71627ed5422f1
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/207246
Tested-by: Jenkins
Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
The Lpsolve solver and the CoinMP solver are both used for the same
thing: a linear model, with optional integer variables by branch
and bound. CoinMP (CLP plus CBC) is the more capable and better
maintained of the two, so the lp_solve one adds a second bundled
dependency and a parallel copy of the solver code for no capability
the other lacks.
Remove the LpsolveSolver component, the bundled lp_solve external
(and its colamd dependency, which only lp_solve used), and all the
build, configure, packaging and license references to them.
A document may still name com.sun.star.comp.Calc.LpsolveSolver as
its engine. SolverSettings now reads that name as the CoinMP
solver, which solves the same model, so such documents keep
working.
The Calc solver test that exercised the engine now uses CoinMP. Its
knapsack model has a single optimal total value of 6987, which fills
the weight capacity of 1000 exactly and which CoinMP finds. The
lp_solve run had returned a suboptimal 6981, so the test now expects
the true optimum.
The build setup changes only take effect after re-running autogen.
Signed-off-by: Tomaž Vajngerl <tomaz.vajngerl@collabora.co.uk>
Change-Id: Ia14d8c491779873da6b0157aa524056275adf8f5
Reviewed-on: https://gerrit.collaboraoffice.com/c/online/+/3810
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Tested-by: Jenkins CPCI <releng@collaboraoffice.com>
(cherry picked from commit e77738a7ca7d44fd9d1f852e26d46e3a6d60467b)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/208038
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Patch libepubgen so cover image has "cover" in its name and not "image"
+ add meta info
Adapt qa tests.
Change-Id: I0177113b113050252aac5bc2e1b5efc0a3ed2613
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/207575
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
Tested-by: Jenkins