summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'sys-apps/qingy/qingy-1.0.0-r2.ebuild')
-rw-r--r--sys-apps/qingy/qingy-1.0.0-r2.ebuild134
1 files changed, 134 insertions, 0 deletions
diff --git a/sys-apps/qingy/qingy-1.0.0-r2.ebuild b/sys-apps/qingy/qingy-1.0.0-r2.ebuild
new file mode 100644
index 000000000000..2b5951b29369
--- /dev/null
+++ b/sys-apps/qingy/qingy-1.0.0-r2.ebuild
@@ -0,0 +1,134 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit autotools elisp-common eutils pam systemd
+
+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
+ http://dev.gentoo.org/~gienah/2big4tree/sys-apps/qingy/${P}-screensavers.patch.gz
+ http://dev.gentoo.org/~gienah/2big4tree/sys-apps/qingy/${P}-consolekit-pam.patch.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ppc x86"
+IUSE="consolekit 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}
+ consolekit? (
+ sys-auth/consolekit
+ sys-apps/dbus )
+ 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
+ # bug #372675 - fix from upstream
+ epatch "${DISTDIR}"/${P}-consolekit-pam.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 consolekit) \
+ $(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
+
+ systemd_newunit "${FILESDIR}/${PN}_at.service" "${PN}@.service"
+}
+
+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
+}