sys-apps/qingy: EAPI 8, use libgcrypt for OpenSSL 3 compatibility

Closes: https://bugs.gentoo.org/854564
Closes: https://bugs.gentoo.org/768279
Signed-off-by: Sam James <sam@gentoo.org>
This commit is contained in:
Sam James
2022-12-14 10:50:14 +00:00
parent c3692f5e13
commit 0b9828a580
2 changed files with 51 additions and 56 deletions

View File

@@ -1,14 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>base-system@gentoo.org</email>
<name>Gentoo Base System</name>
</maintainer>
<use>
<flag name="opensslcrypt">Encrypt communications between qingy and its GUI using <pkg>dev-libs/openssl</pkg></flag>
</use>
<upstream>
<remote-id type="sourceforge">qingy</remote-id>
</upstream>
<maintainer type="project">
<email>base-system@gentoo.org</email>
<name>Gentoo Base System</name>
</maintainer>
<upstream>
<remote-id type="sourceforge">qingy</remote-id>
</upstream>
</pkgmetadata>

View File

@@ -1,27 +1,28 @@
# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
EAPI=8
inherit autotools elisp-common epatch flag-o-matic pam systemd
inherit autotools elisp-common flag-o-matic 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
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"
https://dev.gentoo.org/~gienah/2big4tree/sys-apps/qingy/${P}-screensavers.patch.gz
"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="amd64 ppc x86"
IUSE="crypt emacs gpm opensslcrypt pam static X"
IUSE="crypt emacs gpm pam static X"
RDEPEND="
DEPEND="
>=sys-libs/ncurses-5.7-r7:=
opensslcrypt? ( dev-libs/openssl:0= )
crypt? ( >=dev-libs/libgcrypt-1.2.1:0= )
crypt? ( >=dev-libs/libgcrypt-1.2.1:= )
emacs? ( >=app-editors/emacs-23.1:* )
pam? ( >=sys-libs/pam-0.75-r11 )
X? (
@@ -29,50 +30,46 @@ RDEPEND="
x11-libs/libXScrnSaver:=
)
"
DEPEND="${RDEPEND}
virtual/pkgconfig
"
RDEPEND="${RDEPEND}
RDEPEND="
${RDEPEND}
pam? ( sys-auth/pambase )
"
BDEPEND="virtual/pkgconfig"
SITEFILE="50${PN}-gentoo.el"
src_prepare() {
eapply "${FILESDIR}"/${P}-tinfo.patch
PATCHES=(
"${FILESDIR}"/${P}-tinfo.patch
# bug #359637 and bug #462634 - fixes from upstream
epatch "${DISTDIR}"/${P}-screensavers.patch.gz
"${WORKDIR}"/${P}-screensavers.patch
)
src_prepare() {
default
mv configure.in configure.ac || die
eautoreconf
}
src_configure() {
append-cflags -fcommon
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
local myeconfargs=(
--sbindir=/sbin
--with-lispdir="${SITELISP}"/${PN}
--disable-optimizations
--disable-static
--disable-DirectFB-support
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 \
--disable-static \
--disable-DirectFB-support \
$(use_enable pam) \
$(use_enable static static-build) \
$(use_enable gpm gpm-lock) \
$(use_enable X x-support) \
${crypto_support} \
${emacs_support}
$(use_enable emacs)
$(use_enable pam)
$(use_enable static static-build)
$(use_enable gpm gpm-lock)
$(use_enable X x-support)
$(use_enable crypt crypto libgcrypt)
)
CONFIG_SHELL="${BROOT}"/bin/bash econf "${myeconfargs[@]}"
}
src_install() {
@@ -82,18 +79,19 @@ src_install() {
# Install the program
default
find "${D}" -name '*.la' -delete || die
find "${ED}" -name '*.la' -delete || die
# 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
fperms 600 /etc/qingy/settings
# Install Gentoo theme
dodir /usr/share/${PN}/themes/gentoo
cp "${WORKDIR}"/gentoo/* "${D}"/usr/share/${PN}/themes/gentoo || die
cp "${WORKDIR}"/gentoo/* "${ED}"/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
sed -i 's/theme = "default"/theme = "gentoo"/' "${ED}"/etc/${PN}/settings || die
# Install log rotation policy
insinto /etc/logrotate.d
@@ -101,7 +99,7 @@ src_install() {
use emacs && elisp-site-file-install "${FILESDIR}"/${SITEFILE}
rm "${D}"/etc/pam.d/qingy
rm "${ED}"/etc/pam.d/qingy || die
if use pam; then
pamd_mimic system-local-login qingy auth account password session
@@ -111,11 +109,11 @@ src_install() {
}
pkg_postinst() {
einfo "In order to use qingy you must first edit your /etc/inittab"
einfo "In order to use qingy you must first edit your ${EROOT}/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 "Also, make sure to adjust qingy settings file (${EROOT}/etc/qingy/settings)"
einfo "to your preferences/machine configuration..."
if use crypt; then
@@ -124,8 +122,8 @@ pkg_postinst() {
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..."
ewarn "message. If this is your case, please remove ${EROOT}/etc/qingy/public_key"
ewarn "and ${EROOT}/etc/qingy/private_key and run qingy-keygen again..."
fi
use emacs && echo && elisp-site-regen