# Copyright 2022-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 inherit cmake db-use multilib xdg-utils DESCRIPTION="Proof-of-Stake based cryptocurrency that rewards BOINC computation" HOMEPAGE="https://gridcoin.us/ https://gridcoin.world/" SRC_URI="https://github.com/${PN}-community/${PN^}-Research/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz" S="${WORKDIR}/${PN^}-Research-${PV}" LICENSE="BSD BSD-2 Boost-1.0 MIT SSLeay" SLOT="0" KEYWORDS="~amd64" IUSE="+asm dbus gui qrcode test +upnp" IUSE+=" cpu_flags_arm_neon cpu_flags_x86_avx2 cpu_flags_x86_sha cpu_flags_x86_sse4_1" RESTRICT="!test? ( test )" REQUIRED_USE=" dbus? ( gui ) qrcode? ( gui ) " BDB_SLOT="5.3" RDEPEND=" >=dev-libs/boost-1.63.0:=[zlib(+)] >=dev-libs/libsecp256k1-0.2.0:=[recovery(+)] >=dev-libs/leveldb-1.21:= dev-libs/libzip:= dev-libs/openssl:= dev-libs/univalue net-misc/curl[ssl] sys-libs/db:${BDB_SLOT}[cxx] gui? ( dev-qt/qtconcurrent:5 dev-qt/qtcore:5 dev-qt/qtgui:5 dev-qt/qtnetwork:5 dev-qt/qtwidgets:5 dbus? ( dev-qt/qtdbus:5 ) qrcode? ( media-gfx/qrencode:= ) ) upnp? ( net-libs/miniupnpc:= ) " DEPEND="${RDEPEND} test? ( gui? ( dev-qt/qttest:5 ) ) " BDEPEND=" virtual/pkgconfig gui? ( dev-qt/linguist-tools:5 ) test? ( app-editors/vim-core ) " IDEPEND="gui? ( dev-util/desktop-file-utils )" src_configure() { local mycmakeargs=( -DENABLE_DAEMON=$(usex !gui) -DENABLE_GUI=$(usex gui) -DENABLE_TESTS=$(usex test) -DENABLE_SSE41=$(usex cpu_flags_x86_sse4_1) -DENABLE_AVX2=$(usex cpu_flags_x86_avx2) -DENABLE_X86_SHANI=$(usex cpu_flags_x86_sha) -DENABLE_ARM_SHANI=$(usex cpu_flags_arm_neon) -DUSE_ASM=$(usex asm) -DENABLE_QRENCODE=$(usex qrcode) -DENABLE_UPNP=$(usex upnp) -DDEFAULT_UPNP=$(usex upnp) -DUSE_DBUS=$(usex dbus) -DSYSTEM_BDB=ON -DBerkeleyDB_INCLUDE_DIR="$(db_includedir ${BDB_SLOT})" -DBerkeleyDB_CXX_LIBRARY="${ESYSROOT}/usr/$(get_libdir)/libdb_cxx-${BDB_SLOT}$(get_libname)" -DSYSTEM_LEVELDB=ON -DSYSTEM_SECP256K1=ON -DSYSTEM_UNIVALUE=ON -DSYSTEM_XXD=ON ) cmake_src_configure } src_install() { cmake_src_install mkdir -p "${ED}"/usr/share/man/man1 || die mv "${ED}"/usr/share/man/*.1 "${ED}"/usr/share/man/man1 || die } pkg_postinst() { # we don't use xdg.eclass because it adds unconditional IDEPENDs if use gui; then xdg_desktop_database_update xdg_icon_cache_update fi } pkg_postrm() { if use gui; then xdg_desktop_database_update xdg_icon_cache_update fi }