app-misc/screen: Version bump.
authorJeroen Roovers <jer@gentoo.org>
Wed, 18 Jan 2017 12:19:53 +0000 (13:19 +0100)
committerJeroen Roovers <jer@gentoo.org>
Wed, 18 Jan 2017 12:20:16 +0000 (13:20 +0100)
Package-Manager: Portage-2.3.3, Repoman-2.3.1

app-misc/screen/Manifest
app-misc/screen/screen-4.5.0.ebuild [new file with mode: 0644]

index 6a3d8d6a41f9a17456a3007686a9eb743bbc1fce..0354db6185501ef8e25809163ee70366d8757dbd 100644 (file)
@@ -1,2 +1,3 @@
 DIST screen-4.3.1.tar.gz 845958 SHA256 fa4049f8aee283de62e283d427f2cfd35d6c369b40f7f45f947dbfd915699d63 SHA512 8e8a25b23330a7d8e00fc9e6cc430f0eb3937ccf4183efbd6fd24e4dc04cc09b3acae45bfc24892faee433b18fa79b1cfe0211fd75c0d74ecf908f916bf774aa WHIRLPOOL b47f7538351028cc3a2ec7f69a9373e152fa7655c6ae9feb75ba46db3cdc9b7d58ce78043993b7f134da3a04754c5e52d1a77da4c30a8decda21c79cf5c50f51
 DIST screen-4.4.0.tar.gz 846010 SHA256 ef722a54759a3bf23aad272bbf33c414c1078cad6bcd982fada93c0d7917218b SHA512 6e43f85c419f778822ec85e4340c95769e981a3d51abdeb5f26c6ebb840da9ab11b351ecc7f380ceea39bcfaa87f1124cfebd6af4ecb62b886eb189e7b79981b WHIRLPOOL a0d68d2d50f9f50537bf73a6dbb1ecbfe8c6af5c5322003a717431734bdc86a940fc55cd8c3a28b3e5ec572aaa0ceba376d97cbb8c5090a92d499cba2889b322
