This version fixes a compile error when building for linux-aarch64.
Differential Revision: https://phabricator.services.mozilla.com/D103001
--HG--
extra : rebase_source : 3aebc2380d6d2ab86c1cf1929b94f65bf704bc46
These will not be covered by CI for the moment because the global exclude does
not permit reincluding certain files. That deficiency in coverage can be addressed
in a follow-up bug.
Differential Revision: https://phabricator.services.mozilla.com/D95403
--HG--
extra : rebase_source : 984f3e236e2b0390ae9e374908d77fbf94603e5e
extra : histedit_source : b4e584a4c399820d36ba13eb44fe18c94d9252e0
When rnp_export.h was created in bug 1651031, the export symbols update script
stopped working as the C preprocessor could not find rnp_export.h in its include
path.
New symbols were also added.
Differential Revision: https://phabricator.services.mozilla.com/D95945
--HG--
extra : moz-landing-system : lando
The header parameter to check_symbol_exists() could be a list of strings or a single
string. The only place where a list is sent is for mkdtemp which could be in
stdlib.h or unistd.h depending on the operating system.
Currently, the check for mkdtemp always fails as the generated C code is invalid.
Differential Revision: https://phabricator.services.mozilla.com/D95377
--HG--
extra : moz-landing-system : lando
Check for the presence of <sys/time.h> at configure time. With the Windows
build updates in D90161, it will not be present on our Windows builds anymore
and other systems that do have it the check will succeed as expected.
Depends on D90161
Differential Revision: https://phabricator.services.mozilla.com/D90169
--HG--
extra : moz-landing-system : lando
With https://github.com/rnpgp/rnp/pull/1232 being merged upstream, we can
remove most of the workarounds from the niwcompat directory.
What remains is dirent.h, which RNP pulls in via vcpkg and an empty getopt.h
header file.
getopt itself is not required by librnp.so, it's only used by some commandline
utilities. However, uniwin.h imports it unconditionally so an empty header file
is included for compatibilty.
Differential Revision: https://phabricator.services.mozilla.com/D90161
--HG--
extra : moz-landing-system : lando
The options to patch will disable checking for a possibly reversed patch and
save the reject file in the temporary directory so that it can be inspected
after the changes are reverted.
Differential Revision: https://phabricator.services.mozilla.com/D88912
--HG--
extra : histedit_source : 3564365bd2144d30738f21ab44a36a6032279763
Windows resource files were preprocessed by a Perl script that has been replaced
with a Python script. DEFINE variables from moz.build do not seem to be supported
in the rewrite. This change will produce the same result using DEFINES that
are already known to version_win.py.
--HG--
extra : rebase_source : 9022ca0d30325ba2a976d3ac74f83b37b424363c
New mach configure flag --with-system-botan is available if --enable-openpgp
is set (the default).
Differential Revision: https://phabricator.services.mozilla.com/D85227
--HG--
rename : third_party/botan/moz.build => third_party/botan/botan.mozbuild
extra : moz-landing-system : lando
New mach configure flag --with-system-bz2 is available if --enable-openpgp
is set (the default).
Firefox had this flag previously, but it has been removed.
Differential Revision: https://phabricator.services.mozilla.com/D84613
--HG--
extra : moz-landing-system : lando
New mach configure flag --with-system-jsonc is available if --enable-openpgp
is set (the default).
This also splits up the header checks for JSON-C from librnp's checks. There's
quite a bit of overlap amongst the dependencies.
Differential Revision: https://phabricator.services.mozilla.com/D84612
--HG--
extra : moz-landing-system : lando
The include path for building librnp needs to be built incrementally depending
on the flags passed to configure. The COMPILE_FLAGS dictionary cannot be updated in a
template function so just work with CXXFLAGS directly.
Differential Revision: https://phabricator.services.mozilla.com/D85308
--HG--
extra : moz-landing-system : lando
Circumvents the problems with libstdc++ symbols problem by replacing it with
LLVM's libc++ only when building on Taskcluster. libc++abi is a required
companion library.
Since libc++ is not as ubiquitous as libstdc++ on Linux, it is statically linked.
The libc++ license permits this quite explicitly.
When librnp (and more precisely Botan) is compiled and linked this way, there are
no references to libstdc++ in the resulting librnp.so file.
Depends on D80223
Differential Revision: https://phabricator.services.mozilla.com/D80224
--HG--
extra : moz-landing-system : lando
Using update_rnp.sh.
Revision: eabaa5d07ae453c44dfa272f25ad7b5e41c8e5fb
--HG--
extra : rebase_source : e0aa4b42ef566c98f91629a56707ca87fd25947f
extra : histedit_source : a8e4c98f8f2a97fde14bd4bc564304e31592dbcf
Trap any errors that happen and run the catch_err function to
revert any changes.
--HG--
extra : rebase_source : 36284369ef4021571ffc52746fc8253cd191da46
extra : histedit_source : 02ef84a69ba3f0e43c2ce84c422f650cda0a2df4
COMPILE_ENVIRONMENT will not be set for L10n repacks.
--HG--
extra : rebase_source : 6525c25a25e38a086159dd1e3d833bb3e970cdbe
extra : histedit_source : acfe09eb053910286ff89b37d7daf4c649cdebe2
Compiler-based checks don't work when --enable-artifact-builds is set, so
those checks need to have a when=compile_environment condition.
Botan's configure script fails without a proper compiler and needs to be
disabled.
Script and moz.build configuration for Botan for use in Thunderbird.
Runs Botan's configure.py with the desired options to generate a usable
build.h.
Differential Revision: https://phabricator.services.mozilla.com/D70756
--HG--
extra : moz-landing-system : lando
These are missing defines and a few functions that are used by
the RNP library but are not part of the Microsoft runtime.
dirent.h is an MIT licensed "header" file that contains opendir(),
readdir(), and closedir() for Windows. Copyright and license are
included in the file itself.
sys/time.h contains an implementation of gettimeofday() for Windows
that's used in rnp/src/lib/crypto/s2k.cpp.
Differential Revision: https://phabricator.services.mozilla.com/D70739
--HG--
extra : moz-landing-system : lando
Modifications are documented in README.rnp and update-rnp.sh
Differential Revision: https://phabricator.services.mozilla.com/D70738
--HG--
rename : third_party/README.libotr => third_party/README.rnp
extra : moz-landing-system : lando
Bzip2 is a required dependency for RNP which will not be present
on all supported operating systems.
Differential Revision: https://phabricator.services.mozilla.com/D70735
--HG--
extra : moz-landing-system : lando
Zlib is a required dependency for RNP which will not be present
on all operating systems that we support.
Differential Revision: https://phabricator.services.mozilla.com/D70734
--HG--
extra : moz-landing-system : lando
Copy libotr libraries from $MOZ_FETCHES_DIR to objdir/dist/bin during the
libs phase of the build process.
Update package-manifest.in accordingly do it's included in the final package.
This step is configured so that it only runs when building on Taskcluster.
It's expected that distributions packaging their own builds will have libotr
own libotr package and will not need to have it bundled.
--HG--
extra : rebase_source : 3984421242743d268ce965b90b37226af80072af
extra : histedit_source : 987102e2527e1e0cc89b0be95ee68db08705d380
Build libotr for OTR messaging feature. The script is intended to run on
Taskcluster, and will not be part of the normal build process.
--HG--
extra : rebase_source : 74f00cf2942fbfe55cd12057410119bfa58b3392