Gentoo Archives: gentoo-commits

From: Florian Schmaus <flow@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/proj/guru:master commit in: net-p2p/feather/, net-p2p/feather/files/
Date: Thu, 16 Mar 2023 08:41:54
Message-Id: 1678831964.3d371c387d801db2f54b3333043a362e03fb464c.flow@gentoo
1 commit: 3d371c387d801db2f54b3333043a362e03fb464c
2 Author: Adam Pimentel <adam.pimentel <AT> protonmail <DOT> com>
3 AuthorDate: Tue Mar 14 22:12:44 2023 +0000
4 Commit: Florian Schmaus <flow <AT> gentoo <DOT> org>
5 CommitDate: Tue Mar 14 22:12:44 2023 +0000
6 URL: https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=3d371c38
7
8 net-p2p/feather: version bump
9
10 Signed-off-by: Adam Pimentel <adam.pimentel <AT> protonmail.com>
11
12 net-p2p/feather/Manifest | 8 ++
13 net-p2p/feather/feather-2.4.2.ebuild | 144 +++++++++++++++++++++
14 .../files/feather_remove_cflags-2.4.2.patch | 18 +++
15 .../feather/files/monero_remove_cflags-2.4.2.patch | 25 ++++
16 4 files changed, 195 insertions(+)
17
18 diff --git a/net-p2p/feather/Manifest b/net-p2p/feather/Manifest
19 index 25eccdd69..5dfc062b9 100644
20 --- a/net-p2p/feather/Manifest
21 +++ b/net-p2p/feather/Manifest
22 @@ -22,3 +22,11 @@ DIST feather-2.4.1_pre20230301-monero-trezorcommon.tar.gz 1327782 BLAKE2B 738f28
23 DIST feather-2.4.1_pre20230301-monero.tar.gz 11621070 BLAKE2B 8361a9f44eeb8a2035d3e110481aada7607b4bac2b52efc04ac6003665585d4d56629e88ab8c501e51997b3c3fe514a81b6f981bc07f3070eb24b897169300a6 SHA512 1bc23d60bebd51fdf459244376406c3eaec698457d0fc58f9628081c4b6297a15fb12dc848bbbbaafc77c367c59811ff36dbe499ac0fbcafd4ea10e0c6771f7e
24 DIST feather-2.4.1_pre20230301-singleapplication.tar.gz 21630 BLAKE2B 403e187d0c9f5c591741ab1bdf879ae700cd255e0bcf3cc6e71aa2f6b9dcaf462aaa4e2142b5978d5e69c7660b1d094ac47cac3912c1b49a1dd003eebc641d6f SHA512 d16127412a97289edcb2bf86d2e4229d11408095ca6be6f2d7d63a6df573b31aa2e100382da3b12b93b45380fe68586c91cf3e774d1aedfeb88e151bc13bb4c4
25 DIST feather-2.4.1_pre20230301.tar.gz 5458207 BLAKE2B 40f754a19778c227fcf73350f4bc5b61df142d18d17227dc7d83f2beef160ad170d1d40eea589d003c19459c2821b6b8630220dc612ba3abb981ebe622225b6d SHA512 eb09f6c7d45e238110d2f7c60401aba147acbb38784e51d5e43966b077c52e4e26c1d08cfbf4093cdb777fc8a01932b927603cb834f0d1b4b8b41fa913a9987b
26 +DIST feather-2.4.2-monero-miniupnp.tar.gz 446961 BLAKE2B 802e3a99f2e129492be547eba0f7f87c0e0c7024b4a322fbabf973dab26cd33601d99b29d422f8bb2ebae078982ef25efcdfe7ce66149360ba974abcb80b95d4 SHA512 c544148b2f110a84dbc69b0de2a6ff95ea3b8ad49354320c557b29a548de3e87ac52e37566b7f809bbcf0afa395e5150049dde15383d8180a52a38fd8738fdc5
27 +DIST feather-2.4.2-monero-randomx.tar.gz 164390 BLAKE2B 704792f22d7e3e9e789b42f77176ef4687b7d599387edfa42f854ad7b0f692d704480a6c7e43a291acac0dde2adae12923ea11e615d132baf10c7cb8f59f5801 SHA512 959a8399ae85bbb57e875e0383e448b10241badcd6682c7b6dec9d172f489ccbf3bb9b8b9b657bf977b3f2280597eb99cef2270159dc77142615dfe8d6f438ad
28 +DIST feather-2.4.2-monero-rapidjson.tar.gz 1054330 BLAKE2B 5d18961b86a27516e42441ba46317ba811e06305dc754b5765b4fbfb697d93bc31ae9457fa2c3f213396909af726f775a7b371874ef1a0dc56a8577ed077a610 SHA512 dd4f103f84c4f32683ca9ccc82c35db3a60012c35acbb79405905c8b4e382389c52422b1a514e6128ae71f90f5eedb158f2a4f72f7c0f6025c2ef0787130bbe7
29 +DIST feather-2.4.2-monero-supercop.tar.gz 346604 BLAKE2B 10e48076acb2e5de5acb2efee61b2fac40fdfec3bc4037a94199d56ee2446466126e1b9dade56ee69598f4bd3c64b45d86d0810f24f461f6e09fb84c87e1ef93 SHA512 06cca8d1def31aa11bf5aa42d861c4a027786f7cc494fa3ab53a2bc4bd9d1f55b2389020ba5fd1816ed277b6e4320ad8edbb3117dcf4981fc7fba655c4bbe648
30 +DIST feather-2.4.2-monero-trezorcommon.tar.gz 1327782 BLAKE2B 738f2833317d5b5f52c21582160c1bee331fda38615c7e2c29d68cec600e849209111aaa75cce059596e87b2711c5a5749d965c91f1cf15cbe98fc86a049b5a5 SHA512 9955aa160e9a969decee598584f788e4d36e9c65f2ee730cd8f128669e86175f2189e804ca53e405871ab698ae5e683f146e59e832d8ec58fa1cb46328665ddf
31 +DIST feather-2.4.2-monero.tar.gz 11618665 BLAKE2B a6d708b723c2ab1517b0c4de4070552f6ec5ba544f3cfc96438bb612d094d78d2d79185f12d064555fd7031300b2b62673ee46ff3f9b765340c8a80abd5afc64 SHA512 d29a5c5ca53a232d158f457188e58783e6fb64ff6172ff382801ded014515ba951ca8c98306b771cee97f97ac4f6ae3474a4ce3c635c0085df013a6ba0bb5273
32 +DIST feather-2.4.2-singleapplication.tar.gz 21630 BLAKE2B 403e187d0c9f5c591741ab1bdf879ae700cd255e0bcf3cc6e71aa2f6b9dcaf462aaa4e2142b5978d5e69c7660b1d094ac47cac3912c1b49a1dd003eebc641d6f SHA512 d16127412a97289edcb2bf86d2e4229d11408095ca6be6f2d7d63a6df573b31aa2e100382da3b12b93b45380fe68586c91cf3e774d1aedfeb88e151bc13bb4c4
33 +DIST feather-2.4.2.tar.gz 5459199 BLAKE2B 22b7afa15257ce6c21424ae0b81ef2c1d38ab5dc9d704720c9aaa3f5d3519ed9c0033bcfa44a93b121cdd522bed9b1e6c4c8f57e08aa8f0576d69476785a79e9 SHA512 38a7bcd7f3490bb8d71711975a21fb93cb0445ad85d3d44a39932eebf0d190db343f87e5034e7766d154303d03bfae5da88cf3b3a06a08278427589291f54c52
34
35 diff --git a/net-p2p/feather/feather-2.4.2.ebuild b/net-p2p/feather/feather-2.4.2.ebuild
36 new file mode 100644
37 index 000000000..f2fb17331
38 --- /dev/null
39 +++ b/net-p2p/feather/feather-2.4.2.ebuild
40 @@ -0,0 +1,144 @@
41 +# Copyright 1999-2022 Gentoo Authors
42 +# Distributed under the terms of the GNU General Public License v2
43 +
44 +EAPI=8
45 +
46 +inherit cmake desktop xdg
47 +
48 +SINGLEAPPLICATION_DIST_COMIT="3e8e85d1a487e433751711a8a090659684d42e3b"
49 +MONERO_DIST_COMIT="72519d14203061b59191144ee8cab736bc88b978"
50 + MINIUPNP_DIST_COMIT="544e6fcc73c5ad9af48a8985c94f0f1d742ef2e0"
51 + RANDOMX_DIST_COMIT="261d58c77fc5547c0aa7fdfeb58421ba7e0e6e1c"
52 + RAPIDJSON_DIST_COMIT="129d19ba7f496df5e33658527a7158c79b99c21c"
53 + SUPERCOP_DIST_COMIT="633500ad8c8759995049ccd022107d1fa8a1bbc9"
54 + TREZORCOMMON_DIST_COMIT="bff7fdfe436c727982cc553bdfb29a9021b423b0"
55 +
56 +DESCRIPTION="A free, open-source Monero wallet"
57 +HOMEPAGE="https://featherwallet.org"
58 +SRC_URI="https://github.com/feather-wallet/feather/archive/refs/tags/${PV}.tar.gz -> \
59 +${P}.tar.gz
60 + https://github.com/itay-grudev/SingleApplication/archive/${SINGLEAPPLICATION_DIST_COMIT}.tar.gz -> \
61 +${P}-singleapplication.tar.gz
62 + https://github.com/feather-wallet/monero/archive/${MONERO_DIST_COMIT}.tar.gz -> \
63 +${P}-monero.tar.gz
64 + https://github.com/miniupnp/miniupnp/archive/${MINIUPNP_DIST_COMIT}.tar.gz -> \
65 +${P}-monero-miniupnp.tar.gz
66 + https://github.com/tevador/RandomX/archive/${RANDOMX_DIST_COMIT}.tar.gz -> \
67 +${P}-monero-randomx.tar.gz
68 + https://github.com/Tencent/rapidjson/archive/${RAPIDJSON_DIST_COMIT}.tar.gz -> \
69 +${P}-monero-rapidjson.tar.gz
70 + https://github.com/monero-project/supercop/archive/${SUPERCOP_DIST_COMIT}.tar.gz -> \
71 +${P}-monero-supercop.tar.gz
72 + https://github.com/trezor/trezor-common/archive/${TREZORCOMMON_DIST_COMIT}.tar.gz -> \
73 +${P}-monero-trezorcommon.tar.gz
74 +"
75 +
76 +# Feather is released under the terms of the BSD license, but it vendors
77 +# code from Monero and Tor too.
78 +LICENSE="BSD MIT"
79 +SLOT="0"
80 +KEYWORDS="~amd64"
81 +IUSE="qrcode xmrig localmonero"
82 +
83 +DEPEND="
84 + dev-libs/libsodium:=
85 + media-gfx/qrencode:=
86 + media-gfx/zbar:=[v4l]
87 + >=dev-libs/polyseed-1.0.0
88 + dev-libs/libzip:=
89 + dev-libs/boost:=[nls]
90 + >=dev-qt/qtcore-5.15:5
91 + >=dev-qt/qtwidgets-5.15:5
92 + >=dev-qt/qtgui-5.15:5
93 + >=dev-qt/qtnetwork-5.15:5
94 + >=dev-qt/qtsvg-5.15:5
95 + >=dev-qt/qtxml-5.15:5
96 + >=dev-qt/qtwebsockets-5.15:5
97 + >=dev-qt/qtmultimedia-5.15:5[widgets]
98 + >=dev-qt/qtconcurrent-5.15:5
99 + dev-libs/libgcrypt:=
100 + sys-libs/zlib
101 + dev-libs/openssl:=
102 + net-dns/unbound:=[threads]
103 + net-libs/czmq:=
104 +"
105 +RDEPEND="
106 + ${DEPEND}
107 + net-vpn/tor
108 + xmrig? ( net-misc/xmrig )
109 +"
110 +BDEPEND="virtual/pkgconfig"
111 +
112 +src_unpack() {
113 + unpack ${P}.tar.gz \
114 + ${P}-singleapplication.tar.gz \
115 + ${P}-monero.tar.gz \
116 + ${P}-monero-miniupnp.tar.gz \
117 + ${P}-monero-randomx.tar.gz \
118 + ${P}-monero-rapidjson.tar.gz \
119 + ${P}-monero-supercop.tar.gz \
120 + ${P}-monero-trezorcommon.tar.gz
121 + mv -T "${WORKDIR}"/SingleApplication-${SINGLEAPPLICATION_DIST_COMIT} \
122 + "${WORKDIR}"/${P}/src/third-party/singleapplication || die
123 + mv -T "${WORKDIR}"/monero-${MONERO_DIST_COMIT} \
124 + "${WORKDIR}"/${P}/monero || die
125 + mv -T "${WORKDIR}"/miniupnp-${MINIUPNP_DIST_COMIT} \
126 + "${WORKDIR}"/${P}/monero/external/miniupnp || die
127 + mv -T "${WORKDIR}"/RandomX-${RANDOMX_DIST_COMIT} \
128 + "${WORKDIR}"/${P}/monero/external/randomx || die
129 + mv -T "${WORKDIR}"/rapidjson-${RAPIDJSON_DIST_COMIT} \
130 + "${WORKDIR}"/${P}/monero/external/rapidjson || die
131 + mv -T "${WORKDIR}"/supercop-${SUPERCOP_DIST_COMIT} \
132 + "${WORKDIR}"/${P}/monero/external/supercop || die
133 + mv -T "${WORKDIR}"/trezor-common-${TREZORCOMMON_DIST_COMIT} \
134 + "${WORKDIR}"/${P}/monero/external/trezor-common || die
135 +}
136 +
137 +src_prepare() {
138 + default
139 + echo "#define FEATHER_VERSION \"${PV}\"" > "${WORKDIR}"/${PF}/src/config-feather.h || die
140 + echo "#define TOR_VERSION \"NOT_EMBEDDED\"" >> "${WORKDIR}"/${PF}/src/config-feather.h || die
141 + eapply "${FILESDIR}"/feather_remove_cflags-${PV}.patch
142 + pushd monero || die
143 + eapply "${FILESDIR}"/monero_remove_cflags-${PV}.patch
144 + popd || die
145 + cmake_src_prepare
146 +}
147 +
148 +src_configure() {
149 + local mycmakeargs=(
150 + -DCMAKE_BUILD_TYPE=Release
151 + -DBUILD_SHARED_LIBS=OFF
152 + -DARCH=x86-64
153 + -DBUILD_TAG="linux-x64"
154 + -DBUILD_64=ON
155 + -DSELF_CONTAINED=OFF
156 + -DLOCALMONERO=$(usex localmonero)
157 + -DXMRIG=$(usex xmrig)
158 + -DCHECK_UPDATES=OFF
159 + -DPLATFORM_INSTALLER=OFF
160 + -DUSE_DEVICE_TREZOR=OFF
161 + -DDONATE_BEG=OFF
162 + -DWITH_SCANNER=$(usex qrcode)
163 + )
164 +
165 + cmake_src_configure
166 +}
167 +
168 +src_compile() {
169 + cmake_build feather
170 +}
171 +
172 +src_install() {
173 + dobin "${BUILD_DIR}/bin/feather"
174 +
175 + doicon "${WORKDIR}"/${PF}/src/assets/images/feather.png
176 + domenu "${WORKDIR}"/${PF}/src/assets/feather.desktop
177 +}
178 +
179 +pkg_postinst() {
180 + xdg_pkg_postinst
181 +
182 + einfo "Ensure that Tor is running with 'rc-service tor start' before"
183 + einfo "using Feather."
184 +}
185
186 diff --git a/net-p2p/feather/files/feather_remove_cflags-2.4.2.patch b/net-p2p/feather/files/feather_remove_cflags-2.4.2.patch
187 new file mode 100644
188 index 000000000..a3dbbb06e
189 --- /dev/null
190 +++ b/net-p2p/feather/files/feather_remove_cflags-2.4.2.patch
191 @@ -0,0 +1,18 @@
192 +--- a/CMakeLists.txt
193 ++++ b/CMakeLists.txt
194 +@@ -262,12 +262,8 @@
195 + add_c_flag_if_supported(-fPIC C_SECURITY_FLAGS)
196 + add_cxx_flag_if_supported(-fPIC CXX_SECURITY_FLAGS)
197 +
198 +-message(STATUS "Using C security hardening flags: ${C_SECURITY_FLAGS}")
199 +-message(STATUS "Using C++ security hardening flags: ${CXX_SECURITY_FLAGS}")
200 +-message(STATUS "Using linker security hardening flags: ${LD_SECURITY_FLAGS}")
201 +-
202 +-set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=c11 ${C_SECURITY_FLAGS}")
203 +-set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 ${CXX_SECURITY_FLAGS}")
204 +-set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${LD_SECURITY_FLAGS} ${STATIC_FLAGS}")
205 ++set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=c11 -Wa,--noexecstack")
206 ++set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -Wa,--noexecstack")
207 ++set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,-z,noexecstack ${STATIC_FLAGS}")
208 +
209 + add_subdirectory(src)
210
211 diff --git a/net-p2p/feather/files/monero_remove_cflags-2.4.2.patch b/net-p2p/feather/files/monero_remove_cflags-2.4.2.patch
212 new file mode 100644
213 index 000000000..869a7bdc8
214 --- /dev/null
215 +++ b/net-p2p/feather/files/monero_remove_cflags-2.4.2.patch
216 @@ -0,0 +1,25 @@
217 +--- a/CMakeLists.txt
218 ++++ b/CMakeLists.txt
219 +@@ -773,9 +773,6 @@
220 + message(STATUS "AES support disabled")
221 + endif()
222 +
223 +- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${ARCH_FLAG}")
224 +- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${ARCH_FLAG}")
225 +-
226 + set(WARNINGS "-Wall -Wextra -Wpointer-arith -Wundef -Wvla -Wwrite-strings -Wno-error=extra -Wno-error=deprecated-declarations -Wno-unused-parameter -Wno-error=unused-variable -Wno-error=undef -Wno-error=uninitialized")
227 + if(CMAKE_C_COMPILER_ID MATCHES "Clang" OR CMAKE_CXX_COMPILER_ID MATCHES "Clang")
228 + if(ARM)
229 +@@ -901,9 +898,9 @@
230 + message(STATUS "Using C++ security hardening flags: ${CXX_SECURITY_FLAGS}")
231 + message(STATUS "Using linker security hardening flags: ${LD_SECURITY_FLAGS}")
232 +
233 +- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D_GNU_SOURCE ${MINGW_FLAG} ${STATIC_ASSERT_FLAG} ${WARNINGS} ${C_WARNINGS} ${PIC_FLAG} ${C_SECURITY_FLAGS}")
234 +- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -D_GNU_SOURCE ${MINGW_FLAG} ${STATIC_ASSERT_CPP_FLAG} ${WARNINGS} ${CXX_WARNINGS} ${PIC_FLAG} ${CXX_SECURITY_FLAGS}")
235 +- set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${LD_SECURITY_FLAGS} ${LD_BACKCOMPAT_FLAGS}")
236 ++ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D_GNU_SOURCE ${MINGW_FLAG} ${STATIC_ASSERT_FLAG} ${WARNINGS} ${C_WARNINGS} ${PIC_FLAG}")
237 ++ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -D_GNU_SOURCE ${MINGW_FLAG} ${STATIC_ASSERT_CPP_FLAG} ${WARNINGS} ${CXX_WARNINGS} ${PIC_FLAG}")
238 ++ set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${LD_BACKCOMPAT_FLAGS}")
239 +
240 + # With GCC 6.1.1 the compiled binary malfunctions due to aliasing. Until that
241 + # is fixed in the code (Issue #847), force compiler to be conservative.