Skip to content

Commit

Permalink
app-crypt/pinentry: Remove automagic dependency for fltk
Browse files Browse the repository at this point in the history
Closes: https://bugs.gentoo.org/655290
Package-Manager: Portage-2.3.24, Repoman-2.3.6
  • Loading branch information
krifisk committed May 12, 2018
1 parent af7db0e commit 199d422
Showing 1 changed file with 102 additions and 0 deletions.
102 changes: 102 additions & 0 deletions app-crypt/pinentry/pinentry-1.1.0-r2.ebuild
Original file line number Diff line number Diff line change
@@ -0,0 +1,102 @@
# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2

EAPI=6

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="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
IUSE="caps emacs gnome-keyring fltk gtk ncurses qt5 static"

CDEPEND="
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
)
static? ( >=sys-libs/ncurses-5.7-r5:0=[static-libs,-gpm] )
"
DEPEND="${CDEPEND}
sys-devel/gettext
virtual/pkgconfig
"
RDEPEND="${CDEPEND}
gnome-keyring? ( app-crypt/gcr )
"

REQUIRED_USE="
gtk? ( !static )
qt5? ( !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 \
--enable-pinentry-tty \
$(use_with caps libcap) \
$(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 pinentry-curses) \
$(use_enable ncurses fallback-curses) \
$(use_enable qt5 pinentry-qt) \
MOC="$(qt5_get_bindir)"/moc
}

src_install() {
default
rm -f "${ED}"/usr/bin/pinentry || die

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
}

0 comments on commit 199d422

Please sign in to comment.