From 1e77819d7263d8b453946be8f3f70080357649ed Mon Sep 17 00:00:00 2001 From: Kevin Mihelich <kevin@archlinuxarm.org> Date: Sat, 2 Jun 2012 14:34:24 -0400 Subject: [PATCH] added core/pinentry, fixes #165 --- core/pinentry/PKGBUILD | 41 ++++++++++++++++++++++ core/pinentry/gtk2-pinentry-segfault.patch | 11 ++++++ core/pinentry/pinentry.install | 20 +++++++++++ 3 files changed, 72 insertions(+) create mode 100644 core/pinentry/PKGBUILD create mode 100644 core/pinentry/gtk2-pinentry-segfault.patch create mode 100644 core/pinentry/pinentry.install diff --git a/core/pinentry/PKGBUILD b/core/pinentry/PKGBUILD new file mode 100644 index 000000000..6ab653c7a --- /dev/null +++ b/core/pinentry/PKGBUILD @@ -0,0 +1,41 @@ +# $Id: PKGBUILD 146746 2012-01-16 22:52:53Z dreisner $ +# Maintainer: Tobias Powalowski <tpowa@archlinux.org> + +# ALARM: Kevin Mihelich <kevin@archlinuxarm.org> +# - rebuild for libpng, remove when bumped upstream + +pkgname=pinentry +pkgver=0.8.1 +pkgrel=3.1 +pkgdesc="a collection of simple PIN or passphrase entry dialogs which utilize the Assuan protocol" +arch=('i686' 'x86_64') +license=('GPL') +url="http://www.gnupg.org/aegypten2" +depends=('ncurses' 'libcap>=2.16') +makedepends=('gtk2' 'qt') +optdepends=('gtk2: for gtk2 backend' + 'qt: for qt4 backend') +source=(ftp://ftp.gnupg.org/gcrypt/$pkgname/$pkgname-$pkgver.tar.gz + gtk2-pinentry-segfault.patch) +install=pinentry.install + +build() { + cd $startdir/src/$pkgname-$pkgver + for file in qt4/*.moc; do + /usr/bin/moc ${file/.moc/.h} > ${file} + done + ./configure --prefix=/usr \ + --enable-pinentry-curses \ + --disable-pinentry-gtk \ + --disable-pinentry-qt \ + --enable-pinentry-gtk2 \ + --enable-pinentry-qt4 \ + --enable-fallback-curses + make + make DESTDIR=${pkgdir} install + #rm ${pkgdir}/usr/share/info/dir + #rm ${pkgdir}/usr/bin/pinentry + #ln -s /usr/bin/pinentry-gtk-2 ${pkgdir}/usr/bin/pinentry +} +md5sums=('81f99904daee5331eb6738408bb024b6' + 'bd9888fafc56464b2c4deaad5b8edb07') diff --git a/core/pinentry/gtk2-pinentry-segfault.patch b/core/pinentry/gtk2-pinentry-segfault.patch new file mode 100644 index 000000000..c0b9fb4ca --- /dev/null +++ b/core/pinentry/gtk2-pinentry-segfault.patch @@ -0,0 +1,11 @@ +--- gtk+-2/pinentry-gtk-2.c.orig 2010-03-03 05:19:55.000000000 -0600 ++++ gtk+-2/pinentry-gtk-2.c 2010-07-07 00:11:30.413572124 -0500 +@@ -145,7 +145,7 @@ + { + gdk_keyboard_ungrab (gdk_event_get_time (event)); + /* Unmake window transient for the root window. */ +- gdk_window_set_transient_for (win->window, NULL); ++ gdk_property_delete (win->window, gdk_atom_intern_static_string ("WM_TRANSIENT_FOR")); + } + + diff --git a/core/pinentry/pinentry.install b/core/pinentry/pinentry.install new file mode 100644 index 000000000..eed2c7124 --- /dev/null +++ b/core/pinentry/pinentry.install @@ -0,0 +1,20 @@ +infodir=usr/share/info +filelist=(pinentry.info) + +post_install() { + [ -x usr/bin/install-info ] || return 0 + for file in ${filelist[@]}; do + install-info $infodir/$file.gz $infodir/dir 2> /dev/null + done +} + +post_upgrade() { + post_install $1 +} + +pre_remove() { + [ -x usr/bin/install-info ] || return 0 + for file in ${filelist[@]}; do + install-info --delete $infodir/$file.gz $infodir/dir 2> /dev/null + done +}