Remove obsolete protobuf payment requests

This commit is contained in:
root
2026-05-03 05:30:25 +00:00
parent acf8b3ccb6
commit 9852dad996
34 changed files with 196 additions and 1288 deletions
+3 -3
View File
@@ -53,9 +53,9 @@ instead of being required as Ubuntu system development packages.
The Linux Qt wallet option also installs Ubuntu desktop development headers
needed by Qt's xcb platform plugin, including fontconfig, freetype, xcb, and
xkbcommon packages. Expat 2.8.0 and FreeType 2.14.3 are built through
`depends/` for the Linux Qt/font stack. The wallet helper uses the matching
`protoc` built by `depends/`, so a system protobuf compiler is not required. It
also clears stale Qt work directories before rebuilding, because failed CMake
`depends/` for the Linux Qt/font stack. Protobuf is not required because
obsolete BIP70 payment request support was removed. The helper also clears
stale Qt work directories before rebuilding, because failed CMake
feature checks can otherwise be cached between attempts.
Defaults
+1 -1
View File
@@ -24,7 +24,7 @@ from Ubuntu. See `doc/modernization.md`.
Dependencies
----------------------
brew install autoconf automake berkeley-db4 libtool boost miniupnpc openssl pkg-config protobuf python3 qt6 zmq libevent qrencode gmp
brew install autoconf automake berkeley-db4 libtool boost miniupnpc openssl pkg-config python3 qt6 zmq libevent qrencode gmp
See [dependencies.md](dependencies.md) for a complete overview.
+3 -4
View File
@@ -27,8 +27,8 @@ STANDARD BUILD WITH DEPENDS
make install (optional)
The native depends wallet path currently builds Qt 6.8.3, OpenSSL 3.5.6,
Boost 1.91.0, Expat 2.8.0, FreeType 2.14.3, protobuf, Berkeley DB, and
supporting libraries.
Boost 1.91.0, Expat 2.8.0, FreeType 2.14.3, Berkeley DB, and supporting
libraries.
For a daemon-only build:
@@ -45,8 +45,7 @@ data structures) - libevent : Networking (async networking) - libgmp :
Bignum arithmetic
Optional: - miniupnpc : UPnP support - libdb4.8 : Berkeley DB (wallet
builds only) - qt : GUI support - protobuf : GUI payment protocol -
libqrencode: QR code support - univalue : JSON parsing (bundled by
builds only) - qt : GUI support - libqrencode: QR code support - univalue : JSON parsing (bundled by
default) - libzmq3 : ZMQ notifications (>= 4.0.0)
See dependencies.md for version details.
+1 -1
View File
@@ -60,7 +60,7 @@ Why the helpers exist
The wallet build is sensitive to tool version mismatches:
* Native Ubuntu uses the deterministic depends Qt6, OpenSSL, Boost, Expat,
FreeType, protobuf, and supporting libraries.
FreeType, and supporting libraries.
* Windows cross-target wallets use the deterministic depends Qt6 path and
matching Qt host tools staged by depends.
+9 -11
View File
@@ -79,8 +79,8 @@ GENERAL DEPENDENCIES
automake pkg-config bsdmainutils curl git make tar patch \
cmake ninja-build python3
A host toolchain (build-essential) is required because some dependencies
(e.g., protobuf) build host utilities during the process.
A host toolchain (build-essential) is required because some dependencies build
host utilities during the process.
If building the Windows installer (`make deploy`):
@@ -133,7 +133,6 @@ The helper:
• Verifies the POSIX Mingw-w64 thread model.
• Builds the Win64 depends tree with Qt enabled.
• Stages matching Qt host tools (`moc`, `uic`, `rcc`) into the depends prefix.
• Builds/stages protobuf 2.6.1 `protoc` when system `protoc` is newer.
• Configures the wallet against the generated depends prefix.
Manual equivalent:
@@ -153,8 +152,7 @@ Manual equivalent:
--with-qt-libdir=$PWD/depends/x86_64-w64-mingw32/lib \
--with-qt-plugindir=$PWD/depends/x86_64-w64-mingw32/plugins \
--with-qt-translationdir=$PWD/depends/x86_64-w64-mingw32/translations \
--with-qt-bindir=$PWD/depends/build/x86_64-pc-linux-gnu/bin \
--with-protoc-bindir=$PWD/depends/build/x86_64-pc-linux-gnu/bin
--with-qt-bindir=$PWD/depends/build/x86_64-pc-linux-gnu/bin
make
============================================================
@@ -224,12 +222,12 @@ You MUST select the POSIX thread model when prompted by
update-alternatives.
============================================================
PROTOBUF NOTE
PAYMENT REQUEST NOTE
============================================================
The Windows depends build uses protobuf 2.6.1 headers and libraries. Do not use
a newer system `protoc` to regenerate wallet sources for this target. The helper
builds and stages a matching native `protoc` when needed.
Obsolete BIP70 payment request support was removed from Agrarian 2.0. The
Windows wallet build does not require protobuf or `protoc`. Standard
`agrarian:` URI payment links remain supported.
============================================================
QT NOTE
@@ -245,8 +243,8 @@ DEPENDS BASELINE NOTE
The 2.0 branch currently verifies Windows x86_64 builds against the same
modernized core dependency baseline as Linux: OpenSSL 3.5.6, Boost 1.91.0,
Qt 6.8.3, Berkeley DB 4.8.30, protobuf 2.6.1, libevent 2.1.8-stable, and GMP
6.3.0. Expat 2.8.0 and FreeType 2.14.3 are part of the Linux Qt/font depends
Qt 6.8.3, Berkeley DB 4.8.30, libevent 2.1.12-stable, and GMP 6.3.0. Expat
2.8.0 and FreeType 2.14.3 are part of the Linux Qt/font depends
path and are documented in `doc/dependencies.md`.
============================================================
+2 -1
View File
@@ -25,7 +25,6 @@ branch. You can find instructions for installing or building them in the
| OpenSSL | [3.5.6](https://www.openssl.org/source) | | No | | |
| GMP | [6.3.0](https://gmplib.org/) | | No | | |
| PCRE | | | | | [Yes](https://github.com/agrarian-project/agrarian/blob/master/depends/packages/qt.mk#L66) |
| protobuf | [2.6.1](https://github.com/google/protobuf/releases) | | No | | |
| Python (tests) | | [3.5](https://www.python.org/downloads) | | | |
| qrencode | [4.1.1](https://github.com/fukuchi/libqrencode/releases/tag/v4.1.1) | | No | | |
| Qt | [6.8.3](https://download.qt.io/official_releases/qt/) | 6.8 LTS | No | | |
@@ -40,6 +39,8 @@ Modernization notes
* Qt builds target Qt 6.8 LTS through the deterministic depends path.
* OpenSSL builds target OpenSSL 3.5 LTS through the deterministic depends path.
* Boost builds target Boost 1.91.0 through the deterministic depends path.
* Protobuf was removed with obsolete BIP70 payment request support. Normal
`agrarian:` URI payment handling remains available.
* Berkeley DB remains 4.8.30 in depends for legacy wallet portability. Wallets
built against other BDB major versions may not be portable.
+4 -1
View File
@@ -17,13 +17,16 @@ The current deterministic `depends/` baseline is:
- Expat 2.8.0 for the Linux Qt/font stack
- FreeType 2.14.3 for Qt 6 static font support
- Berkeley DB 4.8.30 for portable legacy wallet compatibility
- protobuf 2.6.1 for the existing Qt payment request sources
- qrencode 4.1.1 for Qt wallet QR code support
- libevent 2.1.12-stable
- GMP 6.3.0
- MiniUPnPc 2.3.3 when UPnP support is enabled
- ZeroMQ 4.3.5 when enabled
Obsolete BIP70 payment request support was removed to eliminate the protobuf
and `protoc` dependency from the wallet build. Standard `agrarian:` URI payment
links are still supported.
The currently verified binaries are:
- Ubuntu daemon and command-line tools