summaryrefslogtreecommitdiff
path: root/app-misc/screen
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
committerV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
commit4f2d7949f03e1c198bc888f2d05f421d35c57e21 (patch)
treeba5f07bf3f9d22d82e54a462313f5d244036c768 /app-misc/screen
reinit the tree, so we can have metadata
Diffstat (limited to 'app-misc/screen')
-rw-r--r--app-misc/screen/Manifest15
-rw-r--r--app-misc/screen/files/screen-4.3.0-no-utempter.patch14
-rw-r--r--app-misc/screen/files/screen-4.5.1-texinfo.patch13
-rw-r--r--app-misc/screen/files/screenrc356
-rw-r--r--app-misc/screen/metadata.xml36
-rw-r--r--app-misc/screen/screen-4.4.0.ebuild153
-rw-r--r--app-misc/screen/screen-4.5.1.ebuild160
-rw-r--r--app-misc/screen/screen-4.6.0.ebuild158
-rw-r--r--app-misc/screen/screen-4.6.1.ebuild158
-rw-r--r--app-misc/screen/screen-9999.ebuild148
10 files changed, 1211 insertions, 0 deletions
diff --git a/app-misc/screen/Manifest b/app-misc/screen/Manifest
new file mode 100644
index 000000000000..9e3a2ab9cc37
--- /dev/null
+++ b/app-misc/screen/Manifest
@@ -0,0 +1,15 @@
+AUX screen-4.3.0-no-utempter.patch 341 SHA256 bc4675f13253198040c7c877f622738797dd71f8986631d183ea1a33be68d105 SHA512 f4191ba1ecac3076f958f56309c0a1d523b455fa4e3388f1cfca59c8ccff0afdfb20ef18d54794ba539b2b6d1511ed599dc44787344dc5ccce2902c9b9848155 WHIRLPOOL 1b985c2a42d36c6824712ddb26145d3d4bd13f01f8ffac0076c96bdfed8d8235ba00c815c7ddbd4b9b59a2a2648bfde2b764a20281a02f9c1b0b774e6b2b5be6
+AUX screen-4.5.1-texinfo.patch 436 SHA256 173b9cfddcd1aecffef365910ef5d9b372244a917fa04fa3fe864836bf165260 SHA512 78b6e831414ef8cfc1f747f7eb9232ae907db4fa507967fb4b43b0266d045461f799ae37e71f8d93fed78e72bc0e7d90b93d131c9e24e47892468e96b880b0c4 WHIRLPOOL 8ce25e3048be51a7772cd08ed0e74374f6e3b2bd85a6bb18607156a8f6317cd296ad106f71204c0e5d794316f5c719a59b0b0973495ed22c24599329eb202fa4
+AUX screenrc 10412 SHA256 191d91f9fd1e676525a9e1a3bdc5ac73283f948caf74b4bb6e0cfcecbe4798bb SHA512 06fbec5e28480a2c369330fac0c94faa47e5d28e037d9fefd0cb3e813002c504866dc8ac86872b7ac6f16059a219e396a9c425b578b8afe882153ddb506158f7 WHIRLPOOL e05785d9810a709ccd189bbf1557022bd91f653ddb2f138e54286fbbc11ddbbedf2276d2b8bc975a8ff1ac024ab24d955a6b3055cf5cd2dfb445c35484e90f09
+DIST screen-4.4.0.tar.gz 846010 SHA256 ef722a54759a3bf23aad272bbf33c414c1078cad6bcd982fada93c0d7917218b SHA512 6e43f85c419f778822ec85e4340c95769e981a3d51abdeb5f26c6ebb840da9ab11b351ecc7f380ceea39bcfaa87f1124cfebd6af4ecb62b886eb189e7b79981b WHIRLPOOL a0d68d2d50f9f50537bf73a6dbb1ecbfe8c6af5c5322003a717431734bdc86a940fc55cd8c3a28b3e5ec572aaa0ceba376d97cbb8c5090a92d499cba2889b322
+DIST screen-4.5.1.tar.gz 963153 SHA256 97db2114dd963b016cd4ded34831955dcbe3251e5eee45ac2606e67e9f097b2d SHA512 ca53477ad38264be38efb1d10a1337b647dd061127162c77533b17a30d046cd0caabe38e4a9e5389aac30d5dc62eb53e7877411e69adae36d0ca869bd0a82804 WHIRLPOOL db60013141e3f426107d3f1e518b48fc0bbf89fbf51b26b5ac7208b9940448397ec0009d389365289a1d06421b403982093c8b7ee8d891eea20c704d7ad376b1
+DIST screen-4.6.0.tar.gz 849062 SHA256 9433706b653e941cc4c745f28e252e57be2a141eded923e61cc2c4a09768fed4 SHA512 2ee7cc51c62a478e72eda0647f3f347e63f40384e19bc11b074158bd94cdb628c6425b1dd7a472496d56bff11a30a9dc58859c2e7e539fae2a8718ed9b0f96d7 WHIRLPOOL 62593811fed8dc2e92acefb80751a60ad7170429047f9acf0ec21718ab303add365ae469d11d3371524095a53c750216ae07e572a640439db26e1526c7ed12ee
+DIST screen-4.6.1.tar.gz 848979 SHA256 aba9af66cb626155d6abce4703f45cce0e30a5114a368bd6387c966cbbbb7c64 SHA512 e5d029400ed5b509ebddc1f55812c33536d6f5ce91119537c7d06e1fa7dee84939c43337df4638f61c818ce0412f4d08fe212202162a4483a9e84bbc4b3e4336 WHIRLPOOL aad842c61961d01712017da64a3d9fbc5bcb74ecb0310b5d371ea8aa5eacf694826a66dea00c0b1c24de9918aafe6bf5b770342ec2ac840fa68cfa1fb52785fe
+EBUILD screen-4.4.0.ebuild 3956 SHA256 d522def5c9aee5fa33e443e10f2d7bd1928c936fd3f2117aeaff670e33a75644 SHA512 e143bf0d0f01d1f505ec84b4c55f36ba70391b117cf78694373fdd7b892d5df4b208b27a3d711daac0a3edbf05debfd9aed03eaff961083bca791df504c07185 WHIRLPOOL a27b51d080154604fc072652e13caf86bf10d23dc5c49abac4cd94fb38cfadee4da5d529f8ab969e51877993ac1dd58871e2d1db86b84d6746f3375c266cc881
+EBUILD screen-4.5.1.ebuild 4139 SHA256 756e30ee1819c554bff6089ba5588d4f73a69733592bf84bbfc09b9c5f7cb7fe SHA512 11e9a7ad1a85dfa67dc6fb6a1e738529c74cb0b82ea96d6fa023b4e6b71cfa14046b318e42d742595e9bda33af1d7514d1a6b0efc48696975b5d939db177471e WHIRLPOOL 1e77bb5a8e36402b7d15df01d89f97c3e8b50e4f386616a63d64ed143e105f6b8de06d8736ed649e4953d82d70cd0a8c02d316a1f50710bc0176aba375964474
+EBUILD screen-4.6.0.ebuild 4087 SHA256 bea936ccf54b555f23e9c56a49d591ec27529a9046574eead4f42caa0832f4dd SHA512 6c9b164723d23fffff0cf5a4fc346e2da8edf53fb877755c36c6106ab59b60b191ce17996597458df11b2a423a4a26db14b78e6e13d1c247ff2fbe4db2742968 WHIRLPOOL 660b1e137ed3d73d03d0a5fc91cfd41ce0854309fab036a2ec740e8b10b22ede626300ab898a91343b9530aa1aaac8b899209cde07aa4c7d90b81fcf28a01a7f
+EBUILD screen-4.6.1.ebuild 4087 SHA256 bea936ccf54b555f23e9c56a49d591ec27529a9046574eead4f42caa0832f4dd SHA512 6c9b164723d23fffff0cf5a4fc346e2da8edf53fb877755c36c6106ab59b60b191ce17996597458df11b2a423a4a26db14b78e6e13d1c247ff2fbe4db2742968 WHIRLPOOL 660b1e137ed3d73d03d0a5fc91cfd41ce0854309fab036a2ec740e8b10b22ede626300ab898a91343b9530aa1aaac8b899209cde07aa4c7d90b81fcf28a01a7f
+EBUILD screen-9999.ebuild 3680 SHA256 b4c700884e7deeb35b1ce18bbf602c3a10328492f28cec8b56b637eaa4e227ab SHA512 f27332b033f31450f6cd66ea8e9a39866470633e17eac7d6ea26bc093aaa62f85dc5001875478592c417889e298c2eb87f16954735e015405f4d4ba712cf09e5 WHIRLPOOL 3d0df4796c469378a550732fa23319c8101f60f2fe7a05e49cc470a134ee1f4781117e4a1518b44855f03bbfb5e54ce25eef6906931a12bc111f28ebcdc9741e
+MISC ChangeLog 8688 SHA256 5fb8c35b0b43b5d0c575c17e1d01089a3b0e153687e249e0b98bf9546077c3c5 SHA512 c0a284f5f073cb356fe05b62bd7c938aea0e1cf99139815568c934f3853e77420b081d2f2f606df37e9a11c8c461a7992f516b4fae470f4955e71277173f7f6f WHIRLPOOL 2f283c0cd3cb874ba334abe711f3ca2633c7ce895c1f240a0e03cd9d369b559e428094290fdd29dc265a2e82336666dd848a9d767c55513e7c66bf18c302991e
+MISC ChangeLog-2015 29858 SHA256 481ee48a0440100320f3ebf9d717d6aebb6f95ac4eff5ea793711b9e24f5324b SHA512 d3015d0c2ab3e7f019c414fc95542ff3408ee1ddccf1e805e5885646307141aa9c6d0a4aaf1bbe733b930da929e6eb1896c632cfcc2658ee4508a1c9fa830eac WHIRLPOOL 17a24afb34b439e9eff882ad54410af5117f41e92540854981e56671d5746b9caa15d6196d572a5d0421948763dea9a2f0953d0440792e1bafa593f00424e237
+MISC metadata.xml 1886 SHA256 27f1c2c7518b76c8410d8125f39e93dbd3588f133e006b8f60c0ed74a1e594bd SHA512 2fe77ff502ba653cf53a4a03159f085339881e23ce48b30f1bfc8638c3d0e33a4230dc82819464fd9566e42e8546e5a4011811902adfb2ed5e96938a8cfe5785 WHIRLPOOL d1cf4fb2252eb93a29e99a5112f722eb85eee71a33735bfb8e668f4cea1de74ec60c467d0f97da4f5570bf917cf7e05284bd6103fcfb5d67fb9d5dcb23781080
diff --git a/app-misc/screen/files/screen-4.3.0-no-utempter.patch b/app-misc/screen/files/screen-4.3.0-no-utempter.patch
new file mode 100644
index 000000000000..e11be5b11e61
--- /dev/null
+++ b/app-misc/screen/files/screen-4.3.0-no-utempter.patch
@@ -0,0 +1,14 @@
+--- a/configure.ac
++++ b/configure.ac
+@@ -878,11 +878,6 @@
+ #include <utmp.h>
+ #endif
+ ],[struct utmp u; u.ut_host[0] = 0;], AC_DEFINE(UTHOST))
+-AC_CHECK_HEADER(utempter.h, have_utempter=yes, have_utempter=no)
+-if test "$have_utempter" = yes; then
+- AC_DEFINE(HAVE_UTEMPTER)
+- LIBS="$LIBS -lutempter"
+-fi
+
+ dnl
+ dnl **** loadav ****
diff --git a/app-misc/screen/files/screen-4.5.1-texinfo.patch b/app-misc/screen/files/screen-4.5.1-texinfo.patch
new file mode 100644
index 000000000000..8d7a5e527175
--- /dev/null
+++ b/app-misc/screen/files/screen-4.5.1-texinfo.patch
@@ -0,0 +1,13 @@
+--- a/doc/screen.texinfo
++++ b/doc/screen.texinfo
+@@ -5796,8 +5796,8 @@
+ ============
+
+ @example
+- Thomas Renninger <treen@suse.com>,
+- Axel Beckert <abe@deuxchevaux.org>,
++ Thomas Renninger <treen@@suse.com>,
++ Axel Beckert <abe@@deuxchevaux.org>,
+ Ken Beal <kbeal@@amber.ssd.csd.harris.com>,
+ Rudolf Koenig <rfkoenig@@informatik.uni-erlangen.de>,
+ Toerless Eckert <eckert@@informatik.uni-erlangen.de>,
diff --git a/app-misc/screen/files/screenrc b/app-misc/screen/files/screenrc
new file mode 100644
index 000000000000..11f2f551b0bc
--- /dev/null
+++ b/app-misc/screen/files/screenrc
@@ -0,0 +1,356 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+#
+# /etc/screenrc
+#
+# This is the system wide screenrc.
+#
+# You can use this file to change the default behavior of screen system wide
+# or copy it to ~/.screenrc and use it as a starting point for your own
+# settings.
+#
+# Commands in this file are used to set options, bind screen functions to
+# keys, redefine terminal capabilities, and to automatically establish one or
+# more windows at the beginning of your screen session.
+#
+# This is not a comprehensive list of options, look at the screen manual for
+# details on everything that you can put in this file.
+#
+#
+
+# ==============================================================================
+# SCREEN SETTINGS
+# ==============================================================================
+
+# ESCAPE - the COMMAND CHARACTER
+# ===============================================================
+# escape ^aa # default
+# escape ^^^^ # suggested binding (Control-^) for Emacs users
+
+
+# PASSWORD
+# ===============================================================
+# This commands sets the *internal* password for the screen session.
+# WARNING!! If this is set then a "lock" command will only let you in to the
+# session after you enter the user's account password and then *also*
+# the internal password for that session. This gives additional safety but,
+# if you forget the internal password then you cannot resume your session.
+# Use :password to generate a password
+# password ODSJQf.4IJN7E # "1234"
+
+
+# VARIABLES
+# ===============================================================
+# No annoying audible bell, using "visual bell"
+# vbell on # default: off
+# vbell_msg " -- Bell,Bell!! -- " # default: "Wuff,Wuff!!"
+
+# Automatically detach on hangup.
+ autodetach on # default: on
+
+# Don't display the copyright page
+ startup_message off # default: on
+
+# Uses nethack-style messages
+# nethack on # default: off
+
+# Affects the copying of text regions
+ crlf off # default: off
+
+# Enable/disable multiuser mode. Standard screen operation is singleuser.
+# In multiuser mode the commands acladd, aclchg, aclgrp and acldel can be used
+# to enable (and disable) other user accessing this screen session.
+# Requires suid-root.
+ multiuser off
+
+# Change default scrollback value for new windows
+ defscrollback 1000 # default: 100
+
+# Define the time that all windows monitored for silence should
+# wait before displaying a message. Default 30 seconds.
+ silencewait 15 # default: 30
+
+# bufferfile: The file to use for commands
+# "readbuf" ('<') and "writebuf" ('>'):
+ bufferfile $HOME/.screen_exchange
+#
+# hardcopydir: The directory which contains all hardcopies.
+# hardcopydir ~/.hardcopy
+# hardcopydir ~/.screen
+#
+# shell: Default process started in screen's windows.
+# Makes it possible to use a different shell inside screen
+# than is set as the default login shell.
+# If begins with a '-' character, the shell will be started as a login shell.
+# shell zsh
+# shell bash
+# shell ksh
+ shell -$SHELL
+
+# shellaka '> |tcsh'
+# shelltitle '$ |bash'
+
+# emulate .logout message
+ pow_detach_msg "Screen session of \$LOGNAME \$:cr:\$:nl:ended."
+
+# caption always " %w --- %c:%s"
+# caption always "%3n %t%? @%u%?%? [%h]%?%=%c"
+
+# advertise hardstatus support to $TERMCAP
+# termcapinfo * '' 'hs:ts=\E_:fs=\E\\:ds=\E_\E\\'
+
+# set every new windows hardstatus line to somenthing descriptive
+# defhstatus "screen: ^En (^Et)"
+
+# don't kill window after the process died
+# zombie "^["
+
+# ignore displays that block on output
+defnonblock on
+
+# XTERM TWEAKS
+# ===============================================================
+
+# xterm understands both im/ic and doesn't have a status line.
+# Note: Do not specify im and ic in the real termcap/info file as
+# some programs (e.g. vi) will not work anymore.
+ termcap xterm* hs@:cs=\E[%i%d;%dr:im=\E[4h:ei=\E[4l
+ terminfo xterm* hs@:cs=\E[%i%p1%d;%p2%dr:im=\E[4h:ei=\E[4l
+
+# 80/132 column switching must be enabled for ^AW to work
+# change init sequence to not switch width
+ termcapinfo xterm* Z0=\E[?3h:Z1=\E[?3l:is=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;4;6l
+
+# Make the output buffer large for (fast) xterms.
+# termcapinfo xterm* OL=10000
+ termcapinfo xterm* OL=100
+
+# tell screen that xterm can switch to dark background and has function
+# keys.
+ termcapinfo xterm* 'VR=\E[?5h:VN=\E[?5l'
+ termcapinfo xterm* 'k1=\E[11~:k2=\E[12~:k3=\E[13~:k4=\E[14~'
+ termcapinfo xterm* 'kh=\EOH:kI=\E[2~:kD=\E[3~:kH=\EOF:kP=\E[5~:kN=\E[6~'
+
+# special xterm hardstatus: use the window title.
+ termcapinfo xterm* 'hs:ts=\E]2;:fs=\007:ds=\E]2;screen\007'
+
+#terminfo xterm 'vb=\E[?5h$<200/>\E[?5l'
+ termcapinfo xterm* 'vi=\E[?25l:ve=\E[34h\E[?25h:vs=\E[34l'
+
+# emulate part of the 'K' charset
+ termcapinfo xterm* 'XC=K%,%\E(B,[\304,\\\\\326,]\334,{\344,|\366,}\374,~\337'
+
+# xterm-52 tweaks:
+# - uses background color for delete operations
+ termcapinfo xterm* be
+
+# Do not use xterm's alternative window buffer, it breaks scrollback (see bug #61195)
+ termcapinfo xterm*|xs ti@:te=\E[2J
+
+# WYSE TERMINALS
+# ===============================================================
+
+#wyse-75-42 must have flow control (xo = "terminal uses xon/xoff")
+#essential to have it here, as this is a slow terminal.
+ termcapinfo wy75-42 xo:hs@
+
+# New termcap sequences for cursor application mode.
+ termcapinfo wy* CS=\E[?1h:CE=\E[?1l:vi=\E[?25l:ve=\E[?25h:VR=\E[?5h:VN=\E[?5l:cb=\E[1K:CD=\E[1J
+
+
+# OTHER TERMINALS
+# ===============================================================
+
+# make hp700 termcap/info better
+ termcapinfo hp700 'Z0=\E[?3h:Z1=\E[?3l:hs:ts=\E[62"p\E[0$~\E[2$~\E[1$}:fs=\E[0}\E[61"p:ds=\E[62"p\E[1$~\E[61"p:ic@'
+
+# Extend the vt100 desciption by some sequences.
+ termcap vt100* ms:AL=\E[%dL:DL=\E[%dM:UP=\E[%dA:DO=\E[%dB:LE=\E[%dD:RI=\E[%dC
+ terminfo vt100* ms:AL=\E[%p1%dL:DL=\E[%p1%dM:UP=\E[%p1%dA:DO=\E[%p1%dB:LE=\E[%p1%dD:RI=\E[%p1%dC
+ termcapinfo linux C8
+# old rxvt versions also need this
+# termcapinfo rxvt C8
+
+
+# KEYBINDINGS
+# ==============================================================
+# The "bind" command assign keys to (internal) commands
+# SCREEN checks all the keys you type; you type the key
+# which is known as the "command character" then SCREEN
+# eats this key, too, and checks whether this key is
+# "bound" to a command. If so then SCREEN will execute it.
+#
+# The command "bind" allows you to chose which keys
+# will be assigned to the commands.
+#
+# Some commands are bound to several keys -
+# usually to both some letter and its corresponding
+# control key combination, eg the command
+# "(create) screen" is bound to both 'c' and '^C'.
+#
+# The following list shows the default bindings:
+#
+# break ^B b
+# clear C
+# colon :
+# copy ^[ [
+# detach ^D d
+# digraph ^V
+# displays *
+# dumptermcap .
+# fit F
+# flow ^F f
+# focus ^I
+# hardcopy h
+# help ?
+# history { }
+# info i
+# kill K k
+# lastmsg ^M m
+# license ,
+# log H
+# login L
+# meta x
+# monitor M
+# next ^@ ^N sp n
+# number N
+# only Q
+# other ^X
+# pow_break B
+# pow_detach D
+# prev ^H ^P p ^?
+# quit \
+# readbuf <
+# redisplay ^L l
+# remove X
+# removebuf =
+# reset Z
+# screen ^C c
+# select " '
+# silence _
+# split S
+# suspend ^Z z
+# time ^T t
+# title A
+# vbell ^G
+# version v
+# width W
+# windows ^W w
+# wrap ^R r
+# writebuf >
+# xoff ^S s
+# xon ^Q q
+# ^] paste .
+# - select -
+# 0 select 0
+# 1 select 1
+# 2 select 2
+# 3 select 3
+# 4 select 4
+# 5 select 5
+# 6 select 6
+# 7 select 7
+# 8 select 8
+# 9 select 9
+# I login on
+# O login off
+# ] paste .
+#
+
+# And here are the default bind commands if you need them:
+#
+# bind A title
+# bind C clear
+# bind D pow_detach
+# bind F fit
+# bind H log
+# bind I login on
+# bind K kill
+# bind L login
+# bind M monitor
+# bind N number
+# bind O login off
+# bind Q only
+# bind S split
+# bind W width
+# bind X remove
+# bind Z reset
+
+# Let's remove some dangerous key bindings ...
+ bind k
+ bind ^k
+# bind . dumptermcap # default
+ bind .
+# bind ^\ quit # default
+ bind ^\
+# bind \\ quit # default
+ bind \\
+# bind ^h ??? # default
+ bind ^h
+# bind h hardcopy # default
+ bind h
+
+# ... and make them better.
+ bind 'K' kill
+ bind 'I' login on
+ bind 'O' login off
+ bind '}' history
+
+# Yet another hack:
+# Prepend/append register [/] to the paste if ^a^] is pressed.
+# This lets me have autoindent mode in vi.
+ register [ "\033:se noai\015a"
+ register ] "\033:se ai\015a"
+ bind ^] paste [.]
+
+
+# hardstatus alwaysignore
+# hardstatus alwayslastline "%Lw"
+
+# Resize the current region. The space will be removed from or added to
+# the region below or if there's not enough space from the region above.
+ bind = resize =
+ bind + resize +3
+ bind - resize -3
+# bind _ resize max
+#
+# attrcolor u "-u b"
+# attrcolor b "R"
+
+# STARTUP SCREENS
+# ===============================================================
+# Defines the time screen delays a new message when one message
+# is currently displayed. The default is 1 second.
+# msgminwait 2
+
+# Time a message is displayed if screen is not disturbed by
+# other activity. The dafault is 5 seconds:
+# msgwait 2
+
+# Briefly show the version number of this starting
+# screen session - but only for *one* second:
+# msgwait 1
+# version
+
+# Welcome the user:
+# echo "welcome :-)"
+# echo "I love you today."
+
+# Uncomment one/some following lines to automatically let
+# SCREEN start some programs in the given window numbers:
+# screen -t MAIL 0 mutt
+# screen -t EDIT 1 vim
+# screen -t GOOGLE 2 links http://www.google.com
+# screen -t NEWS 3 slrn
+# screen -t WWW 4 links http://www.math.fu-berlin.de/~guckes/
+# screen 5
+# screen 6
+
+# Set the environment variable var to value string. If only var is specified,
+# you'll be prompted to enter a value. If no parameters are specified,
+# you'll be prompted for both variable and value. The environment is
+# inherited by all subsequently forked shells.
+# setenv PROMPT_COMMAND 'echo -n -e "\033k\033\134"'
+
+# Don't you want to start programs which need a DISPLAY ?
+# setenv DISPLAY ''
diff --git a/app-misc/screen/metadata.xml b/app-misc/screen/metadata.xml
new file mode 100644
index 000000000000..ac31438add70
--- /dev/null
+++ b/app-misc/screen/metadata.xml
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>swegener@gentoo.org</email>
+ <description>Primary Maintainer</description>
+ </maintainer>
+ <maintainer type="project">
+ <email>shell-tools@gentoo.org</email>
+ <name>Gentoo Shell Tools Project</name>
+ </maintainer>
+ <longdescription>
+Screen is a full-screen window manager that multiplexes a physical terminal
+between several processes, typically interactive shells. Each virtual terminal
+provides the functions of the DEC VT100 terminal and, in addition, several
+control functions from the ANSI X3.64 (ISO 6429) and ISO 2022 standards (e.g.,
+insert/delete line and support for multiple character sets). There is a
+scrollback history buffer for each virtual terminal and a copy-and-paste
+mechanism that allows the user to move text regions between windows. When screen
+is called, it creates a single window with a shell in it (or the specified
+command) and then gets out of your way so that you can use the program as you
+normally would. Then, at any time, you can create new (full-screen) windows with
+other programs in them (including more shells), kill the current window, view a
+list of the active windows, turn output logging on and off, copy text between
+windows, view the scrollback history, switch between windows, etc. All windows
+run their programs completely independent of each other. Programs continue to
+run when their window is currently not visible and even when the whole screen
+session is detached from the users terminal.
+</longdescription>
+ <use>
+ <flag name="multiuser">Enable multiuser support (by setting correct
+ permissions)</flag>
+ <flag name="nethack">Express error messages in nethack style</flag>
+ <flag name="utmp">Include utmp support</flag>
+ </use>
+</pkgmetadata>
diff --git a/app-misc/screen/screen-4.4.0.ebuild b/app-misc/screen/screen-4.4.0.ebuild
new file mode 100644
index 000000000000..0ee4276016c3
--- /dev/null
+++ b/app-misc/screen/screen-4.4.0.ebuild
@@ -0,0 +1,153 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+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 ~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() {
+ # Apply patches.
+ epatch "${PATCHES[@]}"
+
+ # 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
+ # enable msg_header by upping the feature standard compatible
+ # with c99 mode
+ append-cppflags -D_XOPEN_SOURCE=600
+ 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}"
+}
diff --git a/app-misc/screen/screen-4.5.1.ebuild b/app-misc/screen/screen-4.5.1.ebuild
new file mode 100644
index 000000000000..5dc17e7b33df
--- /dev/null
+++ b/app-misc/screen/screen-4.5.1.ebuild
@@ -0,0 +1,160 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+SCM=""
+[[ "${PV}" = 9999 ]] && SCM="git-r3"
+inherit autotools eutils flag-o-matic pam toolchain-funcs user ${SCM}
+unset SCM
+
+DESCRIPTION="screen manager with VT100/ANSI terminal emulation"
+HOMEPAGE="https://www.gnu.org/software/screen/"
+
+if [[ "${PV}" != 9999 ]] ; then
+ SRC_URI="mirror://gnu/${PN}/${P}.tar.gz"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~sparc-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+else
+ EGIT_REPO_URI="git://git.savannah.gnu.org/screen.git"
+ EGIT_CHECKOUT_DIR="${WORKDIR}/${P}" # needed for setting S later on
+ S="${WORKDIR}"/${P}/src
+fi
+
+LICENSE="GPL-2"
+SLOT="0"
+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.
+ "${FILESDIR}"/${PN}-4.3.0-no-utempter.patch
+ # @ => @@
+ "${FILESDIR}"/${PN}-4.5.1-texinfo.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
+ # enable msg_header by upping the feature standard compatible
+ # with c99 mode
+ append-cppflags -D_XOPEN_SOURCE=600
+ 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 DOCS=(
+ README ChangeLog INSTALL TODO NEWS* patchlevel.h
+ doc/{FAQ,README.DOTSCREEN,fdpat.ps,window_to_display.ps}
+ )
+
+ default
+
+ local tmpfiles_perms tmpfiles_group
+
+ if use multiuser || use prefix
+ then
+ fperms 4755 /usr/bin/screen-${PV}
+ tmpfiles_perms="0755"
+ tmpfiles_group="root"
+ else
+ fowners root:utmp /usr/bin/screen-${PV}
+ fperms 2755 /usr/bin/screen-${PV}
+ 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 /etc
+ doins "${FILESDIR}"/screenrc
+
+ pamd_mimic_system screen auth
+}
+
+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}"
+}
diff --git a/app-misc/screen/screen-4.6.0.ebuild b/app-misc/screen/screen-4.6.0.ebuild
new file mode 100644
index 000000000000..01169b42901c
--- /dev/null
+++ b/app-misc/screen/screen-4.6.0.ebuild
@@ -0,0 +1,158 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+SCM=""
+[[ "${PV}" = 9999 ]] && SCM="git-r3"
+inherit autotools eutils flag-o-matic pam toolchain-funcs user ${SCM}
+unset SCM
+
+DESCRIPTION="screen manager with VT100/ANSI terminal emulation"
+HOMEPAGE="https://www.gnu.org/software/screen/"
+
+if [[ "${PV}" != 9999 ]] ; then
+ SRC_URI="mirror://gnu/${PN}/${P}.tar.gz"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~sparc-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+else
+ EGIT_REPO_URI="git://git.savannah.gnu.org/screen.git"
+ EGIT_CHECKOUT_DIR="${WORKDIR}/${P}" # needed for setting S later on
+ S="${WORKDIR}"/${P}/src
+fi
+
+LICENSE="GPL-2"
+SLOT="0"
+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.
+ "${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
+ # enable msg_header by upping the feature standard compatible
+ # with c99 mode
+ append-cppflags -D_XOPEN_SOURCE=600
+ 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 DOCS=(
+ README ChangeLog INSTALL TODO NEWS* patchlevel.h
+ doc/{FAQ,README.DOTSCREEN,fdpat.ps,window_to_display.ps}
+ )
+
+ default
+
+ local tmpfiles_perms tmpfiles_group
+
+ if use multiuser || use prefix
+ then
+ fperms 4755 /usr/bin/screen-${PV}
+ tmpfiles_perms="0755"
+ tmpfiles_group="root"
+ else
+ fowners root:utmp /usr/bin/screen-${PV}
+ fperms 2755 /usr/bin/screen-${PV}
+ 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 /etc
+ doins "${FILESDIR}"/screenrc
+
+ pamd_mimic_system screen auth
+}
+
+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}"
+}
diff --git a/app-misc/screen/screen-4.6.1.ebuild b/app-misc/screen/screen-4.6.1.ebuild
new file mode 100644
index 000000000000..01169b42901c
--- /dev/null
+++ b/app-misc/screen/screen-4.6.1.ebuild
@@ -0,0 +1,158 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+SCM=""
+[[ "${PV}" = 9999 ]] && SCM="git-r3"
+inherit autotools eutils flag-o-matic pam toolchain-funcs user ${SCM}
+unset SCM
+
+DESCRIPTION="screen manager with VT100/ANSI terminal emulation"
+HOMEPAGE="https://www.gnu.org/software/screen/"
+
+if [[ "${PV}" != 9999 ]] ; then
+ SRC_URI="mirror://gnu/${PN}/${P}.tar.gz"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~sparc-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+else
+ EGIT_REPO_URI="git://git.savannah.gnu.org/screen.git"
+ EGIT_CHECKOUT_DIR="${WORKDIR}/${P}" # needed for setting S later on
+ S="${WORKDIR}"/${P}/src
+fi
+
+LICENSE="GPL-2"
+SLOT="0"
+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.
+ "${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
+ # enable msg_header by upping the feature standard compatible
+ # with c99 mode
+ append-cppflags -D_XOPEN_SOURCE=600
+ 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 DOCS=(
+ README ChangeLog INSTALL TODO NEWS* patchlevel.h
+ doc/{FAQ,README.DOTSCREEN,fdpat.ps,window_to_display.ps}
+ )
+
+ default
+
+ local tmpfiles_perms tmpfiles_group
+
+ if use multiuser || use prefix
+ then
+ fperms 4755 /usr/bin/screen-${PV}
+ tmpfiles_perms="0755"
+ tmpfiles_group="root"
+ else
+ fowners root:utmp /usr/bin/screen-${PV}
+ fperms 2755 /usr/bin/screen-${PV}
+ 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 /etc
+ doins "${FILESDIR}"/screenrc
+
+ pamd_mimic_system screen auth
+}
+
+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}"
+}
diff --git a/app-misc/screen/screen-9999.ebuild b/app-misc/screen/screen-9999.ebuild
new file mode 100644
index 000000000000..115c11607624
--- /dev/null
+++ b/app-misc/screen/screen-9999.ebuild
@@ -0,0 +1,148 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit eutils flag-o-matic toolchain-funcs pam autotools user git-r3
+
+DESCRIPTION="screen manager with VT100/ANSI terminal emulation"
+HOMEPAGE="https://www.gnu.org/software/screen/"
+EGIT_REPO_URI="https://git.savannah.gnu.org/git/screen.git"
+EGIT_CHECKOUT_DIR="${WORKDIR}/${P}" # needed for setting S later on
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS=""
+IUSE="debug nethack pam selinux multiuser utmp"
+
+CDEPEND="
+ >=sys-libs/ncurses-5.2:0=
+ pam? ( virtual/pam )"
+RDEPEND="${CDEPEND}
+ selinux? ( sec-policy/selinux-screen )
+ utmp? (
+ kernel_linux? ( sys-libs/libutempter )
+ kernel_FreeBSD? ( || ( >=sys-freebsd/freebsd-lib-9.0 sys-libs/libutempter ) )
+ )
+"
+DEPEND="${CDEPEND}
+ sys-apps/texinfo"
+
+RESTRICT="test"
+S="${WORKDIR}"/${P}/src
+
+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 \
+ -e '/include/ s:sched.h:_sched.h:' \
+ screen.h winmsg.c canvas.h sched.c || die
+ sed -i -e 's:sched.h:_sched.h:g' Makefile.in || 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
+
+ # reconfigure
+ eautoreconf
+}
+
+src_configure() {
+ append-cppflags "-DMAXWIN=${MAX_SCREEN_WINDOWS:-100}"
+
+ [[ ${CHOST} == *-solaris* ]] && append-libs -lsocket -lnsl
+
+ use nethack || append-cppflags "-DNONETHACK"
+ use debug && append-cppflags "-DDEBUG"
+
+ econf \
+ --enable-socket-dir="${EPREFIX}/tmp/screen" \
+ --with-system_screenrc="${EPREFIX}/etc/screenrc" \
+ --with-pty-mode=0620 \
+ --with-pty-group=5 \
+ --enable-telnet \
+ $(use_enable pam) \
+ $(use_enable utmp)
+}
+
+src_compile() {
+ LC_ALL=POSIX emake comm.h term.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* \
+ 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 /run/screen."
+}