commit: a5bb9ec8742c7ad5b3541da1cea7988f97416272 Author: Victor Skovorodnikov <victor3.14 <AT> yandex <DOT> com> AuthorDate: Thu Jul 6 17:53:30 2023 +0000 Commit: Victor Skovorodnikov <victor3.14 <AT> yandex <DOT> com> CommitDate: Thu Jul 6 17:57:12 2023 +0000 URL: https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=a5bb9ec8
net-p2p/dogecoin-qt: new package, add 1.14.6 Signed-off-by: Victor Skovorodnikov <victor3.14 <AT> yandex.com> net-p2p/dogecoin-qt/Manifest | 1 + net-p2p/dogecoin-qt/dogecoin-qt-1.14.6.ebuild | 91 ++++++++++++++++++++++ net-p2p/dogecoin-qt/files/1.14.6-deque.patch | 15 ++++ net-p2p/dogecoin-qt/files/1.14.6-gcc13.patch | 13 ++++ .../dogecoin-qt/files/1.14.6-net_processing.patch | 12 +++ .../dogecoin-qt/files/1.14.6-paymentserver.patch | 16 ++++ .../dogecoin-qt/files/1.14.6-transactiondesc.patch | 24 ++++++ .../dogecoin-qt/files/dogecoin-qt-prune.desktop | 13 ++++ net-p2p/dogecoin-qt/files/dogecoin-qt.desktop | 13 ++++ net-p2p/dogecoin-qt/metadata.xml | 23 ++++++ 10 files changed, 221 insertions(+) diff --git a/net-p2p/dogecoin-qt/Manifest b/net-p2p/dogecoin-qt/Manifest new file mode 100644 index 000000000..8559d11a1 --- /dev/null +++ b/net-p2p/dogecoin-qt/Manifest @@ -0,0 +1 @@ +DIST dogecoin-qt-v1.14.6.tar.gz 8162072 BLAKE2B e2d1abe7b60cc2f15998834ec1f23570ad3d471d80e9d05b8e5aa64d6e46b7196d7a13d134e6721fe57b6afd34811bd486de02c00b54ee8516313b81ae6821c2 SHA512 05f1142a22f36a04e65ef91c834b3e724280e29b930617bb66fac98777bb541ddca15771db4205f0cdc14389f3eb4e94fda550f7806b3e9863d909c063f38610 diff --git a/net-p2p/dogecoin-qt/dogecoin-qt-1.14.6.ebuild b/net-p2p/dogecoin-qt/dogecoin-qt-1.14.6.ebuild new file mode 100644 index 000000000..3ec063f84 --- /dev/null +++ b/net-p2p/dogecoin-qt/dogecoin-qt-1.14.6.ebuild @@ -0,0 +1,91 @@ +# Copyright 2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 +inherit desktop +DESCRIPTION="Dogecoin Core Qt 1.14.6 (with Graphical User Interface) with ultra-low transaction fees. Fast and lightweight; the default installation keeps downloaded blockchain size below 2.2GB, making it ideal for daily transactions, even on systems where disk space could be limited." +HOMEPAGE="https://github.com/dogecoin" +SRC_URI="https://github.com/dogecoin/dogecoin/archive/refs/tags/v${PV}.tar.gz -> ${PN}-v${PV}.tar.gz" + +LICENSE="MIT" +SLOT="0" +DB_VER="5.3" +KEYWORDS="~amd64 ~x86" +IUSE="tests +wallet +prune zmq" +DOGEDIR="/opt/${PN}" +DEPEND=" + dev-libs/libevent:= + dev-libs/protobuf + dev-libs/openssl + sys-devel/libtool + sys-devel/automake:= + >=dev-libs/boost-1.81.0-r1 + wallet? ( sys-libs/db:"${DB_VER}"=[cxx] ) + dev-qt/qtcore + dev-qt/qtgui + dev-qt/qtwidgets + dev-qt/qtdbus + dev-qt/qtnetwork + dev-qt/qtprintsupport + dev-qt/linguist-tools:= + wallet? ( media-gfx/qrencode ) + zmq? ( net-libs/cppzmq ) +" +RDEPEND="${DEPEND}" +BDEPEND=" + sys-devel/autoconf + sys-devel/automake +" + + PATCHES=( + "${FILESDIR}"/"${PV}"-net_processing.patch + "${FILESDIR}"/"${PV}"-paymentserver.patch + "${FILESDIR}"/"${PV}"-transactiondesc.patch + "${FILESDIR}"/"${PV}"-deque.patch + "${FILESDIR}"/"${PV}"-gcc13.patch + ) + +WORKDIR_="${WORKDIR}/dogecoin-${PV}" +S=${WORKDIR_} + +src_configure() { + chmod 755 ./autogen.sh + ./autogen.sh || die "autogen failed" + local my_econf=( + --enable-cxx + $(use_with wallet incompatible-bdb) + --bindir="${DOGEDIR}/bin" + BDB_CFLAGS="-I/usr/include/db${DB_VER}" + BDB_LIBS="-L/usr/lib64 -ldb_cxx-${DB_VER}" + --with-gui=qt5 + --with-qt-incdir=/usr/include/qt5 + $(use_enable zmq) + $(use_enable wallet) + $(use_enable tests tests) + --disable-bench + ) + econf "${my_econf[@]}" +} + +src_install() { + emake DESTDIR="${D}" install + insinto "${DOGEDIR}/bin" + insinto /usr/share/pixmaps + doins src/qt/res/icons/dogecoin.png + dosym "${DOGEDIR}/bin/${PN}" "/usr/bin/${PN}" + + if use prune ; then + domenu "${FILESDIR}"/"${PN}-prune.desktop" + fi + + if ! use prune ; then + domenu "${FILESDIR}"/"${PN}.desktop" + fi +} + +pkg_postinst() { + xdg_desktop_database_update + elog "Dogecoin Core Qt ${PV} has been installed." + elog "Dogecoin Core Qt binaries have been placed in ${DOGEDIR}/bin." + elog "${PN} has been symlinked with /usr/bin/${PN}." +} diff --git a/net-p2p/dogecoin-qt/files/1.14.6-deque.patch b/net-p2p/dogecoin-qt/files/1.14.6-deque.patch new file mode 100644 index 000000000..a25164d43 --- /dev/null +++ b/net-p2p/dogecoin-qt/files/1.14.6-deque.patch @@ -0,0 +1,15 @@ +# Please refer to https://github.com/dogecoin/dogecoin/pull/3207/files +# for information about changes that this patch is applying. + +diff --git a/src/test/cuckoocache_tests.cpp b/src/test/cuckoocache_tests.cpp +index 00446aa..e7c3053 100644 +--- a/src/test/cuckoocache_tests.cpp ++++ b/src/test/cuckoocache_tests.cpp +@@ -6,6 +6,7 @@ + #include "test/test_bitcoin.h" + #include "random.h" + #include <thread> ++#include <deque> + #include <boost/thread.hpp> + + diff --git a/net-p2p/dogecoin-qt/files/1.14.6-gcc13.patch b/net-p2p/dogecoin-qt/files/1.14.6-gcc13.patch new file mode 100644 index 000000000..0e4852815 --- /dev/null +++ b/net-p2p/dogecoin-qt/files/1.14.6-gcc13.patch @@ -0,0 +1,13 @@ +# Fixes error when building with gcc13 +diff --git a/src/support/lockedpool.cpp b/src/support/lockedpool.cpp +index ccebbe8..9d57846 100644 +--- a/src/support/lockedpool.cpp ++++ b/src/support/lockedpool.cpp +@@ -5,6 +5,7 @@ + + #include "support/lockedpool.h" + #include "support/cleanse.h" ++#include <stdexcept> + + #if defined(HAVE_CONFIG_H) + #include "config/bitcoin-config.h" diff --git a/net-p2p/dogecoin-qt/files/1.14.6-net_processing.patch b/net-p2p/dogecoin-qt/files/1.14.6-net_processing.patch new file mode 100644 index 000000000..a166625ee --- /dev/null +++ b/net-p2p/dogecoin-qt/files/1.14.6-net_processing.patch @@ -0,0 +1,12 @@ +diff --git a/src/net_processing.cpp b/src/net_processing.cpp +index ee3612b..20fe16f 100644 +--- a/src/net_processing.cpp ++++ b/src/net_processing.cpp +@@ -31,6 +31,7 @@ + #include "utilstrencodings.h" + #include "validationinterface.h" + ++#include <array> + #include <boost/thread.hpp> + + #if defined(NDEBUG) diff --git a/net-p2p/dogecoin-qt/files/1.14.6-paymentserver.patch b/net-p2p/dogecoin-qt/files/1.14.6-paymentserver.patch new file mode 100644 index 000000000..92d4b5524 --- /dev/null +++ b/net-p2p/dogecoin-qt/files/1.14.6-paymentserver.patch @@ -0,0 +1,16 @@ +# Please refer to https://github.com/dogecoin/dogecoin/pull/3207/files +# for information about changes that this patch is applying. + +diff --git a/src/qt/paymentserver.cpp b/src/qt/paymentserver.cpp +index d894745..2278c69 100644 +--- a/src/qt/paymentserver.cpp ++++ b/src/qt/paymentserver.cpp +@@ -553,7 +553,7 @@ bool PaymentServer::processPaymentRequest(const PaymentRequestPlus& request, Sen + QList<std::pair<CScript, CAmount> > sendingTos = request.getPayTo(); + QStringList addresses; + +- Q_FOREACH(const PAIRTYPE(CScript, CAmount)& sendingTo, sendingTos) { ++ for (const PAIRTYPE(CScript, CAmount)& sendingTo : sendingTos) { + // Extract and check destination addresses + CTxDestination dest; + if (ExtractDestination(sendingTo.first, dest)) { diff --git a/net-p2p/dogecoin-qt/files/1.14.6-transactiondesc.patch b/net-p2p/dogecoin-qt/files/1.14.6-transactiondesc.patch new file mode 100644 index 000000000..b32d0e5cd --- /dev/null +++ b/net-p2p/dogecoin-qt/files/1.14.6-transactiondesc.patch @@ -0,0 +1,24 @@ +# Please refer to https://github.com/dogecoin/dogecoin/pull/3207/files +# for information about changes that this patch is applying. + +diff --git a/src/qt/transactiondesc.cpp b/src/qt/transactiondesc.cpp +index 00b83e8..b8cc486 100644 +--- a/src/qt/transactiondesc.cpp ++++ b/src/qt/transactiondesc.cpp +@@ -237,14 +237,14 @@ QString TransactionDesc::toHTML(CWallet *wallet, CWalletTx &wtx, TransactionReco + strHTML += "<b>" + tr("Output index") + ":</b> " + QString::number(rec->getOutputIndex()) + "<br>"; + + // Message from normal bitcoin:URI (bitcoin:123...?message=example) +- Q_FOREACH (const PAIRTYPE(std::string, std::string)& r, wtx.vOrderForm) ++ for (const PAIRTYPE(std::string, std::string)& r : wtx.vOrderForm) + if (r.first == "Message") + strHTML += "<br><b>" + tr("Message") + ":</b><br>" + GUIUtil::HtmlEscape(r.second, true) + "<br>"; + + // + // PaymentRequest info: + // +- Q_FOREACH (const PAIRTYPE(std::string, std::string)& r, wtx.vOrderForm) ++ for (const PAIRTYPE(std::string, std::string)& r : wtx.vOrderForm) + { + if (r.first == "PaymentRequest") + { diff --git a/net-p2p/dogecoin-qt/files/dogecoin-qt-prune.desktop b/net-p2p/dogecoin-qt/files/dogecoin-qt-prune.desktop new file mode 100644 index 000000000..b9a902da4 --- /dev/null +++ b/net-p2p/dogecoin-qt/files/dogecoin-qt-prune.desktop @@ -0,0 +1,13 @@ +[Desktop Entry] +Name=Dogecoin Core +Comment=Connect to the Dogecoin P2P Network +Comment[de]=Verbinde mit dem Dogecoin peer-to-peer Netzwerk +Comment[fr]=Dogecoin, monnaie virtuelle cryptographique pair à pair +Comment[ru]=Подключиться к Dogecoin пиринговой сети +Comment[tr]=Dogecoin, eşten eşe kriptografik sanal para birimi +Terminal=false +Exec=dogecoin-qt --prune=2201 %u +Type=Application +Icon=dogecoin +MimeType=x-scheme-handler/dogecoin; +Categories=Office; diff --git a/net-p2p/dogecoin-qt/files/dogecoin-qt.desktop b/net-p2p/dogecoin-qt/files/dogecoin-qt.desktop new file mode 100644 index 000000000..197f782a0 --- /dev/null +++ b/net-p2p/dogecoin-qt/files/dogecoin-qt.desktop @@ -0,0 +1,13 @@ +[Desktop Entry] +Name=Dogecoin Core +Comment=Connect to the Dogecoin P2P Network +Comment[de]=Verbinde mit dem Dogecoin peer-to-peer Netzwerk +Comment[fr]=Dogecoin, monnaie virtuelle cryptographique pair à pair +Comment[ru]=Подключиться к Dogecoin пиринговой сети +Comment[tr]=Dogecoin, eşten eşe kriptografik sanal para birimi +Terminal=false +Exec=dogecoin-qt %u +Type=Application +Icon=dogecoin +MimeType=x-scheme-handler/dogecoin; +Categories=Office; diff --git a/net-p2p/dogecoin-qt/metadata.xml b/net-p2p/dogecoin-qt/metadata.xml new file mode 100644 index 000000000..c4c49cdcc --- /dev/null +++ b/net-p2p/dogecoin-qt/metadata.xml @@ -0,0 +1,23 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <upstream> + <bugs-to>https://github.com/dogecoin/dogecoin/issues</bugs-to> + <changelog>https://github.com/dogecoin/dogecoin/tree/master/doc/release-notes</changelog> + <doc>https://github.com/dogecoin/dogecoin/tree/master/doc</doc> + <remote-id type="github">dogecoin/dogecoin</remote-id> + </upstream> + <maintainer type="person" proxied="yes"> + <email>[email protected]</email> + <name>Victor Skovorodnikov</name> + </maintainer> + <use> + <flag name="prune">Enables automatic pruning of old blocks to stay below 2.2GB target size (if ran from desktop)</flag> + <flag name="tests">Build Dogecoin Core Qt with tests option</flag> + <flag name="wallet">Build Dogecoin Core Qt with wallet support</flag> + <flag name="zmq">Enables ZeroMQ notifications</flag> + </use> + <longdescription lang="en"> + Dogecoin Core Qt for desktop environment. Fun-loving cryptocurrency with ultra-low transaction fees featuring Graphical User Interface with statistical analysis, console interaction and wallet support. Fast and lightweight; the default installation keeps downloaded blockchain size below 2.2GB, making it ideal for daily transactions even on systems where disk space could be limited. + </longdescription> +</pkgmetadata>
