-
Notifications
You must be signed in to change notification settings - Fork 116
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- adding ebuild for live version from master branch. - Berkley DB and 'media-gfx/qrencode' dependencies are contingent upon 'wallet' and 'gui' selections in this ebuild release. Signed-off-by: Victor Skovorodnikov <[email protected]>
- Loading branch information
1 parent
5efd1ce
commit 5435c61
Showing
1 changed file
with
146 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,146 @@ | ||
# Copyright 2023 Gentoo Authors | ||
# Distributed under the terms of the GNU General Public License v2 | ||
|
||
EAPI=8 | ||
WANT_AUTOCONF="2.5" | ||
inherit autotools desktop xdg-utils flag-o-matic git-r3 | ||
DESCRIPTION="Dogecoin Core Qt for desktop. Downloaded blockchain is under 2.2GB. Much secure." | ||
HOMEPAGE="https://github.com/dogecoin" | ||
EGIT_REPO_URI="https://github.com/dogecoin/dogecoin.git" | ||
|
||
WORKDIR_="${WORKDIR}/${P}" | ||
S="${WORKDIR_}" | ||
This comment has been minimized.
Sorry, something went wrong. |
||
|
||
LICENSE="MIT" | ||
SLOT="0" | ||
DB_VER="5.3" | ||
IUSE="cpu_flags_x86_avx2 cpu_flags_x86_sse2 intel-avx2 dogecoind experimental +gui +pie +prune scrypt-sse2 +ssp tests utils +wallet zmq" | ||
REQUIRED_USE="!gui? ( dogecoind utils ) dogecoind? ( utils ) intel-avx2? ( experimental ) scrypt-sse2? ( experimental ) experimental? ( || ( intel-avx2 scrypt-sse2 ) )" | ||
This comment has been minimized.
Sorry, something went wrong. |
||
DOGEDIR="/opt/${PN}" | ||
DEPEND=" | ||
dev-libs/libevent:= | ||
dev-libs/protobuf | ||
dev-libs/openssl | ||
dev-build/libtool | ||
dev-build/automake:= | ||
gui? ( dev-qt/qtcore dev-qt/qtgui dev-qt/qtwidgets dev-qt/qtdbus dev-qt/qtnetwork dev-qt/qtprintsupport dev-qt/linguist-tools:= ) | ||
This comment has been minimized.
Sorry, something went wrong. |
||
>=dev-libs/boost-1.84.0 | ||
wallet? ( sys-libs/db:"${DB_VER}"=[cxx] | ||
gui? ( media-gfx/qrencode ) | ||
) | ||
zmq? ( net-libs/cppzmq ) | ||
" | ||
|
||
RDEPEND="${DEPEND} | ||
dev-vcs/git | ||
dev-cpp/abseil-cpp | ||
cpu_flags_x86_avx2? ( | ||
intel-avx2? ( ~app-crypt/intel-ipsec-mb-1.3 ) | ||
) | ||
" | ||
|
||
BDEPEND=" | ||
dev-build/autoconf | ||
dev-build/automake | ||
" | ||
|
||
pkg_pretend() { | ||
|
||
if use intel-avx2 && [[ ! -e "${ROOT}"/etc/portage/patches/app-crypt/intel-ipsec-mb/remove_digest_init.patch ]]; then | ||
eerror "${ROOT}/etc/portage/patches/app-crypt/intel-ipsec-mb/remove_digest_init.patch does not exist!" | ||
eerror "To build with avx2 intel support, please create ${ROOT}/etc/portage/patches/app-crypt/intel-ipsec-mb directory" | ||
eerror "and copy patch from package net-p2p/dogecoin-qt/files/intel-ipsec-mb/remove_digest_init.patch into that directory" | ||
die | ||
fi | ||
} | ||
|
||
src_prepare() { | ||
if use pie && use ssp ; then | ||
PATCHES+=( "${FILESDIR}"/hardened-all.patch ) | ||
elif use pie && ! use ssp ; then | ||
PATCHES+=( "${FILESDIR}"/hardened-no-ssp.patch ) | ||
elif use ssp && ! use pie ; then | ||
PATCHES+=( "${FILESDIR}"/hardened-no-pie.patch ) | ||
else | ||
PATCHES+=( "${FILESDIR}"/hardened-minimal.patch ) | ||
fi | ||
|
||
default | ||
|
||
einfo "Generating autotools files..." | ||
eaclocal -I "${WORKDIR_}" | ||
This comment has been minimized.
Sorry, something went wrong. |
||
eautoreconf | ||
} | ||
|
||
src_configure() { | ||
local my_econf=( | ||
--bindir="${DOGEDIR}/bin" | ||
--disable-bench | ||
--enable-c++14 | ||
$(use_with gui qt5) | ||
$(use_with intel-avx2 intel-avx2) | ||
$(use_with dogecoind daemon) | ||
$(use_with utils utils) | ||
$(use_enable wallet) | ||
$(use_enable zmq) | ||
$(use_enable tests tests) | ||
$(use_enable scrypt-sse2 scrypt-sse2) | ||
$(use_enable experimental experimental) | ||
) | ||
|
||
econf "${my_econf[@]}" | ||
} | ||
|
||
src_install() { | ||
emake DESTDIR="${D}" install | ||
insinto "${DOGEDIR}/bin" | ||
|
||
if use gui ; then | ||
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" | ||
else | ||
domenu "${FILESDIR}"/"${PN}.desktop" | ||
fi | ||
fi | ||
|
||
if use dogecoind ; then | ||
dosym "${DOGEDIR}/bin/dogecoind" "/usr/bin/dogecoind" | ||
dosym "${DOGEDIR}/bin/dogecoin-cli" "/usr/bin/dogecoin-cli" | ||
fi | ||
|
||
find "${ED}" -type f -name '*.la' -delete || die | ||
} | ||
|
||
pkg_postinst() { | ||
xdg_desktop_database_update | ||
xdg_mimeinfo_database_update | ||
|
||
if use gui ; then | ||
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}." | ||
else | ||
elog "Dogecoin Core ${PV} has been installed." | ||
elog "Dogecoin Core binaries have been placed in ${DOGEDIR}/bin." | ||
fi | ||
|
||
if use dogecoind ; then | ||
elog "dogecoin daemon has been symlinked with /usr/bin/dogecoind." | ||
elog "dogecoin client utils have been symlinked with /usr/bin/dogecoin-cli." | ||
fi | ||
|
||
if ( ( use cpu_flags_x86_avx2 && ! use intel-avx2 ) && ( use cpu_flags_x86_sse2 && ! use scrypt-sse2 ) ); then | ||
einfo "NOTE: Experimental avx2 and sse2 CPU support in ${PV} can be" | ||
einfo "activated using 'intel-avx2' and/or 'scrypt-sse2' USE flags, " | ||
einfo "together with 'experimental' USE flag for this version." | ||
fi | ||
} | ||
|
||
pkg_postrm() { | ||
xdg_desktop_database_update | ||
xdg_mimeinfo_database_update | ||
} |
This is the default value for
S
. No need to specify it here.