[Libreoffice-commits] core.git: Changes to 'private/tml/lov-7.0.4'
Tor Lillqvist (via logerrit)
logerrit at kemper.freedesktop.org
Sun Dec 13 18:27:11 UTC 2020
New branch 'private/tml/lov-7.0.4' available with the following commits:
commit 9863c8d8e7b3cc01b1383a6c937f88aa4517920f
Author: Tor Lillqvist <tml at iki.fi>
Date: Sun Dec 6 18:43:10 2020 +0200
More NSS fixes for macOS on arm64
I think the attempt to set CPU_ARCH in
external/nss/ExternalProject_nss.mk does not actually work. And
anyway, it should be arm64 for macOS on arm64, not aarch64.
Now NSS configury correctly finds the APIs present in the system when
building for macOS on arm64. Previously, it attempted to compile the
test snippets for PowerPC... which caused for instance dladdr() not to
be found, which caused the softokn3 loading to fail.
(It's somewhat surprising that the NSS configury still has "support"
for MacOS on PowerPC... Do people really build latest and greatest NSS
on such machines? Or is it just a leftover and the NSS people never,
ever, remove anything?)
Change-Id: I0dc35df0460db7997efcfdf92594fd8ae352aa49
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/107316
Tested-by: Jenkins
Reviewed-by: Tor Lillqvist <tml at collabora.com>
commit d0aaf0933fef8fbb91e62a6ee5c221462530a564
Author: Tor Lillqvist <tml at iki.fi>
Date: Sat Dec 5 18:16:37 2020 +0200
Remove remaining bogus use of objc_msgSend()
Follow-up to 5bf61e98b0746a4afeb68a80e54b4eb4bf4ea89f.
Should avoid crashes when running as arm64 code on macOS on arm64.
Change-Id: Id05d182684df82c8a7bf09f6bb7e8ccb01997b62
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/107259
Tested-by: Jenkins
Reviewed-by: Tor Lillqvist <tml at collabora.com>
commit 5dc5a0c362788d265aadde77f855306e7c07fc7a
Author: Tor Lillqvist <tml at iki.fi>
Date: Sat Dec 5 17:25:30 2020 +0200
Fix crash or hang on macOS on arm64 when opening a file picker
There is no reason to not mention the NSOpenSavePanelDelegate protocol
that AquaFilePickerDelegate implements.
The way we used objc_msgSend() caused a crash or hang. (I saw both,
depending on whether the code was built for debugging or not). For
some reason we used to cast it to a function with variadic parameters
like:
reinterpret_cast<id (*)(id, SEL, ...)>(objc_msgSend)(
m_pDialog, @selector(setDelegate:), m_pDelegate);
This does not work in arm64 code on macOS. (See
https://developer.apple.com/documentation/apple_silicon/addressing_architectural_differences_in_your_macos_code?language=objc
, the "Don't Redeclare a Function to Have Variable Parameters"
section.)
We could have replaced the ellipsis with the actual type of the first
real parameter in this call, or just "id" would have worked fine. But
it is much simpler to just do what we mean directly:
[m_pDialog setDelegate:m_pDelegate];
I need to look through the code for other places where we have used
objc_msgSend() in a similar fashion.
Change-Id: Ia93b2007ed8f263eaf99d604a3c88e857efbb421
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/107257
Tested-by: Jenkins
Reviewed-by: Tor Lillqvist <tml at collabora.com>
commit 22da09f764a9df524207df0bbb2a274f9924fd58
Author: Stephan Bergmann <sbergman at redhat.com>
Date: Wed Dec 2 11:14:19 2020 +0100
external/firebird: Fix checks for null HANDLE in Windows-only code
Change-Id: I428bbdae91eaf69df43ae054a95e8da3fb1aa7dc
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/107056
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman at redhat.com>
commit ac3ba63c876c364c3bdfb8fc1c39b80a890f8cea
Author: Tor Lillqvist <tml at iki.fi>
Date: Fri Nov 27 00:41:00 2020 +0200
Fix Firebird build on macOS on arm64
Must set RAW_DEVICES_FLG=N for this architecture, too. Make the
prefix.darwin_arm64 match the x86_64 one. Don't bother defining ARM64,
just check for __aarch64__.
Change-Id: I9de67493cb159ce97a46cdd1974b04753518c703
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/106716
Tested-by: Jenkins
Reviewed-by: Tor Lillqvist <tml at collabora.com>
commit 12464a04ae5090402ec3e88763ff65075c7ae96d
Author: Stephan Bergmann <sbergman at redhat.com>
Date: Tue Nov 24 08:22:51 2020 +0100
New UBSan failures with Firebird 3.0.7
While building ExternalProject_firebird: For one, the ICU UCHAR_TYPE mismatch
> workdir/UnpackedTarball/firebird/src/intl/cs_icu.cpp:66:30: runtime error: call to function ucnv_fromUChars_68 through pointer to incorrect function type 'int (*)(UConverter *, char *, int, const unsigned short *, int, UErrorCode *)'
from 61411db9f719d793f0665a4d278e0748e8fcd75f "external/firebird: ICU_UCHAR_TYPE
breaks -fsanitize=function" returned in a slightly different form. Instead of
passing in the problematic UCHAR_TYPE macro from
external/firebird/ExternalProject_firebird.mk, Firebird now set it internally in
src/common/common.h. And for another, it grew a new invalid-shift-base at
> workdir/UnpackedTarball/firebird/src/yvalve/gds.cpp:2564:33: runtime error: left shift of negative value -1
(And beyond that there were no further new ASan/UBSan issues with a full `make
check screenshot`.)
Change-Id: Ie15cf6bde2df7dc784fec89045026f71747aa0bb
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/106477
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman at redhat.com>
commit 70c79929dd2fd851aedcf162284cb495db277a83
Author: Julien Nabet <serval2412 at yahoo.fr>
Date: Fri Nov 13 18:45:29 2020 +0100
firebird: update to 3.0.7
This tries to get rid of a lot of cruft from older builds and it
also aims to build as much as possible on Windows.
The firebird-cygwin-msvc-warnings.patch should be optional. It
gets rid of various compiler warnings on Windows, either by
disableing or fixing them:
- fix: D9002 - ignoring unknown option '-fno-rtti'
- fix: D9024 - unrecognized source file type <filename>, object
file assumed
- ign: C4291 - <declaration>: no matching operator delete found;
memory will not be freed if initialization throws an exception
- ign: C4477 - <function>: format string <string> requires an
argument of type <type>, but variadic argument number has
type <type>
And I explicitly got rid of the "win32" handling and simply use
arch depending patches on Windows, which strips additional stuff.
sberg adds: I have no idea how in an upstream macOS build the empbuild
executible in gen/examples should now find @rpath/lib/libfbclient.dylib, as it
does not have an RPATH set. So add an appropriate one in
external/firebird/firebird-macosx.patch.1's patch of
builds/posix/Makefile.in.examples (which needs to know whether we do a Debug or
a Release build; an attempt of using firebird's $(IsDeveloper) for that caused
other failures, see bca0dc97bf3d1348c928bdaf4964524374835823 "Revert
'external/firebird: Pass --enable-developer into configure'", so use LO's
$(ENABLE_DEBUG) and rely on that being exported from LO's make into firebird's
make). Also, the fbclient and Engine12 dylibs now have RPATHs set which we do
not need in LO (where we still stick to our general use of @loader_path), so
drop them in external/firebird/ExternalProject_firebird.mk (even though leaving
them in should be harmless).
Change-Id: Id34bb88900d15f89adda03e34af2ac3d4f6aa085
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/105440
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman at redhat.com>
commit a27ac3e9ea321bceeddf5704724ebf69277058ca
Author: Jan-Marek Glogowski <glogow at fbihome.de>
Date: Sun Nov 15 19:57:48 2020 +0100
firebird: build fixes (incl. parallel build)
The main idea is to get rid of the "unset MAKEFLAGS". AFAI can
see, the whole CPU stuff isn't used anymore. So we can drop the
whole FB_CPU_ARG handling. Since LO doesn't use any of make's
implicit rules, the build breaks, but luckily it just requires a
single rule for the btyacc build - just a Firebuild build tool.
Then there is the whole broken handling of LIBTOMMATH and
LIBATOMIC_OPS already in LO's configure.ac. I don't know if any
internal build of Firebird with these as system libs would work.
I guess people either have a system Firebird or also build with
internal libtommath and libatomic_ops. This fixes just the
obvious errors. I didn't try to build it, so there might still
be typos (TBH I thought hard about just dropping the system
build of these libraries, after seeing the broken configure.ac).
And I'm not sure our / the system boost preprocessor library is
ever used over the Firebird-internal copy. It also looks like
it's also just used in an other build tool and nothing of the
Firebird DB itself depends on it.
Then there is the movement of the install_name_tool / otool
patching on MacOS from the patch into the ExternalProject to
further shrink the patches, as the build doesn't depend on it.
This also introduces a different debug build mode for the
gcc-/g++-wrapper: MSVC_USE_INDIVIDUAL_PDBS.
It uses -Fd to write a separate PDB per output file instead of
using -FS to use sync writes to a single PDB, which might work
around the PDB access failures seen by Jenkins for linking
executables. In theory it's also faster and should work with all
the other wrapper users, but I don't want to open that can of
additional build errors (yet), for eventually marginal gains.
Change-Id: I8d4c5d2f17def9e840a67ef1004787e8baaffa83
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/105902
Tested-by: Jenkins
Reviewed-by: Jan-Marek Glogowski <glogow at fbihome.de>
commit 5d6676b9e3a2152766fe4022991bec8042dc438e
Author: Tor Lillqvist <tml at collabora.com>
Date: Mon Nov 16 19:29:04 2020 +0000
Make firebird build for macOS on arm64
No idea whether it works.
Change-Id: I008cf9fab56bedb2e1f33ad6a99c9cd95d7483a7
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/106024
Tested-by: Jenkins
Reviewed-by: Tor Lillqvist <tml at collabora.com>
commit 0be47835f27b87fc69cb993e61859558fb98754b
Author: Stephan Bergmann <sbergman at redhat.com>
Date: Mon Nov 16 15:22:55 2020 +0100
Modify the non-symlink libfbclient.dylib.3.0.0
At least in my --enable-debug build,
workdir/UnpackedTarball/firebird/gen/Debug/firebird/lib originally contains
libfbclient.dylib -> libfbclient.dylib.2
libfbclient.dylib.2 -> libfbclient.dylib.3.0.0
libfbclient.dylib.3.0.0
so if we modify libfbclient.dylib with install_name_tool, it will break the
symlink and modify libfbclient.dylib but not libfbclient.dylib.3.0.0---where the
latter is what gets delivered via external/firebird/ExternalPackage_firebird.mk.
(This didn't cause any issues, though, because gb_LinkTarget__use_libfbembed in
RepositoryExternal.mk links against the modified libfbclient.dylib in workdir,
not against the delivered libfbclient.dylib.3.0.0, so e.g. Library_firebird_sdbc
did already contain the correct @loader_path/libfbclient.dylib.3.0.0 reference.
Also, the `install_name_tool -id` treatment of libEngine12.dylib in
external/firebird/firebird-macosx.patch.1 should not technically be necessary,
as nothing links against that library; but if left unmodified, it would record
the build machine's
/full-path-to/workdir/UnpackedTarball/firebird/gen/Debug/firebird/plugins/libEngine12.dylib
so better "clean it up". Also, the `install_name_tool -change` treatment of
libEngine12.dylib in external/firebird/firebird-macosx.patch.1 is necessary
because otherwise it would record a full-path dependency to
/full-path-to/workdir/UnpackedTarball/firebird/gen/Debug/firebird/lib/libfbclient.dylib.3.0.0
which macosx-change-install-names.pl, called from MAKE_POST in
external/firebird/ExternalProject_firebird.mk, would not adjust. With all those
modifications in external/firebird/firebird-macosx.patch.1, the call to
macosx-change-install-names.pl should effectively have nothing left to do, as
these libraries do not depend on any other LO-provided libraries, but better
leave it in place anyway.)
Change-Id: Icf7f2ff5cb844b07be223e0b74cd6a650725777a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/105946
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman at redhat.com>
commit b8f5b5ca09d4282c75260bce4940cc4aec55a2ab
Author: Tor Lillqvist <tml at collabora.com>
Date: Fri Nov 20 01:02:02 2020 +0200
Check first if there is such a "bin" directory before attempting to use it
In the test-install target in Makefile.in we remove the "bin" folder
of the LibreOfficePython framework.
Change-Id: Idf3d440c4f9465f21b5dcae60d4fc5ac21965dd8
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/106284
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice at gmail.com>
Reviewed-by: Tor Lillqvist <tml at collabora.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/106398
Tested-by: Jenkins
commit 955f15cb2b4b3843b35cea00c008e7735ed5d1fe
Author: Tor Lillqvist <tml at collabora.com>
Date: Thu Nov 19 22:04:21 2020 +0200
Allow --enable-macosx-sandbox without the codesigning identities
For cases where you just want "make test-install" to construct an app
bundle that you will manipulate and then sign separately.
Change-Id: Iad805618f74ec783ebc013a664f928511b388383
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/106185
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice at gmail.com>
Reviewed-by: Tor Lillqvist <tml at collabora.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/106260
Tested-by: Jenkins
commit 5f5008362381069851c403e94f6158dbed6bee7f
Author: Tor Lillqvist <tml at collabora.com>
Date: Wed Dec 2 12:21:36 2020 +0200
Drop Python modules we don't want on macOS, too, like on other platforms
On macOS, for various reasons, we use a different approach than on
other platforms to construct the bundled Python.
Instead of explicitly listing what to include (out of what Python
contains and builds) (in ExternalPackage_python3.mk), after Python is
built, we remove stuff we don't want (in ExternalProject_python3.mk)
and then include everything left in the LibreOfficePython.framework
(in GeneratedPackage_python3.mk).
This fixes a problem in App Store review: For some reason the review
said that the setcchar() function from the ncurses library, used by
Python's curses module, is non-public. No idea why the (automated)
review picked on that function. As far as I see from the ncurses
header in the SDK, that function is no less public than the other
ncurses functions that the Python module uses.
But oh well, we don't actually ship the curses module anyway on other
platforms, so just drop it on macOS, too. And while at it, drop the
other unwanted ones, too. And any binary shared libraries for them.
Change-Id: Idecaf10a6fb1c59e8711095927f5699b8d2ec98e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/107055
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice at gmail.com>
Reviewed-by: Tor Lillqvist <tml at collabora.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/107141
Tested-by: Tor Lillqvist <tml at collabora.com>
More information about the Libreoffice-commits
mailing list