forked from gentoo/gentoo
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
app-misc/screen: add 4.9.0_rc1 (unkeyworded)
See https://lists.gnu.org/archive/html/screen-devel/2022-01/msg00010.html for call for testers. It's been a long time since the last release so any testers are welcome. Signed-off-by: Sam James <[email protected]>
- Loading branch information
1 parent
947065b
commit 2fa4add
Showing
2 changed files
with
156 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1,2 @@ | ||
DIST screen-4.8.0.tar.gz 854854 BLAKE2B 97ef6f18bf2c63c477260b742ac0b3501f112d380c41ccecc5cf2853db853cc62d4fd6d37edeca35fb41a43b76d98a5cfe160749c992d284f9764b0a0fdcc778 SHA512 770ebaf6ee9be711bcb8a6104b3294f2bf4523dae6683fdc5eac4b3aff7e511be2d922b6b2ad28ec241113c2e4fe0d80f9a482ae1658adc19c8c3a3680caa25c | ||
DIST screen-4.9.0_rc1.tar.gz 812374 BLAKE2B b908ec64f932dafe34cd0032fd59da9352cf9e7a56cce06c6b2664a84a25637cfc6679f73bfb47e0cacb590739bfa9b61125d942e63f2cb2ae1aaa1b1a2dea8d SHA512 1f87ce0bc1cbfaa8fd7437eee707de8e047bb8f110c26d40f5cb7916816d10ea1830281c680189e855af9cf2f4e712dc08a7c480961d9aee9ea4bb092557b508 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,155 @@ | ||
# Copyright 1999-2022 Gentoo Authors | ||
# Distributed under the terms of the GNU General Public License v2 | ||
|
||
EAPI=7 | ||
|
||
inherit autotools flag-o-matic pam tmpfiles toolchain-funcs | ||
|
||
DESCRIPTION="screen manager with VT100/ANSI terminal emulation" | ||
HOMEPAGE="https://www.gnu.org/software/screen/" | ||
|
||
if [[ ${PV} != 9999 ]] ; then | ||
if [[ ${PV} == *_rc* ]] ; then | ||
# See https://lists.gnu.org/archive/html/screen-devel/2022-01/msg00010.html | ||
MY_COMMIT="d591a396c7e41d10191c1f5676032d9e261da2f7" | ||
SRC_URI="https://git.savannah.gnu.org/cgit/screen.git/snapshot/${PN}-${MY_COMMIT}.tar.gz -> ${P}.tar.gz" | ||
S="${WORKDIR}"/${PN}-${MY_COMMIT}/src | ||
else | ||
SRC_URI="mirror://gnu/${PN}/${P}.tar.gz" | ||
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" | ||
fi | ||
else | ||
inherit git-r3 | ||
EGIT_REPO_URI="https://git.savannah.gnu.org/git/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= | ||
virtual/libcrypt:= | ||
pam? ( sys-libs/pam )" | ||
RDEPEND="${CDEPEND} | ||
acct-group/utmp | ||
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.6.2-utmp-exit.patch | ||
) | ||
|
||
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* ]] || use elibc_musl ; then | ||
sed -i -e '/^#define UTMPOK/s/define/undef/' acconfig.h || die | ||
fi | ||
|
||
# disable musl dummy headers for utmp[x] | ||
use elibc_musl && append-cppflags "-D_UTMP_H -D_UTMPX_H" | ||
|
||
# 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" | ||
|
||
local myeconfargs=( | ||
--with-socket-dir="${EPREFIX}/tmp/${PN}" | ||
--with-sys-screenrc="${EPREFIX}/etc/screenrc" | ||
--with-pty-mode=0620 | ||
--with-pty-group=5 | ||
--enable-rxvt_osc | ||
--enable-telnet | ||
--enable-colors256 | ||
$(use_enable pam) | ||
) | ||
econf "${myeconfargs[@]}" | ||
} | ||
|
||
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} | ||
) | ||
|
||
emake DESTDIR="${D}" SCREEN="${P}" install | ||
|
||
local tmpfiles_perms tmpfiles_group | ||
|
||
if use multiuser || use prefix ; then | ||
fperms 4755 /usr/bin/${P} | ||
tmpfiles_perms="0755" | ||
tmpfiles_group="root" | ||
else | ||
fowners root:utmp /usr/bin/${P} | ||
fperms 2755 /usr/bin/${P} | ||
tmpfiles_perms="0775" | ||
tmpfiles_group="utmp" | ||
fi | ||
|
||
newtmpfiles - screen.conf <<<"d /tmp/screen ${tmpfiles_perms} root ${tmpfiles_group}" | ||
|
||
insinto /usr/share/${PN} | ||
doins terminfo/{screencap,screeninfo.src} | ||
|
||
insinto /etc | ||
doins "${FILESDIR}"/screenrc | ||
|
||
if use pam; then | ||
pamd_mimic_system screen auth | ||
fi | ||
|
||
dodoc "${DOCS[@]}" | ||
} | ||
|
||
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 | ||
|
||
tmpfiles_process screen.conf | ||
|
||
ewarn "This revision changes the screen socket location to ${EROOT}/tmp/${PN}" | ||
} |