+DIST screen-4.5.0.tar.gz 963233 SHA256 01c3a7c362185f35d6a95dff52d64337076496acd034d717de3c263500cfefb0 SHA512 b2705ed9604355d4153d7902f820af6131a1f2387650f5c6efeda7acf543aad48e8603c26d7c6e74213c8eece994d5d9bb0d114bc19c8d8f3d8e99c00ea4a484 WHIRLPOOL 04b26e849ae0440778f2eee1a8d8730697a0f8ee933522ec16de697ff0cc189fc67b7e46b7cb218457ab53e491fceff0d70e44417c7c3af5c934cd3fae769382
diff --git a/app-misc/screen/screen-4.5.0.ebuild b/app-misc/screen/screen-4.5.0.ebuild
new file mode 100644 (file)
index 0000000..51f9be6
--- /dev/null
@@ -0,0 +1,155 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=6
+
+inherit autotools eutils flag-o-matic pam toolchain-funcs user
+
+DESCRIPTION="screen manager with VT100/ANSI terminal emulation"
+HOMEPAGE="https://www.gnu.org/software/screen/"
+SRC_URI="mirror://gnu/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~sparc-fbsd ~x86-fbsd ~hppa-hpux ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="debug nethack pam selinux multiuser"
+
+CDEPEND="
+       >=sys-libs/ncurses-5.2:0=
+       pam? ( virtual/pam )"
+RDEPEND="${CDEPEND}
+       selinux? ( sec-policy/selinux-screen )"
+DEPEND="${CDEPEND}
+       sys-apps/texinfo"
+
+# Patches:
+# - Don't use utempter even if it is found on the system.
+PATCHES=(
+       "${FILESDIR}"/${PN}-4.3.0-no-utempter.patch
+)
+
+pkg_setup() {
+       # Make sure utmp group exists, as it's used later on.
+       enewgroup utmp 406
+}
+
+src_prepare() {
+       default
+
+       # sched.h is a system header and causes problems with some C libraries
+       mv sched.h _sched.h || die
+       sed -i '/include/ s:sched.h:_sched.h:' screen.h || die
+
+       # Fix manpage.
+       sed -i \
+               -e "s:/usr/local/etc/screenrc:${EPREFIX}/etc/screenrc:g" \
+               -e "s:/usr/local/screens:${EPREFIX}/tmp/screen:g" \
+               -e "s:/local/etc/screenrc:${EPREFIX}/etc/screenrc:g" \
+               -e "s:/etc/utmp:${EPREFIX}/var/run/utmp:g" \
+               -e "s:/local/screens/S\\\-:${EPREFIX}/tmp/screen/S\\\-:g" \
+               doc/screen.1 \
+               || die
+
+       if [[ ${CHOST} == *-darwin* ]] ; then
+               sed -i -e '/^#define UTMPOK/s/define/undef/' acconfig.h || die
+       fi
+
+       # reconfigure
+       eautoreconf
+}
+
+src_configure() {
+       append-cppflags "-DMAXWIN=${MAX_SCREEN_WINDOWS:-100}"
+
+       if [[ ${CHOST} == *-solaris* ]] ; then
+               # https://lists.gnu.org/archive/html/screen-devel/2014-04/msg00095.html
+               append-cppflags -D_XOPEN_SOURCE \
+                       -D_XOPEN_SOURCE_EXTENDED=1 \
+                       -D__EXTENSIONS__
+               append-libs -lsocket -lnsl
+       fi
+
+       use nethack || append-cppflags "-DNONETHACK"
+       use debug && append-cppflags "-DDEBUG"
+
+       econf \
+               --with-socket-dir="${EPREFIX}/tmp/screen" \
+               --with-sys-screenrc="${EPREFIX}/etc/screenrc" \
+               --with-pty-mode=0620 \
+               --with-pty-group=5 \
+               --enable-rxvt_osc \
+               --enable-telnet \
+               --enable-colors256 \
+               $(use_enable pam)
+}
+
+src_compile() {
+       LC_ALL=POSIX emake comm.h term.h
+       emake osdef.h
+
+       emake -C doc screen.info
+       default
+}
+
+src_install() {
+       local tmpfiles_perms tmpfiles_group
+
+       dobin screen
+
+       if use multiuser || use prefix
+       then
+               fperms 4755 /usr/bin/screen
+               tmpfiles_perms="0755"
+               tmpfiles_group="root"
+       else
+               fowners root:utmp /usr/bin/screen
+               fperms 2755 /usr/bin/screen
+               tmpfiles_perms="0775"
+               tmpfiles_group="utmp"
+       fi
+
+       dodir /etc/tmpfiles.d
+       echo "d /tmp/screen ${tmpfiles_perms} root ${tmpfiles_group}" \
+               > "${ED}"/etc/tmpfiles.d/screen.conf
+
+       insinto /usr/share/screen
+       doins terminfo/{screencap,screeninfo.src}
+       insinto /usr/share/screen/utf8encodings
+       doins utf8encodings/??
+       insinto /etc
+       doins "${FILESDIR}"/screenrc
+
+       pamd_mimic_system screen auth
+
+       dodoc \
+               README ChangeLog INSTALL TODO NEWS* patchlevel.h \
+               doc/{FAQ,README.DOTSCREEN,fdpat.ps,window_to_display.ps}
+
+       doman doc/screen.1
+       doinfo doc/screen.info
+}
+
+pkg_postinst() {
+       if [[ -z ${REPLACING_VERSIONS} ]]
+       then
+               elog "Some dangerous key bindings have been removed or changed to more safe values."
+               elog "We enable some xterm hacks in our default screenrc, which might break some"
+               elog "applications. Please check /etc/screenrc for information on these changes."
+       fi
+
+       # Add /tmp/screen in case it doesn't exist yet. This should solve
+       # problems like bug #508634 where tmpfiles.d isn't in effect.
+       local rundir="${EROOT%/}/tmp/screen"
+       if [[ ! -d ${rundir} ]] ; then
+               if use multiuser || use prefix ; then
+                       tmpfiles_group="root"
+               else
+                       tmpfiles_group="utmp"
+               fi
+               mkdir -m 0775 "${rundir}"
+               chgrp ${tmpfiles_group} "${rundir}"
+       fi
+
+       ewarn "This revision changes the screen socket location to ${rundir}"
+}