Skip to content

Commit

Permalink
net-p2p/dogecoin-qt: add 9999
Browse files Browse the repository at this point in the history
- 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
victorsk2019 committed Aug 9, 2024
1 parent 5efd1ce commit 5435c61
Showing 1 changed file with 146 additions and 0 deletions.
146 changes: 146 additions & 0 deletions net-p2p/dogecoin-qt/dogecoin-qt-9999.ebuild
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.

Copy link
@antecrescent

antecrescent Aug 10, 2024

Contributor

This is the default value for S. No need to specify it here.


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.

Copy link
@antecrescent

antecrescent Aug 10, 2024

Contributor

One USE-conditional expression per line, please.

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.

Copy link
@antecrescent

antecrescent Aug 10, 2024

Contributor

One dependency per line, please.

>=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.

Copy link
@antecrescent

antecrescent Aug 10, 2024

Contributor

eaclocal -I "${S}" and remove the ${WORKDIR_} variable?

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
}

0 comments on commit 5435c61

Please sign in to comment.