summaryrefslogtreecommitdiff
path: root/external
AgeCommit message (Collapse)Author
2024-01-05Workaround for --disable-windows-build-signing --enable-dbgutil test buildsStephan Bergmann
Change-Id: I8c14cfafd39b8575a5e1e236f965283718777416 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161663 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
2024-01-05Fix `make create-update-info` (for Windows, at least)Stephan Bergmann
* The shell scripts that had once been copied from Mozilla to bin/update/*.sh are now included in onlineupdate-c003be8b9727672e7d30972983b375f4c200233f-2.tar.xz (which is still generated from the same <https://github.com/mozilla/gecko-dev/commit/c003be8b9727672e7d30972983b375f4c200233f> that was used for the original tarball in 3a445cb49795fabe0d8caaf12bfc38eb9e12d5fc "Turn onlineupdate into external/onlineupdate"). * The additional modifications in external/onlineupdate/lo.patch are: ** Allowing to pass the list of files into the mar tool via -f instead of on the command line, to avoid "command line too long" errors on Windows, inspired by the modifications once made directly in our old downstream sources with 4165dd4e465a86ba6abe9afb3abfda5ef72493ea "add a way to create mar file from file", 8e4d49340bd235a7db8fde1d24dd1d63ddc4d571 "use the new file based approach for the mar creation", and fb13ed6955cd66017e5348b915af371a184ea633 "add the manifest file to the mar file". (To keep things simple for now, it still uses a hard-coded maximum of 10000 lines in the file, marked with a TODO.) ** Not failing when "precomplete file is missing!" (There is a comment // Applications aren't required to have a precomplete manifest. The mar // generation scripts enforce the presence of a precomplete manifest. in workdir/UnpackedTarball/onlineupdate/onlineupdate/source/update/updater/updater.cpp and it appears to be OK that we don't have such a precomplete manifest file and just skip that test.) * In the Makefile.gbuild create-update-info, the create_full_mar.py script needs to be called with a Unix pathname on Windows, or else the #!/usr/bin/env python3 shebang in that script would get confused. * The related Makefile.gbuild targets upload-update-info and create-partial-info have not been addressed yet. Change-Id: Iab4e083ddbe99e07d846e202f20c6031e2983e1b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161656 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
2024-01-05upgrade libxml2, libxslt & liblangtagCaolán McNamara
what I'm really after is some vexating not-reproducible oss-fuzz msan warnings when using libxml2 in the fodt2pdf fuzzer. So lets upgrade libxml2 to the latest, which requires bumping libxslt, and then requires a newer liblangtag because of no longer implicit includes that it depended on. xmlKeepBlanksDefaultValue and xmlSubstituteEntitiesDefault are deprecated, we should get around to updating those uses Change-Id: I8fda0dffda0a7ea65407d246a3121875cb8ad4a4 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161598 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-01-05argon2: build opt.c again for WNT X86_64Michael Stahl
Commit 401e9408d14dc2b9d07183a04c223831a59f71a3 replaced opt.c with ref.c also for X86_64, which was probably not intended; apply patch only when needed. Change-Id: Ie7ca7b88751fb2d7de4d1a27e81c7f60a98359f7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161629 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
2024-01-03libexttextcat: package newer language modulesMiklos Vajna
Fixes warnings like these: Failed to open fingerprint file '/home/vmiklos/git/libreoffice/core-clang/instdir/program/../share/fingerprint/ilo.lm' Failed to open fingerprint file '/home/vmiklos/git/libreoffice/core-clang/instdir/program/../share/fingerprint/skr.lm' Change-Id: Ic3e5951707a3b6935edc51ee41d726e35d71bab0 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161586 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2024-01-02Re-enable MOZ_VERIFY_MAR_SIGNATURE featureStephan Bergmann
...that 3a445cb49795fabe0d8caaf12bfc38eb9e12d5fc "Turn onlineupdate into external/onlineupdate" had accidentally turned off Change-Id: I345d02a305a33fc641566d122c8cdb55c09599a2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161546 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
2024-01-02cid#1545836 COPY_INSTEAD_OF_MOVECaolán McNamara
Change-Id: Idb754296175f786c7850253749e3b7f968aa87fc Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161525 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2023-12-30cid#1546460 COPY_INSTEAD_OF_MOVECaolán McNamara
Change-Id: I562eea9548929f11de2a2b68bba09ae3a777ffe3 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161456 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2023-12-30tdf#77915 fix import of default shape fill colorAndras Timar
Change-Id: Ibbb1ec508dcd87512b4f4b6da8729255c7ed9fb0 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161396 Tested-by: Jenkins Reviewed-by: Andras Timar <andras.timar@collabora.com>
2023-12-24zxcvbn-c: disable warningsThorsten Behrens
Change-Id: I348dc5f92f41fc3e8c1aee8743d5e1cf86fa3bbb Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161259 Tested-by: Jenkins Reviewed-by: Thorsten Behrens <thorsten.behrens@allotropia.de>
2023-12-23tdf#105844 argon2: add vcxproj files for WinARM64 buildsThorsten Behrens
Also add argon2 to crossbuild tools side. Change-Id: I8704b2d8362a051c2d634b9db7416cdc2cf9add4 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161206 Tested-by: Jenkins Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org> Reviewed-by: Thorsten Behrens <thorsten.behrens@allotropia.de>
2023-12-23zxing-cpp: upgrade to release 2.2.1Taichi Haradaguchi
* remove 0001-android-Fix-build-with-NDK-26.patch, which was merged upstream. * remove DecodeHints from static lib, which according to upstream is not needed: https://github.com/zxing-cpp/zxing-cpp/issues/685#issuecomment-1853375179 * add a version header for client code generate/update via: * mkdir build && cd build && cmake .. * mv core/ZXVersion.h ../core/src/ Release Notes: https://github.com/zxing-cpp/zxing-cpp/releases/tag/v2.2.1 Change-Id: Ic4811d4724970c984dd9ed3d59b5204c18aafc6d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160528 Tested-by: Jenkins Reviewed-by: Thorsten Behrens <thorsten.behrens@allotropia.de>
2023-12-22Fix Windows MSI custom action for --enable-online-update-marStephan Bergmann
The install/uninstall actions need to be type 3137 to run privileged, which means that they must be placed within certain limits (e.g., not at "end") and that they cannot access INSTALLLOCATION (so need an additional un-privileged prepare action to forward that value). Plus, the call to CreateProcessW was passing arguments in a completely wrong way. And then some clean-up. Change-Id: I5b5f338da08931e48653f282cc9fa7b00955fea6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161191 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
2023-12-21Windows MSI custom action for --enable-online-update-marStephan Bergmann
...which needs to call update_service.exe with "install" (resp. "uninstall") and needs to create (resp. delete) a registry entry containing the issuer and name of the certificate with which the updater.exe is signed (which is required by one of the many sanity and security checks performed by update_service.exe before it will actually do an automatic update). (The issuer and name of the certificate are for now hardcoded to the values used by TDF when signing its Windows builds.) (gid_Customaction_uninstall_updateservice needs to run rather early, when update_service.exe has not yet been removed, so I rather randomly picked "MigrateFeatureStates" as the point where to run it.) Change-Id: I6e0f62ec3e51d74d4a526a490badc7c14ebe99ae Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161125 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
2023-12-21external/lcms2: fix lcms2-2.4-windows.patchTaichi Haradaguchi
fix typos and macros in code. Change-Id: I0886f3d95d87be70be1e7e6a220617f728fe6653 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161056 Tested-by: Jenkins Reviewed-by: Taichi Haradaguchi <20001722@ymail.ne.jp>
2023-12-20tdf#105844 offapi,package,sfx2: use Argon2 for wholesome ODF encryptionMichael Stahl
https://www.rfc-editor.org/rfc/rfc9106.html * add css::xml::crypto::KDFID constant group * add "KeyDerivationFunction" to setEncryptionAlgorithms sequence * Argon2 is used by default for wholesome ODF encryption, but $LO_ARGON2_DISABLE can be set to use PBKDF2 * extend various structs in package * use 3 new ODF attributes "loext:argon2-iterations" "loext:argon2-memory" "loext:argon2-lanes" to store the arguments * use this URL for now: "urn:org:documentfoundation:names:experimental:office:manifest:argon2id" * use default arguments according to second recommendation from "7.4. Recommendations" of RFC9106; 64 MiB RAM should hopefully not be too much even for 32 bit builds Change-Id: I683118cc5e0706bd6544db6fb909096768ac9920 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161009 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
2023-12-20ofz#65182 putcontig8bitYCbCr22tile issueCaolán McNamara
Change-Id: I0242059b17d07c0ab4ec83aabd073ee31c4631d2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161031 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2023-12-20argon2: oops, forgot to build static lib with -fPICMichael Stahl
... and Julien Nabet reports that Debian's default shell dash doesn't have "time", oddly enough. Change-Id: I82734bdf9e943522471c4c9189fac463bca2a3aa Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161008 Reviewed-by: René Engelhard <rene@debian.org> Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
2023-12-19Improve --enable-online-update-mar Windows MOZ_MAINTENANCE_SERVICE featureStephan Bergmann
To get the MOZ_MAINTENANCE_SERVICE mode going at all, update.status needs to contain a "pending-service" token. For Mozilla, code in its toolkit/mozapps/update/UpdateService.sys.mjs takes care of writing that. For us, lets always write that in update_checker() (even on Linux, where it's apparently harmless). Then, the MOZ_MAINTENANCE_SERVICE code is rather picky with its various sanity checks: Among other things, it expects argv[0] to be a full path to the updater executable, and it expects the update.mar (and its status and log files) to be in a directory hierarchy named updates/0/ rather than patch/. So get all that fixed in desktop/source/app/updater.cxx. And patch in external/onlineupdate/lo.patch where it expects to find the updater executable (just updater.exe vs. our program/updater.exe). And we shouldn't interfere with the upstream Mozilla maintenance service, so also rename that in external/onlineupdate/lo.patch. And `update_service install` wants to read version resources from the update_service.exe, so provide that (via gb_Executable_add_default_nativeres). Also, `update_service install` wants to read a MozillaMaintenanceDescription value from an updater.ini, so provide one (with contents of that value inspired by Mozilla's browser/locales/en-US/updater/updater.ini). As we now have an updater.ini anyway (and which apparently works fine with Unix line ends on both Linux and Windows), also use it on Linux and drop the onlineupdate/source/update/updater/progressui_gtk.cpp again from external/onlineupdate/lo.patch. And update external/onlineupdate/README.md how to manually execute that test against an updater.ini. Change-Id: I0e3e5e5311be61e1224cda700af2e5d751113a99 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160996 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
2023-12-19argon2: add new external libraryMichael Stahl
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-18fix system-abseil build even with 2022 versionRene Engelhard
actually it seems it was a internal abseil header from pdfium vs. system header mismatch. Include proper absl/container/inlined_vector.h if using system-abseil. While at it we can also just use pkg-config, no idea why I did it without back then. Also gets the advantage that it knows that the libs needed for absl_inlined_vector is actually -labsl_throw_delegate -labsl_raw_logging_internal -labsl_log_severity This effectively reverts e89723103313ec4366ee58144c47d7a5c16bf838 Change-Id: Ide4f79860b4e0673c5c6587d503058bdd2930744 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160846 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2023-12-15Turn onlineupdate into external/onlineupdateStephan Bergmann
...and update to latest Mozilla sources. Originally, this was a non-external onlineupdate module (plus correspsonding top-level include/onlineupdate/ directory) that apparently contained sources originally copied from Mozilla and subsequently modified in-place (plus, mixed in, presumably some sources that were not copied from Mozilla but were our own inventions). To clean up this mess, this has been turned into a proper external/onlineupdate module with a tarball containing the pristine external Mozilla sources. The sources for the onlineupdate-c003be8b9727672e7d30972983b375f4c200233f.tar.xz tarball are taken, somewhat arbitrarily, from a recent <https://github.com/mozilla/gecko-dev/commit/c003be8b9727672e7d30972983b375f4c200233f> ("Bug 1867784 - Force reflow all kids in the last column balancing reflow. r=layout-reviewers,dholbert") trunk state, by running `external/onlineupdate/generate-sources.sh ~/github.com/mozilla/gecko-dev` on a Fedora 39 machine. The layout of the tarball still mostly follows the old onlineupdate/ layout, even if that deviates heavily from the actual source layout at <https://github.com/mozilla/gecko-dev/>. (And some files, which apparently are not needed, anyway, lacked sources, see the "Missing source for" in external/onlineupdate/generate-sources.sh. And win_dirent.h/.cpp has meanwhile been superseded by updateutils_win.h/.cpp.) Merely newly included source files are laid out in the tarball according to the actual source layout. Any LO-specific modifications are made via patch files (rather than modifying the sources inline, as was done in the past): external/onlineupdate/lo.patch contains whatever modifications are needed to adapt the functionality, while external/onlineupdate/gtk3deprecated.patch fixes > workdir/UnpackedTarball/onlineupdate/onlineupdate/source/update/updater/progressui_gtk.cpp:97:21: error: use of undeclared identifier 'gtk_vbox_new'; did you mean 'gtk_box_new'? > 97 | GtkWidget* vbox = gtk_vbox_new(TRUE, 6); > | ^~~~~~~~~~~~ > | gtk_box_new to not use the deprecated gtk_vbox_new, which is hidden because we include -DGTK_DISABLE_DEPRECATED in our GTK3_CFLAGS as per our configure.ac. On Windows, the definition of __BYTE_ORDER__ etc. is needed because workdir/UnpackedTarball/onlineupdate/include/mozilla/ says "Our supported compilers provide architecture-independent macros for this", but MSVC doesn't actually, so define here what would implicitly be defined by GCC. Similarly, on Windows -U_WIN32_WINNT is needed to undo -D_WIN32_WINNT=0x0601 in solenv/gbuild/platform/windows.mk, which would cause > workdir\UnpackedTarball\onlineupdate\include\mozilla/WinHeaderOnlyUtils.h(537): error C2065: 'FILE_ID_INFO': undeclared identifier etc., despite the #include <windws.h> there. Curiously, the original gb_CustomTarget_CustomTarget,onlineupdate/generated from onlineupdate/CustomTarget_generated.mk had to be renamed to gb_CustomTarget_CustomTarget,external/onlineupdate/generated when the file was moved to external/onlineupdate/CustomTarget_generated.mk, as otherwise a top-level `make CustomTarget_onlineupdate/generated` would have failed with "No rule to make target..." Also, as there is no gb_CustomTarget_use_unpacked, its effect has been poorly mimicked for now in external/onlineupdate/CustomTarget_generated.mk. Similarly, as there is no gb_WinResTarget_use_unpacked, its effect has been poorly mimicked for now in external/onlineupdate/WinResTarget_updater.mk. The original onlineupdate/workben/test_dialog.cxx, which is actually code written by us, has been moved to external/onlineupdate/workben/test_dialog.cxx. The original onlineupdate/qa/ sources (which were apparently not used during the build) have been preserved for now as external/onlineupdate/qa/, for documentation purposes. The original onlineupdate/astyle.options (which was apparently not used during the build) has been removed. Change-Id: I5ea606202e7837269e7b128e45af2f0b8c277f9e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160492 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
2023-12-13Update pdfium to 6179Miklos Vajna
- Remove ubsan.patch, upstream switched to FXSYS_memset() in this function, which does a similar length check as our patch did. Change-Id: Ib418cd8e642d2be9f448c92f25f85bec25e34598 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160627 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2023-12-13reprobuild: don't write timestamps to clucene index filesThorsten Behrens
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-11-Wimplicit-function-declarationStephan Bergmann
> workdir/UnpackedTarball/zlib/gzlib.c:242:9: error: call to undeclared function 'lseek'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration] > 242 | LSEEK(state->fd, 0, SEEK_END); /* so gzoffset() is correct */ > | ^ etc., as causing an error now by default with Clang 18 trunk Change-Id: Ic19c5710357a1f65046b5a225c6a181c3046938c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160554 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
2023-12-11external/clucene: operation between different enumeration typesStephan Bergmann
> workdir/UnpackedTarball/clucene/src/core/CLucene/index/FieldsReader.cpp:233:58: error: invalid bitwise operation between different enumeration types ('lucene::document::Field::Store' and 'lucene::document::Field::Index') > 233 | f = _CLNEW LazyField(this, fi->name, Field::STORE_YES | getIndexType(fi, tokenize) | getTermVectorType(fi), length, pointer); > | ~~~~~~~~~~~~~~~~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~ as reported now with --with-latest-c++ (i.e., in C++26 mode) by Clang 18 trunk since <https://github.com/llvm/llvm-project/commit/1cbd52f791d3f088246526c0801634edb65cee31> "[Clang] Implement P2864R2 Remove Deprecated Arithmetic Conversion on Enumerations (#73105)" Change-Id: I2d48298bc64e05271ee5c33255d7d57fed6221cf Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160549 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
2023-12-11external/libetonyek: operation between different enumeration typesStephan Bergmann
> IWORKDiscardContext.cpp:85:30: error: invalid bitwise operation between different enumeration types ('libetonyek::IWORKToken::Namespace' and 'libetonyek::IWORKToken::(unnamed enum at ./IWORKToken.h:25:1)') > 85 | case IWORKToken::NS_URI_SF | IWORKToken::bezier : > | ~~~~~~~~~~~~~~~~~~~~~ ^ ~~~~~~~~~~~~~~~~~~ etc. as reported now with --with-latest-c++ (i.e., in C++26 mode) by Clang 18 trunk since <https://github.com/llvm/llvm-project/commit/1cbd52f791d3f088246526c0801634edb65cee31> "[Clang] Implement P2864R2 Remove Deprecated Arithmetic Conversion on Enumerations (#73105)" Change-Id: I28bfd1f90df048acea23d9fddd2010bcb537b251 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160553 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
2023-12-11external/libwps: operation between different enumeration typesStephan Bergmann
> MSWrite.cpp:1424:63: error: invalid arithmetic between different enumeration types ('MSWriteParserInternal::BitmapFileHeaderOffset' and 'MSWriteParserInternal::BitmapInfoHeaderV2Offset') > 1424 | unsigned offset = MSWriteParserInternal::BM_FILE_STRUCT_SIZE + MSWriteParserInternal::BM_INFO_V2_STRUCT_SIZE + colors * unsigned(sizeof(MSWriteParserInternal::BitmapPalette)); > | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ etc. as reported now with --with-latest-c++ (i.e., in C++26 mode) by Clang 18 trunk since <https://github.com/llvm/llvm-project/commit/1cbd52f791d3f088246526c0801634edb65cee31> "[Clang] Implement P2864R2 Remove Deprecated Arithmetic Conversion on Enumerations (#73105)" Change-Id: I6307978bc39e0f965144e0df3ac9a28eb817fe10 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160552 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
2023-12-11external/libebook: operation between different enumeration typesStephan Bergmann
> EBOOKDocument.cpp:150:37: error: invalid bitwise operation between different enumeration types ('libebook::EBOOKHTMLToken::(unnamed enum at ./EBOOKHTMLToken.h:21:1)' and 'libebook::EBOOKHTMLToken::Namespace') > 150 | if ((EBOOKHTMLToken::html | EBOOKHTMLToken::NS_html) == getHTMLTokenId(name, uri)) > | ~~~~~~~~~~~~~~~~~~~~ ^ ~~~~~~~~~~~~~~~~~~~~~~~ etc. as reported now with --with-latest-c++ (i.e., in C++26 mode) by Clang 18 trunk since <https://github.com/llvm/llvm-project/commit/1cbd52f791d3f088246526c0801634edb65cee31> "[Clang] Implement P2864R2 Remove Deprecated Arithmetic Conversion on Enumerations (#73105)" Change-Id: I799932d0dffec5e9345f29e14a2ee3f9a2add133 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160551 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
2023-12-11external/graphite: operation between different enumeration typesStephan Bergmann
> workdir/UnpackedTarball/graphite/src/Pass.cpp:197:92: error: invalid arithmetic between different enumeration types ('status_t' and 'graphite2::errors') > 197 | || e.test(m_cPConstraint.status() != Code::loaded, m_cPConstraint.status() + E_CODEFAILURE)) > | ~~~~~~~~~~~~~~~~~~~~~~~ ^ ~~~~~~~~~~~~~ etc. as reported now with --with-latest-c++ (i.e., in C++26 mode) by Clang 18 trunk since <https://github.com/llvm/llvm-project/commit/1cbd52f791d3f088246526c0801634edb65cee31> "[Clang] Implement P2864R2 Remove Deprecated Arithmetic Conversion on Enumerations (#73105)" Change-Id: I34b2743d46b8f46b1f39b2af812f95876e4b9e38 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160550 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
2023-12-10Remove hard limit to c89 for clangThorsten Behrens
This seems no longer true: "Windows MSVC only supports C90 so force gnu89" With that said, also do a revert: "external/libeot internally uses --std=c99, do not overrule that" This reverts commit 61a66b612eaeeb38d5d9f9aa83326be6b08c1b6f. Change-Id: Id628131b4fa6b61e19da6d862d773ab36f201729 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160454 Tested-by: Jenkins Reviewed-by: Thorsten Behrens <thorsten.behrens@allotropia.de>
2023-12-09fix lcms2 build on Windows AARCH64 - missig output path optionChristian Lohmaier
broke with e1473bc935b68147cb019572928e19a03f188f18 - the shipped config doesn't set the outdir for arm64 build, so the dll doesn't end up in the expected location. Note this only patches the 2019 config that is currently also hardcoded in the makefile Change-Id: I21e90cd15922bbe37b534b04362450e1f87662ef Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160497 Tested-by: Jenkins Reviewed-by: Taichi Haradaguchi <20001722@ymail.ne.jp>
2023-12-08fontconfig android: Drop obsolete patch for API level < 21Michael Weghorn
Now that the minimum SDK version/API level has been bumped to 21 in Change-Id: I875e784dd4e62993f51059ae6a280d425cb49c0a Author: Michael Weghorn <m.weghorn@posteo.de> Date: Tue Dec 5 09:57:22 2023 +0100 android: Bump minSdkVersion to 21 (Android 5.0) , this patch is no longer needed. Change-Id: I391657caac76ed5b66f564a5888a35b5afb16ed0 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160335 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2023-12-08external/libnumbertext: Silence -Werror,-Wdeprecated-declarationsStephan Bergmann
...when building against LLVM 18 trunk libc++, > In file included from Numbertext.cxx:6: > ~/llvm/inst/bin/../include/c++/v1/locale:3772:1: error: 'wstring_convert<std::codecvt_utf8<wchar_t>>' is deprecated [-Werror,-Wdeprecated-declarations] > 3772 | wstring_convert<_Codecvt, _Elem, _WideAlloc, _ByteAlloc>:: > | ^ > ~/llvm/inst/bin/../include/c++/v1/locale:3649:17: note: in instantiation of member function 'std::wstring_convert<std::codecvt_utf8<wchar_t>>::to_bytes' requested here > 3649 | {return to_bytes(__wstr.data(), __wstr.data() + __wstr.size());} > | ^ > Numbertext.cxx:164:22: note: in instantiation of member function 'std::wstring_convert<std::codecvt_utf8<wchar_t>>::to_bytes' requested here > 164 | return converter.to_bytes( s ); > | ^ > ~/llvm/inst/bin/../include/c++/v1/locale:3591:28: note: 'wstring_convert<std::codecvt_utf8<wchar_t>>' has been explicitly marked deprecated here > 3591 | class _LIBCPP_TEMPLATE_VIS _LIBCPP_DEPRECATED_IN_CXX17 wstring_convert > | ^ > ~/llvm/inst/bin/../include/c++/v1/__config:942:41: note: expanded from macro '_LIBCPP_DEPRECATED_IN_CXX17' > 942 | # define _LIBCPP_DEPRECATED_IN_CXX17 _LIBCPP_DEPRECATED > | ^ > ~/llvm/inst/bin/../include/c++/v1/__config:915:49: note: expanded from macro '_LIBCPP_DEPRECATED' > 915 | # define _LIBCPP_DEPRECATED __attribute__((__deprecated__)) > | ^ (The warning is apparently only emitted late during compilation when instantiating template code, so extending the existing `#pragma GCC diagnostic push/pop` area did not work, and the `#pragma GCC diagnostic ignored` rather had to be enabled all through to the end of the TU.) Change-Id: Iffc1c468426407e3252724d18f358b9923f7f733 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160437 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
2023-12-04Upgrade lcms2 to 2.15Taichi Haradaguchi
Added Windows-ARM64 support in release 2.13, so external/lcms2/lcms2-win-arm64.patch.1 and external/lcms2/lcms2_sln are not neccesary now. Fix external/lcms2/lcms2-2.4-windows.patch. Change-Id: I3b1ca0e715a5f500966d58971188f95a1f232883 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/157100 Tested-by: Jenkins Reviewed-by: Taichi Haradaguchi <20001722@ymail.ne.jp>
2023-12-01tdf#158442: fix opening hybrid PDFs on WindowsMike Kaganski
Commit 046e9545956d8ad1d69345d6b4a4c0a33714d179 (Try to revert to use of file_iterator from boost on Windows, 2023-10-31) had introduced a problem that pdfparse::PDFReader::read couldn't create file_iterator for files already opened with write access: mmap_file_iterator ctor on Windows used single FILE_SHARE_READ as dwSharedMode parameter for CreateFileA WinAPI; and that failed, when the file was already opened using GENERIC_WRITE in dwDesiredAccess - which happens when opening stream in TypeDetection::impl_detectTypeFlatAndDeep. Fix this by patching boosts' mmap_file_iterator constructor to use FILE_SHARE_READ | FILE_SHARE_WRITE, like we do in osl_openFile. But there was a pre-existing problem of using char-based CreateFileA API, which disallows opening any files with names not representable in current Windows codepage. Such hybrid PDF files would still fail creation of the file_iterator, and open as PDF. Fix that by further patching boost to have wstring-based constructors for file_iterator and mmap_file_iterator on Windows, which would call CreateFileW. Change-Id: Ib190bc090636159ade390b3dd120957d06d7b89b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160218 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2023-11-29backport skia "Avoid combining extremely large meshes" fixCaolán McNamara
Change-Id: Iaedd03ba4014b133bc28a4b0a6a7b6aaaaa39a97 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160114 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2023-11-28external/zxing: Backport my upstream fix for android build w/ NDK 26Michael Weghorn
Upstream issue/PR/commit: https://github.com/zxing-cpp/zxing-cpp/issues/673 https://github.com/zxing-cpp/zxing-cpp/pull/674 https://github.com/zxing-cpp/zxing-cpp/commit/295b193b0105e68bb24747aefbff2653df892b4c Change-Id: I47586e0e54b3661e4ca1b5c071f6595fd000cc70 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159999 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2023-11-13upgrade libcmisCaolán McNamara
Change-Id: Ie2d5f3f8208f9952db5be10905b5905cd03b91de Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159366 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2023-11-10Upgrade orcus to 0.19.2Kohei Yoshida
Change-Id: I2cbf5f93c3b8b2235828affdef7309c3611b19b2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159258 Tested-by: Jenkins Reviewed-by: Kohei Yoshida <kohei@libreoffice.org>
2023-11-09python3: name gdb pretty-printer after .so, not .binMichael Stahl
So it works not only with instdir/program/python but also with soffice in-process python. Change-Id: I5c3643ef4a7ca0f25df3c6f51d11ff98c27f4bd8 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159148 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
2023-11-09tdf#146386 curl,ucb: remove FTP UCPMichael Stahl
FTP support has been deprecated since LO 7.4. The UCP currently doesn't even support TLS connections. Also disable FTP protocol in libcurl. Also remove JunitTest_ucb_complex: turns out the only test in it, checkWrongFtpConnection, fails on Linux because now GIO UCP handles ftp:// URLs and it throws InteractiveAugmentedIOException instead of expected ones, and on other platforms it would fail differently because there is no GIO. Change-Id: I4631d124371fef390f105fb16bf09aaa59e739e7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159065 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
2023-11-07libcmis: fix regression setting wrong type of CURLOPT_SEEKFUNCTIONMichael Stahl
Change-Id: I45421bbe13626aa843380e77f589e793328f99d4 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159010 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
2023-11-06add --with-system-zxcvbnRene Engelhard
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-06libcmis: HttpSession: add a callback that can be used to configure libcurlMichael Stahl
Change-Id: I6c2a3d1976f2256b21a3a306db7fbf04ca444c32 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159000 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
2023-11-06libcmis: fix regression in HttpSession::initProtocols()Michael Stahl
Change-Id: I1d884945cc1f88a3abbf87c78227b56abf865c16 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158999 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
2023-11-03speed up hunspell inner loopNoel Grandin
which calls into the kernel to get elapsed time, instead of using the VDSO-based CLOCK_MONOTONIC (or at least, the C++ equivalent of that) , which is much faster Change-Id: I99d958b0ab64b75360db4e0c8a951c37af2505bc Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158809 Tested-by: Jenkins Tested-by: Caolán McNamara <caolan.mcnamara@collabora.com> Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2023-10-31ofz: lots of msan spam in LLVMFuzzerCustomMutatorCaolán McNamara
maybe this is that problem Change-Id: I646a93cf815455f3eb1176df0aac5dd6641de649 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158677 Tested-by: Jenkins Tested-by: Caolán McNamara <caolan.mcnamara@collabora.com> Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2023-10-30tdf#157518: external: bundle zxcvbn-cSarper Akdemir
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-28upgrade libtiff to 4.6.0Caolán McNamara
Change-Id: I839f78e5431caac378ce936aa5e34357144ae6b1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158593 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>