commit:     59f6d9714c8e46af940c43f9ae7a527386929c35
Author:     Ilia Mirkin <imirkin <AT> alum <DOT> mit <DOT> edu>
AuthorDate: Tue Apr 14 17:35:21 2020 +0000
Commit:     Matt Turner <mattst88 <AT> gentoo <DOT> org>
CommitDate: Mon Apr 20 21:26:31 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=59f6d971

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 <imirkin <AT> alum.mit.edu>
Signed-off-by: Matt Turner <mattst88 <AT> gentoo.org>

 x11-terms/aterm/aterm-1.0.1-r4.ebuild              | 90 ++++++++++++++++++++++
 .../aterm/files/aterm-1.0.1-remove-streams.patch   | 36 +++++++++
 2 files changed, 126 insertions(+)

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 00000000000..503745ca6b9
--- /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 00000000000..fc9f3f82ba1
--- /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 <sys/resource.h>    /* for struct rlimit */
+-# include <sys/stropts.h>     /* for I_PUSH */
+ # define _NEW_TTY_CTRL                /* to get proper defines in <termios.h> 
*/
+ #endif
+ 
++#if defined (__svr4__)
++# include <sys/stropts.h>     /* 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 */

Reply via email to