Commit Graph

905 Commits

Author SHA1 Message Date
84ed46d7ee don't need to use dlsym for cairo_surface_set_device_scale...
for bundled cairo case

Change-Id: I8ca48433b3be144d8347defe3831b92cc87d7cbe
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/175081
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-10-17 17:49:07 +02:00
3de3f660af add a --with-system-java-websocket
there was a system Java-WebSocket in Fedora 35, f.e. but unaware
if this is actively packaged standalone in contemporary distros,
but useful for the coverity build case.

Change-Id: Id6393dbfb1c449b75391752a8bb5e5ea4481a084
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173725
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-09-20 17:43:42 +02:00
c5cad121e5 Add a CUPS config header
In line with what's done for most optional,
build-time configurable features, use a config
header `config_cups.h` that has a `ENABLE_CUPS` define,
include that header in the relevant source file and use

    #if ENABLE_CUPS

for code depending on CUPS being enabled instead of defining
a macro and using

    #ifdef ENABLE_CUPS

This also aligns this with the `ENABLE_CPDB` macro used
in the same source file.

Change-Id: I71a5205fd63f9fc18470afcaf808c489ff833319
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172397
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2024-08-27 07:30:03 +02:00
e702e27795 Handle CPDB lib in configure/build system
In preparation of Biswadeep's upcoming GSoC changes (see [1])
to update the CPDB (Common Print Dialog Backends) support to the
latest version and use the CPDB C API, add a
corresponding `--enable-cpdb` autogen option
(disabled by default).

When CPDB is enabled, check for the cpdb-frontend
library, define `ENABLE_CPDB` and set the compiler
and linker flags for building the `CPDManager`
(in vcl/unx/generic/printer/cpdmgr.cxx).

Add checks for existing code using `CPDBManager`,
so it only gets used when when CPDB is actually enabled.

While the cpdb-frontend library is currently not
actually used in `CPDManager` yet (as the previous approach
tried to use some DBUs API directly), it will be in
Biswadeep's upcoming changes.

With this commit in place, an `--enable-cpdb` build
works with this additional local test change in place
to actually make use of the library:

    diff --git a/vcl/unx/generic/printer/cpdmgr.cxx b/vcl/unx/generic/printer/cpdmgr.cxx
    index 7dc17cede353..0c3b71d519db 100644
    --- a/vcl/unx/generic/printer/cpdmgr.cxx
    +++ b/vcl/unx/generic/printer/cpdmgr.cxx
    @@ -22,6 +22,8 @@
     #include <cstddef>
     #include <unistd.h>

    +#include <cpdb/cpdb-frontend.h>
    +
     #include <unx/cpdmgr.hxx>

     #include <osl/file.h>
    @@ -259,6 +261,7 @@ CPDManager* CPDManager::tryLoadCPD()
             }
         }
     #endif
    +    cpdbPrintFile(nullptr, nullptr);
         return pManager;
     }

[1] https://lists.freedesktop.org/archives/libreoffice/2024-May/091911.html

Change-Id: Ifc50d2cd6496346bea55c73cb703e3c2d3eb44b8
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168656
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Reviewed-by: Biswadeep Purkayastha <bpdps95@hotmail.com>
2024-06-13 09:23:38 +02:00
8b517dfae3 Revert "make skia into static library"
This reverts commit 6517ce70e50e61441484e7ee7a4be0e265020175.

Reason for revert: 

