diff --git a/net-p2p/monero/Manifest b/net-p2p/monero/Manifest index 6f12583b83..331035cd55 100644 --- a/net-p2p/monero/Manifest +++ b/net-p2p/monero/Manifest @@ -1,2 +1,2 @@ -DIST monero-0.18.4.6.tar.gz 14120513 BLAKE2B 0b97cf0fbf76cdf74a470675e8a31a274cd75f65673e3b88782690d99f26f4bf25ebfcf88a2e02db8f198ffc6ad02f29ea1735ddc2e7f728383034653a7694bb SHA512 7304ce8a4db98bb94f5269e35b49eda6b56ba2e63fd4a270d79df8f21a64201e520a89a1cba25533fa0245111ea6214007cb8eb4bca7a43e74e1ddfe8d8ab2ad -DIST monero-0.18.5.0.tar.gz 14139041 BLAKE2B ff381aab2f9ec5de845ca6c85ac37a274fbcfeb11ccd6347fcfeb96d7886315a24791eea4941e2406a7a88c54689c1c7d7f8dc731fc7d871044cfb2aa9c8b692 SHA512 683a41bed5172059b313191bf5171746787faee13628c857d0db021e08ebbd3a70d95c07587e780bb2b65e24415e676ec705d0123ffd4f6405218ede5f11a18b +DIST monero-0.18.5.0-release-hashes.txt 3041 BLAKE2B c21d6a5f3f42b83d08f65b96c233c8eb922e47e785c1682000ab2cb36f342c4510c98c30d5e831798f557b3919f4deb5a6ab75bc136443932af12d922b470ed7 SHA512 3f217e6cbc34a72a6f190c6a009393eb7f42c203e20cf03cbbedd1d0f150f65ad6f10565f0bb9dabd2097ed302fbe53a0bd5e8e9ebf05fd860cc2ab4102c387b +DIST monero-source-v0.18.5.0.tar.bz2 15639008 BLAKE2B 1de04747241ee066c596334ce3d81f2ac23b19e97f3a84057b54f80f4201eb2cff9264dad80694930bebbba3ae49044dd24be12e73aba3400ef8e5da500aeb46 SHA512 a453d6a935fad97ceb630b2ece2b6e39b7b48fcb33586b4d9b3c0861dddf67ba42c3ccd65b13886a76e4a91666b40f9a738bd8a9a644c12e211c9bd43672d310 diff --git a/net-p2p/monero/monero-0.18.4.6-r1.ebuild b/net-p2p/monero/monero-0.18.4.6-r1.ebuild deleted file mode 100644 index 71c51849fc..0000000000 --- a/net-p2p/monero/monero-0.18.4.6-r1.ebuild +++ /dev/null @@ -1,146 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DOCS_BUILDER=doxygen - -inherit cmake docs systemd - -DESCRIPTION="The secure, private, untraceable cryptocurrency" -HOMEPAGE="https://www.getmonero.org" - -if [[ ${PV} == 9999 ]]; then - inherit git-r3 - EGIT_REPO_URI="https://github.com/monero-project/monero.git" - EGIT_SUBMODULES=() -else - SRC_URI="https://github.com/monero-project/monero/archive/v${PV}.tar.gz -> ${P}.tar.gz" - KEYWORDS="~amd64" -fi - -LICENSE="BSD MIT" -SLOT="0" -IUSE="+daemon hw-wallet readline +tools +wallet-cli +wallet-rpc cpu_flags_x86_aes" -REQUIRED_USE="|| ( daemon tools wallet-cli wallet-rpc )" -RESTRICT="test" -# Test requires python's requests, psutil, deepdiff which are packaged -# but also monotonic & zmq which we do not have - -DEPEND=" - app-crypt/libmd - dev-libs/boost:=[nls] - dev-libs/libsodium:= - dev-libs/libbsd - dev-libs/openssl:= - dev-libs/randomx - dev-libs/rapidjson - dev-libs/supercop - net-dns/unbound:=[threads(+)] - net-libs/miniupnpc:= - net-libs/zeromq:= - daemon? ( - acct-group/monero - acct-user/monero - ) - readline? ( sys-libs/readline:= ) - hw-wallet? ( - dev-libs/hidapi - dev-libs/protobuf:= - virtual/libusb:1 - ) -" -RDEPEND="${DEPEND}" -BDEPEND="virtual/pkgconfig" - -PATCHES=( - "${FILESDIR}"/${PN}-0.18.3.3-miniupnp-api-18.patch - "${FILESDIR}"/${PN}-0.18.4.0-unbundle-dependencies.patch -) - -src_prepare() { - # The build system does not recognize the release tarball (bug?) - # so we patch the GitVersion file. - # Change the release string from "unknown" to "gentoo-${PR}" - sed -i "s/unknown/gentoo-${PR}/g" cmake/GitVersion.cmake || die - cmake_src_prepare -} - -src_configure() { - local mycmakeargs=( - # TODO: Update CMake to install built libraries (help wanted) - -DBUILD_SHARED_LIBS=OFF - -DBUILD_DOCUMENTATION=OFF # easier to do it manually - -DMANUAL_SUBMODULES=ON - -DUSE_CCACHE=OFF - -DNO_AES=$(usex !cpu_flags_x86_aes) - -DUSE_DEVICE_TREZOR=$(usex hw-wallet) - -DUSE_READLINE=$(usex readline) - ) - - use elibc_musl && mycmakeargs+=( -DSTACK_TRACE=OFF ) - - cmake_src_configure -} - -src_compile() { - local targets=( - $(usev daemon) - $(usev wallet-cli simplewallet) - $(usev wallet-rpc wallet_rpc_server) - ) - use tools && targets+=( - blockchain_{ancestry,blackball,db,depth,export,import,prune,prune_known_spent_data,stats,usage} - ) - - cmake_build ${targets[@]} - - docs_compile -} - -src_install() { - einstalldocs - - # Install all binaries. - find "${BUILD_DIR}/bin/" -type f -executable -print0 | - while IFS= read -r -d '' line; do - dobin "$line" - done - - if use daemon; then - dodoc utils/conf/monerod.conf - - # data-dir - keepdir /var/lib/monero - fowners monero:monero /var/lib/monero - fperms 0755 /var/lib/monero - - # log-file dir - keepdir /var/log/monero - fowners monero:monero /var/log/monero - fperms 0755 /var/log/monero - - # /etc/monero/monerod.conf - insinto /etc/monero - doins "${FILESDIR}"/monerod.conf - - # OpenRC - newconfd "${FILESDIR}"/monerod-0.18.4.0.confd monerod - newinitd "${FILESDIR}"/monerod-0.18.4.0.initd monerod - - # systemd - systemd_dounit "${FILESDIR}"/monerod.service - fi -} - -pkg_postinst() { - if use daemon; then - elog "To get sync status and other stats run" - elog " $ monerod status" - elog - elog "The Monero blockchain can take up a lot of space (250 GiB) and is stored" - elog "in /var/lib/monero by default. You may want to enable pruning by adding" - elog "'prune-blockchain=1' to /etc/monero/monerod.conf to prune the blockchain" - elog "or move the data directory to another disk." - fi -} diff --git a/net-p2p/monero/monero-0.18.5.0.ebuild b/net-p2p/monero/monero-0.18.5.0.ebuild index f87ed44c64..f2cf9355fb 100644 --- a/net-p2p/monero/monero-0.18.5.0.ebuild +++ b/net-p2p/monero/monero-0.18.5.0.ebuild @@ -5,25 +5,33 @@ EAPI=8 DOCS_BUILDER=doxygen -inherit cmake docs systemd +inherit cmake docs systemd verify-sig DESCRIPTION="The secure, private, untraceable cryptocurrency" HOMEPAGE="https://www.getmonero.org" +LICENSE="BSD MIT" +SLOT="0" +IUSE="+daemon hw-wallet readline +tools +wallet-cli +wallet-rpc cpu_flags_x86_aes verify-sig" +REQUIRED_USE="|| ( daemon tools wallet-cli wallet-rpc )" +RESTRICT="test" + +SOURCE_NAME="${PN}-source-v${PV}" +SOURCE_ARCHIVE="${SOURCE_NAME}.tar.bz2" + if [[ ${PV} == 9999 ]]; then inherit git-r3 EGIT_REPO_URI="https://github.com/monero-project/monero.git" EGIT_SUBMODULES=() else - SRC_URI="https://github.com/monero-project/monero/archive/v${PV}.tar.gz -> ${P}.tar.gz" + SRC_URI=" + https://downloads.getmonero.org/cli/source/${SOURCE_ARCHIVE} -> ${SOURCE_ARCHIVE} + verify-sig? ( https://raw.githubusercontent.com/monero-project/monero-site/5e8d74229b742b54173010e3a676215b6f2fd1d7/downloads/hashes.txt -> ${P}-release-hashes.txt ) + " + # Todo: replace this hashes.txt URL with one based on ${P} (See https://github.com/monero-project/monero/issues/10760) KEYWORDS="~amd64" fi -LICENSE="BSD MIT" -SLOT="0" -IUSE="+daemon hw-wallet readline +tools +wallet-cli +wallet-rpc cpu_flags_x86_aes" -REQUIRED_USE="|| ( daemon tools wallet-cli wallet-rpc )" -RESTRICT="test" # Test requires python's requests, psutil, deepdiff which are packaged # but also monotonic & zmq which we do not have @@ -50,12 +58,32 @@ DEPEND=" ) " RDEPEND="${DEPEND}" -BDEPEND="virtual/pkgconfig" +BDEPEND=" + virtual/pkgconfig + verify-sig? ( sec-keys/openpgp-keys-monero ) +" PATCHES=( "${FILESDIR}"/${PN}-0.18.5.0-unbundle-dependencies.patch ) +VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}"/usr/share/openpgp-keys/monero/binaryfate.asc + +src_unpack() { + if use verify-sig; then + pushd "${DISTDIR}" > /dev/null || die + verify-sig_verify_message ${DISTDIR}/${P}-release-hashes.txt - | \ + grep -F "${SOURCE_ARCHIVE}" | \ + verify-sig_verify_unsigned_checksums - sha256 "${SOURCE_ARCHIVE}" + popd || die + fi + unpack "${SOURCE_ARCHIVE}" || die + mv "${SOURCE_NAME}" "${S}" || die + # The previous github source archive didn't have these external directories, + # I will just remove them here in case they interfere with dependency de-vendorization: + rm -r "${S}"/external/{randomx,rapidjson,supercop,trezor-common} || die +} + src_prepare() { # The build system does not recognize the release tarball (bug?) # so we patch the GitVersion file. diff --git a/sec-keys/openpgp-keys-monero/Manifest b/sec-keys/openpgp-keys-monero/Manifest new file mode 100644 index 0000000000..e5747d1c53 --- /dev/null +++ b/sec-keys/openpgp-keys-monero/Manifest @@ -0,0 +1 @@ +DIST monero-source-v0.18.5.0.tar.bz2 15639008 BLAKE2B 1de04747241ee066c596334ce3d81f2ac23b19e97f3a84057b54f80f4201eb2cff9264dad80694930bebbba3ae49044dd24be12e73aba3400ef8e5da500aeb46 SHA512 a453d6a935fad97ceb630b2ece2b6e39b7b48fcb33586b4d9b3c0861dddf67ba42c3ccd65b13886a76e4a91666b40f9a738bd8a9a644c12e211c9bd43672d310 diff --git a/sec-keys/openpgp-keys-monero/metadata.xml b/sec-keys/openpgp-keys-monero/metadata.xml new file mode 100644 index 0000000000..b9a17c96cf --- /dev/null +++ b/sec-keys/openpgp-keys-monero/metadata.xml @@ -0,0 +1,8 @@ + + + + + adam.pimentel46@gmail.com + Adam Pimentel + + diff --git a/sec-keys/openpgp-keys-monero/openpgp-keys-monero-0.18.5.0.ebuild b/sec-keys/openpgp-keys-monero/openpgp-keys-monero-0.18.5.0.ebuild new file mode 100644 index 0000000000..9637a8d832 --- /dev/null +++ b/sec-keys/openpgp-keys-monero/openpgp-keys-monero-0.18.5.0.ebuild @@ -0,0 +1,24 @@ +# Copyright 2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DIST_PKGNAME="monero-${PV}" + +SOURCE_NAME="monero-source-v${PV}" +SOURCE_ARCHIVE="${SOURCE_NAME}.tar.bz2" + +DESCRIPTION="Monero developer keys" +HOMEPAGE="https://www.getmonero.org" +SRC_URI=" + https://downloads.getmonero.org/cli/source/${SOURCE_ARCHIVE} -> ${SOURCE_ARCHIVE}" +S="${WORKDIR}/${SOURCE_NAME}/utils/gpg_keys" + +LICENSE="public-domain" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + +src_install() { + insinto /usr/share/openpgp-keys/monero + doins "${S}"/* +}