Commit Graph
4127 Commits
Author SHA1 Message Date
Stephan Bergmann 0a654a90d2 external/harfbuzz: Silence new Clang 24 trunk -Werror,-Wunused-template
> In file included from ../src/hb-number.cc:26:
> In file included from ../src/hb.hh:560:
> ../src/hb-meta.hh:131:3: error: unused function template 'operator()' [-Werror,-Wunused-template]
>   131 |   operator () (T&& v) const HB_AUTO_RETURN (std::forward<T> (v))
>       |   ^~~~~~~~

etc.

Signed-off-by: Stephan Bergmann <stephan.bergmann@collabora.com>
Change-Id: I69284c010e4970db55ecb6e1507186648b8b5271
Reviewed-on: https://gerrit.collaboraoffice.com/c/online/+/7282
Tested-by: Jenkins CPCI <releng@collaboraoffice.com>
Reviewed-by: Noel Grandin <noel.grandin@collabora.com>
(cherry picked from commit 6b03159992ce09f1b63a799ca99476c048758054)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/208278
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2026-07-21 00:09:33 +02:00
Julien Nabet b76fe8a06f Fix unknown type name locale_t on mac ARM64 TB (take 2)
In file included from fcarch.c:24:
./fcint.h:678:9: error: unknown type name 'locale_t'
typedef locale_t FcLocale;
        ^
./fcint.h:680:19: error: use of undeclared identifier 'LC_CTYPE_MASK'
    FC_LC_CTYPE = LC_CTYPE_MASK,
                  ^
./fcint.h:681:21: error: use of undeclared identifier 'LC_NUMERIC_MASK'
    FC_LC_NUMERIC = LC_NUMERIC_MASK,
                    ^
./fcint.h:682:18: error: use of undeclared identifier 'LC_TIME_MASK'
    FC_LC_TIME = LC_TIME_MASK,
                 ^
./fcint.h:683:21: error: use of undeclared identifier 'LC_COLLATE_MASK'
    FC_LC_COLLATE = LC_COLLATE_MASK,
                    ^
./fcint.h:684:22: error: use of undeclared identifier 'LC_MONETARY_MASK'
    FC_LC_MONETARY = LC_MONETARY_MASK,
                     ^
./fcint.h:685:22: error: use of undeclared identifier 'LC_MESSAGES_MASK'
    FC_LC_MESSAGES = LC_MESSAGES_MASK,
                     ^
./fcint.h:689:19: error: use of undeclared identifier 'LC_ALL_MASK'
    FC_LC_PAPER = LC_ALL_MASK,
                  ^
./fcint.h:694:18: error: use of undeclared identifier 'LC_ALL_MASK'
    FC_LC_NAME = LC_ALL_MASK,
                 ^
./fcint.h:699:21: error: use of undeclared identifier 'LC_ALL_MASK'
    FC_LC_ADDRESS = LC_ALL_MASK,
                    ^
./fcint.h:704:23: error: use of undeclared identifier 'LC_ALL_MASK'
    FC_LC_TELEPHONE = LC_ALL_MASK,
                      ^
./fcint.h:709:25: error: use of undeclared identifier 'LC_ALL_MASK'
    FC_LC_MEASUREMENT = LC_ALL_MASK,
                        ^
./fcint.h:714:28: error: use of undeclared identifier 'LC_ALL_MASK'
    FC_LC_IDENTIFICATION = LC_ALL_MASK,
                           ^
./fcint.h:716:17: error: use of undeclared identifier 'LC_ALL_MASK'
    FC_LC_ALL = LC_ALL_MASK,
                ^
14 errors generated.

I copied pasted the ifdef from src/fcstr.c

Change-Id: I82eb9382ab317af91da7ddd1432a974829458b93
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/208262
Tested-by: Jenkins
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2026-07-19 21:31:49 +02:00
Julien Nabet 0ebcec3593 Revert "Fix unknown type name 'locale_t' on mac ARM64 TB"
This reverts commit ad3deca43f.

Reason for revert: I had wrongly "ifeq ($(OS),MACOSX)" instead of "ifneq ($(OS),MACOSX)"

Change-Id: If839b5dfe55349d9b0fee0b07cea3c3d5e9292ad
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/208261
Tested-by: Julien Nabet <serval2412@yahoo.fr>
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2026-07-19 20:13:01 +02:00
Julien Nabet ad3deca43f Fix unknown type name 'locale_t' on mac ARM64 TB
In file included from fcarch.c:24:
./fcint.h:678:9: error: unknown type name 'locale_t'
typedef locale_t FcLocale;
        ^
./fcint.h:680:19: error: use of undeclared identifier 'LC_CTYPE_MASK'
    FC_LC_CTYPE = LC_CTYPE_MASK,
                  ^
./fcint.h:681:21: error: use of undeclared identifier 'LC_NUMERIC_MASK'
    FC_LC_NUMERIC = LC_NUMERIC_MASK,
                    ^
./fcint.h:682:18: error: use of undeclared identifier 'LC_TIME_MASK'
    FC_LC_TIME = LC_TIME_MASK,
                 ^
./fcint.h:683:21: error: use of undeclared identifier 'LC_COLLATE_MASK'
    FC_LC_COLLATE = LC_COLLATE_MASK,
                    ^
./fcint.h:684:22: error: use of undeclared identifier 'LC_MONETARY_MASK'
    FC_LC_MONETARY = LC_MONETARY_MASK,
                     ^
./fcint.h:685:22: error: use of undeclared identifier 'LC_MESSAGES_MASK'
    FC_LC_MESSAGES = LC_MESSAGES_MASK,
                     ^
./fcint.h:689:19: error: use of undeclared identifier 'LC_ALL_MASK'
    FC_LC_PAPER = LC_ALL_MASK,
                  ^
./fcint.h:694:18: error: use of undeclared identifier 'LC_ALL_MASK'
    FC_LC_NAME = LC_ALL_MASK,
                 ^
./fcint.h:699:21: error: use of undeclared identifier 'LC_ALL_MASK'
    FC_LC_ADDRESS = LC_ALL_MASK,
                    ^
./fcint.h:704:23: error: use of undeclared identifier 'LC_ALL_MASK'
    FC_LC_TELEPHONE = LC_ALL_MASK,
                      ^
./fcint.h:709:25: error: use of undeclared identifier 'LC_ALL_MASK'
    FC_LC_MEASUREMENT = LC_ALL_MASK,
                        ^
./fcint.h:714:28: error: use of undeclared identifier 'LC_ALL_MASK'
    FC_LC_IDENTIFICATION = LC_ALL_MASK,
                           ^
./fcint.h:716:17: error: use of undeclared identifier 'LC_ALL_MASK'
    FC_LC_ALL = LC_ALL_MASK,
                ^
14 errors generated.

I copied pasted the ifdef from src/fcstr.c