<_rene__> noelgrandin: ping?
<_rene__> noelgrandin: /usr/bin/ld: /home/rene/LibreOffice/git/master/workdir/LinkTarget/StaticLibrary/libskia.a: error adding symbols: archive has no index; run ranlib to add one
<_rene__> noelgrandin: caused by your skia static library change. I think I pointed that out once already...
<_rene__> $ ld -v
<_rene__> GNU ld (GNU Binutils for Debian) 2.42
<noelgrandin> hmm, it's not an ld version issue, because I have ld 2.41
<_rene__> gcc version 13.2.0 (Debian 13.2.0-24) 
<_rene__> and
<_rene__> Debian clang version 16.0.6 (27)
<_rene__> fwiw, too
<noelgrandin> is that a mergelibs build, or a regular build?
<_rene__> mergelibs
<_rene__> (the "normal" one, not =more)
<_rene__> noelgrandin: ... and LTO
<_rene__> noelgrandin: (saying because googling gives me https://github.com/mesonbuild/meson/issues/8371. and yes, .a is built with clang and the rest with gcc "of course")
<_rene__> noelgrandin: but the Linux release builds _do_ that:
<_rene__> $ grep -E "(lto|merge)" distro-configs/LibreOfficeLinux.conf 
<_rene__> --enable-mergelibs
<_rene__> --enable-lto
<_rene__> $
<loircbot> LibreOffice (core) [libreoffice-7-6-7] lohmaier+LibreOffice · readlicense_oo/license/CREDITS.fodt · update credits
<noelgrandin> oh yeah, good spotting
<noelgrandin> yes, LTO is going to be a problem because skia is built with clang

Change-Id: I96c63109d2856c6e4cb22cf9ac945d4cfa9848c9
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167227
Tested-by: René Engelhard <rene@debian.org>
Reviewed-by: René Engelhard <rene@debian.org>
Tested-by: Jenkins
2024-05-07 20:34:39 +02:00
6517ce70e5 make skia into static library
(1) we only use it from inside vcl
(2) it exports a boatload of symbols
(3) its a performance hotspot

so lets link it inside and give the optimiser as
much room as possible.
Change-Id: If19d5556e3b45f40ef09d1e9225d12ef5f1ec32a

Change-Id: I3d5edca20f5a15e8981f17fe9fcb9a338006eaff
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167273
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>
2024-05-07 15:54:49 +02:00
875a1bf2e1 makefile simplification: replace $(call gb_UnpackedTarball_get_dir,foo)
…by a simple/static $(gb_UnpackedTarball_workdir)/foo
see also 0c4c84a14b01c71c76a9c45a7f26aec4d64f3e4f

Change-Id: I8e6aa55c85534c4446556548910c950ddbe7c6fc
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167163
Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
Tested-by: Jenkins
2024-05-06 11:40:45 +02:00
d097dbc868 Revert "make skia into static library"
This reverts commit 806b6014db796a3970332f9cefaaabf9355d0d8f.

Reverting for now, this does not work with --enable-mergelib

Change-Id: Ib44f819d0da9ed3769f76fc40b5c15ce097390a4
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164872
Tested-by: René Engelhard <rene@debian.org>
Reviewed-by: René Engelhard <rene@debian.org>
2024-03-16 16:02:31 +01:00
806b6014db make skia into static library
We only need it inside one library,
and this reduces the symbols we export from libmerged by over 1000.

Change-Id: I8bf1b2479ba61e931dab0a5cfa81484d534c5658
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164846
Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2024-03-16 07:35:11 +01:00
77c921302b argon2: add new external library
Change-Id: I81860a94b33eba95918c30b0e92b583cc2d02ff3
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160969
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
2023-12-19 17:25:05 +01:00
ff071078ee reprobuild: don't write timestamps to clucene index files
Our embedded clucene by default write a random current-time
millisecond value into version fields, in an attempt to
randomise. Clearly this is not needed for our static help, and it also
prevents builds from being reproducible.

Change-Id: I011388b5bc72b5d86bc1900f5439036ede60c020
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158845
Tested-by: Jenkins
Reviewed-by: Thorsten Behrens <thorsten.behrens@allotropia.de>
2023-12-13 07:32:13 +01:00
fac623a8b8 Fix packaging with --enable-mpl-subset
Change-Id: I1cae9e9a9837df968663b6f46bd1e0d369377126
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159308
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2023-11-10 21:38:08 +01:00
cf53900ae8 Fix packaging with --disable-curl
Change-Id: I9c3c1f1953c4d59c5a2d4c6017e73768d93a7bc7
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159307
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2023-11-10 21:38:00 +01:00
82a955498b add --with-system-zxcvbn
Change-Id: I9a90585d8eb498861a6ef4752ab85dcff8eeaab6
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158674
Tested-by: René Engelhard <rene@debian.org>
Reviewed-by: René Engelhard <rene@debian.org>
2023-11-06 20:02:07 +01:00
3d5cafbe17 tdf#157518: external: bundle zxcvbn-c
Integrates zxcvbn-c as a static library.

zxcvbn-c is C/C++ implementation of
https://dropbox.tech/security/zxcvbn-realistic-password-strength-estimation.

This is the first step for introducing a password strength
meter. Some example projects that utilize zxcvbn-c are
KeepassXC, monero-gui.

ExternalProject_zxcvbn-c takes care of the dictionary node
generation bits resulting in the dict-src.h

Then StaticLibrary_zxcvbn-c depends on
ExternalProject_zxcvbn-c and uses the generated bits and the
zxcvbn-c source to compile the library.

It should be possible to get rid of dictionary node
generation bit with a patch that includes a constant
dict-src.h that's what monero-gui does for example. But this
might also obfuscate what dict-src.h is.

Right now the dictionary that is included with zxcvbn-c only
targets English, so that might be something to improve upon.

Change-Id: Ic2b0a558cff341114d69fbdc257979a28bf5c865
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/157565
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
Tested-by: Jenkins
Reviewed-by: Sarper Akdemir <sarper.akdemir.extern@allotropia.de>
2023-10-30 08:17:05 +01:00
5a0498ded1 mariadb connector: upgrade to release 3.3.7 (fixes tdf#157826)
Change-Id: I053b827b7bc14535760236fcb057c154c359f4dd
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158252
Tested-by: Mike Kaganski <mike.kaganski@collabora.com>
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2023-10-21 08:43:44 +02:00
c72d5d787f tdf#116412 include bz2 module in internal python
This commit includes the changes in 5e3510dbb62229cfb01da371d39ecc27b0d44880
and 219bef04b7084eef49e1001312e186f390f4f735, as well as the following changes:

* add bzip2 as permissable build target when cross compiling for Windows ARM64.
* add external/bzip2/disable-test.patch.0 for cross-compiling.
* revert the changes to configure.ac in 5e3510dbb62229cfb01da371d39ecc27b0d44880.
* change the argument of gb_UnpackedTarball_fix_end_of_line.

Change-Id: Iad8b1ed48d6c56e1302d9ac11620dc8084e79276
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/157101
Tested-by: Taichi Haradaguchi <20001722@ymail.ne.jp>
Reviewed-by: Taichi Haradaguchi <20001722@ymail.ne.jp>
2023-10-14 08:53:14 +02:00
8e246331f6 Add a FunctionBasedURPConnection and a websocket URP connector
- FunctionBasedURPConnection is used to enable a client to open a URP
  connection to a fresh Kit instance in COOL.
- This URP connector can be used with that and
  https://github.com/CollaboraOnline/online/pull/6992 to use a Java Uno
  Remote Protocol client over websockets
- For interoperability with existing Collabora Online websockets a
  prefix (urp ) is added to each message sent and a similar prefix
  (urp: ) is expected on each message recieved. This allows sending over
  the same websocket as other data is being transmitted through. If you
  are writing a bridge to work with this, you will need to add/strip the
  prefixes accordingly
- This commit uses Java WebSocket
  (https://github.com/TooTallNate/Java-WebSocket) to send data over
  websockets.

Change-Id: I2bda3d0b988bef7883f9b6829eeb5b7ae8075f27
Signed-off-by: Skyler Grey <skyler.grey@collabora.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/151171
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2023-09-01 16:55:37 +02:00
5cd48b4969 Revert "tdf#116412: include bz2 in internal python"
This reverts commit 5e3510dbb62229cfb01da371d39ecc27b0d44880.

Reason for revert: occured build error at https://ci.libreoffice.org/view/tb%20platform%20status/job/lo_daily_tb_win_arm64/966/

Change-Id: I9f9087964f7a85c03bca6be4eff5717d6d274c89
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155391
Tested-by: Jenkins
Reviewed-by: Taichi Haradaguchi <20001722@ymail.ne.jp>
2023-08-07 05:59:22 +02:00
5e3510dbb6 tdf#116412: include bz2 in internal python
Change-Id: Ie257446692227ae689fad2e61a42405a68e4f665
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/139580
Tested-by: Jenkins
Reviewed-by: Taichi Haradaguchi <20001722@ymail.ne.jp>
2023-07-30 09:20:29 +02:00
720bf6ac86 kf6: Add a kf6 VCL plugin
Add a "kf6" VCL plugin that uses the KF6 (KDE Frameworks 6)
libraries to provide a native KDE/Plasma file chooser,
just like the kf5 VCL plugin does for KF5.

Building the plugin is disabled by default and can be enabled by
autogen option '--enable-kf6'.

Selecting the VCL plugin can be done by starting LO
with environment variable 'SAL_USE_VCLPLUGIN=kf6' set.

The kf6 VCL plugin reuses the kf5 VCL plugin code.
(The kf6 headers and sources for now just `#include`
the kf5 ones.)

This was quickly tested on KDE Neon unstable,
which provides a daily snapshot of Plasma 6 and the KF6
libraries.
(Regarding a potential release date, [1] mentions:
"Plasma 6 is built on top of Qt 6 and is
tentatively planned to be released in late 2023 or early 2024.")

[1] https://community.kde.org/Plasma/Plasma_6

Change-Id: I4c2b7e3be8e60f1d8cf60119f6f3f642b71349f5
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/153438
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2023-06-22 22:16:11 +02:00
cd9afc213d add --with-system-frozen
Change-Id: Ia09254cab5696fa0a3530fcafa5b48acca631ff2
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/153208
Tested-by: Jenkins
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2023-06-18 13:31:37 +02:00
472fec1b45 Add frozen library support - for compile-time dict, set support
Change-Id: I8fa02569ba02048cc3ef02b349aafba1c0cbebb4
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/153173
Reviewed-by: Taichi Haradaguchi <20001722@ymail.ne.jp>
Tested-by: Jenkins
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2023-06-17 12:31:07 +02:00
e096fbc3e0 Depend on ExternalPackage_fontconfig, not just ExternalProject_fontconfig
...so that e.g. a from-scratch `make CppunitTest_sw_core_layout` doesn't fail
with

> warn:sal.osl:3973661:3973661:sal/osl/unx/module.cxx:103: dlopen(workdir/LinkTarget/Library/libvclbootstrapprotector.so, 257): libfontconfig-lo.so.1.12.0: cannot open shared object file: No such file or directory
> Failure instantiating protector "workdir/LinkTarget/Library/libvclbootstrapprotector.so", "vclbootstrapprotector"

(This is LINUX-only, as ExternalPackage_fontconfig has been introduced as
LINUX-only by d552b4a549d614a03aa9328e017dec27bd3ff41e "Enable opening of
downloaded fonts only in ForKit in Online":  "All this is relevant for Linux
only, as Collabora Online runs on Linux.")

Change-Id: I8976726ee8080f91a0fa97d60b8f345c48cae686
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/148381
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2023-03-07 18:43:56 +00:00
8d90e02b4c Get the shared object of a bundled fontconfig into rpm and deb packages
Change-Id: I9630fa25178637bba189c263605a2198ef5c6064
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/141550
Reviewed-by: Andras Timar <andras.timar@collabora.com>
Tested-by: Andras Timar <andras.timar@collabora.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/146720
Tested-by: Tor Lillqvist <tml@collabora.com>
Reviewed-by: Tor Lillqvist <tml@collabora.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/146740
Tested-by: Jenkins
2023-02-10 11:54:16 +00:00
516bc904e9 Upgrade mdds and orcus to 2.1.0 and 0.18.0, respectively
Change-Id: I288b5b54bd07d951bcc68afda7514bde730193dc
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/146107
Tested-by: Jenkins
Reviewed-by: Kohei Yoshida <kohei@libreoffice.org>
2023-01-26 02:27:57 +00:00
eefa5cb64f Related: ofz Use-of-uninitialized-value
Change-Id: I2f6e726f713836295603bf7112371aa4aff2c7c0
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/144868
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-12-31 11:12:23 +00:00
5ce9bf3ff3 Fix Linux --without-system-cairo build
...(as I e.g. use for a max-coverage ASan build) after
e5658b209a23a17b3f89fe3eabd1e065513622f1 "WASM cairo: link static lib directly",
causing

> [LNK] Library/libvcllo.so
> clang-16: error: no such file or directory: '.../workdir/UnpackedTarball/cairo/src/.libs/libcairo.a'
> clang-16: error: no such file or directory: '.../workdir/UnpackedTarball/pixman/pixman/.libs/libpixman-1.a'
> make[1]: *** [.../vcl/Library_vcl.mk:20: .../instdir/program/libvcllo.so] Error 1

because at least on Linux external/cairo only provides dynamic libraries

Change-Id: I7a35d7f28d99664ea749be23c76e74cd5a760f62
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/143422
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
2022-11-29 14:21:33 +01:00
e5658b209a WASM cairo: link static lib directly
Because bundled cairo is only used on Android currently, and that does
static linking, this doesn't make a difference for LO build.

But it does improve the situation when linking the bundled cairo via
libtool, because libtool unhelpfully finds libcairo.la via -lcairo,
which contains an unhelpful dependency_libs that includes "-lz", which
does not exist anywhere (LO's bundled one is called libzlib.a).

Ideally GNU libtool could be told to ignore .la files, but i don't know
how.

Change-Id: Icaaa0b441e1410a297f6d61afd81e31425138955
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/143392
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
2022-11-28 16:24:29 +01:00
5aad191eae Revert "Use libo_CHECK_SYSTEM_MODULE for eot"
This reverts commit ce54ba96f38b4af3aab1a7064078ee406eb021c6 and the
followup commit 88c511981e31c73dced95b5dc3c200fdf2a4e932.

Both effectively disabled enabling libeot support.

See also: https://lists.freedesktop.org/archives/libreoffice/2022-August/089205.html

Change-Id: I54780c69ca83b230b0c9b3b18065782fb5626da6
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/140838
Tested-by: René Engelhard <rene@debian.org>
Reviewed-by: René Engelhard <rene@debian.org>
Tested-by: Jenkins
Reviewed-by: خالد حسني <khaled@aliftype.com>
2022-10-01 14:21:28 +02:00
938c899831 tdf#150452: Revert "tdf#130795 use concurrent hashmap in SharedStringPool"
This commit reverts 3749d9af3745c0eaff7239e379578e4e2af89e9d
which removes the dependency on the external library cuckoo

Without using cuckoo the same file in tdf#130795 takes

real	0m4,892s
user	0m5,298s
sys	0m0,449s

With it, it takes

real	0m4,914s
user	0m5,276s
sys	0m0,444s

pretty much the same time

Change-Id: I4cc9000ac5bf26de22bb9835283ae8d5b3230196
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138435
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2022-08-17 16:59:14 +02:00
a8485d558f [API CHANGE] Remove deprecated idlc and regmerge from the SDK
* Client code must replace uses of idlc and regmerge with uses of unoidl-write,
  see the changes to odk/examples/ and ure/source/uretext/ in
  40f2aee6584eafcf4cd1d95fcf1f775e5435440d "Provide unoidl-write also for the
  SDK" for examples.

* The new types.rdb format is not compatible with LibreOffice < 4.1.  Clients
  generating extensions containing such files are advised to use appropriate
  LibreOffice-minimal-version elements.

* For compatibility with old extensions, reading the legacy types.rdb format is
  still supported.

* The SDK no longer ships an idl/ sub-directory containing the udkap and offapi
  .idl files (as, unlike idlc, unoidl-write does not need them).
  odk/config/cfgWin.js had to be adapted to look (somewhat arbitrarily) for an
  examples/ sub-directory instead of idl/ when checking for "an sdk folder".
  gb_UnoApi_package_idlfiles became unused and has been removed.

* The idlc and regmerge executables have been removed.  Module idlc has been
  removed except for idlc/test/parser/, which is also used by
  CustomTarget_unoidl/unoidl-write_test, and which may eventually be moved into
  module unoidl.  Module external/ucpp and the corresponding configure options
  have also been removed.

Change-Id: I42a0231699b863b5ebe2bee63bc32c8f79278cc1
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/122363
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2022-06-10 17:15:49 +02:00
3e21c3c037 workdir/UnpackedTarball/libtiff/libtiff/tiff.h is generated
...and included via vcl/source/filter/itiff/itiff.cxx ->
workdir/UnpackedTarball/libtiff/libtiff/tiffio.h ->
workdir/UnpackedTarball/libtiff/libtiff/tiff.h

Change-Id: I717e23946d7d14572c5e9de9f7319d553a76364a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134851
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2022-05-24 10:00:04 +02:00
11e4235930 tiff: enable webp
Change-Id: Ifd277fd89393f964817bf58dead53074321252d8
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134711
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-05-21 20:06:24 +02:00
22b50f1937 use libtiff for tiff import
TODO: check testTdf138818 change is acceptable/meaningful

Change-Id: Ia72f2e7ec49a9f8fc23b178fe61cbc3d0e1287c3
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134647
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-05-21 11:52:30 +02:00
a2ffd71f20 build libtiff
Change-Id: Id9b6e1355147c3f68b9922db14f1b4904a05c686
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134650
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-05-20 22:29:00 +02:00
1661a3ee77 use proper MSVC runtime lib for libwebp
Change-Id: Icf976bb4a4593bfa8e8fc506d4c5e86cb7f88671
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/133705
Tested-by: Jenkins
Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2022-05-03 06:54:08 +02:00
c7a920a9b7 Sync the two definitions of python_arch_subdir
...in RepositoryExternal.mk and external/python3/ExternalPackage_python3.mk.
The variance in trailing slash had caused
<https://gerrit.libreoffice.org/c/core/+/130355> "external/python3: Explicitly
check that all extension modules got built" to fail on Windows at
<https://ci.libreoffice.org/job/gerrit_windows/120651/> with

> Error: missing PCbuild/win32_asyncio_d.pyd
> make[1]: *** [C:/cygwin64/home/tdf/lode/jenkins/workspace/gerrit_windows/external/python3/ExternalProject_python3.mk:37: C:/cygwin64/home/tdf/lode/jenkins/workspace/gerrit_windows/workdir/ExternalProject/python3/build] Error 1

(and note the missing slash in "PCbuild/win32_asyncio_d.pyd").

(Ideally, these two definitions would be consolidated anyway, but that's left
for later.)

Change-Id: If2e6081e966bf3931eb0092616705521b4cfd3ce
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/130410
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2022-02-23 10:17:22 +01:00
19b0ba55ea add system-dragonbox
Missed in 9eb9083ff2fdaeb96399a0830a4394de4e29ef64

Change-Id: I1d001b39f55c8504a76bfbdadd1423b414adc9c5
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/130209
Tested-by: René Engelhard <rene@debian.org>
Reviewed-by: René Engelhard <rene@debian.org>
2022-02-22 15:53:59 +01:00
9eb9083ff2 Use Dragonbox to implement doubleTo*String*
This header-only library is accurate in decimal representation of
doubles; provides API that allows to create custom representation
- so it's possible to use custom decimal separators and grouping.

This allows to unify all corner cases: integers, numbers close to
DBL_MAX, up-rounding to the next decade.

Note that Dragonbox creates the shortest decimal representation
of the number, that is unambiguously convertible back to the same
number; thus it may hide trailing digits that are unneeded for
such conversion.

The functional changes are minimal, and beneficial:
1. Rounding numbers close to DBL_MAX now takes into account the
bEraseTrailingDecZeros argument, as it should, allowing to have
"1.8E+308" for rounding DBL_MAX to 2 decimals without trailing
zeroes, instead of previous "1.80E+308".
2. Incorrect rounding is fixed in some cases, e.g. 9.9999999999999929
rounded to 10 previously using rtl_math_DecimalPlaces_Max.
3. Representing the number in the shortest way may change display
of some printed numbers. E.g., 5th greatest double is represented
as "1.797693134862315E+308" instead of a bit longer, but giving
the same double on roundtrip, "1.7976931348623149E+308". This would
generally look better for some numbers similar to the famous 0.1,
where users would likely expect more "round" representation where
it's unambiguous (but we still truncate to 15 significant decimals
anyway - so there's no point in pretending to provide exact digits
for actual binary representation).

These are reflected in the unit tests affected by the change.

Change-Id: I05e20274a30eec499593ee3e9ec070e1269232a2
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/129948
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2022-02-17 21:46:58 +01:00
60eaa424c5 support for the WebP image format (tdf#114532)
This commit implements a WebP reader and writer for both lossless
and lossy WebP, export dialog options for selecting lossless/lossy
and quality for lossy, and various internal support for the format.

Since writing WebP to e.g. ODT documents would make those images
unreadable by previous versions with no WebP support, support
for that is explicitly disabled in GraphicFilter, to be enabled
somewhen later.

Change-Id: I9b10f6da6faa78a0bb74415a92e9f163c14685f7
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/128920
Tested-by: Jenkins
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2022-01-31 10:44:29 +01:00
ba67202007 Fix up "Fix gtk3_kde5 build when qt5/kf5 VCL plugins are not built"
commit 5801b9fc65508391e130670f79a9af51f18d4e96
    Author: Michael Weghorn <m.weghorn@posteo.de>
    Date:   Thu Jan 27 08:17:54 2022 +0000

        Fix gtk3_kde5 build when qt5/kf5 VCL plugins are not built

was missing the spaces for the 'filter' function, resulting
in an '--enable-kf5 --enable-gtk3-kde5' build failing because
"TRUETRUE" doesn't match "TRUE".

Change-Id: I6dca8fb4cd9f58077ce08f51e003f3539f368f77
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/129047
Tested-by: Julien Nabet <serval2412@yahoo.fr>
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2022-01-27 16:58:20 +01:00
5801b9fc65 Fix gtk3_kde5 build when qt5/kf5 VCL plugins are not built
Since

    commit 894450d6ebbb2d5e063d72b971580d1b8c10a5e3
    Author: Michael Weghorn <m.weghorn@posteo.de>
    Date:   Tue Sep 28 08:36:44 2021 +0200

        Unify how Qt/KF build flags/libs are set

the qt5/kf5 externals are used to set includes and
compiler/linker flags for the gtk3_kde5 VCL plugin
as well.

However, the relevant link targets were only actually
defined as needed when building the qt5 and kf5 VCL plugins
was enabled as well.
Adapt that so that building the gtk3_kde5 VCL plugin
but not the qt5 and kf5 ones also works again
(e.g. '--enable-gtk3-kde5 --disable-qt5 --disable-kf5').

Change-Id: I65b75d7c2ccab71eade01aa2529fb45174056701
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/129022
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2022-01-27 12:04:24 +01:00
9c27377389 upgrade to box2d 2.4.1
Change-Id: I618467eb37ea578c17dab0810f0ed5ad160f1552
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/128789
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-01-24 09:58:45 +01:00
02140554ee WASM --enable-wasm-strip now skips lots of LO code
... resulting in a stripped-down, Writer-only build to decrease
the resulting WASM bytecode size.

It removes the following code from the build:
* All other major modules: Base, Calc, Chart, Draw, Impress and
  Math and related writerperfect filters
* The premultiply tables
* The (auto-)recovery functionality
* All accessibility (but not the accessibility document checker)
* The LanguageGuess component
* EPUB support
* The start center / BackingWindow
* The TipOfTheDay functionality
* The splash screen communication

Currently crashs with anything different then soffice --writer.
Closing the document also still crashes.

FYI: many of these features are now behind ENABLE_WASM_STRIP_*
defines, but they normally don't work on their own, globally!
That's because we started with stripping the main components.

Change-Id: Ib9c0f9452815910c0a2aceaf142ba1ad4a9cb0d7
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126182
Tested-by: Jenkins
Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
2022-01-20 12:28:54 +01:00
b7313bc131 WASM add fontconfig data to FS image
We probably want to pre-create the fontconfig cache in the image.
Startup time still is not really worse for me, but YMMV.

Change-Id: I419682339dd6d943753de9043ff82f2fb877b168
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/128624
Tested-by: Jenkins
Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
2022-01-19 19:28:12 +01:00
ed1aa172f8 Unify condition names and fix "else" paths
Drop Build prefix and settle on Lib and Exe prefixes. Also add a
note about the "else" part of the condition and fix offenders.
While at it, define COND_LIB_SAL_TEXTENC to be used by sal to
prevent diverting coditions in build and cxx code.

Change-Id: I944587ca1ccbe46b765d1a631a7214c8126fe951
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/128136
Tested-by: Jenkins
Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
2022-01-08 12:26:30 +01:00
c4b83dc2c4 CUCKOO_CFLAGS is unused
The include is set explicitly in RepositoryExternal.mk . And
when using system cuckoo, it's not necessary to refer to the
unpacked tarball location.

Change-Id: Idd241f7551fb98cb5948c4e7007204ad3a8d87a3
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/128061
Tested-by: Jenkins
Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2022-01-07 10:00:53 +01:00
a6fae99466 Disable epoxy test with --disable-gui
Instead of always testing for DISABLE_GUI, just disable the epoxy
test and handle !ENABLE_EPOXY in RepositoryExternal.mk.

Change-Id: I38213ffa77353bc93f32caa1b4164c5fa88170ac
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/127999
Tested-by: Jenkins
Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
2022-01-05 18:00:59 +01:00
df9cbdd226 Drop remnants of --with-webdav=neon
...that were left behind by 023ebf17898db4bca63129f079fd90b5cf76c1a9 "ucb:
remove --with-webdav=neon"

Change-Id: I617ca74d1c4b46d8f0b9dac317b5972bfb911813
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/127986
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2022-01-05 17:50:41 +01:00