diff options
author | Robin H. Johnson <robbat2@gentoo.org> | 2015-08-08 13:49:04 -0700 |
---|---|---|
committer | Robin H. Johnson <robbat2@gentoo.org> | 2015-08-08 17:38:18 -0700 |
commit | 56bd759df1d0c750a065b8c845e93d5dfa6b549d (patch) | |
tree | 3f91093cdb475e565ae857f1c5a7fd339e2d781e /app-crypt/pinentry | |
download | gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.gz gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.bz2 gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.zip |
proj/gentoo: Initial commit
This commit represents a new era for Gentoo:
Storing the gentoo-x86 tree in Git, as converted from CVS.
This commit is the start of the NEW history.
Any historical data is intended to be grafted onto this point.
Creation process:
1. Take final CVS checkout snapshot
2. Remove ALL ChangeLog* files
3. Transform all Manifests to thin
4. Remove empty Manifests
5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$
5.1. Do not touch files with -kb/-ko keyword flags.
Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration tests
X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this project
X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo developer, wrote Git features for the migration
X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve cvs2svn
X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts
X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014 work in migration
X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging
X-Thanks: All of other Gentoo developers - many ideas and lots of paint on the bikeshed
Diffstat (limited to 'app-crypt/pinentry')
-rw-r--r-- | app-crypt/pinentry/Manifest | 2 | ||||
-rw-r--r-- | app-crypt/pinentry/files/pinentry-0.8.2-ncurses.patch | 25 | ||||
-rw-r--r-- | app-crypt/pinentry/files/pinentry-0.8.2-texi.patch | 20 | ||||
-rw-r--r-- | app-crypt/pinentry/files/pinentry-0.9.0-accessibility.patch | 82 | ||||
-rw-r--r-- | app-crypt/pinentry/files/pinentry-0.9.4-actually_respect_users_pm.patch | 49 | ||||
-rw-r--r-- | app-crypt/pinentry/files/pinentry-0.9.5-build.patch | 52 | ||||
-rw-r--r-- | app-crypt/pinentry/metadata.xml | 8 | ||||
-rw-r--r-- | app-crypt/pinentry/pinentry-0.9.0-r3.ebuild | 101 | ||||
-rw-r--r-- | app-crypt/pinentry/pinentry-0.9.0.ebuild | 98 | ||||
-rw-r--r-- | app-crypt/pinentry/pinentry-0.9.5.ebuild | 89 |
10 files changed, 526 insertions, 0 deletions
diff --git a/app-crypt/pinentry/Manifest b/app-crypt/pinentry/Manifest new file mode 100644 index 000000000000..b4d26ceefb95 --- /dev/null +++ b/app-crypt/pinentry/Manifest @@ -0,0 +1,2 @@ +DIST pinentry-0.9.0.tar.bz2 464272 SHA256 90045a07ab8e1a8e1ecf5d19b51691f195525e579fa5d71d7e92c120b05490ab SHA512 2cc53a5c3852edaf6e940228d9b43fe4709344eba5fe230b7afd22b2c0239d0b258917d75661d80590b2d61c6fe9dac8ad15a0b4a0a0e7fba90a9e1c07364edd WHIRLPOOL 3f77a8aa2d44c7206d877e31088ec927473441e61f06e788330545d75ac489e6e9d5bf0026b23d0824304dad54ce8e61c4571d186df7ad0edc2d644ca3af04ac +DIST pinentry-0.9.5.tar.bz2 514677 SHA256 6a57fd3afc0d8aaa5599ffcb3ea4e7c42c113a181e8870122203ea018384688c SHA512 31a190cacf45fd3ff5128a6a1a9f317fb09850fd595d5985392ea306ed65fa9232e2203458a9989eaac3b6e9d07199e01557912051f00a9a395cd1db61b44c39 WHIRLPOOL 52e9664d7cf0e804bb14b9586a89aca4037d3324261ac8931ed26365c32ae038b45eca9b7b6637b46f9231ff2db6a9e0a96a611404e48659c7ba009b84c40727 diff --git a/app-crypt/pinentry/files/pinentry-0.8.2-ncurses.patch b/app-crypt/pinentry/files/pinentry-0.8.2-ncurses.patch new file mode 100644 index 000000000000..3bb92c63d00c --- /dev/null +++ b/app-crypt/pinentry/files/pinentry-0.8.2-ncurses.patch @@ -0,0 +1,25 @@ +From bafe8608fc525ef103b3d1f3048ca28958bef596 Mon Sep 17 00:00:00 2001 +From: Alon Bar-Lev <alon.barlev@gmail.com> +Date: Sun, 5 May 2013 02:23:08 +0300 +Subject: [PATCH] ncurses: link with optional tinfo + +--- + m4/curses.m4 | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/m4/curses.m4 b/m4/curses.m4 +index 3a01881..ffb6bd1 100644 +--- a/m4/curses.m4 ++++ b/m4/curses.m4 +@@ -36,6 +36,8 @@ AC_DEFUN([IU_LIB_NCURSES], [ + have_ncursesw=no + fi + if test "$LIBNCURSES"; then ++ AC_CHECK_LIB(tinfow, curs_set, LIBNCURSES="${LIBNCURSES} -ltinfow", ++ AC_CHECK_LIB(tinfo, curs_set, LIBNCURSES="${LIBNCURSES} -ltinfo")) + # Use ncurses header files instead of the ordinary ones, if possible; + # is there a better way of doing this, that avoids looking in specific + # directories? +-- +1.8.1.5 + diff --git a/app-crypt/pinentry/files/pinentry-0.8.2-texi.patch b/app-crypt/pinentry/files/pinentry-0.8.2-texi.patch new file mode 100644 index 000000000000..f036fa93a1c2 --- /dev/null +++ b/app-crypt/pinentry/files/pinentry-0.8.2-texi.patch @@ -0,0 +1,20 @@ +--- doc/gpl.texi 2013-06-09 10:50:53.990704797 +1200 ++++ doc/gpl.texi 2013-06-09 10:51:25.310432565 +1200 +@@ -12,7 +12,7 @@ + of this license document, but changing it is not allowed. + @end display + +-@appendixsubsec Preamble ++@appendixsec Preamble + + The licenses for most software are designed to take away your + freedom to share and change it. By contrast, the GNU General Public +@@ -63,7 +63,7 @@ + modification follow. + + @iftex +-@appendixsubsec TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION ++@appendixsec TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + @end iftex + @ifinfo + @center TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION diff --git a/app-crypt/pinentry/files/pinentry-0.9.0-accessibility.patch b/app-crypt/pinentry/files/pinentry-0.9.0-accessibility.patch new file mode 100644 index 000000000000..20d6130978b1 --- /dev/null +++ b/app-crypt/pinentry/files/pinentry-0.9.0-accessibility.patch @@ -0,0 +1,82 @@ +diff --git a/qt4/main.cpp b/qt4/main.cpp +index 106999e..b2a69f2 100644 +--- a/qt4/main.cpp ++++ b/qt4/main.cpp +@@ -217,8 +217,9 @@ qt_cmd_handler (pinentry_t pe) + for ( size_t i = 0 ; i < sizeof buttonLabels / sizeof *buttonLabels ; ++i ) + if ( (buttons & buttonLabels[i].button) && !buttonLabels[i].label.isEmpty() ) { + box.button( buttonLabels[i].button )->setText( buttonLabels[i].label ); ++#ifndef QT_NO_ACCESSIBILITY + box.button( buttonLabels[i].button )->setAccessibleDescription ( buttonLabels[i].label ); +- ++#endif + } + + box.setIconPixmap( icon() ); +diff --git a/qt4/pinentryconfirm.cpp b/qt4/pinentryconfirm.cpp +index dfbd19f..6b3d545 100644 +--- a/qt4/pinentryconfirm.cpp ++++ b/qt4/pinentryconfirm.cpp +@@ -30,8 +30,10 @@ PinentryConfirm::PinentryConfirm(Icon icon, int timeout, const QString &title, + connect(_timer, SIGNAL(timeout()), this, SLOT(slotTimeout())); + _timer->start(timeout*1000); + } ++#ifndef QT_NO_ACCESSIBILITY + setAccessibleDescription (desc); + setAccessibleName (title); ++#endif + raiseWindow (this); + } + +diff --git a/qt4/pinentrydialog.cpp b/qt4/pinentrydialog.cpp +index 3a6dacc..456f022 100644 +--- a/qt4/pinentrydialog.cpp ++++ b/qt4/pinentrydialog.cpp +@@ -217,7 +217,9 @@ void PinEntryDialog::setDescription( const QString& txt ) + { + _desc->setVisible( !txt.isEmpty() ); + _desc->setText( txt ); ++#ifndef QT_NO_ACCESSIBILITY + _desc->setAccessibleDescription ( txt ); ++#endif + _icon->setPixmap( icon() ); + setError( QString::null ); + } +@@ -231,7 +233,9 @@ void PinEntryDialog::setError( const QString& txt ) + { + if( !txt.isNull() )_icon->setPixmap( icon( QStyle::SP_MessageBoxCritical ) ); + _error->setText( txt ); ++#ifndef QT_NO_ACCESSIBILITY + _error->setAccessibleDescription ( txt ); ++#endif + _error->setVisible( !txt.isEmpty() ); + } + +@@ -264,14 +268,18 @@ QString PinEntryDialog::prompt() const + void PinEntryDialog::setOkText( const QString& txt ) + { + _ok->setText( txt ); ++#ifndef QT_NO_ACCESSIBILITY + _ok->setAccessibleDescription ( txt ); ++#endif + _ok->setVisible( !txt.isEmpty() ); + } + + void PinEntryDialog::setCancelText( const QString& txt ) + { + _cancel->setText( txt ); ++#ifndef QT_NO_ACCESSIBILITY + _cancel->setAccessibleDescription ( txt ); ++#endif + _cancel->setVisible( !txt.isEmpty() ); + } + +@@ -279,7 +287,9 @@ void PinEntryDialog::setQualityBar( const QString& txt ) + { + if (_have_quality_bar) { + _quality_bar_label->setText( txt ); ++#ifndef QT_NO_ACCESSIBILITY + _quality_bar_label->setAccessibleDescription ( txt ); ++#endif + } + } diff --git a/app-crypt/pinentry/files/pinentry-0.9.4-actually_respect_users_pm.patch b/app-crypt/pinentry/files/pinentry-0.9.4-actually_respect_users_pm.patch new file mode 100644 index 000000000000..cfc96a3be814 --- /dev/null +++ b/app-crypt/pinentry/files/pinentry-0.9.4-actually_respect_users_pm.patch @@ -0,0 +1,49 @@ +From 444598586d0abf70d5a27d2aafcd6c14989621db Mon Sep 17 00:00:00 2001 +From: "Neal H. Walfield" <neal@gnu.org> +Date: Sun, 7 Jun 2015 14:36:39 +0200 +Subject: [PATCH] gnome3: Actually respect the user's choice of using a + password manager. + +* gnome3/pinentry-gnome3.c (create_prompt) [HAVE_LIBSECRET]: Only show +the libsecret prompt in this case. +(gnome3_cmd_handler) [HAVE_LIBSECRET]: Set PE->MAY_CACHE_PASSWORD +according to the user's choice. +--- + gnome3/pinentry-gnome3.c | 7 +++++++ + 1 file changed, 7 insertions(+) + +diff --git a/gnome3/pinentry-gnome3.c b/gnome3/pinentry-gnome3.c +index 74ec89c..0fea8f0 100644 +--- a/gnome3/pinentry-gnome3.c ++++ b/gnome3/pinentry-gnome3.c +@@ -145,6 +145,7 @@ create_prompt (pinentry_t pe, int confirm) + /* XXX: gcr expects a string; we have a int. */ + // gcr_prompt_set_caller_window (prompt, pe->parent_wid); + ++#ifdef HAVE_LIBSECRET + if (! confirm && pe->allow_external_password_cache && pe->keyinfo) + { + if (pe->default_pwmngr) +@@ -157,6 +158,7 @@ create_prompt (pinentry_t pe, int confirm) + gcr_prompt_set_choice_label + (prompt, "Automatically unlock this key, whenever I'm logged in"); + } ++#endif + + return prompt; + } +@@ -203,6 +205,11 @@ gnome3_cmd_handler (pinentry_t pe) + if (pe->repeat_passphrase) + pe->repeat_okay = 1; + ++#ifdef HAVE_LIBSECRET ++ if (pe->allow_external_password_cache && pe->keyinfo) ++ pe->may_cache_password = gcr_prompt_get_choice_chosen (prompt); ++#endif ++ + ret = 1; + } + } +-- +2.1.4 + diff --git a/app-crypt/pinentry/files/pinentry-0.9.5-build.patch b/app-crypt/pinentry/files/pinentry-0.9.5-build.patch new file mode 100644 index 000000000000..2ef9a6779ee3 --- /dev/null +++ b/app-crypt/pinentry/files/pinentry-0.9.5-build.patch @@ -0,0 +1,52 @@ +From 29384a828ad83644df9093bb292194d1ac6e689b Mon Sep 17 00:00:00 2001 +From: Alon Bar-Lev <alon.barlev@gmail.com> +Date: Sat, 18 Jul 2015 10:14:49 +0300 +Subject: [PATCH] build: add pkg-config initialization and modify detection + +add PKG_PROG_PKG_CONFIG as the qt4 detection and curses detection are +already using pkg.m4 which require proper initialization. + +modify the manual detection of pkg-config based on the error value of +the PKG_PROG_PKG_CONFIG and not the manual one as there is a conflict +between empty and 'no'. + +Signed-off-by: Alon Bar-Lev <alon.barlev@gmail.com> +--- + configure.ac | 7 +++---- + 1 file changed, 3 insertions(+), 4 deletions(-) + +diff --git a/configure.ac b/configure.ac +index b71cb17..7afa318 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -85,6 +85,7 @@ AC_PROG_RANLIB + # for Qt and autoconf does does not allow that. + AC_PROG_CXX + AC_PROG_LN_S ++PKG_PROG_PKG_CONFIG + AC_CHECK_TOOL(WINDRES, windres, :) + AC_CHECK_PROGS(GITLOG_TO_CHANGELOG, gitlog-to-changelog, + [build-aux/gitlog-to-changelog]) +@@ -430,8 +431,7 @@ AC_ARG_ENABLE(pinentry-gnome3, + + dnl check for pkg-config + if test "$pinentry_gtk_2" != "no" -o "$pinentry_gnome_3" != "no"; then +- AC_PATH_PROG(PKG_CONFIG, pkg-config, no) +- if test x"${PKG_CONFIG}" = xno ; then ++ if test -z "${PKG_CONFIG}"; then + pinentry_gtk_2=no + pinentry_gnome_3=no + fi +@@ -504,8 +504,7 @@ AC_ARG_ENABLE(libsecret, + + dnl check for pkg-config + if test "$libsecret" != "no"; then +- AC_PATH_PROG(PKG_CONFIG, pkg-config, no) +- if test x"${PKG_CONFIG}" = xno ; then ++ if test -z "${PKG_CONFIG}" ; then + libsecret=no + fi + fi +-- +2.3.6 + diff --git a/app-crypt/pinentry/metadata.xml b/app-crypt/pinentry/metadata.xml new file mode 100644 index 000000000000..3c50ec9eb99a --- /dev/null +++ b/app-crypt/pinentry/metadata.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<herd>crypto</herd> +<use> + <flag name='clipboard'>Enable clipboard integration</flag> +</use> +</pkgmetadata> diff --git a/app-crypt/pinentry/pinentry-0.9.0-r3.ebuild b/app-crypt/pinentry/pinentry-0.9.0-r3.ebuild new file mode 100644 index 000000000000..336343c0dffc --- /dev/null +++ b/app-crypt/pinentry/pinentry-0.9.0-r3.ebuild @@ -0,0 +1,101 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +inherit qmake-utils autotools 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="clipboard gtk ncurses qt4 caps static" + +RDEPEND=" + app-eselect/eselect-pinentry + caps? ( sys-libs/libcap ) + gtk? ( x11-libs/gtk+:2 ) + ncurses? ( sys-libs/ncurses ) + qt4? ( >=dev-qt/qtgui-4.4.1:4 ) + static? ( >=sys-libs/ncurses-5.7-r5[static-libs,-gpm] ) +" +DEPEND="${RDEPEND} + sys-devel/gettext + gtk? ( virtual/pkgconfig ) + qt4? ( virtual/pkgconfig ) + ppc-aix? ( dev-libs/gnulib ) +" +REQUIRED_USE=" + || ( ncurses gtk qt4 ) + gtk? ( !static ) + qt4? ( !static ) + static? ( ncurses ) +" + +DOCS=( AUTHORS ChangeLog NEWS README THANKS TODO ) + +src_prepare() { + if use qt4; then + local f + for f in qt4/*.moc; do + "$(qt4_get_bindir)"/moc ${f/.moc/.h} > ${f} || die + done + fi + epatch "${FILESDIR}/${PN}-0.8.2-ncurses.patch" + epatch "${FILESDIR}/${PN}-0.8.2-texi.patch" + epatch "${FILESDIR}/${PN}-0.9.0-accessibility.patch" + eautoreconf +} + +src_configure() { + use static && append-ldflags -static + [[ "$(gcc-major-version)" -ge 5 ]] && append-cxxflags -std=gnu++11 + + if [[ ${CHOST} == *-aix* ]] ; then + append-flags -I"${EPREFIX}/usr/$(get_libdir)/gnulib/include" + append-ldflags -L"${EPREFIX}/usr/$(get_libdir)/gnulib/$(get_libdir)" + append-libs -lgnu + fi + + # Issues finding qt on multilib systems + export QTLIB="${QTDIR}/$(get_libdir)" + + econf \ + --enable-pinentry-tty \ + $(use_enable gtk pinentry-gtk2) \ + $(use_enable ncurses pinentry-curses) \ + $(use_enable ncurses fallback-curses) \ + $(use_enable qt4 pinentry-qt4) \ + $(use qt4 && use_enable clipboard pinentry-qt4-clipboard) \ + $(use_with caps libcap) +} + +src_compile() { + emake AR="$(tc-getAR)" +} + +src_install() { + default + rm -f "${ED}"/usr/bin/pinentry || die +} + +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 +} diff --git a/app-crypt/pinentry/pinentry-0.9.0.ebuild b/app-crypt/pinentry/pinentry-0.9.0.ebuild new file mode 100644 index 000000000000..c77222115468 --- /dev/null +++ b/app-crypt/pinentry/pinentry-0.9.0.ebuild @@ -0,0 +1,98 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +inherit autotools multilib eutils flag-o-matic + +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="gtk ncurses qt4 caps static" + +RDEPEND=" + app-eselect/eselect-pinentry + caps? ( sys-libs/libcap ) + gtk? ( x11-libs/gtk+:2 ) + ncurses? ( sys-libs/ncurses ) + qt4? ( >=dev-qt/qtgui-4.4.1:4 ) + static? ( >=sys-libs/ncurses-5.7-r5[static-libs,-gpm] ) +" +DEPEND="${RDEPEND} + sys-devel/gettext + gtk? ( virtual/pkgconfig ) + qt4? ( virtual/pkgconfig ) + ppc-aix? ( dev-libs/gnulib ) +" +REQUIRED_USE=" + || ( ncurses gtk qt4 ) + gtk? ( !static ) + qt4? ( !static ) + static? ( ncurses ) +" + +DOCS=( AUTHORS ChangeLog NEWS README THANKS TODO ) + +src_prepare() { + if use qt4; then + local f + for f in qt4/*.moc; do + "${EPREFIX}"/usr/bin/moc ${f/.moc/.h} > ${f} || die + done + fi + epatch "${FILESDIR}/${PN}-0.8.2-ncurses.patch" + epatch "${FILESDIR}/${PN}-0.8.2-texi.patch" + eautoreconf +} + +src_configure() { + use static && append-ldflags -static + + if [[ ${CHOST} == *-aix* ]] ; then + append-flags -I"${EPREFIX}/usr/$(get_libdir)/gnulib/include" + append-ldflags -L"${EPREFIX}/usr/$(get_libdir)/gnulib/$(get_libdir)" + append-libs -lgnu + fi + + # Issues finding qt on multilib systems + export QTLIB="${QTDIR}/$(get_libdir)" + + econf \ + --enable-pinentry-tty \ + $(use_enable gtk pinentry-gtk2) \ + $(use_enable ncurses pinentry-curses) \ + $(use_enable ncurses fallback-curses) \ + $(use_enable qt4 pinentry-qt4) \ + $(use_with caps libcap) +} + +src_compile() { + emake AR="$(tc-getAR)" +} + +src_install() { + default + rm -f "${ED}"/usr/bin/pinentry || die +} + +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 +} diff --git a/app-crypt/pinentry/pinentry-0.9.5.ebuild b/app-crypt/pinentry/pinentry-0.9.5.ebuild new file mode 100644 index 000000000000..ef825c21e56b --- /dev/null +++ b/app-crypt/pinentry/pinentry-0.9.5.ebuild @@ -0,0 +1,89 @@ +# 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="clipboard 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 ) + qt4? ( >=dev-qt/qtgui-4.4.1:4 ) + static? ( >=sys-libs/ncurses-5.7-r5[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}-build.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-qt4) \ + $(use qt4 && use_enable clipboard pinentry-qt4-clipboard) \ + $(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 +} + +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 +} |