Change-Id: Ied864b90a735716e39f2eb5f4e8f594fd909f9ec
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/208258
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
Tested-by: Jenkins
2026-07-19 18:46:23 +02:00
Julien Nabet edc78d10a9 Fix deprecation in fontconfig (Linux only)
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>
2026-07-19 11:04:43 +02:00
Christian Lohmaier 0b3bd1d79f export SOURCE_DATE_EPOCH for openssl and python3
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>
2026-07-14 15:15:11 +02:00
Christian Lohmaier 23a4062410 use SOURCE_DATE_EPOCH for ant based projects
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>
2026-07-14 15:14:56 +02:00
Christian Lohmaier 65297c52ac use SOURCE_DATE_EPOCH for jars created by gbuild
the date option requires OpenJDK 17.0.3 or Oracle JDK 17.0.6 or newer
(see https://bugs.openjdk.org/browse/JDK-8276766 )

furthermore using long switches don't work with the shorthand notation
of the options, so use dedicated/separate -c -f & other options

Change-Id: I37e458f0e250be24a035cd72abf9a201ced0c46f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/207245
Tested-by: Jenkins
Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
2026-07-14 15:14:49 +02:00
Tomaž Vajngerl bfc9cfdecf Remove the lp_solve solver, which CoinMP makes redundant
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>
2026-07-14 12:49:42 +02:00
Caolán McNamara 736210ff4c firebird: don't attach a database that is not in the normal backup state
A database we extract from a .odb is always in the normal backup state,
so refuse one that is not, we're not interested in the difference file
mode case.

firebird upstream attempt as:
https://github.com/FirebirdSQL/firebird/pull/9089

And do it manually for the system-firebird case.

Change-Id: Iff9ebbb075379ca47a7f7f5886b693ac23860566
Signed-off-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Reviewed-on: https://gerrit.collaboraoffice.com/c/core/+/6702
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Tested-by: Jenkins CPCI <releng@collaboraoffice.com>
(cherry picked from commit e7ea381e87cadaf31bf1ad2213a23f17a6284d1c)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/208040
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Tested-by: Xisco Fauli <xiscofauli@libreoffice.org>
2026-07-14 10:29:25 +02:00
Caolán McNamara 427178ee5c upgrade to libstaroffice-0.0.8.tar.xz
Signed-off-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Change-Id: If15e225516d3435bb3274e1772345759a1d2430d
Reviewed-on: https://gerrit.collaboraoffice.com/c/online/+/6691
Tested-by: Jenkins CPCI <releng@collaboraoffice.com>
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
(cherry picked from commit de87637a86d4d97f4346ce125cf766343c6da152)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/208019
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2026-07-13 17:24:31 +02:00
Xisco Fauli 58feaf1941 fontconfig: upgrade to 2.18.2
call 'make fc-genericfamily' to generate fcgenericfamily.h

Downloaded from https://gitlab.freedesktop.org/api/v4/projects/890/packages/generic/fontconfig/2.18.2/fontconfig-2.18.2.tar.xz

Change-Id: I5afad5e5d876f0fb9c2dbab8ba7fda20ac15505a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/207903
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2026-07-10 14:14:20 +02:00
Xisco Fauli 141ada3727 zxing-cpp: upgrade to 3.1.0
The removed patches have been fixed upstream

Downloaded from https://github.com/zxing-cpp/zxing-cpp/releases/download/v3.1.0/zxing-cpp-3.1.0.tar.gz

Change-Id: I8ae75d7f3f2aadb9b5ec48dc2c19f77dc02ac701
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/207775
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Tested-by: Jenkins
2026-07-08 23:46:12 +02:00
Xisco Fauli 239f0ec982 libtiff: drop obsolete patch
it has been fixed upstream

Change-Id: I7a23ae5271653db026c479a7f3771ca06e2f4425
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/207669
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Tested-by: Jenkins
2026-07-07 12:12:22 +02:00
Caolán McNamara f4bbd5bb5f upgrade to latest librevenge
drop merged-upstream patches

Signed-off-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Change-Id: I93ae57ad8fefda3650be53d184c7c16e267054b7
Reviewed-on: https://gerrit.collaboraoffice.com/c/online/+/6167
Reviewed-by: Michael Stahl <michael.stahl@collabora.com>
Tested-by: Jenkins CPCI <releng@collaboraoffice.com>
(cherry picked from commit c70d101f0fe49b2499060ba0686d8b74cb452977)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/207685
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Tested-by: Jenkins
2026-07-06 20:58:04 +02:00
Xisco Fauli 0a081d94c8 expat: simplify a bit
Change-Id: I7f09a1e5cfd2cc3c534c26b931aef64472af58b7
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/207662
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2026-07-06 20:57:50 +02:00
Julien Nabet 28711b69f5 tdf#119539: try to improve cover image info in epub for epub readers
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
2026-07-06 12:06:14 +02:00
Xisco Fauli fb7b3065be libtiff: upgrade to 4.7.2
0001-TIFFReadRGBAImage-prevent-integer-overflow-and-later.patch
has been fixed upstream

Downloaded from https://download.osgeo.org/libtiff/tiff-4.7.2.tar.xz

Change-Id: I4478bb99ad7935815649054868ecf90b306dc1b7
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/207612
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2026-07-04 18:23:24 +02:00
Xisco Fauli 7aa439a963 Drop --with-docrepair-fonts
it was relevant to Collabora Office only

it reverts
commit 958cabd2e9
Author: Andras Timar <andras.timar@collabora.com>
Date:   Sat Jun 29 23:18:25 2024 +0200

    Bundle fonts of Google's DocRepair Project

and

commit cd8ad433f0
Author: Caolán McNamara <caolan.mcnamara@collabora.com>
Date:   Fri Aug 23 22:13:34 2024 +0100

    tdf#161941 add --with-docrepair-fonts option

Change-Id: I7b30bdf1676dfa9ccf70610f5f8e594136ca2b0f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/207534
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2026-07-02 14:37:00 +02:00
Xisco Fauli 50b7e289f5 expat: upgrade to 2.8.2
Downloaded from https://github.com/libexpat/libexpat/releases/download/R_2_8_2/expat-2.8.2.tar.xz

With this upgrade, building expat started to fail with

error: #error You do not have support for any sources of high quality entropy enabled. For end user security, that is probably not what you want. Your options include: * Linux >=3.17 + glibc >=2.25 (getrandom): HAVE_GETRANDOM, * Linux >=3.17 + glibc (including <2.25) (syscall SYS_getrandom): HAVE_SYSCALL_GETRANDOM, * BSD / macOS >=10.7 / glibc >=2.36 (arc4random_buf): HAVE_ARC4RANDOM_BUF, * BSD / macOS (including <10.7) / glibc >=2.36 (arc4random): HAVE_ARC4RANDOM, * BSD / macOS >=10.12 / glibc >=2.25 (getentropy): HAVE_GETENTROPY, * Linux (including <3.17) / BSD / macOS (including <10.7) / Solaris >=8 (/dev/urandom): XML_DEV_URANDOM, * Windows >=Vista (rand_s): _WIN32. If you insist on not using any of these, bypass this error by defining XML_POOR_ENTROPY and be vulnerable to hash flooding; you have been warned. If you have reasons to patch this detection code away or need changes to the build system, please open a bug. Thank you!
  154 | #  error You do not have support for any sources of high quality entropy \

so use the different entropies available in each OS

Change-Id: I95cc761c17b61f8d1684d3af482a3e296025e22c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/207318
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Tested-by: Jenkins
2026-07-01 11:25:57 +02:00
Stephan Bergmann d862077a2e external/afdko: Fix some errors
...hitting at least with recent Clang 23 trunk and --with-latest-c++,

> engine/workdir/UnpackedTarball/afdko/c/shared/absfont/absfont_dump.cpp:555:19: error: invalid comparison of floating-point type 'float' with enumeration type '(unnamed enum at
engine/workdir/UnpackedTarball/afdko/c/shared/include/absfont.h:541:1)'
>   555 |         if (width == ABF_EDGE_HINT_LO) {
>       |             ~~~~~ ^  ~~~~~~~~~~~~~~~~

etc. and

> .../include/c++/17.0.0/bits/unique_ptr.h:90:16: error: invalid application of 'sizeof' to an incomplete type 'VarModel'
>    90 |         static_assert(sizeof(_Tp)>0,
>       |                       ^~~~~~~~~~~
> [...]
> engine/workdir/UnpackedTarball/afdko/c/shared/include/varsupport.h:466:5: note: in defaulted default constructor for 'std::vector<std::unique_ptr<VarModel>>' first required here
>   466 |     itemVariationStore() {}
>       |     ^
> engine/workdir/UnpackedTarball/afdko/c/shared/include/varsupport.h:424:7: note: forward declaration of 'VarModel'
>   424 | class VarModel;

presumably new with 6c40019917bd6e88f6b54d0a2d53d64729c64166 "afdko:
upgrade to 5.0.1"

Signed-off-by: Stephan Bergmann <stephan.bergmann@collabora.com>
Change-Id: I7f7de8233fcd9a2447d0080af3ff14b0bdf69a10
Reviewed-on: https://gerrit.collaboraoffice.com/c/online/+/4879
Reviewed-by: Michael Stahl <michael.stahl@collabora.com>
Tested-by: Jenkins CPCI <releng@collaboraoffice.com>
(cherry picked from commit 7bc7ade726e4d50c1589247123e8104783a5e604)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/207287
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Tested-by: Jenkins
2026-06-26 11:17:07 +02:00
Stephan Bergmann a3a4e2b88b external/afdko: Fix references to temporaries
> engine/workdir/UnpackedTarball/afdko/c/addfeatures/hotconv/FeatCtx.cpp: In member function ‘const GPat::ClassRec& FeatCtx::lookupGlyphClass(const std::string&)’:
> engine/workdir/UnpackedTarball/afdko/c/addfeatures/hotconv/FeatCtx.cpp:494:22: error: returning reference to temporary [-Wreturn-local-addr]
>   494 |         return GPat::ClassRec {};
>       |                      ^~~~~~~~~~~

and

> engine/workdir/UnpackedTarball/afdko/c/addfeatures/hotconv/GPOS.cpp: In member function ‘GPat::ClassRec& GPOS::getCR(uint32_t, int)’:
> engine/workdir/UnpackedTarball/afdko/c/addfeatures/hotconv/GPOS.cpp:1002:12: error: cannot bind non-const lvalue reference of type ‘GPat::ClassRec&’ to an rvalue of type ‘GPat::ClassRec’
>  1002 |     return cr;
>       |            ^~

presumably new with 6c40019917bd6e88f6b54d0a2d53d64729c64166 "afdko:
upgrade to
5.0.1"

Signed-off-by: Stephan Bergmann <stephan.bergmann@collabora.com>
Change-Id: Id8d7f8c924fd270631b6d9a0c97f39a4f8826c74
Reviewed-on: https://gerrit.collaboraoffice.com/c/online/+/4837
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Tested-by: Jenkins CPCI <releng@collaboraoffice.com>
(cherry picked from commit 95050b2a21d0625d97024cc041bd3dd9837ca190)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/207286
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2026-06-26 11:16:57 +02:00
Xisco Fauli e7c0aca49e afdko: fix android build
Otherwise it fails with
/home/tdf/lode/jenkins/workspace/android_arm/workdir/UnpackedTarball/afdko/c/shared/sha1.c:10:27: error: typedef redefinition with different types ('unsigned long' vs '__uint32_t' (aka 'unsigned int'))
   10 | typedef unsigned long int uint32_t;
      |                           ^
/home/tdf/Android/Sdk/ndk/27.2.12479018/toolchains/llvm/prebuilt/linux-x86_64/bin/../sysroot/usr/include/stdint.h:65:23: note: previous definition is here
   65 | typedef __uint32_t    uint32_t;
      |                       ^
1 error generated.

Change-Id: I0fa7ebbce3dc0f443f6a576e9e2d11d80e375336
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/207325
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2026-06-26 09:18:21 +02:00
Caolán McNamara dce3608001 afdko: upgrade to 5.0.1
txNew, txFree and doSingleFileSet are public now, so the extern_tx
patches go away.

The mergeFonts crash fix is merged upstream.

The noverbose patch is replaced by a SAL logger installed through
slogger::getLogger.

A new fatal-callback patch lets fatal errors raise exceptions, which
appSpecificFree used to do.

afdko 5.0 replaces makeotfexe with addfeatures, drops the typecomp
Type 1 to CFF converter, and rewrites most of c/shared in C++.

hotconv now only reads CFF, so makeotf() first converts its Type 1 input
to bare CFF with tx, the same step the upstream makeotf driver script
performs.

Signed-off-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Change-Id: I1e5b6ac8413eb66d81034f4f1d0b7f2e46e12233
Reviewed-on: https://gerrit.collaboraoffice.com/c/online/+/4251
Tested-by: Jenkins CPCI <releng@collaboraoffice.com>
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
(cherry picked from commit 6c40019917bd6e88f6b54d0a2d53d64729c64166)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/207285
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Tested-by: Xisco Fauli <xiscofauli@libreoffice.org>
2026-06-26 09:17:58 +02:00
Xisco Fauli 57d226bd21 curl: upgrade to 8.21.0
Downloaded from https://curl.se/download/curl-8.21.0.tar.xz

Change-Id: Idbf678a0e00e2c7a802dbaad8439ec24b253ef57
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/207281
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Tested-by: Jenkins
2026-06-25 14:22:54 +02:00
Stephan Bergmann a3550ef87f Add support for C++29 to --with-latest-c++
...now that at least GCC 17 trunk supports it since
<https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=0c5c6249a2e9a75d2e7d1c6c434487c8dc077130>
"c++, libcpp: Add -std=c++2[9d] and -std=gnu++2[9d] options".  (But we need two
TODOs until Clang and Meson support it, too.)

Signed-off-by: Stephan Bergmann <stephan.bergmann@collabora.com>
Change-Id: Idff90c0a9068072cdc60c1cf88998bbb39ef54b4
Reviewed-on: https://gerrit.collaboraoffice.com/c/online/+/4973
Tested-by: Jenkins CPCI <releng@collaboraoffice.com>
Reviewed-by: Michael Stahl <michael.stahl@collabora.com>
(cherry picked from commit a015d0798cf846d10b712ac80451ba9678ff61d8)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/207166
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Tested-by: Jenkins
2026-06-23 14:58:50 +02:00
Stephan Bergmann da446e66eb Pass --enable-debug into external/cppunittest
Signed-off-by: Stephan Bergmann <stephan.bergmann@collabora.com>
Change-Id: I531f4e7cdb461dd40be0d06e88ffa9c677820446
Reviewed-on: https://gerrit.collaboraoffice.com/c/online/+/4813
Reviewed-by: Michael Stahl <michael.stahl@collabora.com>
Tested-by: Jenkins CPCI <releng@collaboraoffice.com>
(cherry picked from commit d44f929cb922ca9e2e6c2503429ca4587255a325)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/207170
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2026-06-23 13:44:17 +02:00
Xisco Fauli 7afbaf17a3 skia: upgrade to m148
Change-Id: I4e17f3a36bd384e1ec8f15b6b9c80bb345f7fe32
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/207005
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2026-06-19 16:57:04 +02:00
Miklos Vajna 619b0b8339 pdfium: update to 7795
Upstream now has a theoretical build config where the rendering is
handled via skia and not agg; use -DPDF_USE_AGG to keep things
unchanged.

Also it now depends on harfbuzz, use our harfbuzz instead of the bundled
one.

This reverts the:
- vcl/qa/cppunit/VectorGraphicSearchTest.cxx
- vcl/qa/cppunit/PDFiumLibraryTest.cxx
- sw/qa/extras/uiwriter/uiwriter11.cxx
- sc/qa/extras/scpdfexport.cxx
- sd/qa/unit/export-tests.cxx
parts of commit 4731284939ce286316738d1fced7f16e9b91028b (pdfium: update
to 7691, 2026-02-19), since they are not necessary, probably after
pdfium.git commit 4a298961558e1e54fde965d133d61f90df2431bc (Revert
"Reland "Remove character width check from cpdf_textpage.cpp"",
2026-03-10).

Change-Id: I9c62dc5251aa91a1178c32ca9e5f440269b6071f
Reviewed-on: https://gerrit.collaboraoffice.com/c/core/+/1131
Tested-by: Jenkins CPCI <releng@collaboraoffice.com>
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Reviewed-on: https://gerrit.collaboraoffice.com/c/online/+/1173
Reviewed-by: Andras Timar <andras.timar@collabora.com>
(cherry picked from commit 06d0ffcd63f1cb3133a7920e116bd5a88f6cc714)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/207006
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2026-06-19 16:47:18 +02:00
Stephan Bergmann 6bc9e31108 external/coinmp: Various UBSan issues
...as seen during CppunitTest_sc_solverobj,

> CglPreProcess.cpp:6432:21: runtime error: null pointer passed as argument 2, which is declared to never be null
> /usr/include/string.h:48:28: note: nonnull attribute specified here
>  #0 in CglPreProcess::addCutGenerator(CglCutGenerator*) at <null> (engine/instdir/program/libCgl.so.1 +0x2e858a)
>  #1 in CbcMain1(int, char const**, CbcModel&, int (*)(CbcModel*, int), CbcSolverUsefulData&) at <null> (engine/instdir/program/libCbcSolver.so.3 +0x1dd308)
>  #2 in CbcSolveProblem(void*, PROBLEMINFO*, OPTIONINFO*, int) at <null> (engine/instdir/program/libCoinMP.so.1 +0x2c880)
>  #3 in CbcOptimizeProblem at <null> (engine/instdir/program/libCoinMP.so.1 +0x2fdeb)
>  #4 in (anonymous namespace)::CoinMPSolver::solve() at engine/sc/source/solver/CoinMPSolver.cxx:325:23
>  #5 in ScSolverSettings::solve() at engine/sc/source/ui/unoobj/solveruno.cxx:902:14
>  #6 in sc_apitest::ScSolverSettingsObj::testXSolverSettings() at engine/sc/qa/extras/scsolverobj.cxx:121:19

and

> CbcModel.cpp:11504:39: runtime error: null pointer passed as argument 2, which is declared to never be null
> /usr/include/string.h:48:28: note: nonnull attribute specified here
>  #0 in CbcModel::findIntegers(bool, int) at <null> (engine/instdir/program/libCbc.so.3 +0x2e0857)
>  #1 in CbcMain1(int, char const**, CbcModel&, int (*)(CbcModel*, int), CbcSolverUsefulData&) at <null> (engine/instdir/program/libCbcSolver.so.3 +0x1dd7f3)
>  #2 in CbcSolveProblem(void*, PROBLEMINFO*, OPTIONINFO*, int) at <null> (engine/instdir/program/libCoinMP.so.1 +0x2c880)
>  #3 in CbcOptimizeProblem at <null> (engine/instdir/program/libCoinMP.so.1 +0x2fdeb)
>  #4 in (anonymous namespace)::CoinMPSolver::solve() at engine/sc/source/solver/CoinMPSolver.cxx:325:23
>  #5 in ScSolverSettings::solve() at engine/sc/source/ui/unoobj/solveruno.cxx:902:14
>  #6 in sc_apitest::ScSolverSettingsObj::testXSolverSettings() at engine/sc/qa/extras/scsolverobj.cxx:121:19

and

> CglPreProcess.cpp:1721:36: runtime error: 1.79769e+308 is outside the range of representable values of type 'int'
>  #0 in CglPreProcess::preProcessNonDefault(OsiSolverInterface&, int, int, int) at <null> (engine/instdir/program/libCgl.so.1 +0x2f71a6)
>  #1 in CbcMain1(int, char const**, CbcModel&, int (*)(CbcModel*, int), CbcSolverUsefulData&) at <null> (engine/instdir/program/libCbcSolver.so.3 +0x1e4777)
>  #2 in CbcSolveProblem(void*, PROBLEMINFO*, OPTIONINFO*, int) at <null> (engine/instdir/program/libCoinMP.so.1 +0x2c880)
>  #3 in CbcOptimizeProblem at <null> (engine/instdir/program/libCoinMP.so.1 +0x2fdeb)
>  #4 in (anonymous namespace)::CoinMPSolver::solve() at engine/sc/source/solver/CoinMPSolver.cxx:325:23
>  #5 in ScSolverSettings::solve() at engine/sc/source/ui/unoobj/solveruno.cxx:902:14
>  #6 in sc_apitest::ScSolverSettingsObj::testXSolverSettings() at engine/sc/qa/extras/scsolverobj.cxx:121:19

and

> CglPreProcess.cpp:1722:36: runtime error: -1.79769e+308 is outside the range of representable values of type 'int'
>  #0 in CglPreProcess::preProcessNonDefault(OsiSolverInterface&, int, int, int) at <null> (engine/instdir/program/libCgl.so.1 +0x2f71d1)
>  #1 in CbcMain1(int, char const**, CbcModel&, int (*)(CbcModel*, int), CbcSolverUsefulData&) at <null> (engine/instdir/program/libCbcSolver.so.3 +0x1e4777)
>  #2 in CbcSolveProblem(void*, PROBLEMINFO*, OPTIONINFO*, int) at <null> (engine/instdir/program/libCoinMP.so.1 +0x2c880)
>  #3 in CbcOptimizeProblem at <null> (engine/instdir/program/libCoinMP.so.1 +0x2fdeb)
>  #4 in (anonymous namespace)::CoinMPSolver::solve() at engine/sc/source/solver/CoinMPSolver.cxx:325:23
>  #5 in ScSolverSettings::solve() at engine/sc/source/ui/unoobj/solveruno.cxx:902:14
>  #6 in sc_apitest::ScSolverSettingsObj::testXSolverSettings() at engine/sc/qa/extras/scsolverobj.cxx:121:19

and

> CbcModel.cpp:7134:24: runtime error: null pointer passed as argument 2, which is declared to never be null
> /usr/include/string.h:48:28: note: nonnull attribute specified here
>  #0 in CbcModel::addHeuristic(CbcHeuristic*, char const*, int) at <null> (engine/instdir/program/libCbc.so.3 +0x3e315b)
>  #1 in doHeuristics(CbcModel*, int, CbcOrClpParam*, int, int, int) at <null> (engine/instdir/program/libCbcSolver.so.3 +0x2ac48e)
>  #2 in CbcMain1(int, char const**, CbcModel&, int (*)(CbcModel*, int), CbcSolverUsefulData&) at <null> (engine/instdir/program/libCbcSolver.so.3 +0x1d8334)
>  #3 in CbcSolveProblem(void*, PROBLEMINFO*, OPTIONINFO*, int) at <null> (engine/instdir/program/libCoinMP.so.1 +0x2c880)
>  #4 in CbcOptimizeProblem at <null> (engine/instdir/program/libCoinMP.so.1 +0x2fdeb)
>  #5 in (anonymous namespace)::CoinMPSolver::solve() at engine/sc/source/solver/CoinMPSolver.cxx:325:23
>  #6 in ScSolverSettings::solve() at engine/sc/source/ui/unoobj/solveruno.cxx:902:14
>  #7 in sc_apitest::ScSolverSettingsObj::testXSolverSettings() at engine/sc/qa/extras/scsolverobj.cxx:121:19

and

> CbcModel.cpp:7110:24: runtime error: null pointer passed as argument 2, which is declared to never be null
> /usr/include/string.h:48:28: note: nonnull attribute specified here
>  #0 in CbcModel::addCutGenerator(CglCutGenerator*, int, char const*, bool, bool, bool, int, int, int) at <null> (engine/instdir/program/libCbc.so.3 +0x349035)
>  #1 in CbcMain1(int, char const**, CbcModel&, int (*)(CbcModel*, int), CbcSolverUsefulData&) at <null> (engine/instdir/program/libCbcSolver.so.3 +0x1d8efb)
>  #2 in CbcSolveProblem(void*, PROBLEMINFO*, OPTIONINFO*, int) at <null> (engine/instdir/program/libCoinMP.so.1 +0x2c880)
>  #3 in CbcOptimizeProblem at <null> (engine/instdir/program/libCoinMP.so.1 +0x2fdeb)
>  #4 in (anonymous namespace)::CoinMPSolver::solve() at engine/sc/source/solver/CoinMPSolver.cxx:325:23
>  #5 in ScSolverSettings::solve() at engine/sc/source/ui/unoobj/solveruno.cxx:902:14
>  #6 in sc_apitest::ScSolverSettingsObj::testXSolverSettings() at engine/sc/qa/extras/scsolverobj.cxx:121:19

and

> CbcModel.cpp:7119:30: runtime error: null pointer passed as argument 2, which is declared to never be null
> /usr/include/string.h:48:28: note: nonnull attribute specified here
>  #0 in CbcModel::addCutGenerator(CglCutGenerator*, int, char const*, bool, bool, bool, int, int, int) at <null> (engine/instdir/program/libCbc.so.3 +0x34921e)
>  #1 in CbcMain1(int, char const**, CbcModel&, int (*)(CbcModel*, int), CbcSolverUsefulData&) at <null> (engine/instdir/program/libCbcSolver.so.3 +0x1d8efb)
>  #2 in CbcSolveProblem(void*, PROBLEMINFO*, OPTIONINFO*, int) at <null> (engine/instdir/program/libCoinMP.so.1 +0x2c880)
>  #3 in CbcOptimizeProblem at <null> (engine/instdir/program/libCoinMP.so.1 +0x2fdeb)
>  #4 in (anonymous namespace)::CoinMPSolver::solve() at engine/sc/source/solver/CoinMPSolver.cxx:325:23
>  #5 in ScSolverSettings::solve() at engine/sc/source/ui/unoobj/solveruno.cxx:902:14
>  #6 in sc_apitest::ScSolverSettingsObj::testXSolverSettings() at engine/sc/qa/extras/scsolverobj.cxx:121:19

and

> CglKnapsackCover.cpp:3908:36: runtime error: -1.79769e+308 is outside the range of representable values of type 'int'
>  #0 in CglKnapsackCover::createCliques(OsiSolverInterface&, int, int, bool) at <null> (engine/instdir/program/libCgl.so.1 +0x1af0ab)
>  #1 in CbcCutGenerator::CbcCutGenerator(CbcModel*, CglCutGenerator*, int, char const*, bool, bool, bool, int, int, int, int) at <null> (engine/instdir/program/libCbc.so.3 +0x7fb17)
>  #2 in CbcModel::addCutGenerator(CglCutGenerator*, int, char const*, bool, bool, bool, int, int, int) at <null> (engine/instdir/program/libCbc.so.3 +0x348ace)
>  #3 in CbcMain1(int, char const**, CbcModel&, int (*)(CbcModel*, int), CbcSolverUsefulData&) at <null> (engine/instdir/program/libCbcSolver.so.3 +0x1d9c2d)
>  #4 in CbcSolveProblem(void*, PROBLEMINFO*, OPTIONINFO*, int) at <null> (engine/instdir/program/libCoinMP.so.1 +0x2c880)
>  #5 in CbcOptimizeProblem at <null> (engine/instdir/program/libCoinMP.so.1 +0x2fdeb)
>  #6 in (anonymous namespace)::CoinMPSolver::solve() at engine/sc/source/solver/CoinMPSolver.cxx:325:23
>  #7 in ScSolverSettings::solve() at engine/sc/source/ui/unoobj/solveruno.cxx:902:14
>  #8 in sc_apitest::ScSolverSettingsObj::testXSolverSettings() at engine/sc/qa/extras/scsolverobj.cxx:121:19

and

> CbcModel.cpp:9355:93: runtime error: division by zero
>  #0 in CbcModel::solveWithCuts(OsiCuts&, int, CbcNode*) at <null> (engine/instdir/program/libCbc.so.3 +0x371e89)
>  #1 in CbcModel::branchAndBound(int) at <null> (engine/instdir/program/libCbc.so.3 +0x33f172)
>  #2 in CbcHeuristic::smallBranchAndBound(OsiSolverInterface*, int, double*, double&, double, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>) const at <null> (engine/instdir/program/libCbc.so.3 +0x10643e)
>  #3 in CbcHeuristicFPump::solution(double&, double*) at <null> (engine/instdir/program/libCbc.so.3 +0x1a25ed)
>  #4 in CbcModel::doHeuristicsAtRoot(int) at <null> (engine/instdir/program/libCbc.so.3 +0x34fd61)
>  #5 in CbcModel::branchAndBound(int) at <null> (engine/instdir/program/libCbc.so.3 +0x306fec)
>  #6 in CbcMain1(int, char const**, CbcModel&, int (*)(CbcModel*, int), CbcSolverUsefulData&) at <null> (engine/instdir/program/libCbcSolver.so.3 +0x215c37)
>  #7 in CbcSolveProblem(void*, PROBLEMINFO*, OPTIONINFO*, int) at <null> (engine/instdir/program/libCoinMP.so.1 +0x2c880)
>  #8 in CbcOptimizeProblem at <null> (engine/instdir/program/libCoinMP.so.1 +0x2fdeb)
>  #9 in (anonymous namespace)::CoinMPSolver::solve() at engine/sc/source/solver/CoinMPSolver.cxx:325:23
>  #10 in ScSolverSettings::solve() at engine/sc/source/ui/unoobj/solveruno.cxx:902:14
>  #11 in sc_apitest::ScSolverSettingsObj::testXSolverSettings() at engine/sc/qa/extras/scsolverobj.cxx:121:19

and

> CbcModel.cpp:9332:49: runtime error: division by zero
>  #0 in CbcModel::solveWithCuts(OsiCuts&, int, CbcNode*) at <null> (engine/instdir/program/libCbc.so.3 +0x3760c7)
>  #1 in CbcModel::branchAndBound(int) at <null> (engine/instdir/program/libCbc.so.3 +0x33f172)
>  #2 in CbcHeuristic::smallBranchAndBound(OsiSolverInterface*, int, double*, double&, double, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>) const at <null> (engine/instdir/program/libCbc.so.3 +0x10643e)
>  #3 in CbcHeuristicFPump::solution(double&, double*) at <null> (engine/instdir/program/libCbc.so.3 +0x1a25ed)
>  #4 in CbcModel::doHeuristicsAtRoot(int) at <null> (engine/instdir/program/libCbc.so.3 +0x34fd61)
>  #5 in CbcModel::branchAndBound(int) at <null> (engine/instdir/program/libCbc.so.3 +0x306fec)
>  #6 in CbcMain1(int, char const**, CbcModel&, int (*)(CbcModel*, int), CbcSolverUsefulData&) at <null> (engine/instdir/program/libCbcSolver.so.3 +0x215c37)
>  #7 in CbcSolveProblem(void*, PROBLEMINFO*, OPTIONINFO*, int) at <null> (engine/instdir/program/libCoinMP.so.1 +0x2c880)
>  #8 in CbcOptimizeProblem at <null> (engine/instdir/program/libCoinMP.so.1 +0x2fdeb)
>  #9 in (anonymous namespace)::CoinMPSolver::solve() at engine/sc/source/solver/CoinMPSolver.cxx:325:23
>  #10 in ScSolverSettings::solve() at engine/sc/source/ui/unoobj/solveruno.cxx:902:14
>  #11 in sc_apitest::ScSolverSettingsObj::testXSolverSettings() at engine/sc/qa/extras/scsolverobj.cxx:121:19

and

> ClpSimplex.cpp:2560:34: runtime error: applying non-zero offset 120 to null pointer
>  #0 in ClpSimplex::gutsOfCopy(ClpSimplex const&) at <null> (engine/instdir/program/libClp.so.1 +0x6ab776)
>  #1 in ClpSimplex::ClpSimplex(ClpSimplex const&, int) at <null> (engine/instdir/program/libClp.so.1 +0x6a912b)
>  #2 in ClpPresolve::gutsOfPresolvedModel(ClpSimplex*, double, bool, int, bool, bool, char const*, char const*) at <null> (engine/instdir/program/libClp.so.1 +0x59c16c)
>  #3 in OsiClpSolverInterface::initialSolve() at <null> (engine/instdir/program/libOsiClp.so.1 +0xa53f)
>  #4 in CglPreProcess::postProcess(OsiSolverInterface&, bool) at <null> (engine/instdir/program/libCgl.so.1 +0x3600f1)
>  #5 in CbcHeuristic::smallBranchAndBound(OsiSolverInterface*, int, double*, double&, double, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>) const at <null> (engine/instdir/program/libCbc.so.3 +0x107ac1)
>  #6 in CbcHeuristicFPump::solution(double&, double*) at <null> (engine/instdir/program/libCbc.so.3 +0x1a25ed)
>  #7 in CbcModel::doHeuristicsAtRoot(int) at <null> (engine/instdir/program/libCbc.so.3 +0x34fd61)
>  #8 in CbcModel::branchAndBound(int) at <null> (engine/instdir/program/libCbc.so.3 +0x306fec)
>  #9 in CbcMain1(int, char const**, CbcModel&, int (*)(CbcModel*, int), CbcSolverUsefulData&) at <null> (engine/instdir/program/libCbcSolver.so.3 +0x215c37)
>  #10 in CbcSolveProblem(void*, PROBLEMINFO*, OPTIONINFO*, int) at <null> (engine/instdir/program/libCoinMP.so.1 +0x2c880)
>  #11 in CbcOptimizeProblem at <null> (engine/instdir/program/libCoinMP.so.1 +0x2fdeb)
>  #12 in (anonymous namespace)::CoinMPSolver::solve() at engine/sc/source/solver/CoinMPSolver.cxx:325:23
>  #13 in ScSolverSettings::solve() at engine/sc/source/ui/unoobj/solveruno.cxx:902:14
>  #14 in sc_apitest::ScSolverSettingsObj::testXSolverSettings() at engine/sc/qa/extras/scsolverobj.cxx:121:19

and

> ClpSimplex.cpp:2563:34: runtime error: applying non-zero offset 120 to null pointer
>  #0 in ClpSimplex::gutsOfCopy(ClpSimplex const&) at <null> (engine/instdir/program/libClp.so.1 +0x6ab771)
>  #1 in ClpSimplex::ClpSimplex(ClpSimplex const&, int) at <null> (engine/instdir/program/libClp.so.1 +0x6a912b)
>  #2 in ClpPresolve::gutsOfPresolvedModel(ClpSimplex*, double, bool, int, bool, bool, char const*, char const*) at <null> (engine/instdir/program/libClp.so.1 +0x59c16c)
>  #3 in OsiClpSolverInterface::initialSolve() at <null> (engine/instdir/program/libOsiClp.so.1 +0xa53f)
>  #4 in CglPreProcess::postProcess(OsiSolverInterface&, bool) at <null> (engine/instdir/program/libCgl.so.1 +0x3600f1)
>  #5 in CbcHeuristic::smallBranchAndBound(OsiSolverInterface*, int, double*, double&, double, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>) const at <null> (engine/instdir/program/libCbc.so.3 +0x107ac1)
>  #6 in CbcHeuristicFPump::solution(double&, double*) at <null> (engine/instdir/program/libCbc.so.3 +0x1a25ed)
>  #7 in CbcModel::doHeuristicsAtRoot(int) at <null> (engine/instdir/program/libCbc.so.3 +0x34fd61)
>  #8 in CbcModel::branchAndBound(int) at <null> (engine/instdir/program/libCbc.so.3 +0x306fec)
>  #9 in CbcMain1(int, char const**, CbcModel&, int (*)(CbcModel*, int), CbcSolverUsefulData&) at <null> (engine/instdir/program/libCbcSolver.so.3 +0x215c37)
>  #10 in CbcSolveProblem(void*, PROBLEMINFO*, OPTIONINFO*, int) at <null> (engine/instdir/program/libCoinMP.so.1 +0x2c880)
>  #11 in CbcOptimizeProblem at <null> (engine/instdir/program/libCoinMP.so.1 +0x2fdeb)
>  #12 in (anonymous namespace)::CoinMPSolver::solve() at engine/sc/source/solver/CoinMPSolver.cxx:325:23
>  #13 in ScSolverSettings::solve() at engine/sc/source/ui/unoobj/solveruno.cxx:902:14
>  #14 in sc_apitest::ScSolverSettingsObj::testXSolverSettings() at engine/sc/qa/extras/scsolverobj.cxx:121:19

and

> ClpSimplex.cpp:2567:37: runtime error: applying non-zero offset 120 to null pointer
>  #0 in ClpSimplex::gutsOfCopy(ClpSimplex const&) at <null> (engine/instdir/program/libClp.so.1 +0x6ab751)
>  #1 in ClpSimplex::ClpSimplex(ClpSimplex const&, int) at <null> (engine/instdir/program/libClp.so.1 +0x6a912b)
>  #2 in ClpPresolve::gutsOfPresolvedModel(ClpSimplex*, double, bool, int, bool, bool, char const*, char const*) at <null> (engine/instdir/program/libClp.so.1 +0x59c16c)
>  #3 in OsiClpSolverInterface::initialSolve() at <null> (engine/instdir/program/libOsiClp.so.1 +0xa53f)
>  #4 in CglPreProcess::postProcess(OsiSolverInterface&, bool) at <null> (engine/instdir/program/libCgl.so.1 +0x3600f1)
>  #5 in CbcHeuristic::smallBranchAndBound(OsiSolverInterface*, int, double*, double&, double, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>) const at <null> (engine/instdir/program/libCbc.so.3 +0x107ac1)
>  #6 in CbcHeuristicFPump::solution(double&, double*) at <null> (engine/instdir/program/libCbc.so.3 +0x1a25ed)
>  #7 in CbcModel::doHeuristicsAtRoot(int) at <null> (engine/instdir/program/libCbc.so.3 +0x34fd61)
>  #8 in CbcModel::branchAndBound(int) at <null> (engine/instdir/program/libCbc.so.3 +0x306fec)
>  #9 in CbcMain1(int, char const**, CbcModel&, int (*)(CbcModel*, int), CbcSolverUsefulData&) at <null> (engine/instdir/program/libCbcSolver.so.3 +0x215c37)
>  #10 in CbcSolveProblem(void*, PROBLEMINFO*, OPTIONINFO*, int) at <null> (engine/instdir/program/libCoinMP.so.1 +0x2c880)
>  #11 in CbcOptimizeProblem at <null> (engine/instdir/program/libCoinMP.so.1 +0x2fdeb)
>  #12 in (anonymous namespace)::CoinMPSolver::solve() at engine/sc/source/solver/CoinMPSolver.cxx:325:23
>  #13 in ScSolverSettings::solve() at engine/sc/source/ui/unoobj/solveruno.cxx:902:14
>  #14 in sc_apitest::ScSolverSettingsObj::testXSolverSettings() at engine/sc/qa/extras/scsolverobj.cxx:121:19

and

> CglCliqueHelper.cpp:296:53: runtime error: division by zero
>  #0 in CglClique::createFractionalGraph() at <null> (engine/instdir/program/libCgl.so.1 +0x81b36)
>  #1 in CglClique::generateCuts(OsiSolverInterface const&, OsiCuts&, CglTreeInfo) at <null> (engine/instdir/program/libCgl.so.1 +0x60a26)
>  #2 in CglFakeClique::generateCuts(OsiSolverInterface const&, OsiCuts&, CglTreeInfo) at <null> (engine/instdir/program/libCgl.so.1 +0x72e73)
>  #3 in CbcCutGenerator::generateCuts(OsiCuts&, int, OsiSolverInterface*, CbcNode*) at <null> (engine/instdir/program/libCbc.so.3 +0x8281c)
>  #4 in CbcModel::serialCuts(OsiCuts&, CbcNode*, OsiCuts&, int) at <null> (engine/instdir/program/libCbc.so.3 +0x3f37a6)
>  #5 in CbcModel::solveWithCuts(OsiCuts&, int, CbcNode*) at <null> (engine/instdir/program/libCbc.so.3 +0x35d618)
>  #6 in CbcModel::branchAndBound(int) at <null> (engine/instdir/program/libCbc.so.3 +0x33f172)
>  #7 in CbcMain1(int, char const**, CbcModel&, int (*)(CbcModel*, int), CbcSolverUsefulData&) at <null> (engine/instdir/program/libCbcSolver.so.3 +0x215c37)
>  #8 in CbcSolveProblem(void*, PROBLEMINFO*, OPTIONINFO*, int) at <null> (engine/instdir/program/libCoinMP.so.1 +0x2c880)
>  #9 in CbcOptimizeProblem at <null> (engine/instdir/program/libCoinMP.so.1 +0x2fdeb)
>  #10 in (anonymous namespace)::CoinMPSolver::solve() at engine/sc/source/solver/CoinMPSolver.cxx:325:23
>  #11 in ScSolverSettings::solve() at engine/sc/source/ui/unoobj/solveruno.cxx:902:14
>  #12 in sc_apitest::ScSolverSettingsObj::testXSolverSettings() at engine/sc/qa/extras/scsolverobj.cxx:121:19

and

> CglTwomir.cpp:1782:14: runtime error: division by zero
>  #0 in DGG_add2stepToList(DGG_constraint_t*, char*, double*, double*, DGG_list_t*, DGG_data_t*, DGG_constraint_t*) at <null> (engine/instdir/program/libCgl.so.1 +0x5c63ed)
>  #1 in DGG_generateCutsFromBase(DGG_constraint_t*, DGG_list_t*, DGG_data_t*, void const*) at <null> (engine/instdir/program/libCgl.so.1 +0x5c227e)
>  #2 in DGG_generateTabRowCuts(DGG_list_t*, DGG_data_t*, void const*) at <null> (engine/instdir/program/libCgl.so.1 +0x5aa163)
>  #3 in CglTwomir::generateCuts(OsiSolverInterface const&, OsiCuts&, CglTreeInfo) at <null> (engine/instdir/program/libCgl.so.1 +0x59c4bd)
>  #4 in CbcCutGenerator::generateCuts(OsiCuts&, int, OsiSolverInterface*, CbcNode*) at <null> (engine/instdir/program/libCbc.so.3 +0x8281c)
>  #5 in CbcModel::serialCuts(OsiCuts&, CbcNode*, OsiCuts&, int) at <null> (engine/instdir/program/libCbc.so.3 +0x3f3896)
>  #6 in CbcModel::solveWithCuts(OsiCuts&, int, CbcNode*) at <null> (engine/instdir/program/libCbc.so.3 +0x35d61b)
>  #7 in CbcModel::branchAndBound(int) at <null> (engine/instdir/program/libCbc.so.3 +0x33f172)
>  #8 in CbcMain1(int, char const**, CbcModel&, int (*)(CbcModel*, int), CbcSolverUsefulData&) at <null> (engine/instdir/program/libCbcSolver.so.3 +0x215c37)
>  #9 in CbcSolveProblem(void*, PROBLEMINFO*, OPTIONINFO*, int) at <null> (engine/instdir/program/libCoinMP.so.1 +0x2c880)
>  #10 in CbcOptimizeProblem at <null> (engine/instdir/program/libCoinMP.so.1 +0x2fdeb)
>  #11 in (anonymous namespace)::CoinMPSolver::solve() at engine/sc/source/solver/CoinMPSolver.cxx:325:23
>  #12 in ScSolverSettings::solve() at engine/sc/source/ui/unoobj/solveruno.cxx:902:14
>  #13 in sc_apitest::ScSolverSettingsObj::testXSolverSettings() at engine/sc/qa/extras/scsolverobj.cxx:121:19

and

> CglGomory.cpp:1317:30: runtime error: 3.84447e+09 is outside the range of representable values of type 'int'
>  #0 in CglGomory::generateCuts(OsiRowCutDebugger const*, OsiCuts&, CoinPackedMatrix const&, CoinPackedMatrix const&, double const*, double const*, double const*, double const*, double const*, char const*, CoinWarmStartBasis const*, CglTreeInfo) at <null> (engine/instdir/program/libCgl.so.1 +0x142933)
>  #1 in CglGomory::generateCuts(OsiSolverInterface const&, OsiCuts&, CglTreeInfo) at <null> (engine/instdir/program/libCgl.so.1 +0x1342e8)
>  #2 in CbcCutGenerator::generateCuts(OsiCuts&, int, OsiSolverInterface*, CbcNode*) at <null> (engine/instdir/program/libCbc.so.3 +0x8281c)
>  #3 in CbcModel::serialCuts(OsiCuts&, CbcNode*, OsiCuts&, int) at <null> (engine/instdir/program/libCbc.so.3 +0x3f3896)
>  #4 in CbcModel::solveWithCuts(OsiCuts&, int, CbcNode*) at <null> (engine/instdir/program/libCbc.so.3 +0x35d61b)
>  #5 in CbcModel::branchAndBound(int) at <null> (engine/instdir/program/libCbc.so.3 +0x33f172)
>  #6 in CbcMain1(int, char const**, CbcModel&, int (*)(CbcModel*, int), CbcSolverUsefulData&) at <null> (engine/instdir/program/libCbcSolver.so.3 +0x215c37)
>  #7 in CbcSolveProblem(void*, PROBLEMINFO*, OPTIONINFO*, int) at <null> (engine/instdir/program/libCoinMP.so.1 +0x2c880)
>  #8 in CbcOptimizeProblem at <null> (engine/instdir/program/libCoinMP.so.1 +0x2fdeb)
>  #9 in (anonymous namespace)::CoinMPSolver::solve() at engine/sc/source/solver/CoinMPSolver.cxx:325:23
>  #10 in ScSolverSettings::solve() at engine/sc/source/ui/unoobj/solveruno.cxx:902:14
>  #11 in sc_apitest::ScSolverSettingsObj::testXSolverSettings() at engine/sc/qa/extras/scsolverobj.cxx:121:19

Signed-off-by: Stephan Bergmann <stephan.bergmann@collabora.com>
Change-Id: I8baaad0d3214da27cc85f76e267d4783dfae81e5
Reviewed-on: https://gerrit.collaboraoffice.com/c/online/+/4150
Tested-by: Jenkins CPCI <releng@collaboraoffice.com>
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
(cherry picked from commit 85b26ba51a219795938c82288e38518d7f9aec5e)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/206638
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2026-06-16 09:13:29 +02:00
Xisco Fauli 4c223ffe8a python3: upgrade to 3.13.14
destdir-darwin.patch.1 is needed now after
https://github.com/python/cpython/issues/149351
The patch basically reverts it, otherwise the mac build fails with
dyld[52582]: Library not loaded: /@__________________________________________________OOO/LibreOfficePython.framework/Versions/3.13/LibreOfficePython
  Referenced from: <B217B854-E01D-3BF6-ACE3-EE94548D7A23> /Users/tdf/jenkins/workspace/lo_gerrit/Config/macosx_clang_dbgutil/instdir/LibreOfficeDev.app/Contents/Frameworks/LibreOfficePython.framework/Versions/3.13/Resources/Python.app/Contents/MacOS/LibreOfficePython
  Reason: tried: '/@__________________________________________________OOO/LibreOfficePython.framework/Versions/3.13/LibreOfficePython' (no such file), '/System/Volumes/Preboot/Cryptexes/OS/@__________________________________________________OOO/LibreOfficePython.framework/Versions/3.13/LibreOfficePython' (no such file), '/@__________________________________________________OOO/LibreOfficePython.framework/Versions/3.13/LibreOfficePython' (no such file)
/bin/sh: line 1: 52582 Abort trap: 6           DYLD_LIBRARY_PATH=${DYLD_LIBRARY_PATH:+$DYLD_LIBRARY_PATH:}$I/LibreOfficeDev.app/Contents/Frameworks:$W/UnpackedTarball/cppunit/src/cppunit/.libs TEST_LIB=$W/LinkTarget/Library/libtest.dylib URE_BOOTSTRAP=vnd.sun.star.pathname:$I/LibreOfficeDev.app/Contents/Resources/fundamentalrc PYTHONPATH="$S/unotest/source/python:$I/LibreOfficeDev.app/Contents/Resources:$I/LibreOfficeDev.app/Contents/Frameworks:$S/pyuno/qa/pytests" UserInstallation=file://$W/PythonTest/pyuno_pytests_testimports/user TestUserDir="file://$W/PythonTest/pyuno_pytests_testimports/" PYTHONDONTWRITEBYTECODE=1 MAX_CONCURRENCY=4 MOZILLA_CERTIFICATE_FOLDER=dbm: SAL_DISABLE_SYNCHRONOUS_PRINTER_DETECTION=1 SAL_USE_VCLPLUGIN=svp LIBO_LANG=C $I/LibreOfficeDev.app/Contents/Frameworks/LibreOfficePython.framework/Versions/3.13/Resources/Python.app/Contents/MacOS/LibreOfficePython -m org.libreoffice.unittest testimports
[build CXX] starmath/qa/cppunit/test_parse.cxx
dyld[52524]: Library not loaded: /@__________________________________________________OOO/LibreOfficePython.framework/Versions/3.13/LibreOfficePython
  Referenced from: <B217B854-E01D-3BF6-ACE3-EE94548D7A23> /Users/tdf/jenkins/workspace/lo_gerrit/Config/macosx_clang_dbgutil/instdir/LibreOfficeDev.app/Contents/Frameworks/LibreOfficePython.framework/Versions/3.13/Resources/Python.app/Contents/MacOS/LibreOfficePython
  Reason: tried: '/@__________________________________________________OOO/LibreOfficePython.framework/Versions/3.13/LibreOfficePython' (no such file), '/System/Volumes/Preboot/Cryptexes/OS/@__________________________________________________OOO/LibreOfficePython.framework/Versions/3.13/LibreOfficePython' (no such file), '/@__________________________________________________OOO/LibreOfficePython.framework/Versions/3.13/LibreOfficePython' (no such file)
/bin/sh: line 1: 52524 Abort trap: 6           DYLD_LIBRARY_PATH=${DYLD_LIBRARY_PATH:+$DYLD_LIBRARY_PATH:}$I/LibreOfficeDev.app/Contents/Frameworks:$W/UnpackedTarball/cppunit/src/cppunit/.libs TEST_LIB=$W/LinkTarget/Library/libtest.dylib URE_BOOTSTRAP=vnd.sun.star.pathname:$I/LibreOfficeDev.app/Contents/Resources/fundamentalrc PYTHONPATH="$S/unotest/source/python:$I/LibreOfficeDev.app/Contents/Resources:$I/LibreOfficeDev.app/Contents/Frameworks:$S/codemaker/tests/pythonmaker" UserInstallation=file://$W/PythonTest/codemaker_python/user TestUserDir="file://$W/PythonTest/codemaker_python/" PYTHONDONTWRITEBYTECODE=1 MAX_CONCURRENCY=4 MOZILLA_CERTIFICATE_FOLDER=dbm: SAL_DISABLE_SYNCHRONOUS_PRINTER_DETECTION=1 SAL_USE_VCLPLUGIN=svp LIBO_LANG=C $I/LibreOfficeDev.app/Contents/Frameworks/LibreOfficePython.framework/Versions/3.13/Resources/Python.app/Contents/MacOS/LibreOfficePython -m org.libreoffice.unittest test_pythonmaker

Downloaded from https://www.python.org/ftp/python/3.13.14/Python-3.13.14.tar.xz

Change-Id: I8f408fbdb2b37a4957f1e07a83176e6a3b889e96
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/206365
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2026-06-13 17:20:07 +02:00
Stephan Bergmann 9cd7ef2e7e external/nss: Fix out-of-bounds read
Ever since 879668c9ba "MOZILLA_CERTIFICATE_FOLDER
needs to be non-empty to disable autodetect..." we have in
engine/solenv/gbuild/gbuild.mk:

> # * Disable searching for certificates by default:
> #
> #  see xmlsecurity/source/xmlsec/nss/nssinitializer.cxx for use
> #
> #  a) If MOZILLA_CERTIFICATE_FOLDER is empty then LibreOffice autodetects
> #  the user's mozilla-descended application profile. To disable that we
> #  use a non-empty string here.
> #
> #  b) Using dbm: appears to nss as equivalent to an empty path so the
> #  initial NSS_InitReadWrite will fail. In response to that failure
> #  LibreOffice will create a temp fallback cert database which is removed
> #  on process exit
> gb_TEST_ENV_VARS += MOZILLA_CERTIFICATE_FOLDER=dbm:

Which leads to a call of NSS_InitReadWrite("dbm:") in nsscrypto_initialize
(engine/xmlsecurity/source/xmlsec/nss/nssinitializer.cxx), which reaches
nss_Init, which recognizes the "dbm:" prefix and strips it, leaving an empty
config directory.  If no root certificate module is loaded yet
(SECMOD_HasRootCerts() is false, which is the case in an environment that has no
NSS root certs) nss_Init then calls nss_FindExternalRoot with that empty path,
causing an out-of-bounds read of path[-1] at

>     if (path[path_len - 1] != FILE_SEP)

Signed-off-by: Stephan Bergmann <stephan.bergmann@collabora.com>
Change-Id: I45d8cbc236b47f6fbf082e5d48bd99abda71e7f0
Reviewed-on: https://gerrit.collaboraoffice.com/c/online/+/4138
Reviewed-by: Noel Grandin <noel.grandin@collabora.com>
Tested-by: Jenkins CPCI <releng@collaboraoffice.com>
(cherry picked from commit 0cc0fa8ea35441d752aa601921d800c9e479b823)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/206355
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2026-06-12 12:30:00 +02:00
Mike Kaganski 73309dca77 Fix Windows build of python3
Seen on my VS2026 build:

 "C:\lo\online.build\workdir\UnpackedTarball\python3\PCBuild\pcbuild.sln" (Build target) (1) ->
 "C:\lo\online.build\workdir\UnpackedTarball\python3\PCBuild\pythonw_uwp.vcxproj" (default target) (42) ->
 (ClCompile target) ->
   C:\Program Files\Microsoft Visual Studio\18\Community\VC\Tools\MSVC\14.51.36231\include\experimental\coroutine(37,1): error C2338: static assertion failed: 'error STL1011: The /await compiler option, <experimental/coroutine>, <experimental/generator>, and <experimental/resumable> are deprecated by Microsoft and will be REMOVED SOON. They are superseded by the C++20 <coroutine> and C++23 <generator> headers. You can define _SILENCE_EXPERIMENTAL_COROUTINE_DEPRECATION_WARNINGS to suppress this error for now.' [C:\lo\online.build\workdir\UnpackedTarball\python3\PCBuild\pythonw_uwp.vcxproj]

Use CL env variable to pass the define through MSBuild to cl.

Signed-off-by: Mike Kaganski <mike.kaganski@collabora.com>
Change-Id: Id9658290bfcd52150e5e1465a8c3f7e7e84de886
Reviewed-on: https://gerrit.collaboraoffice.com/c/online/+/2647
Reviewed-by: Michael Stahl <michael.stahl@collabora.com>
Tested-by: Jenkins CPCI <releng@collaboraoffice.com>
(cherry picked from commit 2157c69794264ff0567c7327509fb1a2d4fc5cb6)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/206340
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Tested-by: Jenkins
2026-06-11 09:02:00 +02:00
Caolán McNamara 098d0fd1c3 skia: make SK_USER_CONFIG_HEADER relative so ccache can share it
In from-scratch engine builds of two git worktrees the cacheable hit
rate rose from 91.8% to 99.3%.

Signed-off-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Change-Id: I4857aad79d0aaaff403e88fd72f8d5eae6b55d2a
Reviewed-on: https://gerrit.collaboraoffice.com/c/online/+/3983
Tested-by: Jenkins CPCI <releng@collaboraoffice.com>
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
(cherry picked from commit bd18bc96a30d3af3041590944426691258a8fbc5)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/206219
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2026-06-08 20:33:20 +02:00
Caolán McNamara e074f782b3 backport raptor fixes that are merged upstream but unreleased
These three changes are on raptor master but not in any release

raptor_ntriples.c: inspect the last character of a blank node id only
when the id length is greater than zero (upstream ece2c79d, github issue
70).

raptor_rfc2396.c: return an empty path when normalisation reduces the
remaining length to zero (upstream da7a7997, github issue 70).

raptor_term.c: guard the language copy loop with language_len (github
issue 83 / pull request 84)

Signed-off-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Change-Id: I70d9f5d5489628775a7e8a3b0dbe448ef285465b
Reviewed-on: https://gerrit.collaboraoffice.com/c/online/+/3990
Reviewed-by: Andras Timar <andras.timar@collabora.com>
Tested-by: Jenkins CPCI <releng@collaboraoffice.com>
(cherry picked from commit f34d6fa958a84638060f648abbecbca0b290d63e)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/206206
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Tested-by: Jenkins
2026-06-08 13:37:09 +02:00
Caolán McNamara f905cb46ad libnumbertext: invoke configure like the other externals
Every other external prefixes ./configure with just gb_RUN_CONFIGURE.
libnumbertext alone put $(SHELL) in front of it, which is unnecessary

Change-Id: I32f705434a2913d3f133fd457a2b75ed6520c7c7
Signed-off-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Reviewed-on: https://gerrit.collaboraoffice.com/c/online/+/4008
(cherry picked from commit 975ffa76b66e700f135e614c69e9a2790a0b883f)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/206197
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2026-06-08 11:43:33 +02:00
Xisco Fauli 2310486f88 boost: upgrade to 1_91_0
<https://dev-www.libreoffice.org/src/boost_1_91_0.tar.xz> has been generated (on
Debian 13) with

> $ wget https://archives.boost.io/release/1.91.0/source/boost_1_91_0.tar.bz2
> $ printf 'de5e6b0e4913395c6bdfa90537febd9028ea4c0735d2cdb0cd9b45d5f51264f5 boost_1_91_0.tar.bz2' | sha256sum -c # cf. <https://www.boost.org/users/history/version_1_91_0.html>
> boost_1_91_0.tar.bz2: OK
> $ external/boost/repack_tarball.sh boost_1_91_0.tar.bz2
> Unpacking boost_1_91_0.tar.bz2 ...
> Removing unnecessary files ...
> Creating boost_1_91_0.tar.xz ...
> Cleaning up ...
> 2f975c10da79511c2f218189fc8a12eef1a92e3bd18206e9841d406296d065eb  boost_1_91_0.tar.xz
> Done.

0001-Allow-fallthrough-of-Android-to-128-bit-float.patch.1 fixes
In file included from /home/tdf/jenkins/workspace/android_x86_64/workdir/UnpackedTarball/boost/boost/math/special_functions/fpclassify.hpp:21:
/home/tdf/jenkins/workspace/android_x86_64/workdir/UnpackedTarball/boost/boost/math/special_functions/detail/fp_traits.hpp:314:15: error: static assertion failed due to requirement '113 == 64': Oops, assumption that long double is an 80-bit quantity is incorrect!!
  314 | static_assert(LDBL_MANT_DIG == 64, "Oops, assumption that long double is an 80-bit quantity is incorrect!!");

on Android x86_64
and unreachable_code.patch.1 fixes
E:\jenkins\workspace\gerrit_windows_wsl\workdir\UnpackedTarball\boost\boost\optional\detail\union_optional.hpp(600) : error C2220: the following warning is treated as an error
E:\jenkins\workspace\gerrit_windows_wsl\workdir\UnpackedTarball\boost\boost\optional\detail\union_optional.hpp(600) : warning C4702: unreachable code
on Windows

Change-Id: Iac97991234cdb24c41bc2f0e0567fd2adb8f2f7c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/204152
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Tested-by: Jenkins
2026-06-05 21:52:58 +02:00
Xisco Fauli b08afae7e4 poppler: upgrade to 26.06
Downloaded from https://poppler.freedesktop.org/poppler-26.06.0.tar.xz

Change-Id: Idbcf3baf344f7400dad28d06e4a2b18118e647f4
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/205964
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Tested-by: Jenkins
2026-06-04 09:04:34 +02:00
Xisco Fauli 2ded626ded fontconfig: fix WASM build
checking for va_copy() function... configure: error: in '/home/tdf/lode/jenkins/workspace/lo_gerrit/tb/build_master/workdir/UnpackedTarball/fontconfig':
configure: error: cannot run test program while cross compiling

Similar to what was done for Android

Change-Id: I6ae86e3c897abafb5a27ab11f170f5fa3af6d28b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/205962
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Tested-by: Jenkins
2026-06-03 21:56:50 +02:00
Xisco Fauli bbc79d4108 graphite: upgrade to 1.3.15
Downloaded from https://github.com/silnrsi/graphite/releases/download/1.3.15/graphite2-minimal-1.3.15.tgz

Change-Id: I4781db96e723a552dbb9b64a1be6284850bb2979
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/205875
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2026-06-01 20:44:25 +02:00
Caolán McNamara 2961de8d41 ofz#517243149 Integer-overflow
reject non-Valid() rects

Signed-off-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Change-Id: I05f5ba73f0555d6b7dbf40c5e6dc20d876a7784a
Reviewed-on: https://gerrit.collaboraoffice.com/c/online/+/3569
Tested-by: Jenkins CPCI <releng@collaboraoffice.com>
Reviewed-by: Noel Grandin <noel.grandin@collabora.com>
(cherry picked from commit 68b069d5c5d4a9276bf6d0b79c360002422365d3)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/205870
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Tested-by: Jenkins
2026-06-01 16:01:04 +02:00
Xisco Fauli 7281f570cc libcmis: upgrade to 0.6.3
Change-Id: I835c68a209386d051d059b5b7d3a23ad8b2356f9
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/205865
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Tested-by: Jenkins
2026-06-01 13:56:42 +02:00
Xisco Fauli 53e355c0ea fontconfig: this is only used for CODA-W
Similar to what cairo and pixman do
fontconfig is not needed for Windows

Change-Id: I5b7696e143899754320e2b2c673dec3efc93d219
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/205809
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Tested-by: Jenkins
2026-05-28 16:35:36 +02:00
Xisco Fauli 39f04e8c12 fontconfig: upgrade to 2.18.0
Android builds in CI started to fail with
checking for va_copy() function... configure: error: in '/home/tdf/jenkins/workspace/android_x86_64/workdir/UnpackedTarball/fontconfig':
configure: error: cannot run test program while cross compiling
so use ac_cv_va_copy=no

call "make -C fc-const" to generate fcconst.h

Downloaded from https://gitlab.freedesktop.org/api/v4/projects/890/packages/generic/fontconfig/2.18.0/fontconfig-2.18.0.tar.xz

Change-Id: I67d0c83675bf1a73b5e2b8b880bbb231e908c7df
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/205522
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2026-05-27 23:03:13 +02:00
Xisco Fauli 10a087d811 libmspub: remove obsolete android patch
Change-Id: I138582ef267b768eabadecaa8e8e777b58e7f9ca
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/205734
Tested-by: Jenkins
Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
2026-05-26 22:11:21 +02:00
Xisco Fauli cd7277347a libqxp: upgrade to 0.0.3
Generated with:
./autogen.sh
./configure
make dist-xz

Change-Id: I2f892c7e5ffcfb4dd6c68d57c45a915165145fd0
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/205710
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Tested-by: Jenkins
2026-05-26 16:38:50 +02:00
Xisco Fauli ff07109ed4 libmspub: upgrade to 0.1.5
Generated with:
./autogen.sh
./configure
make dist-xz

Change-Id: Icf4f689e8affd9310998850c83c45bffe2909ff7
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/205715
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Tested-by: Jenkins
2026-05-26 16:16:15 +02:00
Xisco Fauli bd424bc733 libcdr: upgrade to 0.1.9
Generated with:
./autogen.sh
./configure
make dist-xz

Change-Id: I42e948823e412d4272d573e6a03bd82425730eed
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/205712
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2026-05-26 15:47:40 +02:00
Xisco Fauli b696585409 libfreehand: upgrade to 0.1.3
Generated with:
./autogen.sh
./configure
make dist-xz

Change-Id: I804e6ebc7056646ddf1e9635240ecb1519f9114f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/205706
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2026-05-26 15:39:29 +02:00
Mike Kaganski 27584318ae Fix MSVC 14.51 build of breakpad
C:/lo/online.build/workdir/UnpackedTarball/breakpad/src/client/windows/crash_generation/minidump_generator.cc(180): error C2653: 'stdext': is not a class or namespace name
 C:/lo/online.build/workdir/UnpackedTarball/breakpad/src/client/windows/crash_generation/minidump_generator.cc(180): error C2059: syntax error: '>'
 make[1]: *** [C:/lo/online/engine/solenv/gbuild/LinkTarget.mk:398: C:/lo/online.build/workdir/GenCxxObject/UnpackedTarball/breakpad/src/client/windows/crash_generation/minidump_generator.o] Error 2

As documented at https://learn.microsoft.com/en-us/cpp/porting/features-deprecated-in-visual-studio,
the class checked_array_iterator is dropped in MSVC 14.51 (it was deprecated since VS 2022 17.8).

Signed-off-by: Mike Kaganski <mike.kaganski@collabora.com>
Change-Id: I29ad7dcf10a6ccc79e66dd21a96d80a69d8f0f99
Reviewed-on: https://gerrit.collaboraoffice.com/c/online/+/2683
Reviewed-by: Andras Timar <andras.timar@collabora.com>
Tested-by: Jenkins CPCI <releng@collaboraoffice.com>
(cherry picked from commit 2450d80b2790bd47c534bdf45e0e839839e9cf64)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/205370
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Tested-by: Jenkins
2026-05-19 20:29:20 +02:00