From e8107e91369593e5cd1ee3a11f487278d4e6e71e Mon Sep 17 00:00:00 2001 From: Kristian Fiskerstrand Date: Sun, 1 Mar 2015 22:31:03 +0000 Subject: [PATCH] Fix for bug #541400 Package-Manager: portage-2.2.14/cvs/Linux x86_64 Manifest-Sign-Key: 0xFED5002857C1ABFA! --- app-crypt/pinentry/ChangeLog | 8 +- app-crypt/pinentry/Manifest | 15 ++- .../files/pinentry-0.9.0-accessibility.patch | 82 ++++++++++++++ app-crypt/pinentry/pinentry-0.9.0-r2.ebuild | 100 ++++++++++++++++++ 4 files changed, 199 insertions(+), 6 deletions(-) create mode 100644 app-crypt/pinentry/files/pinentry-0.9.0-accessibility.patch create mode 100644 app-crypt/pinentry/pinentry-0.9.0-r2.ebuild diff --git a/app-crypt/pinentry/ChangeLog b/app-crypt/pinentry/ChangeLog index e1f99bbd65c3..2978830637ea 100644 --- a/app-crypt/pinentry/ChangeLog +++ b/app-crypt/pinentry/ChangeLog @@ -1,6 +1,12 @@ # ChangeLog for app-crypt/pinentry # Copyright 1999-2015 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/app-crypt/pinentry/ChangeLog,v 1.164 2015/02/28 19:40:33 alonbl Exp $ +# $Header: /var/cvsroot/gentoo-x86/app-crypt/pinentry/ChangeLog,v 1.165 2015/03/01 22:30:54 k_f Exp $ + +*pinentry-0.9.0-r2 (01 Mar 2015) + + 01 Mar 2015; Kristian Fiskerstrand + +files/pinentry-0.9.0-accessibility.patch, +pinentry-0.9.0-r2.ebuild: + Fix for bug #541400 28 Feb 2015; Alon Bar-Lev -pinentry-0.8.2.ebuild, -pinentry-0.8.3.ebuild, -pinentry-0.8.4.ebuild: diff --git a/app-crypt/pinentry/Manifest b/app-crypt/pinentry/Manifest index d99911543b07..9d23d659fcc2 100644 --- a/app-crypt/pinentry/Manifest +++ b/app-crypt/pinentry/Manifest @@ -3,15 +3,20 @@ Hash: SHA256 AUX pinentry-0.8.2-ncurses.patch 824 SHA256 7d5e485e2c6dcce80ab63055d24761f53ae28e19b5ab2dacc424ebc7677805e8 SHA512 415ad55fd7a4ab66e87e5db76b1314b00f5a86552804f1f431a533ba1e7ec3f2c7136096106688b572639ceb637fdf0c3e25d96aa2e07fd1f6f295d39e1d4901 WHIRLPOOL 5483ccb6041e769387685ce987a19a2aa50835781a391169abbe7a838325149b81ce186692dbdc588858f74ef912a80f1eca6efb0f3421ace57925ca9c6f9ca5 AUX pinentry-0.8.2-texi.patch 688 SHA256 47c5280fb82d0ba15338c60765c1ee37b368baf774a821f7afe85a7bf16dcbbc SHA512 4cd0b58a8719d0569d9a3c7c8258e609ccd6239436e3b981afcfb95859f8f4b898a8c29db3b310fb3611b285e58f89b09c9c9f8607a9168ee26ffc054ed9f680 WHIRLPOOL fd574ed478dcd9ff1a9306da1122f20d6f894ca055ed4f368f6796c5b41bfcff9c7842c8ed9a9b8a235ccd4031a153d9f0cf43e60e0cec16e482bcc021a21388 +AUX pinentry-0.9.0-accessibility.patch 2587 SHA256 80adf350a7fa17ab7d60b36d1d373f629c85424de96950c4156fe44e0c2691ae SHA512 2c337e71aad65af0fae7d82bacb08304e1c276cbc0cb318442669a3c711ea0be7b909a5ff9c6a5e846464d1e91645ec5a2c57d9deb5eaaa8b16ce3c5244684a8 WHIRLPOOL 02bf8215210b81f48a16a519b9207356fd32c42a42acd1eaeae9faf81e5f8b500c006a3491948b48df855b7a44cde4976753a71494ff1a1b1b407d2ed653af56 DIST pinentry-0.9.0.tar.bz2 464272 SHA256 90045a07ab8e1a8e1ecf5d19b51691f195525e579fa5d71d7e92c120b05490ab SHA512 2cc53a5c3852edaf6e940228d9b43fe4709344eba5fe230b7afd22b2c0239d0b258917d75661d80590b2d61c6fe9dac8ad15a0b4a0a0e7fba90a9e1c07364edd WHIRLPOOL 3f77a8aa2d44c7206d877e31088ec927473441e61f06e788330545d75ac489e6e9d5bf0026b23d0824304dad54ce8e61c4571d186df7ad0edc2d644ca3af04ac EBUILD pinentry-0.9.0-r1.ebuild 2985 SHA256 b2bc39db7bf74f20cce4f14b8ba194e8e9e2d34b9f68f122c8c0487c62541815 SHA512 b17b889479003a87a663103ed78b25476e2af111a21c5bad416706176da100f3ed632f60906ebcab8fa4f2f122430642a97bf2b2a7f1bf4e5143c5e0d94bf26f WHIRLPOOL 6250f45c5ea2cff95638aa276953d0a43f7889c3d8c16bfbb1d10e151df54021af295f7bb048c235bfdeaeee2039fc0032c7bc81777e4fce759ab3c5705c3974 +EBUILD pinentry-0.9.0-r2.ebuild 3036 SHA256 72a38626c655131dce280a2ce630034a0c0c3a44090636033cb4ce77965c5735 SHA512 d22aa5c6cb6285d2248cb8f04d8314350c371b33fe314f2f84f2eebed90a8259f66b8454eb20e0d51ce1dd555368607a0641009cc4a1d9c8c6b871eae4818ec8 WHIRLPOOL feec856fc383095015ce1756d1aafb33a311d56ee469a4a030efafcd367929f32300ed52f9f187bc412a97ea400e4d598310c37063d4bd2d873da61e3a90be20 EBUILD pinentry-0.9.0.ebuild 2899 SHA256 e47fabd6a6b36a4653332ee1dc81dce47f94d7606f3ac867f247ec2c5d9b41e5 SHA512 9e6e6b3b75c6c8e276b9996c3d22ca35917a44c2bdf67dac49d46a6762b2988be827af10ff950785f92328424a92e965fb96456bcb365fb40b20585af5579ff4 WHIRLPOOL f94e0084731cd592830a760628a42df75bb9215ee80e8120cc8775cc277568a65ce5eb23fbdd02e64931a415ad0e3eb7a932462e29db43abb7445e13c04f0db7 -MISC ChangeLog 21856 SHA256 1d47ae631361e9b3cb24e9d379e6e94b6e046865a180a5589a2394f391350cde SHA512 d520fadac01c6f1e4b4c328cb99dba0df4e9ad0817d288c2298f1f848de9f993eab5763548a250367125514be678301996b45b16350f73b84752f1e7788b22f3 WHIRLPOOL 9f99fd82cb1ecc40ee3db6eacae5b0d041f0b374b76379bb04853c63488db80a56217e16cf03310d9a6844a7e7e3f110ac28df818c9d5ecafc7e054585c6f808 +MISC ChangeLog 22036 SHA256 dc79386c6bbeda3bd22b8289a411651ddf69a5fd35d59c83c82a05b8fb7304df SHA512 f23bda8681993ba2d8240578c7f4d66fe169d29f0f67c6fc7bb62d2525205e7d41a13e585f0052dd0e1f8f2e2f3a07d86bdbaa528c78389499434100677e90ed WHIRLPOOL c201894d4343562d2de881b74144e305cf448c430fa576df9fcee53880fb4ca64f4a518485d358dd7e1f5c8a3108c30def7ce6eb71dbbbba96293bfd6b440c6f MISC metadata.xml 232 SHA256 0f9362f8e4539dec9b2feb1bd93d34e4dff44290f4dac44dd50f9d44de62360e SHA512 79b3d9679dd2d61479a24ef159f6a23758dad2b77679824bae7758c8f47375b4548e0adf135b3dae5c6d6eff23d134f9477a06fd29789d4fb98670431670bb01 WHIRLPOOL 2ac86da5a1d1512f358400d0616ca3baba6ad55d68ad68296975192cf4f60ed55a3faefe0c3290720d61f117e6c8b24b37cd017e8b8c21c77f977dda8d3212fa -----BEGIN PGP SIGNATURE----- -Version: GnuPG v2 -iF4EAREIAAYFAlTyGbUACgkQXYk9GL8g3FHDWgD/cN5BE1uelwvu11yMzCWX+4zA -pgcuPHT+bEk+9naaEjwBAJ/Ydcc4aD4OMPjoJCg0PRXt+GBPDrCzpv84zPNBOuTv -=c2fH +iQEcBAEBCAAGBQJU85MfAAoJEP7VAChXwav68ucIAJUINa2EmHH+akN+DfFtR2Vs +tStJF4UJ3//mTUUJjZthLMqP6KnhOJ20ADAA1R0HDa1LVXL6dhxHDmGS/OCyNY8U +CYLfr8oNSAn057QaSkV2Pxz5PideHPEM0cYrjHjVV50G91CaZqhfNnOhGhfk4Mbu +s5/vTAGFEgL/hkm0Fd90eCjuf2AzgZpaZpwmF7l2TRsJLjjXBw3GvSJ5FfiE1zPw +nSOst1MoW/cCI8LQN9GmOwwTYuO2MlikYYJKNwBmTKnS9tWGTmoTWPxAQ+MD/iaX +yUmTaaIUafBSiaFVoFfhtL6aM8SEtipBymvWA/ZJuNhrJN8KhljOa8rETVoCRXM= +=Bw+X -----END PGP SIGNATURE----- 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/pinentry-0.9.0-r2.ebuild b/app-crypt/pinentry/pinentry-0.9.0-r2.ebuild new file mode 100644 index 000000000000..e9b62db4bf70 --- /dev/null +++ b/app-crypt/pinentry/pinentry-0.9.0-r2.ebuild @@ -0,0 +1,100 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/app-crypt/pinentry/pinentry-0.9.0-r2.ebuild,v 1.1 2015/03/01 22:30:54 k_f Exp $ + +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="clipboard gtk ncurses qt4 caps static" + +RDEPEND=" + app-admin/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" + epatch "${FILESDIR}/${PN}-0.9.0-accessibility.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 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 '=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 +} -- 2.26.2