public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [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