| # Copyright 1999-2014 Gentoo Foundation |
| # Distributed under the terms of the GNU General Public License v2 |
| # $Id$ |
| |
| EAPI=5 |
| inherit autotools elisp-common eutils pam |
| |
| GENTOO_THEME_VERSION=2.1 |
| |
| DESCRIPTION="a DirectFB getty replacement" |
| HOMEPAGE="http://qingy.sourceforge.net/" |
| SRC_URI="mirror://sourceforge/${PN}/${P}.tar.bz2 |
| mirror://gentoo/${PN}-gentoo-theme-${GENTOO_THEME_VERSION}.tar.bz2 |
| https://dev.gentoo.org/~gienah/2big4tree/sys-apps/qingy/${P}-screensavers.patch.gz" |
| |
| LICENSE="GPL-2" |
| SLOT="0" |
| KEYWORDS="amd64 ppc x86" |
| IUSE="crypt directfb emacs gpm opensslcrypt pam static X" |
| |
| RDEPEND=">=sys-libs/ncurses-5.7-r7:= |
| opensslcrypt? ( dev-libs/openssl:0= ) |
| crypt? ( >=dev-libs/libgcrypt-1.2.1:0= ) |
| directfb? ( >=dev-libs/DirectFB-1.4.2[fbcon,jpeg,png,truetype] ) |
| emacs? ( virtual/emacs ) |
| pam? ( >=sys-libs/pam-0.75-r11 ) |
| X? ( |
| x11-libs/libX11:= |
| x11-libs/libXScrnSaver:= |
| x11-proto/scrnsaverproto |
| )" |
| DEPEND="${RDEPEND} |
| >=sys-apps/sed-4.1.4-r1 |
| virtual/pkgconfig" |
| RDEPEND="${RDEPEND} |
| pam? ( sys-auth/pambase )" |
| |
| SITEFILE=50${PN}-gentoo.el |
| |
| src_prepare() { |
| epatch "${FILESDIR}"/${P}-tinfo.patch |
| # bug #359637 and bug #462634 - fixes from upstream |
| epatch "${DISTDIR}"/${P}-screensavers.patch.gz |
| eautoreconf |
| } |
| |
| src_configure() { |
| local crypto_support="--disable-crypto" |
| local emacs_support="--disable-emacs --without-lispdir" |
| |
| if use crypt && use opensslcrypt; then |
| echo |
| ewarn "You can have openssl or libgcrypt as a crypto library, not both." |
| ewarn "Using libgcrypt now..." |
| echo |
| fi |
| |
| use emacs && emacs_support="--enable-emacs --with-lispdir=${SITELISP}/${PN}" |
| use opensslcrypt && crypto_support="--enable-crypto=openssl" |
| use crypt && crypto_support="--enable-crypto=libgcrypt" |
| econf \ |
| --sbindir=/sbin \ |
| --disable-optimizations \ |
| $(use_enable pam) \ |
| $(use_enable static static-build) \ |
| $(use_enable gpm gpm-lock) \ |
| $(use_enable X x-support) \ |
| $(use_enable directfb DirectFB-support ) \ |
| ${crypto_support} \ |
| ${emacs_support} |
| } |
| |
| src_install() { |
| # Copy documentation manually as make install only installs info files |
| # INSTALL is left because it contains also configuration informations |
| dodoc AUTHORS ChangeLog INSTALL NEWS README THANKS TODO |
| |
| # Install the program |
| emake DESTDIR="${D}" install |
| |
| # Set the settings file umask to 600, in case somebody |
| # wants to make use of the autologin feature |
| /bin/chmod 600 "${D}"/etc/qingy/settings |
| |
| # Install Gentoo theme |
| dodir /usr/share/${PN}/themes/gentoo |
| cp "${WORKDIR}"/gentoo/* "${D}"/usr/share/${PN}/themes/gentoo || die |
| |
| # Alter config file so that it uses our theme |
| sed -i 's/theme = "default"/theme = "gentoo"/' "${D}"/etc/${PN}/settings |
| |
| # Install log rotation policy |
| insinto /etc/logrotate.d |
| newins "${FILESDIR}"/${PN}-logrotate ${PN} |
| |
| use emacs && elisp-site-file-install "${FILESDIR}"/${SITEFILE} |
| |
| rm "${D}"/etc/pam.d/qingy |
| pamd_mimic system-local-login qingy auth account password session |
| } |
| |
| pkg_postinst() { |
| einfo "In order to use qingy you must first edit your /etc/inittab" |
| einfo "Check the documentation at ${HOMEPAGE}" |
| einfo "for instructions on how to do that." |
| echo |
| einfo "Also, make sure to adjust qingy settings file (/etc/qingy/settings)" |
| einfo "to your preferences/machine configuration..." |
| |
| if use crypt; then |
| echo |
| einfo "You will have to create a key pair using 'qingy-keygen'" |
| echo |
| ewarn "Note that sometimes a generated key-pair may pass the internal tests" |
| ewarn "but fail to work properly. You will get a 'regenerate your keys'" |
| ewarn "message. If this is your case, please remove /etc/qingy/public_key" |
| ewarn "and /etc/qingy/private_key and run qingy-keygen again..." |
| fi |
| |
| use emacs && echo && elisp-site-regen |
| } |
| |
| pkg_postrm() { |
| use emacs && elisp-site-regen |
| } |