kde-plasma/kwallet-pam: add changes from 5.6.2-r1 that were accidentally forgotten...
authorMichael Palimaka <kensington@gentoo.org>
Wed, 20 Apr 2016 09:16:24 +0000 (19:16 +1000)
committerMichael Palimaka <kensington@gentoo.org>
Wed, 20 Apr 2016 09:21:19 +0000 (19:21 +1000)
Package-Manager: portage-2.2.28

kde-plasma/kwallet-pam/kwallet-pam-5.6.3.ebuild

index 7bb19fb2b1b5f28de57c4976af7f95c27c0eb3bf..0713014356070d99d2abf55f1d88bbd53519db61 100644 (file)
@@ -5,12 +5,12 @@
 EAPI=6
 
 KDE_AUTODEPS="false"
-inherit kde5 multilib
+inherit kde5 multibuild multilib
 
 DESCRIPTION="KWallet PAM module to not enter password again"
 LICENSE="LGPL-2.1"
 KEYWORDS="~amd64 ~arm ~x86"
-IUSE=""
+IUSE="+oldwallet"
 
 COMMON_DEPEND="
        dev-libs/libgcrypt:0=
@@ -18,31 +18,60 @@ COMMON_DEPEND="
 "
 DEPEND="${COMMON_DEPEND}
        $(add_frameworks_dep extra-cmake-modules)
+       $(add_qt_dep qtcore)
 "
 RDEPEND="${COMMON_DEPEND}
+       !kde-apps/kwalletd-pam
        net-misc/socat
 "
 
+pkg_setup() {
+       kde5_pkg_setup
+       MULTIBUILD_VARIANTS=( kf5 $(usev oldwallet) )
+}
+
 src_configure() {
-       local mycmakeargs=(
-               -DCMAKE_INSTALL_LIBDIR="/$(get_libdir)"
-       )
+       myconfigure() {
+               local mycmakeargs=(
+                       -DCMAKE_INSTALL_LIBDIR="/$(get_libdir)"
+               )
+               [[ ${MULTIBUILD_VARIANT} = oldwallet ]] && mycmakeargs+=( -DKWALLET4=1 )
+
+               kde5_src_configure
+       }
+       multibuild_foreach_variant myconfigure
+}
 
-       kde5_src_configure
+src_compile() {
+       multibuild_foreach_variant kde5_src_compile
+}
+
+src_install() {
+       multibuild_foreach_variant kde5_src_install
 }
 
 pkg_postinst() {
        check_dm() {
-               if [[ -e "${ROOT}${2}" ]] && \
-                       grep -Eq "auth\s+optional\s+pam_kwallet5.so" "${ROOT}${2}" && \
-                       grep -Eq "session\s+optional\s+pam_kwallet5.so" "${ROOT}${2}" ; then
-                       elog "    ${1} - ${2} ...GOOD"
-               else
-                       ewarn "    ${1} - ${2} ...BAD"
+               local good
+               if [[ -e "${ROOT}${2}" ]] ; then
+                       if grep -Eq "auth\s+optional\s+pam_kwallet5.so" "${ROOT}${2}" && \
+                               grep -Eq "session\s+optional\s+pam_kwallet5.so" "${ROOT}${2}" ; then
+                               good=true
+                       fi
+                       if use oldwallet ; then
+                               if ! grep -Eq "auth\s+optional\s+pam_kwallet.so" "${ROOT}${2}" || \
+                                       ! grep -Eq "session\s+optional\s+pam_kwallet.so" "${ROOT}${2}" ; then
+                                       good=false
+                               fi
+                       fi
                fi
+               [[ "${good}" = true ]] && \
+                       elog "    ${1} - ${2} ...GOOD" || \
+                       ewarn "    ${1} - ${2} ...BAD"
        }
        elog
        elog "This package enables auto-unlocking of kde-frameworks/kwallet:5."
+       use oldwallet && elog "You have also selected support for legacy kde-apps/kwalletd:4."
        elog "List of things to make it work:"
        elog "1.  Use standard blowfish encryption instead of GPG"
        elog "2.  Use same password for login and kwallet"
@@ -50,6 +79,10 @@ pkg_postinst() {
        elog "4.a Have the following lines in the display manager's pam.d file:"
        elog "    -auth        optional        pam_kwallet5.so"
        elog "    -session     optional        pam_kwallet5.so auto_start"
+       if use oldwallet ; then
+               elog "    -auth        optional        pam_kwallet.so kdehome=.kde4"
+               elog "    -session     optional        pam_kwallet.so"
+       fi
        elog "4.b Checking installed DMs..."
        has_version "x11-misc/sddm" && check_dm "SDDM" "/etc/pam.d/sddm"
        has_version "x11-misc/lightdm" && check_dm "LightDM" "/etc/pam.d/lightdm"