From fef54af1ce3b8c62298f4165f865eb42534a98be Mon Sep 17 00:00:00 2001 From: Juan RP Date: Wed, 15 Apr 2020 17:41:28 +0200 Subject: [PATCH] pinentry: split -gnome, -gtk, -qt to fix a cyclic dependency. Fixes #20438 --- srcpkgs/pinentry-gnome | 2 +- srcpkgs/pinentry-gtk | 1 - srcpkgs/pinentry-gtk/template | 53 ++++++++++++++++++++++++++++++++ srcpkgs/pinentry-qt | 2 +- srcpkgs/pinentry/template | 58 ++++++++--------------------------- 5 files changed, 67 insertions(+), 49 deletions(-) delete mode 120000 srcpkgs/pinentry-gtk create mode 100644 srcpkgs/pinentry-gtk/template diff --git a/srcpkgs/pinentry-gnome b/srcpkgs/pinentry-gnome index ca6c20e3c6..eefb3ff2b2 120000 --- a/srcpkgs/pinentry-gnome +++ b/srcpkgs/pinentry-gnome @@ -1 +1 @@ -pinentry \ No newline at end of file +pinentry-gtk \ No newline at end of file diff --git a/srcpkgs/pinentry-gtk b/srcpkgs/pinentry-gtk deleted file mode 120000 index ca6c20e3c6..0000000000 --- a/srcpkgs/pinentry-gtk +++ /dev/null @@ -1 +0,0 @@ -pinentry \ No newline at end of file diff --git a/srcpkgs/pinentry-gtk/template b/srcpkgs/pinentry-gtk/template new file mode 100644 index 0000000000..8d0897cc11 --- /dev/null +++ b/srcpkgs/pinentry-gtk/template @@ -0,0 +1,53 @@ +# Template file for 'pinentry-gtk' +# NOTE: keep this pkg synchronized with srcpkgs/pinentry. +# NOTE: it's splitted this way to avoid cyclic dependencies. +_desc="PIN or passphrase entry dialogs for GnuPG" + +pkgname=pinentry-gtk +version=1.1.0 +revision=6 +wrksrc="pinentry-${version}" +build_style=gnu-configure +configure_args="--without-libcap --enable-fallback-curses + --disable-pinentry-curses --disable-pinentry-tty + --disable-pinentry-emacs --enable-pinentry-qt + --enable-pinentry-gtk2 --enable-pinentry-gnome3 + $(vopt_enable libsecret)" +hostmakedepends="pkg-config qt5-host-tools" +makedepends="ncurses-devel libassuan-devel libgpg-error-devel + gcr-devel gtk+-devel qt5-devel $(vopt_if libsecret libsecret-devel)" +short_desc="${_desc} based on GTK+" +maintainer="Leah Neukirchen " +license="GPL-2.0-or-later" +homepage="https://www.gnupg.org/related_software/pinentry/index.html" +distfiles="https://gnupg.org/ftp/gcrypt/pinentry/pinentry-${version}.tar.bz2" +checksum=68076686fa724a290ea49cdf0d1c0c1500907d1b759a3bcbfbec0293e8f56570 + +alternatives="pinentry:pinentry:/usr/bin/pinentry-gtk-2" + +build_options="libsecret" +build_options_default="libsecret" +desc_option_libsecret="Enable support for saving passwords via libsecret" + +post_install() { + rm -f ${DESTDIR}/usr/bin/pinentry + rm -rf ${DESTDIR}/usr/share/info +} + +pinentry-qt_package() { + depends="pinentry>=${version}_${revision}" + short_desc="${_desc} based on Qt" + alternatives="pinentry:pinentry:/usr/bin/pinentry-qt" + pkg_install() { + vmove usr/bin/pinentry-qt + } +} + +pinentry-gnome_package() { + depends="pinentry>=${version}_${revision}" + short_desc="${_desc} for the GNOME desktop" + alternatives="pinentry:pinentry:/usr/bin/pinentry-gnome3" + pkg_install() { + vmove usr/bin/pinentry-gnome3 + } +} diff --git a/srcpkgs/pinentry-qt b/srcpkgs/pinentry-qt index ca6c20e3c6..eefb3ff2b2 120000 --- a/srcpkgs/pinentry-qt +++ b/srcpkgs/pinentry-qt @@ -1 +1 @@ -pinentry \ No newline at end of file +pinentry-gtk \ No newline at end of file diff --git a/srcpkgs/pinentry/template b/srcpkgs/pinentry/template index 8ffa904818..edee8e78cb 100644 --- a/srcpkgs/pinentry/template +++ b/srcpkgs/pinentry/template @@ -1,15 +1,16 @@ # Template file for 'pinentry' +# NOTE: keep this pkg synchronized with srcpkgs/pinentry-gtk. +# NOTE: it's splitted this way to avoid cyclic dependencies. pkgname=pinentry version=1.1.0 -revision=5 +revision=6 build_style=gnu-configure -configure_args="--disable-rpath --without-libcap --disable-pinentry-gtk - --enable-pinentry-curses --enable-fallback-curses --enable-pinentry-gtk2 - --enable-pinentry-emacs --enable-pinentry-qt --enable-pinentry-tty - --enable-pinentry-gnome3 $(vopt_enable libsecret)" +configure_args="--without-libcap --enable-pinentry-tty + --enable-pinentry-curses --enable-fallback-curses + --enable-pinentry-emacs --disable-pinentry-qt --disable-libsecret + --disable-pinentry-gtk2 --disable-pinentry-gnome3" hostmakedepends="pkg-config" -makedepends="ncurses-devel gcr-devel gtk+-devel libassuan-devel libgpg-error-devel - qt5-devel $(vopt_if libsecret 'libsecret-devel')" +makedepends="ncurses-devel libassuan-devel libgpg-error-devel" short_desc="PIN or passphrase entry dialogs for GnuPG" maintainer="Leah Neukirchen " license="GPL-2.0-or-later" @@ -19,14 +20,6 @@ checksum=68076686fa724a290ea49cdf0d1c0c1500907d1b759a3bcbfbec0293e8f56570 alternatives="pinentry:pinentry:/usr/bin/pinentry-curses" -build_options="libsecret" -desc_option_libsecret="Enable support for saving passwords via libsecret" -build_options_default="libsecret" - -if [ "$CROSS_BUILD" ]; then - hostmakedepends+=" qt5-host-tools" -fi - pre_build() { sed -e 's,ncursesw/curses.h,curses.h,' -i pinentry/pinentry-curses.c } @@ -35,33 +28,6 @@ post_install() { rm ${DESTDIR}/usr/bin/pinentry } -pinentry-tty_package() { - depends="${sourcepkg}>=${version}_${revision}" - short_desc+=" for dumb terminals" - alternatives="pinentry:pinentry:/usr/bin/pinentry-tty" - pkg_install() { - vmove usr/bin/pinentry-tty - } -} - -pinentry-qt_package() { - depends="${sourcepkg}>=${version}_${revision}" - short_desc+=" based on Qt" - alternatives="pinentry:pinentry:/usr/bin/pinentry-qt" - pkg_install() { - vmove usr/bin/pinentry-qt - } -} - -pinentry-gtk_package() { - depends="${sourcepkg}>=${version}_${revision}" - short_desc+=" based on GTK+" - alternatives="pinentry:pinentry:/usr/bin/pinentry-gtk-2" - pkg_install() { - vmove usr/bin/pinentry-gtk-2 - } -} - pinentry-emacs_package() { depends="${sourcepkg}>=${version}_${revision}" short_desc+=" - Emacs interface" @@ -71,11 +37,11 @@ pinentry-emacs_package() { } } -pinentry-gnome_package() { +pinentry-tty_package() { depends="${sourcepkg}>=${version}_${revision}" - short_desc+=" for the GNOME desktop" - alternatives="pinentry:pinentry:/usr/bin/pinentry-gnome3" + short_desc+=" for dumb terminals" + alternatives="pinentry:pinentry:/usr/bin/pinentry-tty" pkg_install() { - vmove usr/bin/pinentry-gnome3 + vmove usr/bin/pinentry-tty } }