diff options
author | Jeroen Roovers <jer@gentoo.org> | 2019-01-15 11:34:18 +0100 |
---|---|---|
committer | Jeroen Roovers <jer@gentoo.org> | 2019-01-15 11:34:57 +0100 |
commit | 075f311d7e8913f0a27f2247faac675ebb94d137 (patch) | |
tree | b3141750811b0b297fde334e6a56ba96595a8e23 /x11-misc/xautolock | |
parent | dev-lang/spidermonkey: Stable for HPPA too. (diff) | |
download | gentoo-075f311d7e8913f0a27f2247faac675ebb94d137.tar.gz gentoo-075f311d7e8913f0a27f2247faac675ebb94d137.tar.bz2 gentoo-075f311d7e8913f0a27f2247faac675ebb94d137.zip |
x11-misc/xautolock: Use waitpid() instead of wait3()
Fixes: https://bugs.gentoo.org/675242
Package-Manager: Portage-2.3.55, Repoman-2.3.12
Signed-off-by: Jeroen Roovers <jer@gentoo.org>
Diffstat (limited to 'x11-misc/xautolock')
-rw-r--r-- | x11-misc/xautolock/files/xautolock-2.2_p5_p1-waitpid.patch | 25 | ||||
-rw-r--r-- | x11-misc/xautolock/metadata.xml | 11 | ||||
-rw-r--r-- | x11-misc/xautolock/xautolock-2.2_p5_p1-r1.ebuild | 54 |
3 files changed, 90 insertions, 0 deletions
diff --git a/x11-misc/xautolock/files/xautolock-2.2_p5_p1-waitpid.patch b/x11-misc/xautolock/files/xautolock-2.2_p5_p1-waitpid.patch new file mode 100644 index 000000000000..98d96b2e2d34 --- /dev/null +++ b/x11-misc/xautolock/files/xautolock-2.2_p5_p1-waitpid.patch @@ -0,0 +1,25 @@ +--- a/src/engine.c ++++ b/src/engine.c +@@ -210,22 +210,14 @@ evaluateTriggers (Display* d) + #else /* VMS */ + if (lockerPid) + { +-#if !defined (UTEKV) && !defined (SYSV) && !defined (SVR4) +- union wait status; /* childs process status */ +-#else /* !UTEKV && !SYSV && !SVR4 */ + int status = 0; /* childs process status */ +-#endif /* !UTEKV && !SYSV && !SVR4 */ + + if (unlockNow && !disabled) + { + (void) kill (lockerPid, SIGTERM); + } + +-#if !defined (UTEKV) && !defined (SYSV) && !defined (SVR4) +- if (wait3 (&status, WNOHANG, 0)) +-#else /* !UTEKV && !SYSV && !SVR4 */ + if (waitpid (-1, &status, WNOHANG)) +-#endif /* !UTEKV && !SYSV && !SVR4 */ + { + /* + * If the locker exited normally, we disable any pending kill diff --git a/x11-misc/xautolock/metadata.xml b/x11-misc/xautolock/metadata.xml index 2ba8e9e851e4..b822c45366ac 100644 --- a/x11-misc/xautolock/metadata.xml +++ b/x11-misc/xautolock/metadata.xml @@ -5,4 +5,15 @@ <email>desktop-misc@gentoo.org</email> <name>Gentoo Desktop Miscellaneous Project</name> </maintainer> +<longdescription lang='en'> +If no user activity is detected after a set timeout, xautolock runs a program +for you. If you want that program (with optional arguments) to be a screen +locker, then one of these packages might fit your purpose: + x11-misc/alock + x11-misc/i3lock + x11-misc/slim + x11-misc/slock + x11-misc/xlockmore + x11-misc/xtrlock +</longdescription> </pkgmetadata> diff --git a/x11-misc/xautolock/xautolock-2.2_p5_p1-r1.ebuild b/x11-misc/xautolock/xautolock-2.2_p5_p1-r1.ebuild new file mode 100644 index 000000000000..63dd3677304c --- /dev/null +++ b/x11-misc/xautolock/xautolock-2.2_p5_p1-r1.ebuild @@ -0,0 +1,54 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +inherit toolchain-funcs versionator + +DESCRIPTION="An automatic X screen-locker/screen-saver" +HOMEPAGE="http://www.ibiblio.org/pub/Linux/X11/screensavers/" + +DEB_REV_MAJ="$(get_version_component_range 3)" +DEB_REV_MIN="$(get_version_component_range 4)" +DEB_REVISION="${DEB_REV_MAJ/p}.${DEB_REV_MIN/p}" +SRC_URI=" + ${HOMEPAGE}/${P/_p*/}.tgz + mirror://debian/pool/main/x/${PN}/${PN}_${PV/_p*/}-${DEB_REVISION}.debian.tar.xz +" +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~ppc ~sparc ~x86" + +RDEPEND=" + x11-libs/libXScrnSaver +" +DEPEND=" + ${RDEPEND} + app-text/rman + x11-base/xorg-proto + x11-misc/imake +" +PATCHES=( + "${WORKDIR}"/debian/patches/10-fix-memory-corruption.patch + "${WORKDIR}"/debian/patches/11-fix-no-dpms.patch + "${WORKDIR}"/debian/patches/12-fix-manpage.patch + "${WORKDIR}"/debian/patches/13-fix-hppa-build.patch + "${FILESDIR}"/${PN}-2.2_p5_p1-waitpid.patch +) +S=${WORKDIR}/${P/_p*} + +src_configure() { + xmkmf || die +} + +src_compile() { + emake \ + CC="$(tc-getCC)" \ + CDEBUGFLAGS="${CFLAGS}" \ + EXTRA_LDOPTIONS="${LDFLAGS}" +} + +src_install () { + dobin xautolock + newman xautolock.man xautolock.1 + dodoc Changelog Readme Todo +} |