Gentoo Archives: gentoo-commits

From: Sam James <sam@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: app-misc/screen/
Date: Sat, 22 Jan 2022 00:38:50
Message-Id: 1642811909.2fa4adde51eff8cea7722a5e372db83652813ce7.sam@gentoo
1 commit: 2fa4adde51eff8cea7722a5e372db83652813ce7
2 Author: Sam James <sam <AT> gentoo <DOT> org>
3 AuthorDate: Sat Jan 22 00:38:02 2022 +0000
4 Commit: Sam James <sam <AT> gentoo <DOT> org>
5 CommitDate: Sat Jan 22 00:38:29 2022 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2fa4adde
7
8 app-misc/screen: add 4.9.0_rc1 (unkeyworded)
9
10 See https://lists.gnu.org/archive/html/screen-devel/2022-01/msg00010.html
11 for call for testers. It's been a long time since the last release so any
12 testers are welcome.
13
14 Signed-off-by: Sam James <sam <AT> gentoo.org>
15
16 app-misc/screen/Manifest | 1 +
17 app-misc/screen/screen-4.9.0_rc1.ebuild | 155 ++++++++++++++++++++++++++++++++
18 2 files changed, 156 insertions(+)
19
20 diff --git a/app-misc/screen/Manifest b/app-misc/screen/Manifest
21 index f27c84791634..0f251bd13da3 100644
22 --- a/app-misc/screen/Manifest
23 +++ b/app-misc/screen/Manifest
24 @@ -1 +1,2 @@
25 DIST screen-4.8.0.tar.gz 854854 BLAKE2B 97ef6f18bf2c63c477260b742ac0b3501f112d380c41ccecc5cf2853db853cc62d4fd6d37edeca35fb41a43b76d98a5cfe160749c992d284f9764b0a0fdcc778 SHA512 770ebaf6ee9be711bcb8a6104b3294f2bf4523dae6683fdc5eac4b3aff7e511be2d922b6b2ad28ec241113c2e4fe0d80f9a482ae1658adc19c8c3a3680caa25c
26 +DIST screen-4.9.0_rc1.tar.gz 812374 BLAKE2B b908ec64f932dafe34cd0032fd59da9352cf9e7a56cce06c6b2664a84a25637cfc6679f73bfb47e0cacb590739bfa9b61125d942e63f2cb2ae1aaa1b1a2dea8d SHA512 1f87ce0bc1cbfaa8fd7437eee707de8e047bb8f110c26d40f5cb7916816d10ea1830281c680189e855af9cf2f4e712dc08a7c480961d9aee9ea4bb092557b508
27
28 diff --git a/app-misc/screen/screen-4.9.0_rc1.ebuild b/app-misc/screen/screen-4.9.0_rc1.ebuild
29 new file mode 100644
30 index 000000000000..6e0c5455bf0e
31 --- /dev/null
32 +++ b/app-misc/screen/screen-4.9.0_rc1.ebuild
33 @@ -0,0 +1,155 @@
34 +# Copyright 1999-2022 Gentoo Authors
35 +# Distributed under the terms of the GNU General Public License v2
36 +
37 +EAPI=7
38 +
39 +inherit autotools flag-o-matic pam tmpfiles toolchain-funcs
40 +
41 +DESCRIPTION="screen manager with VT100/ANSI terminal emulation"
42 +HOMEPAGE="https://www.gnu.org/software/screen/"
43 +
44 +if [[ ${PV} != 9999 ]] ; then
45 + if [[ ${PV} == *_rc* ]] ; then
46 + # See https://lists.gnu.org/archive/html/screen-devel/2022-01/msg00010.html
47 + MY_COMMIT="d591a396c7e41d10191c1f5676032d9e261da2f7"
48 + SRC_URI="https://git.savannah.gnu.org/cgit/screen.git/snapshot/${PN}-${MY_COMMIT}.tar.gz -> ${P}.tar.gz"
49 + S="${WORKDIR}"/${PN}-${MY_COMMIT}/src
50 + else
51 + SRC_URI="mirror://gnu/${PN}/${P}.tar.gz"
52 + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
53 + fi
54 +else
55 + inherit git-r3
56 + EGIT_REPO_URI="https://git.savannah.gnu.org/git/screen.git"
57 + EGIT_CHECKOUT_DIR="${WORKDIR}/${P}" # needed for setting S later on
58 + S="${WORKDIR}"/${P}/src
59 +fi
60 +
61 +LICENSE="GPL-2"
62 +SLOT="0"
63 +IUSE="debug nethack pam selinux multiuser"
64 +
65 +CDEPEND="
66 + >=sys-libs/ncurses-5.2:0=
67 + virtual/libcrypt:=
68 + pam? ( sys-libs/pam )"
69 +RDEPEND="${CDEPEND}
70 + acct-group/utmp
71 + selinux? ( sec-policy/selinux-screen )"
72 +DEPEND="${CDEPEND}
73 + sys-apps/texinfo"
74 +
75 +PATCHES=(
76 + # Don't use utempter even if it is found on the system.
77 + "${FILESDIR}"/${PN}-4.3.0-no-utempter.patch
78 + "${FILESDIR}"/${PN}-4.6.2-utmp-exit.patch
79 +)
80 +
81 +src_prepare() {
82 + default
83 +
84 + # sched.h is a system header and causes problems with some C libraries
85 + mv sched.h _sched.h || die
86 + sed -i '/include/ s:sched.h:_sched.h:' screen.h || die
87 +
88 + # Fix manpage.
89 + sed -i \
90 + -e "s:/usr/local/etc/screenrc:${EPREFIX}/etc/screenrc:g" \
91 + -e "s:/usr/local/screens:${EPREFIX}/tmp/screen:g" \
92 + -e "s:/local/etc/screenrc:${EPREFIX}/etc/screenrc:g" \
93 + -e "s:/etc/utmp:${EPREFIX}/var/run/utmp:g" \
94 + -e "s:/local/screens/S\\\-:${EPREFIX}/tmp/screen/S\\\-:g" \
95 + doc/screen.1 || die
96 +
97 + if [[ ${CHOST} == *-darwin* ]] || use elibc_musl ; then
98 + sed -i -e '/^#define UTMPOK/s/define/undef/' acconfig.h || die
99 + fi
100 +
101 + # disable musl dummy headers for utmp[x]
102 + use elibc_musl && append-cppflags "-D_UTMP_H -D_UTMPX_H"
103 +
104 + # reconfigure
105 + eautoreconf
106 +}
107 +
108 +src_configure() {
109 + append-cppflags "-DMAXWIN=${MAX_SCREEN_WINDOWS:-100}"
110 +
111 + if [[ ${CHOST} == *-solaris* ]] ; then
112 + # enable msg_header by upping the feature standard compatible
113 + # with c99 mode
114 + append-cppflags -D_XOPEN_SOURCE=600
115 + fi
116 +
117 + use nethack || append-cppflags "-DNONETHACK"
118 + use debug && append-cppflags "-DDEBUG"
119 +
120 + local myeconfargs=(
121 + --with-socket-dir="${EPREFIX}/tmp/${PN}"
122 + --with-sys-screenrc="${EPREFIX}/etc/screenrc"
123 + --with-pty-mode=0620
124 + --with-pty-group=5
125 + --enable-rxvt_osc
126 + --enable-telnet
127 + --enable-colors256
128 + $(use_enable pam)
129 + )
130 + econf "${myeconfargs[@]}"
131 +}
132 +
133 +src_compile() {
134 + LC_ALL=POSIX emake comm.h term.h
135 + emake osdef.h
136 +
137 + emake -C doc screen.info
138 + default
139 +}
140 +
141 +src_install() {
142 + local DOCS=(
143 + README ChangeLog INSTALL TODO NEWS* patchlevel.h
144 + doc/{FAQ,README.DOTSCREEN,fdpat.ps,window_to_display.ps}
145 + )
146 +
147 + emake DESTDIR="${D}" SCREEN="${P}" install
148 +
149 + local tmpfiles_perms tmpfiles_group
150 +
151 + if use multiuser || use prefix ; then
152 + fperms 4755 /usr/bin/${P}
153 + tmpfiles_perms="0755"
154 + tmpfiles_group="root"
155 + else
156 + fowners root:utmp /usr/bin/${P}
157 + fperms 2755 /usr/bin/${P}
158 + tmpfiles_perms="0775"
159 + tmpfiles_group="utmp"
160 + fi
161 +
162 + newtmpfiles - screen.conf <<<"d /tmp/screen ${tmpfiles_perms} root ${tmpfiles_group}"
163 +
164 + insinto /usr/share/${PN}
165 + doins terminfo/{screencap,screeninfo.src}
166 +
167 + insinto /etc
168 + doins "${FILESDIR}"/screenrc
169 +
170 + if use pam; then
171 + pamd_mimic_system screen auth
172 + fi
173 +
174 + dodoc "${DOCS[@]}"
175 +}
176 +
177 +pkg_postinst() {
178 + if [[ -z ${REPLACING_VERSIONS} ]]
179 + then
180 + elog "Some dangerous key bindings have been removed or changed to more safe values."
181 + elog "We enable some xterm hacks in our default screenrc, which might break some"
182 + elog "applications. Please check /etc/screenrc for information on these changes."
183 + fi
184 +
185 + tmpfiles_process screen.conf
186 +
187 + ewarn "This revision changes the screen socket location to ${EROOT}/tmp/${PN}"
188 +}