* [gentoo-commits] repo/proj/guru:dev commit in: net-p2p/dogecoin-qt/, net-p2p/dogecoin-qt/files/
@ 2023-07-06 17:58 Victor Skovorodnikov
0 siblings, 0 replies; 2+ messages in thread
From: Victor Skovorodnikov @ 2023-07-06 17:58 UTC (permalink / raw
To: gentoo-commits
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>victor3.14@yandex.com</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>
^ permalink raw reply related [flat|nested] 2+ messages in thread
* [gentoo-commits] repo/proj/guru:dev commit in: net-p2p/dogecoin-qt/, net-p2p/dogecoin-qt/files/
@ 2023-07-25 22:14 Victor Skovorodnikov
0 siblings, 0 replies; 2+ messages in thread
From: Victor Skovorodnikov @ 2023-07-25 22:14 UTC (permalink / raw
To: gentoo-commits
commit: 0f246a2c5449e2345bd82436a3c8b273504ce56a
Author: Victor Skovorodnikov <victor3.14 <AT> yandex <DOT> com>
AuthorDate: Tue Jul 25 22:13:12 2023 +0000
Commit: Victor Skovorodnikov <victor3.14 <AT> yandex <DOT> com>
CommitDate: Tue Jul 25 22:13:12 2023 +0000
URL: https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=0f246a2c
net-p2p/dogecoin-qt: Applying fix for Bug 910673
Signed-off-by: Victor Skovorodnikov <victor3.14 <AT> yandex.com>
net-p2p/dogecoin-qt/dogecoin-qt-1.14.6.ebuild | 14 +++++++++-
.../dogecoin-qt/files/1.14.6-hardened-all.patch | 18 +++++++++++++
.../files/1.14.6-hardened-minimal.patch | 31 ++++++++++++++++++++++
.../dogecoin-qt/files/1.14.6-hardened-no-pie.patch | 29 ++++++++++++++++++++
.../dogecoin-qt/files/1.14.6-hardened-no-ssp.patch | 19 +++++++++++++
net-p2p/dogecoin-qt/metadata.xml | 2 ++
6 files changed, 112 insertions(+), 1 deletion(-)
diff --git a/net-p2p/dogecoin-qt/dogecoin-qt-1.14.6.ebuild b/net-p2p/dogecoin-qt/dogecoin-qt-1.14.6.ebuild
index b55f6b7d7..bd1c09029 100644
--- a/net-p2p/dogecoin-qt/dogecoin-qt-1.14.6.ebuild
+++ b/net-p2p/dogecoin-qt/dogecoin-qt-1.14.6.ebuild
@@ -12,7 +12,8 @@ LICENSE="MIT"
SLOT="0"
DB_VER="5.3"
KEYWORDS="~amd64"
-IUSE="cpu_flags_x86_avx2 dogecoind +prune tests utils +wallet zmq"
+# Please see Bug 910673 Comment 10
+IUSE="cpu_flags_x86_avx2 dogecoind +pie +prune +ssp tests utils +wallet zmq"
REQUIRED_USE="dogecoind? ( utils )"
DOGEDIR="/opt/${PN}"
DEPEND="
@@ -52,6 +53,17 @@ WORKDIR_="${WORKDIR}/dogecoin-${PV}"
S=${WORKDIR_}
src_prepare() {
+
+ if use pie && use ssp ; then
+ PATCHES+=( "${FILESDIR}"/"${PV}"-hardened-all.patch )
+ elif use pie && ! use ssp ; then
+ PATCHES+=( "${FILESDIR}"/"${PV}"-hardened-no-ssp.patch )
+ elif use ssp && ! use pie ; then
+ PATCHES+=( "${FILESDIR}"/"${PV}"-hardened-no-pie.patch )
+ else
+ PATCHES+=( "${FILESDIR}"/"${PV}"-hardened-minimal.patch )
+ fi
+
default
einfo "Generating autotools files..."
diff --git a/net-p2p/dogecoin-qt/files/1.14.6-hardened-all.patch b/net-p2p/dogecoin-qt/files/1.14.6-hardened-all.patch
new file mode 100644
index 000000000..e625d8c6f
--- /dev/null
+++ b/net-p2p/dogecoin-qt/files/1.14.6-hardened-all.patch
@@ -0,0 +1,18 @@
+diff --git a/configure.ac b/configure.ac
+index 653fe71..a93502c 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -506,13 +506,6 @@ if test x$use_hardening != xno; then
+ AX_CHECK_COMPILE_FLAG([-Wstack-protector],[HARDENED_CXXFLAGS="$HARDENED_CXXFLAGS -Wstack-protector"])
+ AX_CHECK_COMPILE_FLAG([-fstack-protector-all],[HARDENED_CXXFLAGS="$HARDENED_CXXFLAGS -fstack-protector-all"])
+
+- AX_CHECK_PREPROC_FLAG([-D_FORTIFY_SOURCE=2],[
+- AX_CHECK_PREPROC_FLAG([-U_FORTIFY_SOURCE],[
+- HARDENED_CPPFLAGS="$HARDENED_CPPFLAGS -U_FORTIFY_SOURCE"
+- ])
+- HARDENED_CPPFLAGS="$HARDENED_CPPFLAGS -D_FORTIFY_SOURCE=2"
+- ])
+-
+ AX_CHECK_LINK_FLAG([[-Wl,--dynamicbase]], [HARDENED_LDFLAGS="$HARDENED_LDFLAGS -Wl,--dynamicbase"])
+ AX_CHECK_LINK_FLAG([[-Wl,--nxcompat]], [HARDENED_LDFLAGS="$HARDENED_LDFLAGS -Wl,--nxcompat"])
+ AX_CHECK_LINK_FLAG([[-Wl,--high-entropy-va]], [HARDENED_LDFLAGS="$HARDENED_LDFLAGS -Wl,--high-entropy-va"])
diff --git a/net-p2p/dogecoin-qt/files/1.14.6-hardened-minimal.patch b/net-p2p/dogecoin-qt/files/1.14.6-hardened-minimal.patch
new file mode 100644
index 000000000..3642e0640
--- /dev/null
+++ b/net-p2p/dogecoin-qt/files/1.14.6-hardened-minimal.patch
@@ -0,0 +1,31 @@
+diff --git a/configure.ac b/configure.ac
+index 653fe71..1d60d30 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -504,14 +504,6 @@ fi
+
+ if test x$use_hardening != xno; then
+ AX_CHECK_COMPILE_FLAG([-Wstack-protector],[HARDENED_CXXFLAGS="$HARDENED_CXXFLAGS -Wstack-protector"])
+- AX_CHECK_COMPILE_FLAG([-fstack-protector-all],[HARDENED_CXXFLAGS="$HARDENED_CXXFLAGS -fstack-protector-all"])
+-
+- AX_CHECK_PREPROC_FLAG([-D_FORTIFY_SOURCE=2],[
+- AX_CHECK_PREPROC_FLAG([-U_FORTIFY_SOURCE],[
+- HARDENED_CPPFLAGS="$HARDENED_CPPFLAGS -U_FORTIFY_SOURCE"
+- ])
+- HARDENED_CPPFLAGS="$HARDENED_CPPFLAGS -D_FORTIFY_SOURCE=2"
+- ])
+
+ AX_CHECK_LINK_FLAG([[-Wl,--dynamicbase]], [HARDENED_LDFLAGS="$HARDENED_LDFLAGS -Wl,--dynamicbase"])
+ AX_CHECK_LINK_FLAG([[-Wl,--nxcompat]], [HARDENED_LDFLAGS="$HARDENED_LDFLAGS -Wl,--nxcompat"])
+@@ -519,11 +511,6 @@ if test x$use_hardening != xno; then
+ AX_CHECK_LINK_FLAG([[-Wl,-z,relro]], [HARDENED_LDFLAGS="$HARDENED_LDFLAGS -Wl,-z,relro"])
+ AX_CHECK_LINK_FLAG([[-Wl,-z,now]], [HARDENED_LDFLAGS="$HARDENED_LDFLAGS -Wl,-z,now"])
+
+- if test x$TARGET_OS != xwindows; then
+- AX_CHECK_COMPILE_FLAG([-fPIE],[PIE_FLAGS="-fPIE"])
+- AX_CHECK_LINK_FLAG([[-pie]], [HARDENED_LDFLAGS="$HARDENED_LDFLAGS -pie"])
+- fi
+-
+ case $host in
+ *mingw*)
+ AC_CHECK_LIB([ssp], [main],, AC_MSG_ERROR(lib missing))
diff --git a/net-p2p/dogecoin-qt/files/1.14.6-hardened-no-pie.patch b/net-p2p/dogecoin-qt/files/1.14.6-hardened-no-pie.patch
new file mode 100644
index 000000000..076f8655b
--- /dev/null
+++ b/net-p2p/dogecoin-qt/files/1.14.6-hardened-no-pie.patch
@@ -0,0 +1,29 @@
+diff --git a/configure.ac b/configure.ac
+index 653fe71..a49d74c 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -506,24 +506,12 @@ if test x$use_hardening != xno; then
+ AX_CHECK_COMPILE_FLAG([-Wstack-protector],[HARDENED_CXXFLAGS="$HARDENED_CXXFLAGS -Wstack-protector"])
+ AX_CHECK_COMPILE_FLAG([-fstack-protector-all],[HARDENED_CXXFLAGS="$HARDENED_CXXFLAGS -fstack-protector-all"])
+
+- AX_CHECK_PREPROC_FLAG([-D_FORTIFY_SOURCE=2],[
+- AX_CHECK_PREPROC_FLAG([-U_FORTIFY_SOURCE],[
+- HARDENED_CPPFLAGS="$HARDENED_CPPFLAGS -U_FORTIFY_SOURCE"
+- ])
+- HARDENED_CPPFLAGS="$HARDENED_CPPFLAGS -D_FORTIFY_SOURCE=2"
+- ])
+-
+ AX_CHECK_LINK_FLAG([[-Wl,--dynamicbase]], [HARDENED_LDFLAGS="$HARDENED_LDFLAGS -Wl,--dynamicbase"])
+ AX_CHECK_LINK_FLAG([[-Wl,--nxcompat]], [HARDENED_LDFLAGS="$HARDENED_LDFLAGS -Wl,--nxcompat"])
+ AX_CHECK_LINK_FLAG([[-Wl,--high-entropy-va]], [HARDENED_LDFLAGS="$HARDENED_LDFLAGS -Wl,--high-entropy-va"])
+ AX_CHECK_LINK_FLAG([[-Wl,-z,relro]], [HARDENED_LDFLAGS="$HARDENED_LDFLAGS -Wl,-z,relro"])
+ AX_CHECK_LINK_FLAG([[-Wl,-z,now]], [HARDENED_LDFLAGS="$HARDENED_LDFLAGS -Wl,-z,now"])
+
+- if test x$TARGET_OS != xwindows; then
+- AX_CHECK_COMPILE_FLAG([-fPIE],[PIE_FLAGS="-fPIE"])
+- AX_CHECK_LINK_FLAG([[-pie]], [HARDENED_LDFLAGS="$HARDENED_LDFLAGS -pie"])
+- fi
+-
+ case $host in
+ *mingw*)
+ AC_CHECK_LIB([ssp], [main],, AC_MSG_ERROR(lib missing))
diff --git a/net-p2p/dogecoin-qt/files/1.14.6-hardened-no-ssp.patch b/net-p2p/dogecoin-qt/files/1.14.6-hardened-no-ssp.patch
new file mode 100644
index 000000000..324451ad0
--- /dev/null
+++ b/net-p2p/dogecoin-qt/files/1.14.6-hardened-no-ssp.patch
@@ -0,0 +1,19 @@
+diff --git a/configure.ac b/configure.ac
+index 653fe71..bd4bd78 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -504,14 +504,6 @@ fi
+
+ if test x$use_hardening != xno; then
+ AX_CHECK_COMPILE_FLAG([-Wstack-protector],[HARDENED_CXXFLAGS="$HARDENED_CXXFLAGS -Wstack-protector"])
+- AX_CHECK_COMPILE_FLAG([-fstack-protector-all],[HARDENED_CXXFLAGS="$HARDENED_CXXFLAGS -fstack-protector-all"])
+-
+- AX_CHECK_PREPROC_FLAG([-D_FORTIFY_SOURCE=2],[
+- AX_CHECK_PREPROC_FLAG([-U_FORTIFY_SOURCE],[
+- HARDENED_CPPFLAGS="$HARDENED_CPPFLAGS -U_FORTIFY_SOURCE"
+- ])
+- HARDENED_CPPFLAGS="$HARDENED_CPPFLAGS -D_FORTIFY_SOURCE=2"
+- ])
+
+ AX_CHECK_LINK_FLAG([[-Wl,--dynamicbase]], [HARDENED_LDFLAGS="$HARDENED_LDFLAGS -Wl,--dynamicbase"])
+ AX_CHECK_LINK_FLAG([[-Wl,--nxcompat]], [HARDENED_LDFLAGS="$HARDENED_LDFLAGS -Wl,--nxcompat"])
diff --git a/net-p2p/dogecoin-qt/metadata.xml b/net-p2p/dogecoin-qt/metadata.xml
index a63cc794b..9c3d65e2c 100644
--- a/net-p2p/dogecoin-qt/metadata.xml
+++ b/net-p2p/dogecoin-qt/metadata.xml
@@ -13,7 +13,9 @@
</maintainer>
<use>
<flag name="dogecoind">Build with dogecoind daemon</flag>
+ <flag name="pie">Position Independent Executables - attempt to harden resulting executables, for extra security</flag>
<flag name="prune">Enables automatic pruning of old blocks to stay below 2.2GB target size (if ran from desktop)</flag>
+ <flag name="ssp">Apply stack protector to all functions, for extra security</flag>
<flag name="tests">Build Dogecoin Core Qt with tests option</flag>
<flag name="utils">Build with client utilities dogecoin-cli and dogecoin-tx</flag>
<flag name="wallet">Build Dogecoin Core Qt with wallet</flag>
^ permalink raw reply related [flat|nested] 2+ messages in thread
end of thread, other threads:[~2023-07-25 22:14 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-07-06 17:58 [gentoo-commits] repo/proj/guru:dev commit in: net-p2p/dogecoin-qt/, net-p2p/dogecoin-qt/files/ Victor Skovorodnikov
-- strict thread matches above, loose matches on Subject: below --
2023-07-25 22:14 Victor Skovorodnikov
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox