diff options
author | V3n3RiX <venerix@redcorelinux.org> | 2018-07-14 21:03:06 +0100 |
---|---|---|
committer | V3n3RiX <venerix@redcorelinux.org> | 2018-07-14 21:03:06 +0100 |
commit | 8376ef56580626e9c0f796d5b85b53a0a1c7d5f5 (patch) | |
tree | 7681bbd4e8b05407772df40a4bf04cbbc8afc3fa /app-misc/screen | |
parent | 30a9caf154332f12ca60756e1b75d2f0e3e1822d (diff) |
gentoo resync : 14.07.2018
Diffstat (limited to 'app-misc/screen')
-rw-r--r-- | app-misc/screen/Manifest | 17 | ||||
-rw-r--r-- | app-misc/screen/files/screen-4.3.0-no-utempter.patch | 14 | ||||
-rw-r--r-- | app-misc/screen/files/screen-4.4.0-utmp-musl.patch | 62 | ||||
-rw-r--r-- | app-misc/screen/files/screen-4.5.1-texinfo.patch | 13 | ||||
-rw-r--r-- | app-misc/screen/files/screen-4.6.2-utmp-exit.patch | 55 | ||||
-rw-r--r-- | app-misc/screen/files/screenrc | 356 | ||||
-rw-r--r-- | app-misc/screen/metadata.xml | 35 | ||||
-rw-r--r-- | app-misc/screen/screen-4.4.0.ebuild | 154 | ||||
-rw-r--r-- | app-misc/screen/screen-4.5.1.ebuild | 160 | ||||
-rw-r--r-- | app-misc/screen/screen-4.6.0.ebuild | 158 | ||||
-rw-r--r-- | app-misc/screen/screen-4.6.1.ebuild | 158 | ||||
-rw-r--r-- | app-misc/screen/screen-4.6.2.ebuild | 159 | ||||
-rw-r--r-- | app-misc/screen/screen-9999.ebuild | 149 |
13 files changed, 1490 insertions, 0 deletions
diff --git a/app-misc/screen/Manifest b/app-misc/screen/Manifest new file mode 100644 index 000000000000..c334d292394c --- /dev/null +++ b/app-misc/screen/Manifest @@ -0,0 +1,17 @@ +AUX screen-4.3.0-no-utempter.patch 341 BLAKE2B 3339783b3574f82f093c82a613ad18c5c58c184c082c2c311281cdd57e7176abae0f5935466a4a8b4d931d1d1b93d8f0a4e6b558a268553af4a0170061e6ebfe SHA512 f4191ba1ecac3076f958f56309c0a1d523b455fa4e3388f1cfca59c8ccff0afdfb20ef18d54794ba539b2b6d1511ed599dc44787344dc5ccce2902c9b9848155 +AUX screen-4.4.0-utmp-musl.patch 1762 BLAKE2B 10244e1f2a13a3ffa9833ae16b9d58508bbc6cce62b1971b2b0f967e9642fe12fcf96b48cf79e20db186d92cf0b41c2870640f90f25a62d71e4e9fc7e3b390e3 SHA512 9720128e1c4849330b3e7ae8163beb0bf5b4c17e9c8d003a142db59d22dcce2bff0dd437afa209b3b1538c0f28f9d4521f54134d4e28104ee74ba73d57dc2314 +AUX screen-4.5.1-texinfo.patch 436 BLAKE2B bba167b64c504219a8ef893c4e2761b7fba607ce4801bf751ee900abf9be3884d2e6df753979762043faca03af2e590edd4d851b792b99c58fabe3a3836113bb SHA512 78b6e831414ef8cfc1f747f7eb9232ae907db4fa507967fb4b43b0266d045461f799ae37e71f8d93fed78e72bc0e7d90b93d131c9e24e47892468e96b880b0c4 +AUX screen-4.6.2-utmp-exit.patch 1558 BLAKE2B e08e83f8b9f0cd09cd9bad4486a75d71bd899a7917954702ece0837099639079a746138374cbeaf71072cca64ae36a3c2a32250123c6747089e724272227e0dd SHA512 0e7c6c224f6fb8e01650b778cb2b155942752504dc97112d9594b7fa0da1bb8bd828240a2519b1c21f1c162181da89a8daa51ef7f74c8ced0b85cdb3e911a67c +AUX screenrc 10412 BLAKE2B f4866f4a83b22c37484b66e4c7d52ec479fe12ae3e72e5c9e769b1b543ecf04d14ef4339e1c72064741cbf39502ef82d3beb213326a30889f128e135f60bd528 SHA512 06fbec5e28480a2c369330fac0c94faa47e5d28e037d9fefd0cb3e813002c504866dc8ac86872b7ac6f16059a219e396a9c425b578b8afe882153ddb506158f7 +DIST screen-4.4.0.tar.gz 846010 BLAKE2B 7c7d37b22c1993420dbd8d4083bee0a748f28ace434963b822607747879bda60c1f2f435814e9d07ea88e4bbc1b43b6f600fce204fda7fde4a52a6314a27494a SHA512 6e43f85c419f778822ec85e4340c95769e981a3d51abdeb5f26c6ebb840da9ab11b351ecc7f380ceea39bcfaa87f1124cfebd6af4ecb62b886eb189e7b79981b +DIST screen-4.5.1.tar.gz 963153 BLAKE2B 8f7e20a0a3dde58435fc500714b49af97b4f2f225d34394170572e79ab9a8b49beac6c054021db367a01b6da91deaa726284a25c86eb57e11dcd09ad5dc44cb4 SHA512 ca53477ad38264be38efb1d10a1337b647dd061127162c77533b17a30d046cd0caabe38e4a9e5389aac30d5dc62eb53e7877411e69adae36d0ca869bd0a82804 +DIST screen-4.6.0.tar.gz 849062 BLAKE2B e08915bb34d4e356eb33c479f1b2dc7a8f4a855e9d1c27490ff31cfc88b4bd9dfb11101dd0e4508f3b37b023b9f9b987dfaff4c6cc930e994d22fcb024cf341d SHA512 2ee7cc51c62a478e72eda0647f3f347e63f40384e19bc11b074158bd94cdb628c6425b1dd7a472496d56bff11a30a9dc58859c2e7e539fae2a8718ed9b0f96d7 +DIST screen-4.6.1.tar.gz 848979 BLAKE2B e78874b6d8723c52f827ab5e6b665102d7fd831f03a0006f9d31e000535ccce95ce08e2d302e34ba2d567167a917c8bd3b875843828d1951bcb38ab6ae4e0acf SHA512 e5d029400ed5b509ebddc1f55812c33536d6f5ce91119537c7d06e1fa7dee84939c43337df4638f61c818ce0412f4d08fe212202162a4483a9e84bbc4b3e4336 +DIST screen-4.6.2.tar.gz 845210 BLAKE2B feea244e2e0c8f638442a524cd7cac93c6c5e576541bf1321fb32bc9424abf53415d00ebcb4a13a9613788c1baad6e132f209bd0a017b100e0687b3658603aea SHA512 224bd16ad5ae501d1b8bb7d2ba9cc19e6a0743de5a5b320109c2f6bf3b1ca564cc7094ed9211be13733d9d769cde77d13fe236341d448cad0518038ab1e85c99 +EBUILD screen-4.4.0.ebuild 3980 BLAKE2B 3077899f647e40c745c435215768819a8bb11a21d3f91ac86c45bc107e96f8d8cbb9d86328f5b7bd8295f1d80afa73fa67405bf37c1b8319466ce57aaa33af42 SHA512 95379c53082d4bd334550dce454c087fc9591cf96a625018e1856eb7073ce267f5885a382b54fd46e73a319b64304ecb92f779b1aeb80898262b8daff763bc13 +EBUILD screen-4.5.1.ebuild 4127 BLAKE2B d224ced4b2a18f213fb6d2d8c31fb466d6a4fb19c4fe1a8f24823b40a58abee084d4f6f7e8870bba4c016b198182e88f61beb7b86a9ec8bcacabbc4dda5bf9f2 SHA512 6db1227a0d8f4580a1603b85bc0ff8cdfe868ba58c735848e0dd37b6b989406bfbc9c3a8803c11f185f5f78802633bbaf90284356c66d364ea566768be2a07fe +EBUILD screen-4.6.0.ebuild 4075 BLAKE2B 88b85d6cb3413354b8411c2f71fb3b17a7b8fe9b7989e06e823faad8d3328612b74c6e0846184ebd60aeaf2d94e6bdbb8e631170d3f339459a9a589e4362228e SHA512 ba1626a43f9cbb92e5abe099ed8f17524d9fcef21381fbdaf645830873bc06dbdf4e04326ae5af6f662e709393b1e3b48c4859f4136e90f02f57bd07c4eba431 +EBUILD screen-4.6.1.ebuild 4062 BLAKE2B 87465fca1c1a8568c704fb5ca3f67fc12ed41c187f05ac95bd7dc95233821f7dc00830df40eec87934e5df5ead4055c94f80d3388b067893e8c4044311e183a4 SHA512 16e09d9b1e90915c4962b8d1840659d0c2b456fb38acea38bd809ff4416008ee4c13e73efaac3d562a034db20525efc7325b7fd400e04b37bd57904ae2be0be4 +EBUILD screen-4.6.2.ebuild 4111 BLAKE2B cc6b4b3eeb615f3e313f6ed779aba160058e5d31c1b05342945bba687d3ea6f73d8f71f08fefb5d7d0e2130c6f4370b5f798e1b4529318defb67fc72172fdd67 SHA512 bf1ab9c61d9d1c8087c08315aa732fcd1922913b446bfa3729219d52f7628f9aa8fb7c1001743bd4a77eae4936117fc4f108b8aacbd29e33d4efaf4e8adf4ce1 +EBUILD screen-9999.ebuild 3746 BLAKE2B c8bbcdc221e6e4e310aa161e4faad0a517579a1ee9d639957356eeac1cda6f437b33b7780877d87a2f25881a52b76f9e4e71d8760c55a92b2ef790c2af12aeb7 SHA512 07fee252dc398dc18edd4aceebc3ca9d0a86e4523593bb58983ff401fcb7cfffbb969d60563ec8e657e944b14952d462e1d9dc61e274ffff869421673a90f1ed +MISC metadata.xml 1836 BLAKE2B c91b439cb8e6301a8e7ac000f58616a6a383180671dc721b3ab74d74c826a85ec9f3e5d0d70a450a3a46430b47eb6dfff329a0d2489f4dee861ea1575f08e9c5 SHA512 39618ae8527cf9744132eb2a0aefe5f0b4a400784288661e74b670b149bf729001c950408b765a6cec0330c0517063732c7e4b15270a2a2a5d971d2e0475f21d 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.4.0-utmp-musl.patch b/app-misc/screen/files/screen-4.4.0-utmp-musl.patch new file mode 100644 index 000000000000..990c73042cd0 --- /dev/null +++ b/app-misc/screen/files/screen-4.4.0-utmp-musl.patch @@ -0,0 +1,62 @@ +From 74fdc8988b55633cd05f8625390cd3f6a8102003 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Amadeusz=20S=C5=82awi=C5=84ski?= <amade@asmblr.net> +Date: Sat, 13 Jun 2015 17:52:46 +0200 +Subject: [PATCH] change checks for utmp/utmpx in header + +linuxes should've working utmpx, so this check was bit weird +commit 2b1bdf96 mentions some "linux workaround", but nothing specific + +fixes build with musl libc +--- + os.h | 7 ++++--- + utmp.c | 4 ++-- + 2 files changed, 6 insertions(+), 5 deletions(-) + +diff --git a/os.h b/os.h +index 55de249..e827ac9 100644 +--- a/os.h ++++ b/os.h +@@ -250,9 +250,11 @@ extern int errno; + #endif + + #if defined(UTMPOK) || defined(BUGGYGETLOGIN) +-# if defined(SVR4) && !defined(DGUX) && !defined(__hpux) && !defined(linux) ++# if defined(SVR4) && !defined(DGUX) && !defined(__hpux) + # include <utmpx.h> +-# define UTMPFILE UTMPX_FILE ++# ifdef UTMPX_FILE /* GNU extension */ ++# define UTMPFILE UTMPX_FILE ++# endif + # define utmp utmpx + # define getutent getutxent + # define getutid getutxid +@@ -260,7 +262,6 @@ extern int errno; + # define pututline pututxline + # define setutent setutxent + # define endutent endutxent +-# define ut_time ut_xtime + # else /* SVR4 */ + # include <utmp.h> + # endif /* SVR4 */ +diff --git a/utmp.c b/utmp.c +index fa8b87b..f5d7db8 100644 +--- a/utmp.c ++++ b/utmp.c +@@ -631,7 +631,7 @@ int pid; + /* must use temp variable because of NetBSD/sparc64, where + * ut_xtime is long(64) but time_t is int(32) */ + (void)time(&now); +- u->ut_time = now; ++ u->ut_tv.tv_sec = now; + } + + static slot_t +@@ -743,7 +743,7 @@ int pid; + strncpy(u->ut_line, line, sizeof(u->ut_line)); + strncpy(u->ut_name, user, sizeof(u->ut_name)); + (void)time(&now); +- u->ut_time = now; ++ u->ut_tv.tv_sec = now; + } + + static slot_t 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/screen-4.6.2-utmp-exit.patch b/app-misc/screen/files/screen-4.6.2-utmp-exit.patch new file mode 100644 index 000000000000..11adf69a5368 --- /dev/null +++ b/app-misc/screen/files/screen-4.6.2-utmp-exit.patch @@ -0,0 +1,55 @@ +From 2f1b9dfe03133c9b77ea450aed088d65128dc547 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Amadeusz=20S=C5=82awi=C5=84ski?= <amade@asmblr.net> +Date: Tue, 5 Apr 2016 12:47:08 +0200 +Subject: [PATCH] check if we have ut_exit in utmpx struct + +--- + acconfig.h | 5 +++++ + configure.ac | 4 ++++ + utmp.c | 2 ++ + 3 files changed, 11 insertions(+) + +diff --git a/acconfig.h b/acconfig.h +index 656e117..d173c9c 100644 +--- a/acconfig.h ++++ b/acconfig.h +@@ -215,6 +215,11 @@ + #undef HAVE_UTEMPTER + + /* ++ * Define if your utmpx has ut_exit struct ++ */ ++#undef HAVE_UT_EXIT ++ ++/* + * If your system has the calls setreuid() and setregid(), + * define HAVE_SETREUID. Otherwise screen will use a forked process to + * safely create output files without retaining any special privileges. +diff --git a/configure.ac b/configure.ac +index 1a75020..8457619 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -374,6 +374,10 @@ if test "$have_utempter" = yes; then + AC_DEFINE(HAVE_UTEMPTER) + LIBS="$LIBS -lutempter" + fi ++AC_CHECKING(ut_exit) ++AC_TRY_COMPILE([ ++#include <utmpx.h> ++],[struct utmpx u; u.ut_exit.e_exit;], AC_DEFINE(HAVE_UT_EXIT)) + + dnl + dnl **** signal handling **** +diff --git a/utmp.c b/utmp.c +index da8d7ff..c864d07 100644 +--- a/utmp.c ++++ b/utmp.c +@@ -381,7 +381,7 @@ static int pututslot(slot_t slot, struct utmpx *u, char *host, Window *win) + struct utmp *u; + { + u->ut_type = DEAD_PROCESS; +-#if (!defined(linux) || defined(EMPTY)) && !defined(__CYGWIN__) ++#if defined(HAVE_UT_EXIT) + u->ut_exit.e_termination = 0; + u->ut_exit.e_exit = 0; + #endif 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..85dc556e636e --- /dev/null +++ b/app-misc/screen/metadata.xml @@ -0,0 +1,35 @@ +<?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> + </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..af3dde775a65 --- /dev/null +++ b/app-misc/screen/screen-4.4.0.ebuild @@ -0,0 +1,154 @@ +# Copyright 1999-2018 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 ~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 + "${FILESDIR}"/${P}-utmp-musl.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..3ed9e6bf384c --- /dev/null +++ b/app-misc/screen/screen-4.5.1.ebuild @@ -0,0 +1,160 @@ +# Copyright 1999-2018 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 ~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..11e428ca57cc --- /dev/null +++ b/app-misc/screen/screen-4.6.0.ebuild @@ -0,0 +1,158 @@ +# Copyright 1999-2018 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 ~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..5ad1bf9cd4ee --- /dev/null +++ b/app-misc/screen/screen-4.6.1.ebuild @@ -0,0 +1,158 @@ +# Copyright 1999-2018 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 ~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.2.ebuild b/app-misc/screen/screen-4.6.2.ebuild new file mode 100644 index 000000000000..344c79d869d4 --- /dev/null +++ b/app-misc/screen/screen-4.6.2.ebuild @@ -0,0 +1,159 @@ +# Copyright 1999-2018 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 ~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}"/${P}-utmp-exit.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..c7c5f5638521 --- /dev/null +++ b/app-misc/screen/screen-9999.ebuild @@ -0,0 +1,149 @@ +# Copyright 1999-2018 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' \ + -e 's:/usr/tmp/screens/:'"${EPREFIX}"'/tmp/screen/: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." +} |