Gentoo Archives: gentoo-commits

From: Sven Wegener <swegener@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: app-misc/screen/
Date: Wed, 21 Nov 2018 19:05:23
Message-Id: 1542827080.1d74e7aae1eb8ae2f3b913b46b28e17da51fd978.swegener@gentoo
1 commit: 1d74e7aae1eb8ae2f3b913b46b28e17da51fd978
2 Author: Sven Wegener <swegener <AT> gentoo <DOT> org>
3 AuthorDate: Wed Nov 21 18:59:35 2018 +0000
4 Commit: Sven Wegener <swegener <AT> gentoo <DOT> org>
5 CommitDate: Wed Nov 21 19:04:40 2018 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1d74e7aa
7
8 app-misc/screen: Revision bump to include latest changes
9
10 Signed-off-by: Sven Wegener <swegener <AT> gentoo.org>
11 Package-Manager: Portage-2.3.51, Repoman-2.3.11
12
13 app-misc/screen/screen-4.6.2-r1.ebuild | 155 +++++++++++++++++++++++++++++++++
14 1 file changed, 155 insertions(+)
15
16 diff --git a/app-misc/screen/screen-4.6.2-r1.ebuild b/app-misc/screen/screen-4.6.2-r1.ebuild
17 new file mode 100644
18 index 00000000000..ede043d369e
19 --- /dev/null
20 +++ b/app-misc/screen/screen-4.6.2-r1.ebuild
21 @@ -0,0 +1,155 @@
22 +# Copyright 1999-2018 Gentoo Authors
23 +# Distributed under the terms of the GNU General Public License v2
24 +
25 +EAPI=6
26 +
27 +inherit autotools eutils flag-o-matic pam tmpfiles toolchain-funcs user
28 +
29 +DESCRIPTION="screen manager with VT100/ANSI terminal emulation"
30 +HOMEPAGE="https://www.gnu.org/software/screen/"
31 +
32 +if [[ "${PV}" != 9999 ]] ; then
33 + SRC_URI="mirror://gnu/${PN}/${P}.tar.gz"
34 + 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"
35 +else
36 + inherit git-r3
37 + EGIT_REPO_URI="https://git.savannah.gnu.org/git/screen.git"
38 + EGIT_CHECKOUT_DIR="${WORKDIR}/${P}" # needed for setting S later on
39 + S="${WORKDIR}"/${P}/src
40 +fi
41 +
42 +LICENSE="GPL-2"
43 +SLOT="0"
44 +IUSE="debug nethack pam selinux multiuser"
45 +
46 +CDEPEND="
47 + >=sys-libs/ncurses-5.2:0=
48 + pam? ( virtual/pam )"
49 +RDEPEND="${CDEPEND}
50 + selinux? ( sec-policy/selinux-screen )"
51 +DEPEND="${CDEPEND}
52 + sys-apps/texinfo"
53 +
54 +PATCHES=(
55 + # Don't use utempter even if it is found on the system.
56 + "${FILESDIR}"/${PN}-4.3.0-no-utempter.patch
57 + "${FILESDIR}"/${P}-utmp-exit.patch
58 +)
59 +
60 +pkg_setup() {
61 + # Make sure utmp group exists, as it's used later on.
62 + enewgroup utmp 406
63 +}
64 +
65 +src_prepare() {
66 + default
67 +
68 + # sched.h is a system header and causes problems with some C libraries
69 + mv sched.h _sched.h || die
70 + sed -i '/include/ s:sched.h:_sched.h:' screen.h || die
71 +
72 + # Fix manpage.
73 + sed -i \
74 + -e "s:/usr/local/etc/screenrc:${EPREFIX}/etc/screenrc:g" \
75 + -e "s:/usr/local/screens:${EPREFIX}/tmp/screen:g" \
76 + -e "s:/local/etc/screenrc:${EPREFIX}/etc/screenrc:g" \
77 + -e "s:/etc/utmp:${EPREFIX}/var/run/utmp:g" \
78 + -e "s:/local/screens/S\\\-:${EPREFIX}/tmp/screen/S\\\-:g" \
79 + doc/screen.1 \
80 + || die
81 +
82 + if [[ ${CHOST} == *-darwin* ]] ; then
83 + sed -i -e '/^#define UTMPOK/s/define/undef/' acconfig.h || die
84 + fi
85 +
86 + # reconfigure
87 + eautoreconf
88 +}
89 +
90 +src_configure() {
91 + append-cppflags "-DMAXWIN=${MAX_SCREEN_WINDOWS:-100}"
92 +
93 + if [[ ${CHOST} == *-solaris* ]] ; then
94 + # enable msg_header by upping the feature standard compatible
95 + # with c99 mode
96 + append-cppflags -D_XOPEN_SOURCE=600
97 + fi
98 +
99 + use nethack || append-cppflags "-DNONETHACK"
100 + use debug && append-cppflags "-DDEBUG"
101 +
102 + econf \
103 + --with-socket-dir="${EPREFIX}/tmp/screen" \
104 + --with-sys-screenrc="${EPREFIX}/etc/screenrc" \
105 + --with-pty-mode=0620 \
106 + --with-pty-group=5 \
107 + --enable-rxvt_osc \
108 + --enable-telnet \
109 + --enable-colors256 \
110 + $(use_enable pam)
111 +}
112 +
113 +src_compile() {
114 + LC_ALL=POSIX emake comm.h term.h
115 + emake osdef.h
116 +
117 + emake -C doc screen.info
118 + default
119 +}
120 +
121 +src_install() {
122 + local DOCS=(
123 + README ChangeLog INSTALL TODO NEWS* patchlevel.h
124 + doc/{FAQ,README.DOTSCREEN,fdpat.ps,window_to_display.ps}
125 + )
126 +
127 + emake DESTDIR="${D}" SCREEN=screen-${PV} install
128 +
129 + local tmpfiles_perms tmpfiles_group
130 +
131 + if use multiuser || use prefix
132 + then
133 + fperms 4755 /usr/bin/screen-${PV}
134 + tmpfiles_perms="0755"
135 + tmpfiles_group="root"
136 + else
137 + fowners root:utmp /usr/bin/screen-${PV}
138 + fperms 2755 /usr/bin/screen-${PV}
139 + tmpfiles_perms="0775"
140 + tmpfiles_group="utmp"
141 + fi
142 +
143 + newtmpfiles - screen.conf <<<"d /tmp/screen ${tmpfiles_perms} root ${tmpfiles_group}"
144 +
145 + insinto /usr/share/screen
146 + doins terminfo/{screencap,screeninfo.src}
147 +
148 + insinto /etc
149 + doins "${FILESDIR}"/screenrc
150 +
151 + pamd_mimic_system screen auth
152 +}
153 +
154 +pkg_postinst() {
155 + if [[ -z ${REPLACING_VERSIONS} ]]
156 + then
157 + elog "Some dangerous key bindings have been removed or changed to more safe values."
158 + elog "We enable some xterm hacks in our default screenrc, which might break some"
159 + elog "applications. Please check /etc/screenrc for information on these changes."
160 + fi
161 +
162 + # Add /tmp/screen in case it doesn't exist yet. This should solve
163 + # problems like bug #508634 where tmpfiles.d isn't in effect.
164 + local rundir="${EROOT%/}/tmp/screen"
165 + if [[ ! -d ${rundir} ]] ; then
166 + if use multiuser || use prefix ; then
167 + tmpfiles_group="root"
168 + else
169 + tmpfiles_group="utmp"
170 + fi
171 + mkdir -m 0775 "${rundir}"
172 + chgrp ${tmpfiles_group} "${rundir}"
173 + fi
174 +
175 + ewarn "This revision changes the screen socket location to ${rundir}"
176 +}