summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKristian Fiskerstrand <k_f@gentoo.org>2015-09-18 18:08:02 +0200
committerKristian Fiskerstrand <k_f@gentoo.org>2015-09-18 18:08:51 +0200
commit0de8be361ceb11c54aec127c23269e926515ed26 (patch)
treef0ea937f7a141ef0a7ec006f929dffb6e2a8cc18
parentmedia-gfx/freecad: add dev-python/pyside[svg] (thanks Jon Gerdes, bug 560494). (diff)
downloadgentoo-0de8be361ceb11c54aec127c23269e926515ed26.tar.gz
gentoo-0de8be361ceb11c54aec127c23269e926515ed26.tar.bz2
gentoo-0de8be361ceb11c54aec127c23269e926515ed26.zip
app-crypt/pinentry: Fix Qt4 support
Pinentry 0.9.6 introduced automatic detection of Qt version and added support for Qt5 using automagic. This revbump removes Qt5 support and explicitly require Qt4 as in previous versions until this can be set using USE flag to get proper dependencies. Additionally upstream renamed the pinentry-qt4 binary to pinentry-qt, so a symlink is generated to ensure backwards compatibility. Package-Manager: portage-2.2.20.1
-rw-r--r--app-crypt/pinentry/files/pinentry-0.9.6-Disable-Qt5-support-to-force-Qt4.patch27
-rw-r--r--app-crypt/pinentry/pinentry-0.9.6-r1.ebuild93
2 files changed, 120 insertions, 0 deletions
diff --git a/app-crypt/pinentry/files/pinentry-0.9.6-Disable-Qt5-support-to-force-Qt4.patch b/app-crypt/pinentry/files/pinentry-0.9.6-Disable-Qt5-support-to-force-Qt4.patch
new file mode 100644
index 000000000000..802e6ff19618
--- /dev/null
+++ b/app-crypt/pinentry/files/pinentry-0.9.6-Disable-Qt5-support-to-force-Qt4.patch
@@ -0,0 +1,27 @@
+From 41aa99a1886fa07aad5716fb4905843ecfcbffb2 Mon Sep 17 00:00:00 2001
+From: Kristian Fiskerstrand <kristian.fiskerstrand@sumptuouscapital.com>
+Date: Fri, 18 Sep 2015 17:22:11 +0200
+Subject: [PATCH] Disable Qt5 support to force Qt4 for now
+
+Automagic applies in detecting Qt5 which makes dependency specification
+difficult. Disabling the auto-detection for Qt5 and keeping Qt4 for now
+---
+ m4/qt.m4 | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/m4/qt.m4 b/m4/qt.m4
+index 0a7ea99..e7abfcc 100644
+--- a/m4/qt.m4
++++ b/m4/qt.m4
+@@ -30,7 +30,7 @@ AC_DEFUN([FIND_QT],
+ [
+ PKG_CHECK_MODULES(PINENTRY_QT,
+ Qt5Core >= 5.0.0 Qt5Gui >= 5.0.0 Qt5Widgets >= 5.0.0,
+- [have_qt5_libs="yes"],
++ [have_qt5_libs="no"],
+ [have_qt5_libs="no"])
+
+ if "$PKG_CONFIG" --variable qt_config Qt5Core | grep -q "reduce_relocations"; then
+--
+2.4.6
+
diff --git a/app-crypt/pinentry/pinentry-0.9.6-r1.ebuild b/app-crypt/pinentry/pinentry-0.9.6-r1.ebuild
new file mode 100644
index 000000000000..95a660f14793
--- /dev/null
+++ b/app-crypt/pinentry/pinentry-0.9.6-r1.ebuild
@@ -0,0 +1,93 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit autotools qmake-utils multilib eutils flag-o-matic toolchain-funcs
+
+DESCRIPTION="Collection of simple PIN or passphrase entry dialogs which utilize the Assuan protocol"
+HOMEPAGE="http://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 ~amd64-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~x86-interix ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="emacs gtk ncurses qt4 caps gnome-keyring static"
+
+RDEPEND="
+ >=dev-libs/libgpg-error-1.17
+ >=dev-libs/libassuan-2
+ app-eselect/eselect-pinentry
+ caps? ( sys-libs/libcap )
+ gtk? ( x11-libs/gtk+:2 )
+ ncurses? ( sys-libs/ncurses:0= )
+ qt4? ( >=dev-qt/qtgui-4.4.1:4 )
+ static? ( >=sys-libs/ncurses-5.7-r5:0=[static-libs,-gpm] )
+"
+DEPEND="${RDEPEND}
+ sys-devel/gettext
+ virtual/pkgconfig
+ gnome-keyring? ( app-crypt/libsecret )
+"
+REQUIRED_USE="
+ || ( ncurses gtk qt4 )
+ gtk? ( !static )
+ qt4? ( !static )
+ static? ( ncurses )
+"
+
+DOCS=( AUTHORS ChangeLog NEWS README THANKS TODO )
+
+src_prepare() {
+ epatch "${FILESDIR}/${PN}-0.8.2-ncurses.patch"
+ epatch "${FILESDIR}/${P}-Disable-Qt5-support-to-force-Qt4.patch"
+ eautoreconf
+}
+
+src_configure() {
+ use static && append-ldflags -static
+ [[ "$(gcc-major-version)" -ge 5 ]] && append-cxxflags -std=gnu++11
+
+ # Issues finding qt on multilib systems
+ export QTLIB="${QTDIR}/$(get_libdir)"
+
+ econf \
+ --enable-pinentry-tty \
+ $(use_enable emacs pinentry-emacs) \
+ $(use_enable gtk pinentry-gtk2) \
+ $(use_enable ncurses pinentry-curses) \
+ $(use_enable ncurses fallback-curses) \
+ $(use_enable qt4 pinentry-qt) \
+ $(use_with caps libcap) \
+ $(use_enable gnome-keyring libsecret) \
+ $(use_enable gnome-keyring pinentry-gnome3) \
+ MOC="$(qt4_get_bindir)"/moc
+}
+
+src_install() {
+ default
+ rm -f "${ED}"/usr/bin/pinentry || die
+
+ if use_enable qt4; then
+ dosym pinentry-qt /usr/bin/pinentry-qt4
+ fi
+}
+
+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
+}