Before this change, if you made a typo such as `-parellel-8` when trying to run
tests, you'd get a backtrace that's difficult to interpret. With this change,
you'll get a better error message and a non-zero exit code.
Remove unmaintained translations mentioned in 2a0c36b6, except for
bitcoin_fr_CA.ts, as there has been activity on this, indicating
that this is important to support.
This commit adds a configuration option, `enable-bip70`, to enable this
feature. Only enable this if you know what you're doing.
Please note that BIP-21 payment links continue to work.
Co-authored-by: Old Dip Tracker <patricklodder@users.noreply.github.com>
rebranded strings from "satoshi" to "koinu"
Revert "rebranded strings from "satoshi" to "koinu""
This reverts commit f03c63a4d3489ed4945eebbb63eef496438e6a4c.
Revert "rebrand strings containing "satoshi(s)""
This reverts commit ae0c5ebfff83297165a65dc94be1ad13fbb2b99c.
rebrand strings (koinu)
rebrand strings (koinu)
changed dates back
For 7019ead, a separate CI job was created because bionic's gcc-7
didn't have sha512 intrinsics support. Now that we've moved to a
focal build system, the experimental CI job for aarch64 can be ran
as a single job again.
We do not need libx11 to compile Qt with some very minor patches.
Removing this removes attack surface from dogecoin-qt and reduces
future maintenance cost.
- Removes packages:
- libX11
- libXext
- xextproto
- xtrans
- Patches Qt to not try to include X11 anywhere
- Removes x11-xcb check from bitcoin_qt.m4
- Remove permission to depend on libX11*so in release binaries
Backported-from: 1ec30b8f
aa53cb7a
92456991
0c55d8b5
689d3b4a
Co-Authored-By: Carl Dong <contact@carldong.me>
dbus is not used by qt in depends per documentation of the
-dbus-runtime configuration flag - it uses the packaged interface
and can be removed as a managed dependency.
Since dbus interfaces are only used on linux, remove it from the
windows and macOS configurations.
Backported-from: e8fabd92
6fdf5dab
Co-authored-by: fanquake <fanquake@gmail.com>
Remove functionality of Qt that we do not need, resulting in a
smaller dogecoin-qt binary and a reduced attack surface.
- removes all image support except png
(xpm is needed for qt binary build tools)
- no longer use Qt's built-in libjpeg
- disable all unused features
Items that cannot be removed vs Bitcoin Core:
For paper wallets:
- printer dialogs and pdf
- html rendering
For BIP70 payment requests:
- network configuration
- openssl
- socks5 support
Adds a lint job to the CI where we can do sanity analysis on
included files to help spot errors on non-cpp source files
that may cause problems during runtime.
This first job implements contrib/devtools/check-translations.py
that alerts the repository of errors in the translation files in
src/qt/locale. Errors in a translation file are otherwise only
becoming visible during runtime.
remove misinformation, this belongs in the dogecoin/docs/build-unix.md page, not under cross compilation for windows. Installing these linux libraries and interfere with libs cross-compiled from /dogecoin/depends/packages m4's. This line can be put in the build-unix.md, but it definitely doesnt belong here.
Reasons for the change:
1) Type Safety:
nullptr is a keyword introduced in modern C++. It's designed to be type-safe, meaning it can only represent a null pointer value.
NULL, on the other hand, is typically defined as 0. It's a macro and is not type-safe. This means you can unintentionally assign NULL to an integer variable without any compiler warnings.
2) Explicit Null Pointer Value:
nullptr is explicitly defined to represent a null pointer value. It's clear and unambiguous.
NULL is usually defined as 0, which can lead to ambiguity. For instance, when comparing a pointer to an integer, it's unclear whether you're checking for a null pointer or a zero integer value.
3) Consistency with C++:
nullptr is consistent with the principles of modern C++. C++ is a strongly typed language, and nullptr is designed to be a type-safe representation of a null pointer.
NULL is a legacy from C and is essentially a macro for 0. It doesn't align as well with the type-safe nature of C++.