summaryrefslogtreecommitdiff
path: root/external/nss
AgeCommit message (Collapse)Author
2023-02-16android: Use actual Android API level for minSdkVersion, nssMichael Weghorn
When an Android API level is explicitly set with the `--with-android-api-level` switch introduced in commit 4c0bccbb21ba022fd9d630eb1d9ae34673b4dc11 Date: Thu Jul 4 09:06:49 2019 +0200 android: Allow specification of the API level. , use that for the minSdkVersion for the Android Viewer app and the API level for the NSS build, rather than leaving that hard-coded at API level 16. Building with a newer API level means that the app won't run on devices with older API levels. With this in place, this will be recognized at install time (installation will fail: INSTALL_FAILED_OLDER_SDK) rather than crashing at run time. Change-Id: Id6047b768d265b965696f3a3161d7828e5f3696e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/146127 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2023-02-16android: Switch from GNU binutils to support NDK 23.x, require 21.xMichael Weghorn
Relevant announcement from revision history for NDK 23 [1]: > * GNU binutils, excluding the GNU Assembler (GAS), has been removed. GAS > will be removed in the next release. If you are building with > -fno-integrated-as, file bugs if anything is preventing you from > removing that flag. Therefore, switch from uses of GNU binutils to the corresponding LLVM tools instead. NDK 20.x doesn't provide `llvm-ranlib` yet, so bump the minimum version to 21.x. Also drop the previous uses of `ANDROID_BINUTILS_PREBUILT_ROOT`, which appear to no longer be relevant by now. commit 4082a18406c18af7b4fcef7bd501c3679c3be56b Date: Wed Nov 22 23:08:06 2017 +0100 android: use unified headers and llvm-c++ STL (x86) with NDK 16 gnustl (and others) are to be removed in future versions of the ndk also bump gradle and build-tools to current versions along with it arm unfortunately crashes with llvm-c++, so keep with gnustl for now/fix that later that introduced one of those uses mentions issues on ARM, but building and running the app at least on my 32-bit ARM device (Samsung Galaxy S4 I9505, LineageOS 17.1/Android 10) didn't show any issues in a quick test with this change in place. Update the Jenkins config to switch from the now no longer supported NDK 20.1.5948944 to 23.2.8568313 for which building and running the app has been tested on devices for all of the four supported architectures with upcoming change Change-Id I9ea714255faf29d50bb5f8e206f13495637da867 "android: Require NDK 23 and use default linker lld" in place on top, s. that one's commit message for more details. Note however that the NDK version will be further updated to use NDK 25 in upcoming change Change-Id Ib8e65f433ee89ff1bc12432722570bf8f9f7ed85 ("android: Support NDK 24.x and 25.x, use NDK 25 for Jenkins"). [1] https://developer.android.com/ndk/downloads/revision_history [2] https://lists.freedesktop.org/archives/libreoffice/2023-January/089878.html Change-Id: I7645f8025d42f0fa384b5bceb31bb4b1c0a44cb5 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/146118 Reviewed-by: Michael Weghorn <m.weghorn@posteo.de> Tested-by: Michael Weghorn <m.weghorn@posteo.de>
2023-01-27Remove support for AIXStephan Bergmann
As discussed in the mailing list thread starting at <https://lists.freedesktop.org/archives/libreoffice/2023-January/089808.html> "Plan to remove dead C++ UNO bridge implementations (bridges/source/cpp_uno/*)", the bridge implementation at bridges/source/cpp_uno/gcc3_aix_powerpc is apparently dead and should thus be removed. However, that was the only bridge implementation for AIX, which implies that support for the AIX platform as a whole is dead and should thus be removed. Change-Id: I96de3f7f97d4fd770ff78256f0ea435383688be9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/146057 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2022-12-13nss: upgrade to release 3.86.0Taichi Haradaguchi
Change-Id: Ia236c7124d920785f7a2856db5ee1ccbef7a2d68 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/143038 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-09-20nss: update to release 3.83Taichi Haradaguchi
Change-Id: Ic1cb36b3a56cde40296fd46ef356dea286932692 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/140231 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-08-15external/nss: Fix -Wincompatible-function-pointer-typesStephan Bergmann
...with recent Clang 16 trunk since <https://github.com/llvm/llvm-project/commit/af01f717c48f0fd2481600ed6c00441763365b62> "Default implicit function pointer conversions diagnostic to be an error", causing > ../../../pr/tests/testfile.c:126:41: error: incompatible function pointer types passing 'void (*)(void *)' to parameter of type 'void *(*)(void *)' [-Wincompatible-function-pointer-types] > if (!pthread_create(&tid, NULL, start, arg)) { > ^~~~~ > /usr/include/pthread.h:204:15: note: passing argument to parameter '__start_routine' here > void *(*__start_routine) (void *), > ^ and > ../../../pr/tests/testfile.c:576:31: error: incompatible function pointer types passing 'PRInt32 (void *)' (aka 'int (void *)') to parameter of type 'void (*)(void *)' [-Wincompatible-function-pointer-types] > DirTest, &thrarg, > ^~~~~~~ > ../../../pr/tests/testfile.c:93:36: note: passing argument to parameter 'start' here > void (*start)(void *arg), > ^ Change-Id: I642e5ca69289993c86abafded65ac23a63fd837e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138267 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2022-06-01nss: remove nss-3.13.5-zlib-werror.patchMichael Stahl
The zlib module should be used instead of NSS' bundled zlib since commit 1c748fefc3c5b42e3548a1a7f5017a579982005a Change-Id: I0d820cdd795712a7dbe27ef114f0efddd3f436ef Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135235 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
2022-06-01nss: upgrade to release 3.79Michael Stahl
Fixes CVE-2022-1097 and moz#1767590 "memory safety violations" Change-Id: I6895f066ad943402231b616dae0d7ed6f5678b5e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135234 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
2022-04-20android: Use property instead of ANDROID_NDK_HOME env varMichael Weghorn
Write an `ndk.dir` property with the directory path to `android/source/local.properties` instead, similar to how it's done for `sdk.dir`. Also, rename the `ANDROID_NDK_HOME` variable that's assigned in configure.ac that holds the corresponding value to `ANDROID_NDK_DIR`, because the gradle warning still shows up if that environment variable is set in addition to having an `ndk.dir` property in `local.properties`. This makes the following gradle warning disappear: > > Task :stripStrippedUIDebugDebugSymbols > WARNING: Support for ANDROID_NDK_HOME is deprecated and will be removed in the future. Use android.ndkVersion in build.gradle instead. > Support for ANDROID_NDK_HOME is deprecated and will be removed in the future. Use android.ndkVersion in build.gradle instead. Note however, that with this approach of using the `ndk.dir` property instead of the suggested `android.ndkVersion` (with the latter having the stricter requirement that the `ndk` dir would have to be a subdir of the SDK dir), doing the actual upgrade to a newer Gradle (plugin) version in follow-up commit Change-Id Ia982d72d877e229c3006c6d528b830d16c88481f "android: Update Android Gradle Plugin to 7.1.3" revealed that the use of the `ndk.dir` property is deprecated in newer Gradle (plugin) versions as well, resulting in this warning. > > Task :stripStrippedUIDebugDebugSymbols > [CXX5106] NDK was located by using ndk.dir property. This method is > deprecated and will be removed in a future release. Please delete > ndk.dir from local.properties and set android.ndkVersion to > [20.0.5594570] in all native modules in the project. > https://developer.android.com/r/studio-ui/ndk-dir It might make sense to address that in a follow-up step, but for now, it's an improvement and keeps it working after the upgrade without potentially causing any incompatibility problems with existing autogen configurations, while support for the `ANDROID_NDK_HOME` env var that was used so far seems to have been dropped, resulting in > > Task :stripStrippedUIDebugDebugSymbols > Unable to strip the following libraries, packaging them as they are: > libc++_shared.so, libfreebl3.so, liblo-native-code.so, libnspr4.so, > libnss3.so, libnssckbi.so, libnssdbm3.so, libnssutil3.so, > libplc4.so, libplds4.so, libsmime3.so, libsoftokn3.so, > libsqlite3.so, libssl3.so. instead if upgrading gradle without switching to the use of the property. Change-Id: I4a090e8736dac80777f69b0e12819b9c056f582b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/133177 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2022-04-07nss: depend on zlibMichael Stahl
Required on WNT since 1c748fefc3c5b42e3548a1a7f5017a579982005a, may be needed on other platforms if using --without-system-zlib. Change-Id: Ib8e544d81881f425d257514fc475e272ca2e53ed Reviewed-on: https://gerrit.libreoffice.org/c/core/+/132648 Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de> Tested-by: Jenkins
2022-04-01nss: build with zlib module on WNTMichael Stahl
Change-Id: Ie875b4a8df1697de83a8f22cb1170a49792c47e6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/132367 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
2022-02-25Drop support for $host_os = 'macos*', in addition to 'darwin*'Stephan Bergmann
...which had originally been added with baab4f890c8ac99d1b8dab5790fbb7ab949100ab "Initial WIP steps for building for macOS on Apple Silicon" for unclear reasons (just stating "use 'darwin' (or 'macos')" in the commit message), and then further improved with 5a0991c9cd60b6ab10fe0665511e7749a0c0ecc2 "mac: allow cross compiling with host/build x86_64-apple-macos". But it turns out that manually specifying --host or --build =...-macos rather than =...-darwin has issues as discussed in the comments at <https://gerrit.libreoffice.org/c/core/+/130353> "icu: override platform flags for MacOS build", and which can hopefully be avoided by not allowing =...-macos in the first place, and rather forcing people to specify =...-darwin. Change-Id: Ib100b7270250083eba4146430e967073a8cbca46 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/130505 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2022-01-31externals: always provide platform configure flagsJan-Marek Glogowski
No idea why we just provided the platform flags when cross- compiling. In the curious case, where the host platform is detected as x86_64-pc-mingw32 per default and we actually want to override it with x86_64-pc-cygwin, we don't do a cross compile, but must override the host platform. But there is additional special handling needed for the omitted cross-platform build in the special case of --host=i686-pc-cygwin and --build=x86_64-pc-cygwin, where we deliberatly ignore cross building; Windows is already a slow build, so try to keep this optimization (AMD64 can execute x86 binaries). There is the theoretical case, where the externals config.guess would have detected something else and that "magically" even worked, while the LO detected triplet would fail, but this should be fixed in the external in any way. Change-Id: Ib7a9719e0e406fe90334b7611dc3f01b51692bfa Reviewed-on: https://gerrit.libreoffice.org/c/core/+/129153 Tested-by: Jenkins Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
2021-11-03external/nss: Silence invalid-null-argumentStephan Bergmann
...that happens now with --with-webdav=curl, > libc.c:107:21: runtime error: null pointer passed as argument 1, which is declared to never be null > /usr/include/string.h:65:33: note: nonnull attribute specified here > #0 in nsslibc_memequal at workdir/UnpackedTarball/nss/nss/lib/base/libc.c:107:14 (instdir/program/libnss3.so +0x68cdb7) > #1 in nssItem_Equal at workdir/UnpackedTarball/nss/nss/lib/base/item.c:185:12 (instdir/program/libnss3.so +0x68f59c) > #2 in find_object_in_collection at workdir/UnpackedTarball/nss/nss/lib/pki/pkibase.c:714:18 (instdir/program/libnss3.so +0x63a72c) > [...] > #49 in (anonymous namespace)::UpdateCheckThread::run() at extensions/source/update/check/updatecheck.cxx:534:48 (instdir/program/../program/libupdchklo.so +0x2235de) > #50 in threadFunc at include/osl/thread.hxx:189:15 (instdir/program/../program/libupdchklo.so +0x251c74) > #51 in osl_thread_start_Impl(void*) at sal/osl/unx/thread.cxx:264:9 (instdir/program/libuno_sal.so.3 +0x65689f) The topmost nsslibc_memequal itself appears to be modeled after memcmp and not be intended to be called with null pointer arguments even if the size argument is zero, see its leading #ifdef NSSDEBUG if ((((void *)NULL == a) || ((void *)NULL == b))) { nss_SetError(NSS_ERROR_INVALID_POINTER); if ((PRStatus *)NULL != statusOpt) { *statusOpt = PR_FAILURE; } return PR_FALSE; } #endif /* NSSDEBUG */ in workdir/UnpackedTarball/nss/nss/lib/base/libc.c, so rather put the check for zero into the calling code in nssItem_Equal. However, it is unclear to me whether one->data can legitimately be null there (and the patch is thus correct) or not (and the patch would thus silence a bug elsewhere; esp. given that nsslibc_memequal would return false instead of true in this case when compiled with NSSDEBUG.) Change-Id: Ie7556283cda500130dfcd1cfd315294277573b7c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124663 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2021-10-29external/nss: More -Werror,-Wunknown-pragmas with clang-clStephan Bergmann
> In file included from C:/lo-clang/core/xmlsecurity/source/xmlsec/nss/ciphercontext.cxx:28: > In file included from C:/lo-clang/core/workdir/UnpackedTarball/nss/dist/public/nss\pk11pub.h:12: > In file included from C:/lo-clang/core/workdir/UnpackedTarball/nss/dist/public/nss/pk11hpke.h:8: > C:/lo-clang/core/workdir/UnpackedTarball/nss/dist/public/nss/blapit.h(66,9): error: unknown pragma ignored [-Werror,-Wunknown-pragmas] > #pragma deprecated(DSA_SUBPRIME_LEN, DSA_SIGNATURE_LEN, DSA_QBITS) > ^ Change-Id: If84d8640d770ed20a6492678a9bc7fe4f4a547f4 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124407 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2021-10-20nss: upgrade to release 3.71Michael Stahl
* external/nss/nss.getopt.patch.0: fixed upstream * external/nss/nss-win-arm64.patch: fixed upstream * external/nss/nss_macosx.patch: one hunk was fixed upstream Change-Id: I2bcfbbdd29651c75537419caab9a3cce5d564131 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/123817 Tested-by: Jenkins Reviewed-by: Tor Lillqvist <tml@collabora.com>
2021-08-13nss: fix build on ppc64le LinuxPaul Menzel
Change-Id: Id67afe505e97a4e2ac8502d32d9cdda475234b64 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120386 Reviewed-by: Michael Stahl <michael.stahl@allotropia.de> Tested-by: Jenkins
2021-03-23Rename LO Windows arm64 ID to aarch64Jan-Marek Glogowski
The Windows platform is called Arm64. But now that the ID for Mac is also going to be renamed from arm64 to aarch64, this get's rid of the arm64 as the UNO identifier and user in gbuild, just like on all other Arm64 platforms. Change-Id: I60a7eafd04b426f17b6e41ad9a09e6405c0d4173 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/112973 Tested-by: Jenkins Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
2021-01-28mac: allow cross compiling with host/build x86_64-apple-macosChristian Lohmaier
apple silicon supports to cross compile without special build-tools/full cross-compiling setup, so just always pass the build/host for firebird. firebird and nss don't recognize the -macos specifier, so substitute it by -darwin to make those happy… Change-Id: I953317fc87da2a20dc91acd88c8528796c3b2a69 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/110093 Tested-by: Jenkins Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
2021-01-28nss: makefile bitrot: no need for android spcial case anymoreChristian Lohmaier
check for AARCH64 is done for all OS now, so get rid of the superfluous statement. The all-OS line was initially ARM64 for apple silicon, then AARCH64 was added in addtion since that is what ~all other tools use as label - and finally use withing LO was also unified to use AARCH64 and ARM64 was removed… Change-Id: Ief7e5d8bd399c839ff2910fa91ca5bbbff4bcf31 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/110080 Tested-by: Jenkins Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
2021-01-19nss: fix parallel build race in nsinstall.pyMichael Stahl
File "/home/tdf/lode/jenkins/workspace/android_aarch64/external/nss/nsinstall.py", line 112, in nsinstall os.makedirs(args[0]) File "/opt/rh/rh-python38/root/usr/lib64/python3.8/os.py", line 223, in makedirs mkdir(name, mode) FileExistsError: [Errno 17] File exists: '../../../../dist/public/dbm' ../../../coreconf/rules.mk:119: recipe for target '../../../../dist/public/dbm/d' failed Change-Id: I4273e6d3d5fa520353fff8738823ef281fe237ed Reviewed-on: https://gerrit.libreoffice.org/c/core/+/109619 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
2021-01-03Fix nss build on Raspberry pi4Julien Nabet
In file included from gcm-arm32-neon.c:16: /usr/lib/llvm-11/lib/clang/11.0.0/include/arm_neon.h:32:2: error: "NEON support not enabled" error "NEON support not enabled" ^ gcm-arm32-neon.c:21:5: warning: implicit declaration of function 'vst1_u8' is invalid in C99 [-Wimplicit-function-declaration] vst1_u8(outbuf, vrev64_u8(vcreate_u8(ghash->x_high))); ^ gcm-arm32-neon.c:21:21: warning: implicit declaration of function 'vrev64_u8' is invalid in C99 [-Wimplicit-function-declaration] vst1_u8(outbuf, vrev64_u8(vcreate_u8(ghash->x_high))); ^ gcm-arm32-neon.c:21:31: warning: implicit declaration of function 'vcreate_u8' is invalid in C99 [-Wimplicit-function-declaration] vst1_u8(outbuf, vrev64_u8(vcreate_u8(ghash->x_high))); ^ gcm-arm32-neon.c:27:15: error: unknown type name 'uint8x16_t'; did you mean 'uint16_t'? static inline uint8x16_t ^~~~~~~~~~ uint16_t /usr/include/arm-linux-gnueabihf/bits/stdint-uintn.h:25:20: note: 'uint16_t' declared here typedef __uint16_t uint16_t; ^ gcm-arm32-neon.c:28:13: error: unknown type name 'uint8x8_t'; did you mean 'uint8_t'? clmul(const uint8x8_t a, const uint8x8_t b) ^~~~~~~~~ uint8_t etc. Change-Id: I1e241cea5becb159f8b0f898270dc88f93f68670 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/108634 Tested-by: Jenkins Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2020-12-21ios,nss: use AARCH64 consistentlyMichael Stahl
Presumably missing from 1cee06c080bceab86ac894f8ae86d4d296b050aa Change-Id: I0f658bb36179b741f6f47264ee1400633db69d6d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/108064 Tested-by: Tor Lillqvist <tml@collabora.com> Reviewed-by: Tor Lillqvist <tml@collabora.com>
2020-12-07More NSS fixes for macOS on arm64Tor Lillqvist
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@collabora.com>
2020-10-20Unbreak nss build for the native arm64 on an Apple Silicon MacTor Lillqvist
I had managed to break it with 92b99bddb63b1bf4a639fc969727ac35b3ed1ac8 that made it possible to build for (Rosettafied) x86_64 on an Apple Silicon Mac. Change-Id: I337f2a8e777394e586f659fadd819cf7dfc0a332 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/104546 Reviewed-by: Tor Lillqvist <tml@collabora.com> Tested-by: Tor Lillqvist <tml@collabora.com>
2020-10-14Fix build for Intel on an Apple Silicon MacTor Lillqvist
Change-Id: Id1a5906db87b05218b0810045c698e5ab2a09eca Reviewed-on: https://gerrit.libreoffice.org/c/core/+/104271 Tested-by: Tor Lillqvist <tml@collabora.com> Reviewed-by: Tor Lillqvist <tml@collabora.com>
2020-10-05Fix nss build for iOSTor Lillqvist
Change-Id: Ib7d1fdfc8394c7356db436e5d1bf6126c164bacc Reviewed-on: https://gerrit.libreoffice.org/c/core/+/103937 Tested-by: Tor Lillqvist <tml@collabora.com> Reviewed-by: Tor Lillqvist <tml@collabora.com>
2020-10-02nss: restore manual pre-dependency buildJan-Marek Glogowski
We had some seldom build failures on Windows, with errors like: PermissionError: [WinError 32] The process cannot access the file because it is being used by another process: '..../nssckmdt.h'. This happens, because of the "." / parent shell hack. Thinking about it again, it doesn't prevent the parent make to run in parallel to the "." directory make. So I tried to use a terminal match-all rule like ifneq (,$(filter .,$(DIRS))) %:: # empty terminal rule triggered $(error can't happen) endif to stop the original parent make, but that doesn't work and the $(error ...) is triggered. So AFAIK I'm out of options here and have to restore the old manual pre-dependency build variant - still much better then no parallel build. An alternative idea was to put the rest of the rules.mk in the "else" of the terminal rule, to skip all normal rules, but this still leaves out all rules from the rest of the make-files, which might result in some hard to debug errors. This reverts my upstream patch 15608:744881490c78. Change-Id: I9e2e9e1ec9f35697c7853c92f60434f514cba5ab Reviewed-on: https://gerrit.libreoffice.org/c/core/+/103777 Tested-by: Jenkins Reviewed-by: Tor Lillqvist <tml@collabora.com> Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
2020-09-23tdf#128136: Build curl, nss, and xmlsec for iOS, tooTor Lillqvist
We must link nss statically, including the three dylibs that normally are loaded at run-time, because including bare dylibs in an iOS appp on the App Store is not OK. See https://developer.apple.com/forums/thread/125796 . For linking the softokn3 library statically, NSS already had code, behind NSS_STATIC_SOFTOKEN ifdefs. Introduce two more macros: NSS_STATIC_FREEBL for the freebl library and NSS_STATIC_PKCS11 for the nssckbi library. Turn off parallelism for the sub-make building nss. There seems to be race conditions or something when running simultaneous instances of the nsinstall.py script or the nsinstall program in nss (used when building nss for the build platform). When cross-compiling from macOS, use python3 to run the nsinstall.py script, as it is Python 3. Change-Id: Idd427b5ebf21f802b3feb0d5a3d259317ba8fc67 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/103106 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Tor Lillqvist <tml@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/103218 Tested-by: Jenkins
2020-09-17nss: fix Windows Arm64 buildJan-Marek Glogowski
Change-Id: I59834daebd6c9ccd1255be6f08e5f61b20ee06e4 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/102853 Tested-by: Jenkins Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
2020-08-18nss: fix Android buildMichael Stahl
Change-Id: I8d6704a00ee70c1cb397f8f12dac8050f24f44be Reviewed-on: https://gerrit.libreoffice.org/c/core/+/100917 Tested-by: Michael Stahl <michael.stahl@cib.de> Reviewed-by: Michael Stahl <michael.stahl@cib.de>
2020-08-10nss: upgrade to release 3.55.0Michael Stahl
Fixes CVE-2020-6829, CVE-2020-12400 CVE-2020-12401 CVE-2020-12403. (also CVE-2020-12402 CVE-2020-12399 in older releases since 3.47) * external/nss/nss.nspr-parallel-win-debug_build.patch: remove, merged upstream Change-Id: I8b48e25ce68a2327cde1420abdaea8f9e51a7888 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/100345 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@cib.de>
2020-08-07Use USE_DLFCN also on macOS on arm64Tor Lillqvist
Change-Id: I8975ea2d4f33a101b5ac6db247a6dd062bc0c410 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/100273 Tested-by: Jenkins Reviewed-by: Tor Lillqvist <tml@collabora.com>
2020-08-07Update config.{guess,sub} with latest versions and handle fallout of thatTor Lillqvist
From http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD and http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD . This time, do not apply the add-on change from 25a09c8776cc6088a5b2bf13dc84eb386c26bb7e to config.sub, but keep it pristine. Instead, let's start using the name "aarch64" instead of "arm64" for macOS and iOS in the autofoo context, as that is what those tools call it. Clang and Apple call it arm64, though. Change-Id: I1e05866c5fb08e0800cdfeaf7f6a71bfb43d1777 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/100272 Tested-by: Jenkins Reviewed-by: Tor Lillqvist <tml@collabora.com>
2020-07-05Set CROSS_COMPILE=1 when cross-compiling nssTor Lillqvist
Change-Id: Iad826eb83e4c49078e6c668661446b5b70e6a981 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/97987 Tested-by: Jenkins Reviewed-by: Tor Lillqvist <tml@collabora.com>
2020-07-05Be more generic for CPUNAME=ARM64Tor Lillqvist
It's used not just for iOS but can be macOS too. Also, nss wants to call it CPU_ARCH=aarch64. Change-Id: I6398c3bf1409f2ccf16b0d154ad7c2b56f493b15 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/97986 Tested-by: Jenkins Reviewed-by: Tor Lillqvist <tml@collabora.com>
2020-07-05We don't actually build nss for iOS, but if we did, it would be for arm64Tor Lillqvist
iOS is 64-bit only since long. Change-Id: Ic0d9f69764951f420be10947c5b8889a3f95962c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/97985 Tested-by: Jenkins Reviewed-by: Tor Lillqvist <tml@collabora.com>
2020-07-05Use up-to-date config.{guess,sub} for external/nss, tooTor Lillqvist
Change-Id: I387aba22b90ab1bde1ae3659ea06a5838c1c829d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/97983 Tested-by: Jenkins Reviewed-by: Tor Lillqvist <tml@collabora.com>
2020-07-04Remove leftovers for OS X on PowerPCTor Lillqvist
Change-Id: Id9d553e58635c2fa7414108467ff7d22f5c74c41 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/97980 Tested-by: Jenkins Reviewed-by: Tor Lillqvist <tml@collabora.com>
2020-06-23Add getopt declarationsTor Lillqvist
Avoids: implicit declaration of function 'getopt' is invalid in C99 [-Werror,-Wimplicit-function-declaration]. Change-Id: Ic178f53d1002425df52e220b1723fb12edca13df Reviewed-on: https://gerrit.libreoffice.org/c/core/+/96910 Tested-by: Jenkins Reviewed-by: Tor Lillqvist <tml@collabora.com>
2020-06-01NSS: update Android and iOS patchesJan-Marek Glogowski
They now apply again without any fuzz hunks. Change-Id: I8200494b43b97ada66aeb4fa8f9737c3a720dbe2
2020-05-31NSS: enable parallel buildJan-Marek Glogowski
Since NSS 3.53, the Makefile based build should be fixed (upstream bug 290526). The only missing patch is a minimal NSPR fix for the "NSPR, configure + make, parallel, Windows, MS VS, debug" build. That patch isn't incuded in the NSPR 4.25 release (but it's already in the mercurial repo for NSPR 4.26). Change-Id: I8eaa3792a12bdff734e56ac3f552991478957e23 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/95218 Tested-by: Jenkins Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
2020-05-07no longer force -arch:SSE on WindowsLuboš Luňák
SSE2 has been pretty much a requirement for running Windows since about 2018, so there should be ~nobody needing this. https://lists.freedesktop.org/archives/libreoffice/2020-May/085029.html Change-Id: I579eb92c18e42c57aa1421b889cfa7997b84915f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/93558 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2020-04-23Use equal number of leading and trailing context lines in patchTor Lillqvist
At least the patch program on macOS seems to require it. Change-Id: I9943134c7fb672226cbde52e35ef78f74f060ed0 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/92756 Tested-by: Jenkins Reviewed-by: Tor Lillqvist <tml@collabora.com>
2020-03-27revert the gyp-based nss build changesLuboš Luňák
https://lists.freedesktop.org/archives/libreoffice/2020-March/084769.html etc. This reverts commit c76fdcf1cfa1242e66b50ebe80d6eac1baae37a9. This reverts commit 10f52ab4d27263439d59f55f40e88ad2fde0cf71. This reverts commit eac806e8dcd9ee6439ac8695978ff6b62cc6b8d2. This reverts commit d591a682e46ff352f06a61c024ef661dd17f4ea4. This reverts commit 12235d3390a7fc5146bf65f9d6166034b8a048ee. This reverts commit 23245f723fb29262b8543d6447d1b0bb69cb50fb. This reverts commit 91658b402b66b67c785687d5b3a76e3183fe76bf. This reverts commit 5feadfad0cc3be2680213d2e5f6f786b2f4cc74f. This reverts commit fecca49c309fc723c524f12fa671114b316a5562. This reverts commit c6a9454e744289cf2004b42b3c90854b2db8382b. This reverts commit a1a62a70411cb6041b5930ead08280d5e1e7b5f9. This reverts commit 8512f4ca090c85477a6670438aeefe7fdfcf8a98. This reverts commit 532ffb7a297d55b495141ce33692df5d9917b54f. Change-Id: Iaa48d692bea2ca2468cdd5f8ad26ad91c0c31dde Reviewed-on: https://gerrit.libreoffice.org/c/core/+/91199 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2020-03-26try to fix UnicodeDecodeError with gyp when building nssLuboš Luňák
https://ci.libreoffice.org/job/gerrit_windows/60353/consoleFull fails for some reason when gyp tries to read the variables set up by the MSVC .bat file that sets up environment for cl.exe . Presumably there is some env. variable that has incorrect content for cp1252 encoding. Try to simply ignore such errors and make Python replace the character with something. Change-Id: Id5fca688fdd533fad2789a391928777b5065ec20 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/91149 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2020-03-25nss: fix this up to work with Online againMiklos Vajna
Regression from commit 8512f4ca090c85477a6670438aeefe7fdfcf8a98 (build nss using their new build system (gyp/ninja-based), 2020-02-19), the problem was that for some reason nss was pre-loaded in the past in some magic way, but after that commit we need to do this explicitly. Additionally, if the core.git build is a debug one, we now get an nss assert that checks if there was a fork between loading and using nss. I don't think that was enabled before, so just patch that out to fix the build breakage on the online.git side. online.git's unit-password-protected now passes again with this. Change-Id: I56c0019c446b4cabbb73141bbff80e8d8ffdb54c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/91068 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2020-03-25Properly quote $(NINJA)Stephan Bergmann
At least on my Windows machine I had always had C:\Program Files (x86)\Ninja 1.7.1 in Path, so that `which ninja` in configure.ac puts export NINJA=/cygdrive/c/Program Files (x86)/Ninja 1.7.1/ninja into config_host.mk, with spaces and parentheses that need to be quoted here. Change-Id: I938f8914cbc9b7eff7a41009f12cd95abeb4421c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/91042 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2020-03-25remove a dependency that doesn't make a senseLuboš Luňák
Change-Id: Idc88476213a01643f5ba6b8ea9fbee78673d7769 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/91032 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2020-03-25Missing dependencyStephan Bergmann
Change-Id: I877364593025de65695995729a12294748c949ec Reviewed-on: https://gerrit.libreoffice.org/c/core/+/91010 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>