Gentoo Archives: gentoo-commits

From: "Anthony G. Basile" <blueness@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/musl:master commit in: app-misc/screen/files/, app-misc/screen/
Date: Sat, 17 Nov 2018 00:37:07
Message-Id: 1542415006.8f4bd10e4365a3e97d075d4170d439f2dde1c0f5.blueness@gentoo
1 commit: 8f4bd10e4365a3e97d075d4170d439f2dde1c0f5
2 Author: xdch47 <xdch47 <AT> posteo <DOT> de>
3 AuthorDate: Fri Nov 16 14:31:56 2018 +0000
4 Commit: Anthony G. Basile <blueness <AT> gentoo <DOT> org>
5 CommitDate: Sat Nov 17 00:36:46 2018 +0000
6 URL: https://gitweb.gentoo.org/proj/musl.git/commit/?id=8f4bd10e
7
8 app-misc/screen: build without utmp for musl
9
10 Package-Manager: Portage-2.3.51, Repoman-2.3.11
11 RepoMan-Options: --force
12 Manifest-Sign-Key: 0DEDF1A904568BAD1FC45C283DCC44782ED07E1C
13 Signed-off-by: Anthony G. Basile <blueness <AT> gentoo.org>
14
15 app-misc/screen/Manifest | 18 ++
16 .../screen/files/screen-4.3.0-no-utempter.patch | 14 +
17 app-misc/screen/files/screen-4.5.1-texinfo.patch | 13 +
18 app-misc/screen/files/screen-4.6.2-utmp-exit.patch | 55 ++++
19 app-misc/screen/files/screenrc | 356 +++++++++++++++++++++
20 app-misc/screen/metadata.xml | 35 ++
21 app-misc/screen/screen-4.5.1.ebuild | 163 ++++++++++
22 app-misc/screen/screen-4.6.0.ebuild | 161 ++++++++++
23 app-misc/screen/screen-4.6.1.ebuild | 161 ++++++++++
24 app-misc/screen/screen-4.6.2.ebuild | 163 ++++++++++
25 app-misc/screen/screen-9999.ebuild | 152 +++++++++
26 11 files changed, 1291 insertions(+)
27
28 diff --git a/app-misc/screen/Manifest b/app-misc/screen/Manifest
29 new file mode 100644
30 index 0000000..46ad105
31 --- /dev/null
32 +++ b/app-misc/screen/Manifest
33 @@ -0,0 +1,18 @@
34 +-----BEGIN PGP SIGNED MESSAGE-----
35 +Hash: SHA256
36 +
37 +DIST screen-4.5.1.tar.gz 963153 BLAKE2B 8f7e20a0a3dde58435fc500714b49af97b4f2f225d34394170572e79ab9a8b49beac6c054021db367a01b6da91deaa726284a25c86eb57e11dcd09ad5dc44cb4 SHA512 ca53477ad38264be38efb1d10a1337b647dd061127162c77533b17a30d046cd0caabe38e4a9e5389aac30d5dc62eb53e7877411e69adae36d0ca869bd0a82804
38 +DIST screen-4.6.0.tar.gz 849062 BLAKE2B e08915bb34d4e356eb33c479f1b2dc7a8f4a855e9d1c27490ff31cfc88b4bd9dfb11101dd0e4508f3b37b023b9f9b987dfaff4c6cc930e994d22fcb024cf341d SHA512 2ee7cc51c62a478e72eda0647f3f347e63f40384e19bc11b074158bd94cdb628c6425b1dd7a472496d56bff11a30a9dc58859c2e7e539fae2a8718ed9b0f96d7
39 +DIST screen-4.6.1.tar.gz 848979 BLAKE2B e78874b6d8723c52f827ab5e6b665102d7fd831f03a0006f9d31e000535ccce95ce08e2d302e34ba2d567167a917c8bd3b875843828d1951bcb38ab6ae4e0acf SHA512 e5d029400ed5b509ebddc1f55812c33536d6f5ce91119537c7d06e1fa7dee84939c43337df4638f61c818ce0412f4d08fe212202162a4483a9e84bbc4b3e4336
40 +DIST screen-4.6.2.tar.gz 845210 BLAKE2B feea244e2e0c8f638442a524cd7cac93c6c5e576541bf1321fb32bc9424abf53415d00ebcb4a13a9613788c1baad6e132f209bd0a017b100e0687b3658603aea SHA512 224bd16ad5ae501d1b8bb7d2ba9cc19e6a0743de5a5b320109c2f6bf3b1ca564cc7094ed9211be13733d9d769cde77d13fe236341d448cad0518038ab1e85c99
41 +-----BEGIN PGP SIGNATURE-----
42 +
43 +iQEzBAEBCAAdFiEEDe3xqQRWi60fxFwoPcxEeC7QfhwFAlvu1NoACgkQPcxEeC7Q
44 +fhyRJQgAnr43VlPa10cSJ4ndRWpxo0C0uXlmcBA12TthcwDrOPoU44QOlaai8qy8
45 +ZitvREY6W5fBgsfAz1OVAef1jlLLHJK+0k58CVdedQdtpbwOcBtFc1ZOWKYwXGxK
46 +kx8LSG44XcroLe3m9YWs+Y5+l3Db5FyLMbG/WSC1jwCZrRznrdzOC5U/5UDcqLZP
47 +IBAn1aqwnotO6t5rWnM2HBJ8i1K7f1xo3B7lnnYHEQqVJ/qCWqNbOVMUAfnpZhvM
48 +y9Nat9XjRuSaxsdnhqfncsdSPtnb+2nywfGZyjbSApNZ5xL3LdR8OADwko6ukRBP
49 +MpBJaPNhUVNQGEqu0eKEwDZheN824g==
50 +=3fDd
51 +-----END PGP SIGNATURE-----
52
53 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
54 new file mode 100644
55 index 0000000..e11be5b
56 --- /dev/null
57 +++ b/app-misc/screen/files/screen-4.3.0-no-utempter.patch
58 @@ -0,0 +1,14 @@
59 +--- a/configure.ac
60 ++++ b/configure.ac
61 +@@ -878,11 +878,6 @@
62 + #include <utmp.h>
63 + #endif
64 + ],[struct utmp u; u.ut_host[0] = 0;], AC_DEFINE(UTHOST))
65 +-AC_CHECK_HEADER(utempter.h, have_utempter=yes, have_utempter=no)
66 +-if test "$have_utempter" = yes; then
67 +- AC_DEFINE(HAVE_UTEMPTER)
68 +- LIBS="$LIBS -lutempter"
69 +-fi
70 +
71 + dnl
72 + dnl **** loadav ****
73
74 diff --git a/app-misc/screen/files/screen-4.5.1-texinfo.patch b/app-misc/screen/files/screen-4.5.1-texinfo.patch
75 new file mode 100644
76 index 0000000..8d7a5e5
77 --- /dev/null
78 +++ b/app-misc/screen/files/screen-4.5.1-texinfo.patch
79 @@ -0,0 +1,13 @@
80 +--- a/doc/screen.texinfo
81 ++++ b/doc/screen.texinfo
82 +@@ -5796,8 +5796,8 @@
83 + ============
84 +
85 + @example
86 +- Thomas Renninger <treen@××××.com>,
87 +- Axel Beckert <abe@×××××××××××.org>,
88 ++ Thomas Renninger <treen@@suse.com>,
89 ++ Axel Beckert <abe@@deuxchevaux.org>,
90 + Ken Beal <kbeal@@amber.ssd.csd.harris.com>,
91 + Rudolf Koenig <rfkoenig@@informatik.uni-erlangen.de>,
92 + Toerless Eckert <eckert@@informatik.uni-erlangen.de>,
93
94 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
95 new file mode 100644
96 index 0000000..11adf69
97 --- /dev/null
98 +++ b/app-misc/screen/files/screen-4.6.2-utmp-exit.patch
99 @@ -0,0 +1,55 @@
100 +From 2f1b9dfe03133c9b77ea450aed088d65128dc547 Mon Sep 17 00:00:00 2001
101 +From: =?UTF-8?q?Amadeusz=20S=C5=82awi=C5=84ski?= <amade@××××××.net>
102 +Date: Tue, 5 Apr 2016 12:47:08 +0200
103 +Subject: [PATCH] check if we have ut_exit in utmpx struct
104 +
105 +---
106 + acconfig.h | 5 +++++
107 + configure.ac | 4 ++++
108 + utmp.c | 2 ++
109 + 3 files changed, 11 insertions(+)
110 +
111 +diff --git a/acconfig.h b/acconfig.h
112 +index 656e117..d173c9c 100644
113 +--- a/acconfig.h
114 ++++ b/acconfig.h
115 +@@ -215,6 +215,11 @@
116 + #undef HAVE_UTEMPTER
117 +
118 + /*
119 ++ * Define if your utmpx has ut_exit struct
120 ++ */
121 ++#undef HAVE_UT_EXIT
122 ++
123 ++/*
124 + * If your system has the calls setreuid() and setregid(),
125 + * define HAVE_SETREUID. Otherwise screen will use a forked process to
126 + * safely create output files without retaining any special privileges.
127 +diff --git a/configure.ac b/configure.ac
128 +index 1a75020..8457619 100644
129 +--- a/configure.ac
130 ++++ b/configure.ac
131 +@@ -374,6 +374,10 @@ if test "$have_utempter" = yes; then
132 + AC_DEFINE(HAVE_UTEMPTER)
133 + LIBS="$LIBS -lutempter"
134 + fi
135 ++AC_CHECKING(ut_exit)
136 ++AC_TRY_COMPILE([
137 ++#include <utmpx.h>
138 ++],[struct utmpx u; u.ut_exit.e_exit;], AC_DEFINE(HAVE_UT_EXIT))
139 +
140 + dnl
141 + dnl **** signal handling ****
142 +diff --git a/utmp.c b/utmp.c
143 +index da8d7ff..c864d07 100644
144 +--- a/utmp.c
145 ++++ b/utmp.c
146 +@@ -381,7 +381,7 @@ static int pututslot(slot_t slot, struct utmpx *u, char *host, Window *win)
147 + struct utmp *u;
148 + {
149 + u->ut_type = DEAD_PROCESS;
150 +-#if (!defined(linux) || defined(EMPTY)) && !defined(__CYGWIN__)
151 ++#if defined(HAVE_UT_EXIT)
152 + u->ut_exit.e_termination = 0;
153 + u->ut_exit.e_exit = 0;
154 + #endif
155
156 diff --git a/app-misc/screen/files/screenrc b/app-misc/screen/files/screenrc
157 new file mode 100644
158 index 0000000..7c3478a
159 --- /dev/null
160 +++ b/app-misc/screen/files/screenrc
161 @@ -0,0 +1,356 @@
162 +# Copyright 1999-2018 Gentoo Authors
163 +# Distributed under the terms of the GNU General Public License v2
164 +#
165 +# /etc/screenrc
166 +#
167 +# This is the system wide screenrc.
168 +#
169 +# You can use this file to change the default behavior of screen system wide
170 +# or copy it to ~/.screenrc and use it as a starting point for your own
171 +# settings.
172 +#
173 +# Commands in this file are used to set options, bind screen functions to
174 +# keys, redefine terminal capabilities, and to automatically establish one or
175 +# more windows at the beginning of your screen session.
176 +#
177 +# This is not a comprehensive list of options, look at the screen manual for
178 +# details on everything that you can put in this file.
179 +#
180 +#
181 +
182 +# ==============================================================================
183 +# SCREEN SETTINGS
184 +# ==============================================================================
185 +
186 +# ESCAPE - the COMMAND CHARACTER
187 +# ===============================================================
188 +# escape ^aa # default
189 +# escape ^^^^ # suggested binding (Control-^) for Emacs users
190 +
191 +
192 +# PASSWORD
193 +# ===============================================================
194 +# This commands sets the *internal* password for the screen session.
195 +# WARNING!! If this is set then a "lock" command will only let you in to the
196 +# session after you enter the user's account password and then *also*
197 +# the internal password for that session. This gives additional safety but,
198 +# if you forget the internal password then you cannot resume your session.
199 +# Use :password to generate a password
200 +# password ODSJQf.4IJN7E # "1234"
201 +
202 +
203 +# VARIABLES
204 +# ===============================================================
205 +# No annoying audible bell, using "visual bell"
206 +# vbell on # default: off
207 +# vbell_msg " -- Bell,Bell!! -- " # default: "Wuff,Wuff!!"
208 +
209 +# Automatically detach on hangup.
210 + autodetach on # default: on
211 +
212 +# Don't display the copyright page
213 + startup_message off # default: on
214 +
215 +# Uses nethack-style messages
216 +# nethack on # default: off
217 +
218 +# Affects the copying of text regions
219 + crlf off # default: off
220 +
221 +# Enable/disable multiuser mode. Standard screen operation is singleuser.
222 +# In multiuser mode the commands acladd, aclchg, aclgrp and acldel can be used
223 +# to enable (and disable) other user accessing this screen session.
224 +# Requires suid-root.
225 + multiuser off
226 +
227 +# Change default scrollback value for new windows
228 + defscrollback 1000 # default: 100
229 +
230 +# Define the time that all windows monitored for silence should
231 +# wait before displaying a message. Default 30 seconds.
232 + silencewait 15 # default: 30
233 +
234 +# bufferfile: The file to use for commands
235 +# "readbuf" ('<') and "writebuf" ('>'):
236 + bufferfile $HOME/.screen_exchange
237 +#
238 +# hardcopydir: The directory which contains all hardcopies.
239 +# hardcopydir ~/.hardcopy
240 +# hardcopydir ~/.screen
241 +#
242 +# shell: Default process started in screen's windows.
243 +# Makes it possible to use a different shell inside screen
244 +# than is set as the default login shell.
245 +# If begins with a '-' character, the shell will be started as a login shell.
246 +# shell zsh
247 +# shell bash
248 +# shell ksh
249 + shell -$SHELL
250 +
251 +# shellaka '> |tcsh'
252 +# shelltitle '$ |bash'
253 +
254 +# emulate .logout message
255 + pow_detach_msg "Screen session of \$LOGNAME \$:cr:\$:nl:ended."
256 +
257 +# caption always " %w --- %c:%s"
258 +# caption always "%3n %t%? @%u%?%? [%h]%?%=%c"
259 +
260 +# advertise hardstatus support to $TERMCAP
261 +# termcapinfo * '' 'hs:ts=\E_:fs=\E\\:ds=\E_\E\\'
262 +
263 +# set every new windows hardstatus line to somenthing descriptive
264 +# defhstatus "screen: ^En (^Et)"
265 +
266 +# don't kill window after the process died
267 +# zombie "^["
268 +
269 +# ignore displays that block on output
270 +defnonblock on
271 +
272 +# XTERM TWEAKS
273 +# ===============================================================
274 +
275 +# xterm understands both im/ic and doesn't have a status line.
276 +# Note: Do not specify im and ic in the real termcap/info file as
277 +# some programs (e.g. vi) will not work anymore.
278 + termcap xterm* hs@:cs=\E[%i%d;%dr:im=\E[4h:ei=\E[4l
279 + terminfo xterm* hs@:cs=\E[%i%p1%d;%p2%dr:im=\E[4h:ei=\E[4l
280 +
281 +# 80/132 column switching must be enabled for ^AW to work
282 +# change init sequence to not switch width
283 + termcapinfo xterm* Z0=\E[?3h:Z1=\E[?3l:is=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;4;6l
284 +
285 +# Make the output buffer large for (fast) xterms.
286 +# termcapinfo xterm* OL=10000
287 + termcapinfo xterm* OL=100
288 +
289 +# tell screen that xterm can switch to dark background and has function
290 +# keys.
291 + termcapinfo xterm* 'VR=\E[?5h:VN=\E[?5l'
292 + termcapinfo xterm* 'k1=\E[11~:k2=\E[12~:k3=\E[13~:k4=\E[14~'
293 + termcapinfo xterm* 'kh=\EOH:kI=\E[2~:kD=\E[3~:kH=\EOF:kP=\E[5~:kN=\E[6~'
294 +
295 +# special xterm hardstatus: use the window title.
296 + termcapinfo xterm* 'hs:ts=\E]2;:fs=\007:ds=\E]2;screen\007'
297 +
298 +#terminfo xterm 'vb=\E[?5h$<200/>\E[?5l'
299 + termcapinfo xterm* 'vi=\E[?25l:ve=\E[34h\E[?25h:vs=\E[34l'
300 +
301 +# emulate part of the 'K' charset
302 + termcapinfo xterm* 'XC=K%,%\E(B,[\304,\\\\\326,]\334,{\344,|\366,}\374,~\337'
303 +
304 +# xterm-52 tweaks:
305 +# - uses background color for delete operations
306 + termcapinfo xterm* be
307 +
308 +# Do not use xterm's alternative window buffer, it breaks scrollback (see bug #61195)
309 + termcapinfo xterm*|xs ti@:te=\E[2J
310 +
311 +# WYSE TERMINALS
312 +# ===============================================================
313 +
314 +#wyse-75-42 must have flow control (xo = "terminal uses xon/xoff")
315 +#essential to have it here, as this is a slow terminal.
316 + termcapinfo wy75-42 xo:hs@
317 +
318 +# New termcap sequences for cursor application mode.
319 + 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
320 +
321 +
322 +# OTHER TERMINALS
323 +# ===============================================================
324 +
325 +# make hp700 termcap/info better
326 + 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@'
327 +
328 +# Extend the vt100 desciption by some sequences.
329 + termcap vt100* ms:AL=\E[%dL:DL=\E[%dM:UP=\E[%dA:DO=\E[%dB:LE=\E[%dD:RI=\E[%dC
330 + 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
331 + termcapinfo linux C8
332 +# old rxvt versions also need this
333 +# termcapinfo rxvt C8
334 +
335 +
336 +# KEYBINDINGS
337 +# ==============================================================
338 +# The "bind" command assign keys to (internal) commands
339 +# SCREEN checks all the keys you type; you type the key
340 +# which is known as the "command character" then SCREEN
341 +# eats this key, too, and checks whether this key is
342 +# "bound" to a command. If so then SCREEN will execute it.
343 +#
344 +# The command "bind" allows you to chose which keys
345 +# will be assigned to the commands.
346 +#
347 +# Some commands are bound to several keys -
348 +# usually to both some letter and its corresponding
349 +# control key combination, eg the command
350 +# "(create) screen" is bound to both 'c' and '^C'.
351 +#
352 +# The following list shows the default bindings:
353 +#
354 +# break ^B b
355 +# clear C
356 +# colon :
357 +# copy ^[ [
358 +# detach ^D d
359 +# digraph ^V
360 +# displays *
361 +# dumptermcap .
362 +# fit F
363 +# flow ^F f
364 +# focus ^I
365 +# hardcopy h
366 +# help ?
367 +# history { }
368 +# info i
369 +# kill K k
370 +# lastmsg ^M m
371 +# license ,
372 +# log H
373 +# login L
374 +# meta x
375 +# monitor M
376 +# next ^@ ^N sp n
377 +# number N
378 +# only Q
379 +# other ^X
380 +# pow_break B
381 +# pow_detach D
382 +# prev ^H ^P p ^?
383 +# quit \
384 +# readbuf <
385 +# redisplay ^L l
386 +# remove X
387 +# removebuf =
388 +# reset Z
389 +# screen ^C c
390 +# select " '
391 +# silence _
392 +# split S
393 +# suspend ^Z z
394 +# time ^T t
395 +# title A
396 +# vbell ^G
397 +# version v
398 +# width W
399 +# windows ^W w
400 +# wrap ^R r
401 +# writebuf >
402 +# xoff ^S s
403 +# xon ^Q q
404 +# ^] paste .
405 +# - select -
406 +# 0 select 0
407 +# 1 select 1
408 +# 2 select 2
409 +# 3 select 3
410 +# 4 select 4
411 +# 5 select 5
412 +# 6 select 6
413 +# 7 select 7
414 +# 8 select 8
415 +# 9 select 9
416 +# I login on
417 +# O login off
418 +# ] paste .
419 +#
420 +
421 +# And here are the default bind commands if you need them:
422 +#
423 +# bind A title
424 +# bind C clear
425 +# bind D pow_detach
426 +# bind F fit
427 +# bind H log
428 +# bind I login on
429 +# bind K kill
430 +# bind L login
431 +# bind M monitor
432 +# bind N number
433 +# bind O login off
434 +# bind Q only
435 +# bind S split
436 +# bind W width
437 +# bind X remove
438 +# bind Z reset
439 +
440 +# Let's remove some dangerous key bindings ...
441 + bind k
442 + bind ^k
443 +# bind . dumptermcap # default
444 + bind .
445 +# bind ^\ quit # default
446 + bind ^\
447 +# bind \\ quit # default
448 + bind \\
449 +# bind ^h ??? # default
450 + bind ^h
451 +# bind h hardcopy # default
452 + bind h
453 +
454 +# ... and make them better.
455 + bind 'K' kill
456 + bind 'I' login on
457 + bind 'O' login off
458 + bind '}' history
459 +
460 +# Yet another hack:
461 +# Prepend/append register [/] to the paste if ^a^] is pressed.
462 +# This lets me have autoindent mode in vi.
463 + register [ "\033:se noai\015a"
464 + register ] "\033:se ai\015a"
465 + bind ^] paste [.]
466 +
467 +
468 +# hardstatus alwaysignore
469 +# hardstatus alwayslastline "%Lw"
470 +
471 +# Resize the current region. The space will be removed from or added to
472 +# the region below or if there's not enough space from the region above.
473 + bind = resize =
474 + bind + resize +3
475 + bind - resize -3
476 +# bind _ resize max
477 +#
478 +# attrcolor u "-u b"
479 +# attrcolor b "R"
480 +
481 +# STARTUP SCREENS
482 +# ===============================================================
483 +# Defines the time screen delays a new message when one message
484 +# is currently displayed. The default is 1 second.
485 +# msgminwait 2
486 +
487 +# Time a message is displayed if screen is not disturbed by
488 +# other activity. The dafault is 5 seconds:
489 +# msgwait 2
490 +
491 +# Briefly show the version number of this starting
492 +# screen session - but only for *one* second:
493 +# msgwait 1
494 +# version
495 +
496 +# Welcome the user:
497 +# echo "welcome :-)"
498 +# echo "I love you today."
499 +
500 +# Uncomment one/some following lines to automatically let
501 +# SCREEN start some programs in the given window numbers:
502 +# screen -t MAIL 0 mutt
503 +# screen -t EDIT 1 vim
504 +# screen -t GOOGLE 2 links http://www.google.com
505 +# screen -t NEWS 3 slrn
506 +# screen -t WWW 4 links http://www.math.fu-berlin.de/~guckes/
507 +# screen 5
508 +# screen 6
509 +
510 +# Set the environment variable var to value string. If only var is specified,
511 +# you'll be prompted to enter a value. If no parameters are specified,
512 +# you'll be prompted for both variable and value. The environment is
513 +# inherited by all subsequently forked shells.
514 +# setenv PROMPT_COMMAND 'echo -n -e "\033k\033\134"'
515 +
516 +# Don't you want to start programs which need a DISPLAY ?
517 +# setenv DISPLAY ''
518
519 diff --git a/app-misc/screen/metadata.xml b/app-misc/screen/metadata.xml
520 new file mode 100644
521 index 0000000..85dc556
522 --- /dev/null
523 +++ b/app-misc/screen/metadata.xml
524 @@ -0,0 +1,35 @@
525 +<?xml version="1.0" encoding="UTF-8"?>
526 +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
527 +<pkgmetadata>
528 + <maintainer type="person">
529 + <email>swegener@g.o</email>
530 + </maintainer>
531 + <maintainer type="project">
532 + <email>shell-tools@g.o</email>
533 + <name>Gentoo Shell Tools Project</name>
534 + </maintainer>
535 + <longdescription>
536 +Screen is a full-screen window manager that multiplexes a physical terminal
537 +between several processes, typically interactive shells. Each virtual terminal
538 +provides the functions of the DEC VT100 terminal and, in addition, several
539 +control functions from the ANSI X3.64 (ISO 6429) and ISO 2022 standards (e.g.,
540 +insert/delete line and support for multiple character sets). There is a
541 +scrollback history buffer for each virtual terminal and a copy-and-paste
542 +mechanism that allows the user to move text regions between windows. When screen
543 +is called, it creates a single window with a shell in it (or the specified
544 +command) and then gets out of your way so that you can use the program as you
545 +normally would. Then, at any time, you can create new (full-screen) windows with
546 +other programs in them (including more shells), kill the current window, view a
547 +list of the active windows, turn output logging on and off, copy text between
548 +windows, view the scrollback history, switch between windows, etc. All windows
549 +run their programs completely independent of each other. Programs continue to
550 +run when their window is currently not visible and even when the whole screen
551 +session is detached from the users terminal.
552 +</longdescription>
553 + <use>
554 + <flag name="multiuser">Enable multiuser support (by setting correct
555 + permissions)</flag>
556 + <flag name="nethack">Express error messages in nethack style</flag>
557 + <flag name="utmp">Include utmp support</flag>
558 + </use>
559 +</pkgmetadata>
560
561 diff --git a/app-misc/screen/screen-4.5.1.ebuild b/app-misc/screen/screen-4.5.1.ebuild
562 new file mode 100644
563 index 0000000..f395c42
564 --- /dev/null
565 +++ b/app-misc/screen/screen-4.5.1.ebuild
566 @@ -0,0 +1,163 @@
567 +# Copyright 1999-2018 Gentoo Authors
568 +# Distributed under the terms of the GNU General Public License v2
569 +
570 +EAPI=6
571 +
572 +SCM=""
573 +[[ "${PV}" = 9999 ]] && SCM="git-r3"
574 +inherit autotools eutils flag-o-matic pam toolchain-funcs user ${SCM}
575 +unset SCM
576 +
577 +DESCRIPTION="screen manager with VT100/ANSI terminal emulation"
578 +HOMEPAGE="https://www.gnu.org/software/screen/"
579 +
580 +if [[ "${PV}" != 9999 ]] ; then
581 + SRC_URI="mirror://gnu/${PN}/${P}.tar.gz"
582 + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
583 +else
584 + EGIT_REPO_URI="git://git.savannah.gnu.org/screen.git"
585 + EGIT_CHECKOUT_DIR="${WORKDIR}/${P}" # needed for setting S later on
586 + S="${WORKDIR}"/${P}/src
587 +fi
588 +
589 +LICENSE="GPL-2"
590 +SLOT="0"
591 +IUSE="debug nethack pam selinux multiuser"
592 +
593 +CDEPEND="
594 + >=sys-libs/ncurses-5.2:0=
595 + pam? ( virtual/pam )"
596 +RDEPEND="${CDEPEND}
597 + selinux? ( sec-policy/selinux-screen )"
598 +DEPEND="${CDEPEND}
599 + sys-apps/texinfo"
600 +
601 +PATCHES=(
602 + # Don't use utempter even if it is found on the system.
603 + "${FILESDIR}"/${PN}-4.3.0-no-utempter.patch
604 + # @ => @@
605 + "${FILESDIR}"/${PN}-4.5.1-texinfo.patch
606 +)
607 +
608 +pkg_setup() {
609 + # Make sure utmp group exists, as it's used later on.
610 + enewgroup utmp 406
611 +}
612 +
613 +src_prepare() {
614 + default
615 +
616 + # sched.h is a system header and causes problems with some C libraries
617 + mv sched.h _sched.h || die
618 + sed -i '/include/ s:sched.h:_sched.h:' screen.h || die
619 +
620 + # Fix manpage.
621 + sed -i \
622 + -e "s:/usr/local/etc/screenrc:${EPREFIX}/etc/screenrc:g" \
623 + -e "s:/usr/local/screens:${EPREFIX}/tmp/screen:g" \
624 + -e "s:/local/etc/screenrc:${EPREFIX}/etc/screenrc:g" \
625 + -e "s:/etc/utmp:${EPREFIX}/var/run/utmp:g" \
626 + -e "s:/local/screens/S\\\-:${EPREFIX}/tmp/screen/S\\\-:g" \
627 + doc/screen.1 \
628 + || die
629 +
630 + if [[ ${CHOST} == *-darwin* ]] || use elibc_musl ; then
631 + sed -i -e '/^#define UTMPOK/s/define/undef/' acconfig.h || die
632 + fi
633 +
634 + # disable musl dummy headers for utmp[x]
635 + use elibc_musl && append-cppflags "-D_UTMP_H -D_UTMPX_H"
636 +
637 + # reconfigure
638 + eautoreconf
639 +}
640 +
641 +src_configure() {
642 + append-cppflags "-DMAXWIN=${MAX_SCREEN_WINDOWS:-100}"
643 +
644 + if [[ ${CHOST} == *-solaris* ]] ; then
645 + # enable msg_header by upping the feature standard compatible
646 + # with c99 mode
647 + append-cppflags -D_XOPEN_SOURCE=600
648 + fi
649 +
650 + use nethack || append-cppflags "-DNONETHACK"
651 + use debug && append-cppflags "-DDEBUG"
652 +
653 + econf \
654 + --with-socket-dir="${EPREFIX}/tmp/screen" \
655 + --with-sys-screenrc="${EPREFIX}/etc/screenrc" \
656 + --with-pty-mode=0620 \
657 + --with-pty-group=5 \
658 + --enable-rxvt_osc \
659 + --enable-telnet \
660 + --enable-colors256 \
661 + $(use_enable pam)
662 +}
663 +
664 +src_compile() {
665 + LC_ALL=POSIX emake comm.h term.h
666 + emake osdef.h
667 +
668 + emake -C doc screen.info
669 + default
670 +}
671 +
672 +src_install() {
673 + local DOCS=(
674 + README ChangeLog INSTALL TODO NEWS* patchlevel.h
675 + doc/{FAQ,README.DOTSCREEN,fdpat.ps,window_to_display.ps}
676 + )
677 +
678 + default
679 +
680 + local tmpfiles_perms tmpfiles_group
681 +
682 + if use multiuser || use prefix
683 + then
684 + fperms 4755 /usr/bin/screen-${PV}
685 + tmpfiles_perms="0755"
686 + tmpfiles_group="root"
687 + else
688 + fowners root:utmp /usr/bin/screen-${PV}
689 + fperms 2755 /usr/bin/screen-${PV}
690 + tmpfiles_perms="0775"
691 + tmpfiles_group="utmp"
692 + fi
693 +
694 + dodir /etc/tmpfiles.d
695 + echo "d /tmp/screen ${tmpfiles_perms} root ${tmpfiles_group}" \
696 + > "${ED}"/etc/tmpfiles.d/screen.conf
697 +
698 + insinto /usr/share/screen
699 + doins terminfo/{screencap,screeninfo.src}
700 +
701 + insinto /etc
702 + doins "${FILESDIR}"/screenrc
703 +
704 + pamd_mimic_system screen auth
705 +}
706 +
707 +pkg_postinst() {
708 + if [[ -z ${REPLACING_VERSIONS} ]]
709 + then
710 + elog "Some dangerous key bindings have been removed or changed to more safe values."
711 + elog "We enable some xterm hacks in our default screenrc, which might break some"
712 + elog "applications. Please check /etc/screenrc for information on these changes."
713 + fi
714 +
715 + # Add /tmp/screen in case it doesn't exist yet. This should solve
716 + # problems like bug #508634 where tmpfiles.d isn't in effect.
717 + local rundir="${EROOT%/}/tmp/screen"
718 + if [[ ! -d ${rundir} ]] ; then
719 + if use multiuser || use prefix ; then
720 + tmpfiles_group="root"
721 + else
722 + tmpfiles_group="utmp"
723 + fi
724 + mkdir -m 0775 "${rundir}"
725 + chgrp ${tmpfiles_group} "${rundir}"
726 + fi
727 +
728 + ewarn "This revision changes the screen socket location to ${rundir}"
729 +}
730
731 diff --git a/app-misc/screen/screen-4.6.0.ebuild b/app-misc/screen/screen-4.6.0.ebuild
732 new file mode 100644
733 index 0000000..393243a
734 --- /dev/null
735 +++ b/app-misc/screen/screen-4.6.0.ebuild
736 @@ -0,0 +1,161 @@
737 +# Copyright 1999-2018 Gentoo Authors
738 +# Distributed under the terms of the GNU General Public License v2
739 +
740 +EAPI=6
741 +
742 +SCM=""
743 +[[ "${PV}" = 9999 ]] && SCM="git-r3"
744 +inherit autotools eutils flag-o-matic pam toolchain-funcs user ${SCM}
745 +unset SCM
746 +
747 +DESCRIPTION="screen manager with VT100/ANSI terminal emulation"
748 +HOMEPAGE="https://www.gnu.org/software/screen/"
749 +
750 +if [[ "${PV}" != 9999 ]] ; then
751 + SRC_URI="mirror://gnu/${PN}/${P}.tar.gz"
752 + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
753 +else
754 + EGIT_REPO_URI="git://git.savannah.gnu.org/screen.git"
755 + EGIT_CHECKOUT_DIR="${WORKDIR}/${P}" # needed for setting S later on
756 + S="${WORKDIR}"/${P}/src
757 +fi
758 +
759 +LICENSE="GPL-2"
760 +SLOT="0"
761 +IUSE="debug nethack pam selinux multiuser"
762 +
763 +CDEPEND="
764 + >=sys-libs/ncurses-5.2:0=
765 + pam? ( virtual/pam )"
766 +RDEPEND="${CDEPEND}
767 + selinux? ( sec-policy/selinux-screen )"
768 +DEPEND="${CDEPEND}
769 + sys-apps/texinfo"
770 +
771 +PATCHES=(
772 + # Don't use utempter even if it is found on the system.
773 + "${FILESDIR}"/${PN}-4.3.0-no-utempter.patch
774 +)
775 +
776 +pkg_setup() {
777 + # Make sure utmp group exists, as it's used later on.
778 + enewgroup utmp 406
779 +}
780 +
781 +src_prepare() {
782 + default
783 +
784 + # sched.h is a system header and causes problems with some C libraries
785 + mv sched.h _sched.h || die
786 + sed -i '/include/ s:sched.h:_sched.h:' screen.h || die
787 +
788 + # Fix manpage.
789 + sed -i \
790 + -e "s:/usr/local/etc/screenrc:${EPREFIX}/etc/screenrc:g" \
791 + -e "s:/usr/local/screens:${EPREFIX}/tmp/screen:g" \
792 + -e "s:/local/etc/screenrc:${EPREFIX}/etc/screenrc:g" \
793 + -e "s:/etc/utmp:${EPREFIX}/var/run/utmp:g" \
794 + -e "s:/local/screens/S\\\-:${EPREFIX}/tmp/screen/S\\\-:g" \
795 + doc/screen.1 \
796 + || die
797 +
798 + if [[ ${CHOST} == *-darwin* ]] || use elibc_musl ; then
799 + sed -i -e '/^#define UTMPOK/s/define/undef/' acconfig.h || die
800 + fi
801 +
802 + # disable musl dummy headers for utmp[x]
803 + use elibc_musl && append-cppflags "-D_UTMP_H -D_UTMPX_H"
804 +
805 + # reconfigure
806 + eautoreconf
807 +}
808 +
809 +src_configure() {
810 + append-cppflags "-DMAXWIN=${MAX_SCREEN_WINDOWS:-100}"
811 +
812 + if [[ ${CHOST} == *-solaris* ]] ; then
813 + # enable msg_header by upping the feature standard compatible
814 + # with c99 mode
815 + append-cppflags -D_XOPEN_SOURCE=600
816 + fi
817 +
818 + use nethack || append-cppflags "-DNONETHACK"
819 + use debug && append-cppflags "-DDEBUG"
820 +
821 + econf \
822 + --with-socket-dir="${EPREFIX}/tmp/screen" \
823 + --with-sys-screenrc="${EPREFIX}/etc/screenrc" \
824 + --with-pty-mode=0620 \
825 + --with-pty-group=5 \
826 + --enable-rxvt_osc \
827 + --enable-telnet \
828 + --enable-colors256 \
829 + $(use_enable pam)
830 +}
831 +
832 +src_compile() {
833 + LC_ALL=POSIX emake comm.h term.h
834 + emake osdef.h
835 +
836 + emake -C doc screen.info
837 + default
838 +}
839 +
840 +src_install() {
841 + local DOCS=(
842 + README ChangeLog INSTALL TODO NEWS* patchlevel.h
843 + doc/{FAQ,README.DOTSCREEN,fdpat.ps,window_to_display.ps}
844 + )
845 +
846 + default
847 +
848 + local tmpfiles_perms tmpfiles_group
849 +
850 + if use multiuser || use prefix
851 + then
852 + fperms 4755 /usr/bin/screen-${PV}
853 + tmpfiles_perms="0755"
854 + tmpfiles_group="root"
855 + else
856 + fowners root:utmp /usr/bin/screen-${PV}
857 + fperms 2755 /usr/bin/screen-${PV}
858 + tmpfiles_perms="0775"
859 + tmpfiles_group="utmp"
860 + fi
861 +
862 + dodir /etc/tmpfiles.d
863 + echo "d /tmp/screen ${tmpfiles_perms} root ${tmpfiles_group}" \
864 + > "${ED}"/etc/tmpfiles.d/screen.conf
865 +
866 + insinto /usr/share/screen
867 + doins terminfo/{screencap,screeninfo.src}
868 +
869 + insinto /etc
870 + doins "${FILESDIR}"/screenrc
871 +
872 + pamd_mimic_system screen auth
873 +}
874 +
875 +pkg_postinst() {
876 + if [[ -z ${REPLACING_VERSIONS} ]]
877 + then
878 + elog "Some dangerous key bindings have been removed or changed to more safe values."
879 + elog "We enable some xterm hacks in our default screenrc, which might break some"
880 + elog "applications. Please check /etc/screenrc for information on these changes."
881 + fi
882 +
883 + # Add /tmp/screen in case it doesn't exist yet. This should solve
884 + # problems like bug #508634 where tmpfiles.d isn't in effect.
885 + local rundir="${EROOT%/}/tmp/screen"
886 + if [[ ! -d ${rundir} ]] ; then
887 + if use multiuser || use prefix ; then
888 + tmpfiles_group="root"
889 + else
890 + tmpfiles_group="utmp"
891 + fi
892 + mkdir -m 0775 "${rundir}"
893 + chgrp ${tmpfiles_group} "${rundir}"
894 + fi
895 +
896 + ewarn "This revision changes the screen socket location to ${rundir}"
897 +}
898
899 diff --git a/app-misc/screen/screen-4.6.1.ebuild b/app-misc/screen/screen-4.6.1.ebuild
900 new file mode 100644
901 index 0000000..ee99e92
902 --- /dev/null
903 +++ b/app-misc/screen/screen-4.6.1.ebuild
904 @@ -0,0 +1,161 @@
905 +# Copyright 1999-2018 Gentoo Authors
906 +# Distributed under the terms of the GNU General Public License v2
907 +
908 +EAPI=6
909 +
910 +SCM=""
911 +[[ "${PV}" = 9999 ]] && SCM="git-r3"
912 +inherit autotools eutils flag-o-matic pam toolchain-funcs user ${SCM}
913 +unset SCM
914 +
915 +DESCRIPTION="screen manager with VT100/ANSI terminal emulation"
916 +HOMEPAGE="https://www.gnu.org/software/screen/"
917 +
918 +if [[ "${PV}" != 9999 ]] ; then
919 + SRC_URI="mirror://gnu/${PN}/${P}.tar.gz"
920 + KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
921 +else
922 + EGIT_REPO_URI="git://git.savannah.gnu.org/screen.git"
923 + EGIT_CHECKOUT_DIR="${WORKDIR}/${P}" # needed for setting S later on
924 + S="${WORKDIR}"/${P}/src
925 +fi
926 +
927 +LICENSE="GPL-2"
928 +SLOT="0"
929 +IUSE="debug nethack pam selinux multiuser"
930 +
931 +CDEPEND="
932 + >=sys-libs/ncurses-5.2:0=
933 + pam? ( virtual/pam )"
934 +RDEPEND="${CDEPEND}
935 + selinux? ( sec-policy/selinux-screen )"
936 +DEPEND="${CDEPEND}
937 + sys-apps/texinfo"
938 +
939 +PATCHES=(
940 + # Don't use utempter even if it is found on the system.
941 + "${FILESDIR}"/${PN}-4.3.0-no-utempter.patch
942 +)
943 +
944 +pkg_setup() {
945 + # Make sure utmp group exists, as it's used later on.
946 + enewgroup utmp 406
947 +}
948 +
949 +src_prepare() {
950 + default
951 +
952 + # sched.h is a system header and causes problems with some C libraries
953 + mv sched.h _sched.h || die
954 + sed -i '/include/ s:sched.h:_sched.h:' screen.h || die
955 +
956 + # Fix manpage.
957 + sed -i \
958 + -e "s:/usr/local/etc/screenrc:${EPREFIX}/etc/screenrc:g" \
959 + -e "s:/usr/local/screens:${EPREFIX}/tmp/screen:g" \
960 + -e "s:/local/etc/screenrc:${EPREFIX}/etc/screenrc:g" \
961 + -e "s:/etc/utmp:${EPREFIX}/var/run/utmp:g" \
962 + -e "s:/local/screens/S\\\-:${EPREFIX}/tmp/screen/S\\\-:g" \
963 + doc/screen.1 \
964 + || die
965 +
966 + if [[ ${CHOST} == *-darwin* ]] || use elibc_musl ; then
967 + sed -i -e '/^#define UTMPOK/s/define/undef/' acconfig.h || die
968 + fi
969 +
970 + # disable musl dummy headers for utmp[x]
971 + use elibc_musl && append-cppflags "-D_UTMP_H -D_UTMPX_H"
972 +
973 + # reconfigure
974 + eautoreconf
975 +}
976 +
977 +src_configure() {
978 + append-cppflags "-DMAXWIN=${MAX_SCREEN_WINDOWS:-100}"
979 +
980 + if [[ ${CHOST} == *-solaris* ]] ; then
981 + # enable msg_header by upping the feature standard compatible
982 + # with c99 mode
983 + append-cppflags -D_XOPEN_SOURCE=600
984 + fi
985 +
986 + use nethack || append-cppflags "-DNONETHACK"
987 + use debug && append-cppflags "-DDEBUG"
988 +
989 + econf \
990 + --with-socket-dir="${EPREFIX}/tmp/screen" \
991 + --with-sys-screenrc="${EPREFIX}/etc/screenrc" \
992 + --with-pty-mode=0620 \
993 + --with-pty-group=5 \
994 + --enable-rxvt_osc \
995 + --enable-telnet \
996 + --enable-colors256 \
997 + $(use_enable pam)
998 +}
999 +
1000 +src_compile() {
1001 + LC_ALL=POSIX emake comm.h term.h
1002 + emake osdef.h
1003 +
1004 + emake -C doc screen.info
1005 + default
1006 +}
1007 +
1008 +src_install() {
1009 + local DOCS=(
1010 + README ChangeLog INSTALL TODO NEWS* patchlevel.h
1011 + doc/{FAQ,README.DOTSCREEN,fdpat.ps,window_to_display.ps}
1012 + )
1013 +
1014 + default
1015 +
1016 + local tmpfiles_perms tmpfiles_group
1017 +
1018 + if use multiuser || use prefix
1019 + then
1020 + fperms 4755 /usr/bin/screen-${PV}
1021 + tmpfiles_perms="0755"
1022 + tmpfiles_group="root"
1023 + else
1024 + fowners root:utmp /usr/bin/screen-${PV}
1025 + fperms 2755 /usr/bin/screen-${PV}
1026 + tmpfiles_perms="0775"
1027 + tmpfiles_group="utmp"
1028 + fi
1029 +
1030 + dodir /etc/tmpfiles.d
1031 + echo "d /tmp/screen ${tmpfiles_perms} root ${tmpfiles_group}" \
1032 + > "${ED}"/etc/tmpfiles.d/screen.conf
1033 +
1034 + insinto /usr/share/screen
1035 + doins terminfo/{screencap,screeninfo.src}
1036 +
1037 + insinto /etc
1038 + doins "${FILESDIR}"/screenrc
1039 +
1040 + pamd_mimic_system screen auth
1041 +}
1042 +
1043 +pkg_postinst() {
1044 + if [[ -z ${REPLACING_VERSIONS} ]]
1045 + then
1046 + elog "Some dangerous key bindings have been removed or changed to more safe values."
1047 + elog "We enable some xterm hacks in our default screenrc, which might break some"
1048 + elog "applications. Please check /etc/screenrc for information on these changes."
1049 + fi
1050 +
1051 + # Add /tmp/screen in case it doesn't exist yet. This should solve
1052 + # problems like bug #508634 where tmpfiles.d isn't in effect.
1053 + local rundir="${EROOT%/}/tmp/screen"
1054 + if [[ ! -d ${rundir} ]] ; then
1055 + if use multiuser || use prefix ; then
1056 + tmpfiles_group="root"
1057 + else
1058 + tmpfiles_group="utmp"
1059 + fi
1060 + mkdir -m 0775 "${rundir}"
1061 + chgrp ${tmpfiles_group} "${rundir}"
1062 + fi
1063 +
1064 + ewarn "This revision changes the screen socket location to ${rundir}"
1065 +}
1066
1067 diff --git a/app-misc/screen/screen-4.6.2.ebuild b/app-misc/screen/screen-4.6.2.ebuild
1068 new file mode 100644
1069 index 0000000..831c965
1070 --- /dev/null
1071 +++ b/app-misc/screen/screen-4.6.2.ebuild
1072 @@ -0,0 +1,163 @@
1073 +# Copyright 1999-2018 Gentoo Authors
1074 +# Distributed under the terms of the GNU General Public License v2
1075 +
1076 +EAPI=6
1077 +
1078 +SCM=""
1079 +[[ "${PV}" = 9999 ]] && SCM="git-r3"
1080 +inherit autotools eutils flag-o-matic pam toolchain-funcs user ${SCM}
1081 +unset SCM
1082 +
1083 +DESCRIPTION="screen manager with VT100/ANSI terminal emulation"
1084 +HOMEPAGE="https://www.gnu.org/software/screen/"
1085 +
1086 +if [[ "${PV}" != 9999 ]] ; then
1087 + SRC_URI="mirror://gnu/${PN}/${P}.tar.gz"
1088 + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
1089 +else
1090 + EGIT_REPO_URI="git://git.savannah.gnu.org/screen.git"
1091 + EGIT_CHECKOUT_DIR="${WORKDIR}/${P}" # needed for setting S later on
1092 + S="${WORKDIR}"/${P}/src
1093 +fi
1094 +
1095 +LICENSE="GPL-2"
1096 +SLOT="0"
1097 +IUSE="debug nethack pam selinux multiuser"
1098 +
1099 +CDEPEND="
1100 + >=sys-libs/ncurses-5.2:0=
1101 + pam? ( virtual/pam )"
1102 +RDEPEND="${CDEPEND}
1103 + selinux? ( sec-policy/selinux-screen )"
1104 +DEPEND="${CDEPEND}
1105 + sys-apps/texinfo"
1106 +
1107 +PATCHES=(
1108 + # Don't use utempter even if it is found on the system.
1109 + "${FILESDIR}"/${PN}-4.3.0-no-utempter.patch
1110 + "${FILESDIR}"/${P}-utmp-exit.patch
1111 +)
1112 +
1113 +pkg_setup() {
1114 + # Make sure utmp group exists, as it's used later on.
1115 + enewgroup utmp 406
1116 +}
1117 +
1118 +src_prepare() {
1119 + default
1120 +
1121 + # sched.h is a system header and causes problems with some C libraries
1122 + mv sched.h _sched.h || die
1123 + sed -i '/include/ s:sched.h:_sched.h:' screen.h || die
1124 +
1125 + # Fix manpage.
1126 + sed -i \
1127 + -e "s:/usr/local/etc/screenrc:${EPREFIX}/etc/screenrc:g" \
1128 + -e "s:/usr/local/screens:${EPREFIX}/tmp/screen:g" \
1129 + -e "s:/local/etc/screenrc:${EPREFIX}/etc/screenrc:g" \
1130 + -e "s:/etc/utmp:${EPREFIX}/var/run/utmp:g" \
1131 + -e "s:/local/screens/S\\\-:${EPREFIX}/tmp/screen/S\\\-:g" \
1132 + doc/screen.1 \
1133 + || die
1134 +
1135 +
1136 + if [[ ${CHOST} == *-darwin* ]] || use elibc_musl ; then
1137 + sed -i -e '/^#define UTMPOK/s/define/undef/' acconfig.h || die
1138 + fi
1139 +
1140 + # disable musl dummy headers for utmp[x]
1141 + use elibc_musl && append-cppflags "-D_UTMP_H -D_UTMPX_H"
1142 +
1143 + # reconfigure
1144 + eautoreconf
1145 +}
1146 +
1147 +src_configure() {
1148 + append-cppflags "-DMAXWIN=${MAX_SCREEN_WINDOWS:-100}"
1149 +
1150 + if [[ ${CHOST} == *-solaris* ]] ; then
1151 + # enable msg_header by upping the feature standard compatible
1152 + # with c99 mode
1153 + append-cppflags -D_XOPEN_SOURCE=600
1154 + fi
1155 +
1156 + use nethack || append-cppflags "-DNONETHACK"
1157 + use debug && append-cppflags "-DDEBUG"
1158 +
1159 + econf \
1160 + --with-socket-dir="${EPREFIX}/tmp/screen" \
1161 + --with-sys-screenrc="${EPREFIX}/etc/screenrc" \
1162 + --with-pty-mode=0620 \
1163 + --with-pty-group=5 \
1164 + --enable-rxvt_osc \
1165 + --enable-telnet \
1166 + --enable-colors256 \
1167 + $(use_enable pam)
1168 +}
1169 +
1170 +src_compile() {
1171 + LC_ALL=POSIX emake comm.h term.h
1172 + emake osdef.h
1173 +
1174 + emake -C doc screen.info
1175 + default
1176 +}
1177 +
1178 +src_install() {
1179 + local DOCS=(
1180 + README ChangeLog INSTALL TODO NEWS* patchlevel.h
1181 + doc/{FAQ,README.DOTSCREEN,fdpat.ps,window_to_display.ps}
1182 + )
1183 +
1184 + default
1185 +
1186 + local tmpfiles_perms tmpfiles_group
1187 +
1188 + if use multiuser || use prefix
1189 + then
1190 + fperms 4755 /usr/bin/screen-${PV}
1191 + tmpfiles_perms="0755"
1192 + tmpfiles_group="root"
1193 + else
1194 + fowners root:utmp /usr/bin/screen-${PV}
1195 + fperms 2755 /usr/bin/screen-${PV}
1196 + tmpfiles_perms="0775"
1197 + tmpfiles_group="utmp"
1198 + fi
1199 +
1200 + dodir /etc/tmpfiles.d
1201 + echo "d /tmp/screen ${tmpfiles_perms} root ${tmpfiles_group}" \
1202 + > "${ED}"/etc/tmpfiles.d/screen.conf
1203 +
1204 + insinto /usr/share/screen
1205 + doins terminfo/{screencap,screeninfo.src}
1206 +
1207 + insinto /etc
1208 + doins "${FILESDIR}"/screenrc
1209 +
1210 + pamd_mimic_system screen auth
1211 +}
1212 +
1213 +pkg_postinst() {
1214 + if [[ -z ${REPLACING_VERSIONS} ]]
1215 + then
1216 + elog "Some dangerous key bindings have been removed or changed to more safe values."
1217 + elog "We enable some xterm hacks in our default screenrc, which might break some"
1218 + elog "applications. Please check /etc/screenrc for information on these changes."
1219 + fi
1220 +
1221 + # Add /tmp/screen in case it doesn't exist yet. This should solve
1222 + # problems like bug #508634 where tmpfiles.d isn't in effect.
1223 + local rundir="${EROOT%/}/tmp/screen"
1224 + if [[ ! -d ${rundir} ]] ; then
1225 + if use multiuser || use prefix ; then
1226 + tmpfiles_group="root"
1227 + else
1228 + tmpfiles_group="utmp"
1229 + fi
1230 + mkdir -m 0775 "${rundir}"
1231 + chgrp ${tmpfiles_group} "${rundir}"
1232 + fi
1233 +
1234 + ewarn "This revision changes the screen socket location to ${rundir}"
1235 +}
1236
1237 diff --git a/app-misc/screen/screen-9999.ebuild b/app-misc/screen/screen-9999.ebuild
1238 new file mode 100644
1239 index 0000000..44ba455
1240 --- /dev/null
1241 +++ b/app-misc/screen/screen-9999.ebuild
1242 @@ -0,0 +1,152 @@
1243 +# Copyright 1999-2018 Gentoo Authors
1244 +# Distributed under the terms of the GNU General Public License v2
1245 +
1246 +EAPI=6
1247 +
1248 +inherit eutils flag-o-matic toolchain-funcs pam autotools user git-r3
1249 +
1250 +DESCRIPTION="screen manager with VT100/ANSI terminal emulation"
1251 +HOMEPAGE="https://www.gnu.org/software/screen/"
1252 +EGIT_REPO_URI="https://git.savannah.gnu.org/git/screen.git"
1253 +EGIT_CHECKOUT_DIR="${WORKDIR}/${P}" # needed for setting S later on
1254 +
1255 +LICENSE="GPL-2"
1256 +SLOT="0"
1257 +KEYWORDS=""
1258 +IUSE="debug nethack pam selinux multiuser utmp"
1259 +
1260 +CDEPEND="
1261 + >=sys-libs/ncurses-5.2:0=
1262 + pam? ( virtual/pam )"
1263 +RDEPEND="${CDEPEND}
1264 + selinux? ( sec-policy/selinux-screen )
1265 + utmp? (
1266 + kernel_linux? ( sys-libs/libutempter )
1267 + kernel_FreeBSD? ( || ( >=sys-freebsd/freebsd-lib-9.0 sys-libs/libutempter ) )
1268 + )
1269 +"
1270 +DEPEND="${CDEPEND}
1271 + sys-apps/texinfo"
1272 +
1273 +RESTRICT="test"
1274 +S="${WORKDIR}"/${P}/src
1275 +
1276 +pkg_setup() {
1277 + # Make sure utmp group exists, as it's used later on.
1278 + enewgroup utmp 406
1279 +}
1280 +
1281 +src_prepare() {
1282 + default
1283 +
1284 + # sched.h is a system header and causes problems with some C libraries
1285 + mv sched.h _sched.h || die
1286 + sed -i \
1287 + -e '/include/ s:sched.h:_sched.h:' \
1288 + screen.h winmsg.c canvas.h sched.c || die
1289 + sed -i -e 's:sched.h:_sched.h:g' Makefile.in || die
1290 +
1291 + # Fix manpage.
1292 + sed -i \
1293 + -e "s:/usr/local/etc/screenrc:${EPREFIX}/etc/screenrc:g" \
1294 + -e "s:/usr/local/screens:${EPREFIX}/tmp/screen:g" \
1295 + -e "s:/local/etc/screenrc:${EPREFIX}/etc/screenrc:g" \
1296 + -e "s:/etc/utmp:${EPREFIX}/var/run/utmp:g" \
1297 + -e 's:/local/screens/S\\-:'"${EPREFIX}"'/tmp/screen/S\\-:g' \
1298 + -e 's:/usr/tmp/screens/:'"${EPREFIX}"'/tmp/screen/:g' \
1299 + doc/screen.1 \
1300 + || die
1301 +
1302 + # disable musl dummy headers for utmp[x]
1303 + use elibc_musl && append-cppflags "-D_UTMP_H -D_UTMPX_H"
1304 +
1305 + # reconfigure
1306 + eautoreconf
1307 +}
1308 +
1309 +src_configure() {
1310 + append-cppflags "-DMAXWIN=${MAX_SCREEN_WINDOWS:-100}"
1311 +
1312 + [[ ${CHOST} == *-solaris* ]] && append-libs -lsocket -lnsl
1313 +
1314 + use nethack || append-cppflags "-DNONETHACK"
1315 + use debug && append-cppflags "-DDEBUG"
1316 +
1317 + econf \
1318 + --enable-socket-dir="${EPREFIX}/tmp/screen" \
1319 + --with-system_screenrc="${EPREFIX}/etc/screenrc" \
1320 + --with-pty-mode=0620 \
1321 + --with-pty-group=5 \
1322 + --enable-telnet \
1323 + $(use_enable pam) \
1324 + $(use_enable utmp)
1325 +}
1326 +
1327 +src_compile() {
1328 + LC_ALL=POSIX emake comm.h term.h
1329 +
1330 + emake -C doc screen.info
1331 + default
1332 +}
1333 +
1334 +src_install() {
1335 + local tmpfiles_perms tmpfiles_group
1336 +
1337 + dobin screen
1338 +
1339 + if use multiuser || use prefix
1340 + then
1341 + fperms 4755 /usr/bin/screen
1342 + tmpfiles_perms="0755"
1343 + tmpfiles_group="root"
1344 + else
1345 + fowners root:utmp /usr/bin/screen
1346 + fperms 2755 /usr/bin/screen
1347 + tmpfiles_perms="0775"
1348 + tmpfiles_group="utmp"
1349 + fi
1350 +
1351 + dodir /etc/tmpfiles.d
1352 + echo "d /tmp/screen ${tmpfiles_perms} root ${tmpfiles_group}" \
1353 + >"${ED}"/etc/tmpfiles.d/screen.conf
1354 +
1355 + insinto /usr/share/screen
1356 + doins terminfo/{screencap,screeninfo.src}
1357 + insinto /usr/share/screen/utf8encodings
1358 + doins utf8encodings/??
1359 + insinto /etc
1360 + doins "${FILESDIR}"/screenrc
1361 +
1362 + pamd_mimic_system screen auth
1363 +
1364 + dodoc \
1365 + README ChangeLog INSTALL TODO NEWS* \
1366 + doc/{FAQ,README.DOTSCREEN,fdpat.ps,window_to_display.ps}
1367 +
1368 + doman doc/screen.1
1369 + doinfo doc/screen.info
1370 +}
1371 +
1372 +pkg_postinst() {
1373 + if [[ -z ${REPLACING_VERSIONS} ]]
1374 + then
1375 + elog "Some dangerous key bindings have been removed or changed to more safe values."
1376 + elog "We enable some xterm hacks in our default screenrc, which might break some"
1377 + elog "applications. Please check /etc/screenrc for information on these changes."
1378 + fi
1379 +
1380 + # Add /tmp/screen in case it doesn't exist yet. This should solve
1381 + # problems like bug #508634 where tmpfiles.d isn't in effect.
1382 + local rundir="${EROOT%/}/tmp/screen"
1383 + if [[ ! -d ${rundir} ]] ; then
1384 + if use multiuser || use prefix ; then
1385 + tmpfiles_group="root"
1386 + else
1387 + tmpfiles_group="utmp"
1388 + fi
1389 + mkdir -m 0775 "${rundir}"
1390 + chgrp ${tmpfiles_group} "${rundir}"
1391 + fi
1392 +
1393 + ewarn "This revision changes the screen socket location to /run/screen."
1394 +}