diff options
Diffstat (limited to 'app-misc/screen')
-rw-r--r-- | app-misc/screen/Manifest | 2 | ||||
-rw-r--r-- | app-misc/screen/screen-4.9.0_rc1.ebuild | 155 |
2 files changed, 157 insertions, 0 deletions
diff --git a/app-misc/screen/Manifest b/app-misc/screen/Manifest index b863d96db7b3..1a26482179c0 100644 --- a/app-misc/screen/Manifest +++ b/app-misc/screen/Manifest @@ -3,6 +3,8 @@ AUX screen-4.6.2-utmp-exit.patch 1558 BLAKE2B e08e83f8b9f0cd09cd9bad4486a75d71bd AUX screen-CVE-2021-26937.patch 1864 BLAKE2B 7425a49e003601f21130cf9c42354aaeb5f3cd639dd274971393420ccf45e8273539ae020f8a1a6e4063e741e75dcbf8cecd4e35b26c6d04ffca108ddea7bd32 SHA512 419f4d10b23369fccdadfb024b6ce268794e7f76188b25dd9051ff8cd6080dc0c70f66b9c2480095d655bb63f20ba1fdfa1ce0c681c9b8aff4d4918764018516 AUX screenrc 10412 BLAKE2B f4866f4a83b22c37484b66e4c7d52ec479fe12ae3e72e5c9e769b1b543ecf04d14ef4339e1c72064741cbf39502ef82d3beb213326a30889f128e135f60bd528 SHA512 06fbec5e28480a2c369330fac0c94faa47e5d28e037d9fefd0cb3e813002c504866dc8ac86872b7ac6f16059a219e396a9c425b578b8afe882153ddb506158f7 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 EBUILD screen-4.8.0-r3.ebuild 3848 BLAKE2B e861b10538b50fa4d53a9b42fc3e69409c2a9d6e24d4f757b9905fc2f48b2ebcc94066f7c7b25f5dfc0c6661b696ca878b9a4a8fce694ed847e6e0eab2095112 SHA512 5c51dde15eeab2e1f0dbf3120ee20cdc1ec22666ad62bf4b86a9db85793d1293673071d2a5cb620726abbba6b2318f172248d381383338b23ba89f1e03cbef3b +EBUILD screen-4.9.0_rc1.ebuild 4136 BLAKE2B e3aac75b33b91ff2febf1155901e8ef173d5da0613249288dffa03713b2d0790b74b4997809696eb0ef4172f64ed3772c8c578edcc584c7df1876b2391556e40 SHA512 615d9df8ce8b6c15716df5f26e3789d9f056f011a7896279153fc13f2e036237b0ff31a6d4cbd78c97f61600e1e974c3d8f666b305ba6eee5dae2897576cc1d7 EBUILD screen-9999.ebuild 3911 BLAKE2B bc3d9c871ea0659fbc880229bda56a541b7bda70e26270cbd621e38b0887e7da0d0c89c9a8038f44c0f9ddc2a16f663fe0079590d4ab5affce11d45847563070 SHA512 69dbb37a84024e208fce48cc9804f0c2a0ca2f1cd039ead9087a3d994348d1d1f143832b53f62f769a9263a696a17ab9734d39b38bc10c8a2e9ccea559dd1ced MISC metadata.xml 1783 BLAKE2B 6b1b392339f6786f95c151a7f311c24adf76c32d23e0f5bf50ff97571ab7e0a7b878d1ccac6938a01c2783c4f54eb0644dfd1f35b9bc602590fce96eed4a4e99 SHA512 fc4a716f118ab74b7757035ffadaaeebd47ba512a8ff123a7f5df4fa8fd2b384a66d4da88f8b78e7c16314b710e2346cfa6fc644c22f059d065cc1778565d060 diff --git a/app-misc/screen/screen-4.9.0_rc1.ebuild b/app-misc/screen/screen-4.9.0_rc1.ebuild new file mode 100644 index 000000000000..6e0c5455bf0e --- /dev/null +++ b/app-misc/screen/screen-4.9.0_rc1.ebuild @@ -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}" +} |