From: Ilia Mirkin Date: Tue, 14 Apr 2020 17:35:21 +0000 (-0400) Subject: x11-terms/aterm: add patch to remove streams functionality X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=59f6d9714c8e46af940c43f9ae7a527386929c35;p=gentoo.git x11-terms/aterm: add patch to remove streams functionality STREAMS were never supported in Linux, and have been removed from glibc-2.30. This causes aterm to no longer build. The included patch fixes the build by making the code follow the old paths, on the assumption that the ioctls never did anything to begin with. Practical testing with this patch has not revealed any obvious issues. Bug: https://bugs.gentoo.org/691756 Signed-off-by: Ilia Mirkin Signed-off-by: Matt Turner --- diff --git a/x11-terms/aterm/aterm-1.0.1-r4.ebuild b/x11-terms/aterm/aterm-1.0.1-r4.ebuild new file mode 100644 index 000000000000..503745ca6b97 --- /dev/null +++ b/x11-terms/aterm/aterm-1.0.1-r4.ebuild @@ -0,0 +1,90 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit flag-o-matic eutils + +DESCRIPTION="rxvt compatible terminal emulator with transparency support" +HOMEPAGE="http://aterm.sourceforge.net" +SRC_URI="ftp://ftp.afterstep.org/apps/${PN}/${P}.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~sparc-solaris" +IUSE="background cjk xgetdefault" + +RDEPEND=" + virtual/jpeg:0 + media-libs/libpng:0= + background? ( x11-wm/afterstep ) + x11-libs/libX11 + x11-libs/libXext + x11-libs/libICE +" +DEPEND="${RDEPEND} + x11-base/xorg-proto + x11-libs/libXt +" + +src_prepare() { + # Security bug #219746 + eapply "${FILESDIR}/${P}-display-security-issue.patch" + eapply "${FILESDIR}"/${P}-deadkeys.patch + eapply "${FILESDIR}/${P}-dpy.patch" + eapply "${FILESDIR}/${P}-remove-streams.patch" + + #fix pre-stripped files + sed -i -e "/INSTALL_PROGRAM/ s:-s::" autoconf/Make.common.in || die "sed Makefile failed" + + default +} + +src_configure() { + local myconf + + use cjk && myconf="$myconf + --enable-kanji + --enable-thai + --enable-big5" + + case "${CHOST}" in + *-darwin*) myconf="${myconf} --enable-wtmp" ;; + *-interix*) ;; + *) myconf="${myconf} --enable-utmp --enable-wtmp" + esac + + econf \ + $(use_enable xgetdefault) \ + $(use_enable background background-image) \ + --with-terminfo="${EPREFIX}"/usr/share/terminfo \ + --enable-transparency \ + --enable-fading \ + --enable-background-image \ + --enable-menubar \ + --enable-graphics \ + --with-x \ + ${myconf} +} + +src_install() { + make DESTDIR="${D}" install || die "make install failed" + + fowners root:utmp /usr/bin/aterm + fperms g+s /usr/bin/aterm + + doman doc/aterm.1 + dodoc ChangeLog doc/FAQ doc/README.* + docinto menu + dodoc doc/menu/* + dohtml -r . +} + +pkg_postinst() { + echo + elog "The transparent background will only work if you have the 'real'" + elog "root wallpaper set. Some tools that might help include: Esetroot" + elog "(x11-terms/eterm), wmsetbg (x11-wm/windowmaker), and/or" + elog "media-gfx/feh." + echo +} diff --git a/x11-terms/aterm/files/aterm-1.0.1-remove-streams.patch b/x11-terms/aterm/files/aterm-1.0.1-remove-streams.patch new file mode 100644 index 000000000000..fc9f3f82ba17 --- /dev/null +++ b/x11-terms/aterm/files/aterm-1.0.1-remove-streams.patch @@ -0,0 +1,36 @@ +diff -ur aterm-1.0.1-orig/src/command.c aterm-1.0.1/src/command.c +--- aterm-1.0.1-orig/src/command.c 2020-04-01 12:50:59.222929696 -0400 ++++ aterm-1.0.1/src/command.c 2020-04-01 12:49:47.319579199 -0400 +@@ -91,10 +91,13 @@ + + #if defined (__svr4__) || defined (__lnx21__) + # include /* for struct rlimit */ +-# include /* for I_PUSH */ + # define _NEW_TTY_CTRL /* to get proper defines in */ + #endif + ++#if defined (__svr4__) ++# include /* for I_PUSH */ ++#endif ++ + /*}}} */ + + static unsigned int ModMetaMask, ModNumLockMask; +@@ -672,7 +675,7 @@ + print_error("can't open slave tty %s", ttydev); + exit(EXIT_FAILURE); + } +-#if defined (__svr4__) || defined (__lnx21__) ++#if defined (__svr4__) + /* + * Push STREAMS modules: + * ptem: pseudo-terminal hardware emulation module. +@@ -682,6 +685,8 @@ + ioctl(fd, I_PUSH, "ptem"); + ioctl(fd, I_PUSH, "ldterm"); + ioctl(fd, I_PUSH, "ttcompat"); ++#elif defined (__lnx21__) ++ /* do nothing */ + #else /* __svr4__ */ + { + /* change ownership of tty to real uid and real group */