Trinity Desktop Environment Packaging – Gentoo ebuilds
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

110 lines
2.9 KiB

# Copyright 1999-2020 Gentoo Authors
# Copyright 2020 The Trinity Desktop Project
# Distributed under the terms of the GNU General Public License v2
EAPI="7"
inherit autotools flag-o-matic qmake-utils toolchain-funcs
DESCRIPTION="Simple passphrase entry dialogs which utilize the Assuan protocol"
HOMEPAGE="https://gnupg.org/aegypten2/index.html"
SRC_URI="mirror://gnupg/${PN}/${P}.tar.bz2"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="caps emacs fltk gnome-keyring gtk ncurses qt5 tqt static"
DEPEND="
app-eselect/eselect-pinentry
>=dev-libs/libassuan-2.1
>=dev-libs/libgcrypt-1.6.3
>=dev-libs/libgpg-error-1.17
caps? ( sys-libs/libcap )
fltk? ( x11-libs/fltk )
gnome-keyring? ( app-crypt/libsecret )
gtk? ( x11-libs/gtk+:2 )
ncurses? ( sys-libs/ncurses:0= )
qt5? (
dev-qt/qtcore:5
dev-qt/qtgui:5
dev-qt/qtwidgets:5
)
tqt? ( dev-tqt/tqt )
static? ( >=sys-libs/ncurses-5.7-r5:0=[static-libs,-gpm] )
"
RDEPEND="${DEPEND}
gnome-keyring? ( app-crypt/gcr )
"
BDEPEND="
sys-devel/gettext
virtual/pkgconfig
"
REQUIRED_USE="
gtk? ( !static )
qt5? ( !static )
tqt? ( !static )
"
DOCS=( AUTHORS ChangeLog NEWS README THANKS TODO )
PATCHES=(
"${FILESDIR}/${PN}-1.0.0-make-icon-work-under-Plasma-Wayland.patch"
"${FILESDIR}/${PN}-0.8.2-ncurses.patch"
)
src_prepare() {
default
eautoreconf
}
src_configure() {
use static && append-ldflags -static
[[ "$(gcc-major-version)" -ge 5 ]] && append-cxxflags -std=gnu++11
export QTLIB="$(qt5_get_libdir)"
econf \
$(use_enable emacs pinentry-emacs) \
$(use_enable fltk pinentry-fltk) \
$(use_enable gnome-keyring libsecret) \
$(use_enable gnome-keyring pinentry-gnome3) \
$(use_enable gtk pinentry-gtk2) \
$(use_enable ncurses fallback-curses) \
$(use_enable ncurses pinentry-curses) \
$(use_enable qt5 pinentry-qt) \
$(use_enable tqt pinentry-tqt) \
$(use_with caps libcap) \
--enable-pinentry-tty \
FLTK_CONFIG="${EROOT}/usr/bin/fltk-config" \
MOC="$(qt5_get_bindir)"/moc \
GPG_ERROR_CONFIG="${EROOT}/usr/bin/${CHOST}-gpg-error-config" \
LIBASSUAN_CONFIG="${EROOT}/usr/bin/libassuan-config" \
$("${S}/configure" --help | grep -- '--without-.*-prefix' | sed -e 's/^ *\([^ ]*\) .*/\1/g')
}
src_install() {
default
rm -f "${ED}"/usr/bin/pinentry
use qt5 && dosym pinentry-qt /usr/bin/pinentry-qt4
}
pkg_postinst() {
if ! has_version 'app-crypt/pinentry' || has_version '<app-crypt/pinentry-0.7.3'; then
elog "We no longer install pinentry-curses and pinentry-qt SUID root by default."
elog "Linux kernels >=2.6.9 support memory locking for unprivileged processes."
elog "The soft resource limit for memory locking specifies the limit an"
elog "unprivileged process may lock into memory. You can also use POSIX"
elog "capabilities to allow pinentry to lock memory. To do so activate the caps"
elog "USE flag and add the CAP_IPC_LOCK capability to the permitted set of"
elog "your users."
fi
eselect pinentry update ifunset
}
pkg_postrm() {
eselect pinentry update ifunset
}