| 5ba1855c | 29-Aug-2026 |
Peter Kovacs <petko@apache.org> |
scaddins: trailing whitespace in Complex::Sech
Two spaces after "Num = 1.0 / Num;", arrived with c6461c6d88 "Calc: use STD C++ for Complex functions." pre-commit's trailing-whitespace hook runs --a
scaddins: trailing whitespace in Complex::Sech
Two spaces after "Num = 1.0 / Num;", arrived with c6461c6d88 "Calc: use STD C++ for Complex functions." pre-commit's trailing-whitespace hook runs --all-files on every pull request, so this one line fails the check for every change to the tree, not just for that commit.
Whitespace only -- `git diff --ignore-all-space` over this commit is empty.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01UWgzQY2r1XwFvgeLPFWPsi
show more ...
|
| 8cabe4bf | 29-Aug-2026 |
Peter Kovacs <petko@apache.org> |
pre-commit: make the --all-files run green again
.github/workflows/pre-commit.yml runs `pre-commit run --all-files` on every pull request, so three hooks were failing every PR regardless of what it
pre-commit: make the --all-files run green again
.github/workflows/pre-commit.yml runs `pre-commit run --all-files` on every pull request, so three hooks were failing every PR regardless of what it touched:
trim trailing whitespace.............................Failed (83 files) makes sure files end in a newline and only a newline.Failed (31 files) run codespell........................................Failed (2 files)
Whitespace, 88 files across chart2, connectivity and officecfg. Most of the trailing blanks are the "# " lines inside the ASF licence header of a gbuild makefile; the end-of-file ones are a second blank line after the vim modeline. Produced by running the hooks, not by hand:
pre-commit run trailing-whitespace --all-files pre-commit run end-of-file-fixer --all-files
`git diff --ignore-all-space --ignore-blank-lines` over that part of this commit is empty, so no byte a compiler, dmake or gbuild reads has changed.
Codespell, two findings, treated differently because only one is a typo:
* connectivity/Library_dbtools.mk:168 "depenedencies" -> "dependencies", in a comment. * bridges/.../rtti_crossdylib_test/thrower.cxx "nodel" is the no-op deleter handed to __cxa_throw -- a deliberate abbreviation, not a misspelling. Added to .github/linters/codespell.txt, which is what that list is for; renaming a function to satisfy a spell checker is the wrong way round.
The three fixes are one commit rather than three because they are not separable: the typo is in Library_dbtools.mk, which is also one of the 88 whitespace files, and pre-commit checks the staged content -- so a commit carrying either fix alone fails its own hooks.
After this, `pre-commit run --all-files` passes every hook.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01UWgzQY2r1XwFvgeLPFWPsi
show more ...
|
| e3e520e9 | 26-Aug-2026 |
Pedro F. Giffuni <pfg@FreeBSD.org> |
Calc: Replace some uses of Boost math functions for their C++ counterparts.
For the cases of acosh, asinh, atanh, expm1 and log1p we were making use of the Boost library which was/is available and o
Calc: Replace some uses of Boost math functions for their C++ counterparts.
For the cases of acosh, asinh, atanh, expm1 and log1p we were making use of the Boost library which was/is available and of good quality. Nowadays these are included in all reasonable standard C++ libraries and it makes sense to use them for consistency.
show more ...
|
| c6461c6d | 26-Aug-2026 |
Pedro F. Giffuni <pfg@FreeBSD.org> |
Calc: use STD C++ for Complex functions.
At first many of these calculations were handwritten and could overflow. Later we started using the available Boost for some edge cases which was a good solu
Calc: use STD C++ for Complex functions.
At first many of these calculations were handwritten and could overflow. Later we started using the available Boost for some edge cases which was a good solution to make up for the lack of such function in some of the supported platforms.
The latest versions of Boost though, are deprecating Boost complex functions in favor of the C++ standard library and its now time to catch up.
As a result of this change, the results of IMSECH and IMCSCH don't match the examples in the the help but matches the results in Excel.
show more ...
|
| fc6f23d8 | 23-Aug-2026 |
Pedro F. Giffuni <pfg@FreeBSD.org> |
calc/solver: Update error reporting for CoinMP
The solver component was made originally for lp_solve, which did basically the same as CoinMP, but handled differently some errors, in particular timeo
calc/solver: Update error reporting for CoinMP
The solver component was made originally for lp_solve, which did basically the same as CoinMP, but handled differently some errors, in particular timeouts.
Be more in line with CoinMP error reporting. By the way we set up the problem internally it is unlikely some of these will come up but defining them will make easier to understand what could go wrong.
show more ...
|
| 2e8c4aec | 07-Aug-2026 |
Jim Jagielski <jimjag@gmail.com> |
Run the Extension Manager update dialog on the main thread
Dialog::Execute() was called from the deployment worker thread, where AquaSalInstance::Yield cannot pump the Cocoa event queue, so on macOS
Run the Extension Manager update dialog on the main thread
Dialog::Execute() was called from the deployment worker thread, where AquaSalInstance::Yield cannot pump the Cocoa event queue, so on macOS "Check for Updates" left the dialog unstable.
show more ...
|
| ee5121da | 07-Aug-2026 |
Jim Jagielski <jimjag@gmail.com> |
ustring.c: gate the mixed UTF-16/ASCII NULL guards behind OSL_DEBUG_LEVEL
strtmpl.c's aImplGuardEmptyStr, which these macros reference, only exists under OSL_DEBUG_LEVEL > 0. Without a matching guar
ustring.c: gate the mixed UTF-16/ASCII NULL guards behind OSL_DEBUG_LEVEL
strtmpl.c's aImplGuardEmptyStr, which these macros reference, only exists under OSL_DEBUG_LEVEL > 0. Without a matching guard here, a product build fails: "use of undeclared identifier 'aImplGuardEmptyStr'". Mirrors strtmpl.c's own #if/#else pattern. Found rebuilding AOO42X in product configuration after picking this same fix (f0853378f1) there.
show more ...
|
| 6aebc026 | 07-Aug-2026 |
Jim Jagielski <jimjag@gmail.com> |
testtools: rebuild uno_types.rdb when bridgetest.idl changes
The registry merges in bridgetest.rdb but did not depend on it, so an IDL edit left it describing the old interface while the headers and
testtools: rebuild uno_types.rdb when bridgetest.idl changes
The registry merges in bridgetest.rdb but did not depend on it, so an IDL edit left it describing the old interface while the headers and libraries described the new one, and the bridge dispatched the added methods through stale vtable slots. It only ever came out right on a clean build.
$? can no longer name the copy source now that there are two prerequisites.
Found while building AOO42X on macOS/arm64, where it broke bridgetest after the arm64 bridge commits added methods to the IDL; committed there as 4421c0a19d. Build-tested on that branch only.
show more ...
|
| a282c51e | 07-Aug-2026 |
Jim Jagielski <jimjag@gmail.com> |
Fix the --with-system-icu build plumbing
icuversion.mk is only delivered when building the bundled ICU, so guard the include; with SYSTEM_ICU=YES even -include still lets make try, and fail, to rema
Fix the --with-system-icu build plumbing
icuversion.mk is only delivered when building the bundled ICU, so guard the include; with SYSTEM_ICU=YES even -include still lets make try, and fail, to remake it through the generic Package rule.
Also pass icu-config --cppflags through to compiles. That until now only worked by accident on Linux, where the ICU headers already sit in a default search path, and not on macOS.
Found while building AOO42X on macOS/arm64; committed there as 61ceef5ddb. Build-tested on that branch only.
show more ...
|
| df457996 | 06-Aug-2026 |
Jim Jagielski <jimjag@gmail.com> |
libxml2: build --without-iconv, and drop the resulting -liconv linkage
No OpenOffice code calls iconv, and libxml2-configure.patch has always meant to disable it -- but it patches the generated xmlv
libxml2: build --without-iconv, and drop the resulting -liconv linkage
No OpenOffice code calls iconv, and libxml2-configure.patch has always meant to disable it -- but it patches the generated xmlversion.h, which configure regenerates, so it never took effect. Windows already passed iconv=no.
--with-static-system-libs=libiconv stays, for a system libxml2 whose own build enabled iconv and whose xml2-config therefore reports -liconv.
show more ...
|
| f0853378 | 06-Aug-2026 |
Peter <leginee@users.noreply.github.com> |
Fix rtl string qa NULL-deref crashes (test bug + source hardening) (#486)
* Fix rtl string qa NULL-deref crashes (test bug + source hardening)
Error case 1 of the test migration: ~40 *_000 cases in
Fix rtl string qa NULL-deref crashes (test bug + source hardening) (#486)
* Fix rtl string qa NULL-deref crashes (test bug + source hardening)
Error case 1 of the test migration: ~40 *_000 cases in the rtl string qa suites passed NULL into C string functions that dereference it (e.g. rtl_str_compare(NULL, NULL)), causing 0xC0000005 AVs. These were dormant under the old dmake build and only surface now that the tests actually run. NULL violates the functions' documented contract ("must be null-terminated"), so the defect was in the tests, not the (correct, unchanged) source. Fixed both sides for defense in depth.
Tests (qa/rtl/ostring/rtl_str.cxx, rtl_string.cxx, qa/rtl/oustring/rtl_ustr.cxx): - Rewrote the UB NULL-deref cases as contract-respecting boundary tests (empty string, prefix/ordering-sign < 0 / > 0), which also closes a previously-untested coverage gap (result sign was never asserted). - Added real assertions to the safe NULL-with-length-0 cases, which document the length-bounded functions' tolerance as a regression guard.
Source (rtl/source/strtmpl.c, ustring.c): - Added entry-point NULL guards: OSL_PRECOND (diagnoses misuse loudly in non-product builds, compiles out in product builds) plus a defined empty-string fallback so the library never dereferences NULL. Guards sit at function entry, outside the per-character loops, so string-processing throughput is unchanged. - strtmpl.c: one edit covers both the sal_Char and sal_Unicode instantiations. getLength is the choke point (guarding it transitively protects hashCode, lastIndexOf*, indexOfStr, trim); compare/compareIgnoreAsciiCase/indexOfChar/replaceChar/ toAscii{Lower,Upper}Case/valueOfChar guarded directly. - ustring.c: guarded the 6 mixed UTF-16/ASCII comparison helpers; length-bounded args clamp the length to 0 to avoid NULL+0 pointer arithmetic.
BUILD.bazel: rtl_str/rtl_ustr/rtl_string removed from the "known upstream failures" notes; they now pass.
Verified: sal3.dll rebuilds (both template instantiations) and rtl_str / rtl_ustr / rtl_string all pass.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
* use guards only in debug mode.
* improved comment by elaborate that it has been the former test and not just The former
---------
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
show more ...
|
| aa60cec5 | 06-Aug-2026 |
Jim Jagielski <jimjag@gmail.com> |
--with-static-system-libs: accept NAME:DIR, and support libiconv
iconv is only ever pulled in as a transitive dep of the XML libs and has no --with-system-libiconv, so it has no prefix of its own --
--with-static-system-libs: accept NAME:DIR, and support libiconv
iconv is only ever pulled in as a transitive dep of the XML libs and has no --with-system-libiconv, so it has no prefix of its own -- hence the NAME:DIR form, e.g. --with-static-system-libs=libiconv:/usr/local. Pinning it rewrites -liconv in the libxml/libxslt/curl link flags and in the bundled-libxml2 macOS path in RepositoryExternal.mk and libs.mk.
The SDK ships only a .tbd stub for the iconv dylib, so there is no system libiconv.a to fall back on; without a prefix the link stays -liconv.
show more ...
|
| d77f6794 | 06-Aug-2026 |
Jim Jagielski <jimjag@gmail.com> |
Add --with-static-system-libs, and drop -licuuc from the dmake LIBXML2LIB
Takes a comma-separated list (libxml, libxslt, curl) and rewrites each "-lfoo" to the archive's absolute path, so a dylib si
Add --with-static-system-libs, and drop -licuuc from the dmake LIBXML2LIB
Takes a comma-separated list (libxml, libxslt, curl) and rewrites each "-lfoo" to the archive's absolute path, so a dylib sitting beside it can't win. Without it the choice is implicit -- and those dylibs carry absolute install names that don't exist on an end user's machine.
LIBXML2LIB now filters -licuuc as RepositoryExternal.mk already did, so dmake and gbuild consumers agree.
show more ...
|
| 7d1f0570 | 06-Aug-2026 |
Jim Jagielski <jimjag@gmail.com> |
deliver.pl: fix greedy base-name match in the macOS dylib linklib regex
\S matches dots, so the base name swallowed leading version components: libxslt.1.1.34.dylib keyed as libxslt.1.1 rather than
deliver.pl: fix greedy base-name match in the macOS dylib linklib regex
\S matches dots, so the base name swallowed leading version components: libxslt.1.1.34.dylib keyed as libxslt.1.1 rather than libxslt, and the unversioned symlink was never created. Two-component names were unaffected.
show more ...
|
| 9b92099a | 06-Aug-2026 |
Jim Jagielski <jimjag@gmail.com> |
RepositoryExternal.mk, libs.mk: prefer /usr/local/lib static libs on macOS
If the user already has a prebuilt libxml2.a/libxslt.a/libexslt.a/ libcurl.a/libiconv.a under /usr/local/lib, use that inst
RepositoryExternal.mk, libs.mk: prefer /usr/local/lib static libs on macOS
If the user already has a prebuilt libxml2.a/libxslt.a/libexslt.a/ libcurl.a/libiconv.a under /usr/local/lib, use that instead of what this tree just built. Falls back to the tree's own copy when absent.
show more ...
|
| 807b69bc | 06-Aug-2026 |
Jim Jagielski <jimjag@gmail.com> |
macosx-dylib-link-list.pl: skip .framework dependencies
The @rpath/... entry for a system framework (e.g. Xcode's bundled Python3.framework) isn't a flat libFOO.dylib, so locate() can never find it
macosx-dylib-link-list.pl: skip .framework dependencies
The @rpath/... entry for a system framework (e.g. Xcode's bundled Python3.framework) isn't a flat libFOO.dylib, so locate() can never find it and the script died with "unknown". These are system frameworks, not tree-built dylibs needing a -dylib_file fixup.
show more ...
|
| 8dfc6561 | 06-Aug-2026 |
Jim Jagielski <jimjag@gmail.com> |
RepositoryExternal.mk: link libxml2's static-lib private deps on macOS
A static archive doesn't record its transitive deps the way a dylib does. libxml-2.0.pc's own "Libs.private: -lpthread -liconv
RepositoryExternal.mk: link libxml2's static-lib private deps on macOS
A static archive doesn't record its transitive deps the way a dylib does. libxml-2.0.pc's own "Libs.private: -lpthread -liconv -lm" says what's actually needed; add it explicitly.
show more ...
|