summaryrefslogtreecommitdiff
path: root/app-misc/screen
diff options
context:
space:
mode:
Diffstat (limited to 'app-misc/screen')
-rw-r--r--app-misc/screen/Manifest11
-rw-r--r--app-misc/screen/files/screen-4.6.2-utmp-exit.patch55
-rw-r--r--app-misc/screen/files/screen-4.9.0-CVE-2023-24626.patch33
-rw-r--r--app-misc/screen/files/screen-4.9.0-clang16-chmod.patch12
-rw-r--r--app-misc/screen/files/screen-4.9.0-configure-implicit-function-decls.patch747
-rw-r--r--app-misc/screen/files/screenrc3
-rw-r--r--app-misc/screen/screen-4.9.0-r3.ebuild148
-rw-r--r--app-misc/screen/screen-4.9.1.ebuild145
-rw-r--r--app-misc/screen/screen-9999.ebuild3
9 files changed, 3 insertions, 1154 deletions
diff --git a/app-misc/screen/Manifest b/app-misc/screen/Manifest
index 76553d0030d0..4c53768ccf31 100644
--- a/app-misc/screen/Manifest
+++ b/app-misc/screen/Manifest
@@ -1,15 +1,8 @@
AUX screen-4.3.0-no-utempter.patch 341 BLAKE2B 3339783b3574f82f093c82a613ad18c5c58c184c082c2c311281cdd57e7176abae0f5935466a4a8b4d931d1d1b93d8f0a4e6b558a268553af4a0170061e6ebfe SHA512 f4191ba1ecac3076f958f56309c0a1d523b455fa4e3388f1cfca59c8ccff0afdfb20ef18d54794ba539b2b6d1511ed599dc44787344dc5ccce2902c9b9848155
-AUX screen-4.6.2-utmp-exit.patch 1558 BLAKE2B e08e83f8b9f0cd09cd9bad4486a75d71bd899a7917954702ece0837099639079a746138374cbeaf71072cca64ae36a3c2a32250123c6747089e724272227e0dd SHA512 0e7c6c224f6fb8e01650b778cb2b155942752504dc97112d9594b7fa0da1bb8bd828240a2519b1c21f1c162181da89a8daa51ef7f74c8ced0b85cdb3e911a67c
-AUX screen-4.9.0-CVE-2023-24626.patch 1039 BLAKE2B ba35a0be4d75b02f08d29f0c135103213cc2d875cd4bbd39cd8ae7cc000eb7fb1b0671844220e0bb6ec48283d1c265c4ea889d82e5882af60c8472d71c57c6f9 SHA512 591599518c2a6505b2407834e9c676d8269eb5f2e8165e113885ee5e18a9176b5e0fc99c8a827f672126212c58257a7a5d852a484a46414026e0960c7e233315
-AUX screen-4.9.0-clang16-chmod.patch 303 BLAKE2B c55b727ca1d7a7acd758c1f123467d53e4d0f4909097f3c560b78910555f0312b9844ca202163c00bea36964c0fbbee6d5634e9926948aca628328ef1f9e0eee SHA512 8ccd19b9462514f6d91c5a3d7be69d808c2011e02ce0000b6730497ea2639a2ea5d0769e52bf0764d3e5e39ec01bcc965222928c89a2873995fb1d09051aee91
-AUX screen-4.9.0-configure-implicit-function-decls.patch 16667 BLAKE2B 6079042dae21c51b81176aadf27314cf0502fcee995bd9668102bc114ac0c2fdb6587fe2c647cbd92d994cb9b6fdba9e259a1f0a6bd7cf7d7905c3f7e36e8aff SHA512 c9ff18fccba0a0ed19e64509ea128b91bbb6fac405e8395ce724435f1af2f2015f645342aa1fc1b4cb023927412db6e1c242c8060a81deab2a8c064523dedd4d
AUX screen-4.9.1-utmp-exit.patch 1220 BLAKE2B 007758c3de19f9bcbfeeb1883d8d9bc42f1fb91d3cf202f6336836f6dfebaf3aa645c4854181d3445159bd1972810eaa0fb9b95e902292ef09075023c018b8f9 SHA512 86ec2542d8d92feba5b9d2d8386a74edc64e101dfd74d248cfe10501f2e1839314cf9a76ed2b1b36a94126a50fb944a598a2cec39bd23c449ffa718ba6edcebc
AUX screen-9999-no-utempter.patch 465 BLAKE2B be4d690d2f478a2660cb3c0b0f83d9a62328b82b06b85860a84e1b3a924c751080d7e9f35c4b48c3fe6a0152ae75df1dc665b97f8bc70e026bbadd19d4891df1 SHA512 c011936e35e04e7704b0d8d7892f2ebe22fb6993241e7c4b6733e48f6400ca8aeb20c638108018fab006e402332460e89d321e2118f564316e3f7e26a05212d2
-AUX screenrc 10412 BLAKE2B f4866f4a83b22c37484b66e4c7d52ec479fe12ae3e72e5c9e769b1b543ecf04d14ef4339e1c72064741cbf39502ef82d3beb213326a30889f128e135f60bd528 SHA512 06fbec5e28480a2c369330fac0c94faa47e5d28e037d9fefd0cb3e813002c504866dc8ac86872b7ac6f16059a219e396a9c425b578b8afe882153ddb506158f7
-DIST screen-4.9.0.tar.gz 798229 BLAKE2B 0f64a14ce9a719bd4a6d045c55069769045a09ee2086c44c2e3d9da6d1e5ada2f094e00e16029767e1155ce35d4f360d0e2879995eefa052f3214ced71b7617c SHA512 18bbb085d77ecd02cbc02fa88a945c39f06e0c6de4eeaa16b278440dac5c9896811abbe0838144e997cd344ae08b9530399fa8fcb31a65fc571ead90e8307f84
+AUX screenrc 10350 BLAKE2B eda2b07af1262e6c6a7151659ee139313a1cb4ebbce91ac5f4b63d0473a969c017c30037f000b4bebabf7d68a86d93c25ba744d61b976bea5c11b0e35f4dcd89 SHA512 5c98d305ba027f64a32a4c4de19eb9603f766318892db216c696949dd5b5ba654e7c2b25e0e6e69207ba8e794b71cf515308103f265d06bbef85b18fece0d31c
DIST screen-4.9.1.tar.gz 1040785 BLAKE2B 27d9c100bc1f747e39e109a4957702388d943c7d3b75b4c59dfc3894456d5249257742106fb24cf6f07a36764db0a1c5f7e0a44123edda1c570d771d7f46c638 SHA512 1f278313528815f4246bb162ced611c5d77321d11055e8d853168dc804c75d5f78568056a23e46db0640e1605e5cad4a5ce05e95e50cf02bb322cb6f57e5a126
-EBUILD screen-4.9.0-r3.ebuild 3894 BLAKE2B 9d9b1add596c0db9317ca7426d0ff7bf82f5cc349c619f8ce5b1621ec2e7b101e1bd3d800275cc856584038adaec0f30715344a7cb89717b5a49ed4d1644b120 SHA512 b2eafde2be5f9e127735e910099ce63bd57f438ccab056e80f2796a72f5c81cbbe6abfb102c6430f0c7ebebb4d55ee77fa903d0232ba26843cb59cb259736ba2
EBUILD screen-4.9.1-r1.ebuild 3825 BLAKE2B 1eeccb1be9257c0252d275a79ea82f522a0a9b5db1c7df1cc8c94d79cb61b907d8b8b2dea627e7104a0fc53870903d808451f01a97124e54992bd26450207c5c SHA512 6eebcb4fa01becade1860bfbf60c7582c07a0a68f1b8950b10d580abd88179e638d70152f5bd92f6f7dc4acc3194808272df2df6d45cbfc999cbd4143f208e22
-EBUILD screen-4.9.1.ebuild 3739 BLAKE2B d3b6229084759f7c25e2eeb73c043ddcd23a6e290afeb2f2d29127e04ad3a9cdab1def0d084d4cd8ee69da085a38b599125260889d1a570be1a77e2c99fe9ba5 SHA512 fdffbb0e7b91fe598f9d12b253fa6e07ed1c4c1b8e99dd92992b26840ee9474f49e2ce1c1a82d886ce70a484020419ba2006052acdceffd3cca4bf912c66b13d
-EBUILD screen-9999.ebuild 3749 BLAKE2B c03cec61a95f67fb30c7ed870cfacb9552e84aedc49cfab991d8173213472a03d97b4ed7468cb0f6e7619bd860bc4c0947140738eb696d0648d94a414e4782a4 SHA512 adf32c97a2fd06ca9d433e8001b70d69e63102385de76f54b1de992d6f25189d0e41923b83b6ac0ae3676b74dd45c69aeb5651134700418a85536b0327442d7f
+EBUILD screen-9999.ebuild 3695 BLAKE2B 84f536f80f4f8f0749fc6eb390ab052f13af129478a526110e09534a601c9ec17de2e80e722d103d17ff63d3ce9aac97466bffbae99ed55ddf417443c89e77de SHA512 5d33319159800b3d3af1fd8ac166e36f55986ae1a6f760dc5d527aa9b04ed812858b3d059444ef96f26d2c59d6b4b5f81585ec513f1871b63d97e89980245eea
MISC metadata.xml 1950 BLAKE2B e774b14285910f8641e9f3d2908378af5143497eea9153705452674d3e2c20d685fb5df351ab8d0be3afb9c7c7a626b4c5435b18599b07e1d24d4afe7e19af42 SHA512 48af1b145bbfcff379ff77336cff40ca32de5b5e00dbf275cfafd94d8d2d774a7d3ca741a1ecf79fb5d979f0729fcbf929213dad7f695b16be1bf53bf3771e75
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
deleted file mode 100644
index 11adf69a5368..000000000000
--- a/app-misc/screen/files/screen-4.6.2-utmp-exit.patch
+++ /dev/null
@@ -1,55 +0,0 @@
-From 2f1b9dfe03133c9b77ea450aed088d65128dc547 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Amadeusz=20S=C5=82awi=C5=84ski?= <amade@asmblr.net>
-Date: Tue, 5 Apr 2016 12:47:08 +0200
-Subject: [PATCH] check if we have ut_exit in utmpx struct
-
----
- acconfig.h | 5 +++++
- configure.ac | 4 ++++
- utmp.c | 2 ++
- 3 files changed, 11 insertions(+)
-
-diff --git a/acconfig.h b/acconfig.h
-index 656e117..d173c9c 100644
---- a/acconfig.h
-+++ b/acconfig.h
-@@ -215,6 +215,11 @@
- #undef HAVE_UTEMPTER
-
- /*
-+ * Define if your utmpx has ut_exit struct
-+ */
-+#undef HAVE_UT_EXIT
-+
-+/*
- * If your system has the calls setreuid() and setregid(),
- * define HAVE_SETREUID. Otherwise screen will use a forked process to
- * safely create output files without retaining any special privileges.
-diff --git a/configure.ac b/configure.ac
-index 1a75020..8457619 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -374,6 +374,10 @@ if test "$have_utempter" = yes; then
- AC_DEFINE(HAVE_UTEMPTER)
- LIBS="$LIBS -lutempter"
- fi
-+AC_CHECKING(ut_exit)
-+AC_TRY_COMPILE([
-+#include <utmpx.h>
-+],[struct utmpx u; u.ut_exit.e_exit;], AC_DEFINE(HAVE_UT_EXIT))
-
- dnl
- dnl **** signal handling ****
-diff --git a/utmp.c b/utmp.c
-index da8d7ff..c864d07 100644
---- a/utmp.c
-+++ b/utmp.c
-@@ -381,7 +381,7 @@ static int pututslot(slot_t slot, struct utmpx *u, char *host, Window *win)
- struct utmp *u;
- {
- u->ut_type = DEAD_PROCESS;
--#if (!defined(linux) || defined(EMPTY)) && !defined(__CYGWIN__)
-+#if defined(HAVE_UT_EXIT)
- u->ut_exit.e_termination = 0;
- u->ut_exit.e_exit = 0;
- #endif
diff --git a/app-misc/screen/files/screen-4.9.0-CVE-2023-24626.patch b/app-misc/screen/files/screen-4.9.0-CVE-2023-24626.patch
deleted file mode 100644
index 07dec8ecdd28..000000000000
--- a/app-misc/screen/files/screen-4.9.0-CVE-2023-24626.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From e9ad41bfedb4537a6f0de20f00b27c7739f168f7 Mon Sep 17 00:00:00 2001
-From: Alexander Naumov <alexander_naumov@opensuse.org>
-Date: Mon, 30 Jan 2023 17:22:25 +0200
-Subject: fix: missing signal sending permission check on failed query messages
-
-Signed-off-by: Alexander Naumov <alexander_naumov@opensuse.org>
----
- socket.c | 9 +++++++--
- 1 file changed, 7 insertions(+), 2 deletions(-)
-
-diff --git a/socket.c b/socket.c
-index 147dc54..54d8cb8 100644
---- a/socket.c
-+++ b/socket.c
-@@ -1285,11 +1285,16 @@ ReceiveMsg()
- else
- queryflag = -1;
-
-- Kill(m.m.command.apid,
-+ if (CheckPid(m.m.command.apid)) {
-+ Msg(0, "Query attempt with bad pid(%d)!", m.m.command.apid);
-+ }
-+ else {
-+ Kill(m.m.command.apid,
- (queryflag >= 0)
- ? SIGCONT
- : SIG_BYE); /* Send SIG_BYE if an error happened */
-- queryflag = -1;
-+ queryflag = -1;
-+ }
- }
- break;
- case MSG_COMMAND:
diff --git a/app-misc/screen/files/screen-4.9.0-clang16-chmod.patch b/app-misc/screen/files/screen-4.9.0-clang16-chmod.patch
deleted file mode 100644
index 63872219a23f..000000000000
--- a/app-misc/screen/files/screen-4.9.0-clang16-chmod.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-Bug: https://bugs.gentoo.org/894562
-Taken from: https://git.savannah.gnu.org/cgit/screen.git/commit/?id=7f320d3a643ec95682a7213b7e991e27038d8a57
---- a/display.c
-+++ b/display.c
-@@ -27,6 +27,7 @@
- */
-
- #include <sys/types.h>
-+#include <sys/stat.h>
- #include <signal.h>
- #include <fcntl.h>
- #ifndef sun
diff --git a/app-misc/screen/files/screen-4.9.0-configure-implicit-function-decls.patch b/app-misc/screen/files/screen-4.9.0-configure-implicit-function-decls.patch
deleted file mode 100644
index e3990b2acf88..000000000000
--- a/app-misc/screen/files/screen-4.9.0-configure-implicit-function-decls.patch
+++ /dev/null
@@ -1,747 +0,0 @@
-https://bugs.gentoo.org/869371
-
-Upstream variant: https://lists.gnu.org/archive/html/screen-devel/2022-08/msg00000.html
---- a/configure.ac
-+++ b/configure.ac
-@@ -157,10 +157,11 @@ if test -n "$ULTRIX"; then
- fi
- AC_CHECKING(for POSIX.1)
- AC_EGREP_CPP(YES_IS_DEFINED,
- [#include <sys/types.h>
- #include <unistd.h>
-+int
- main () {
- #ifdef _POSIX_VERSION
- YES_IS_DEFINED;
- #endif
- ], AC_NOTE(- you have a POSIX system) AC_DEFINE(POSIX) posix=1)
-@@ -231,10 +232,11 @@ dnl
-
- AC_CHECKING(BSD job jontrol)
- AC_TRY_LINK(
- [#include <sys/types.h>
- #include <sys/ioctl.h>
-+#include <unistd.h>
- ], [
- #ifdef POSIX
- tcsetpgrp(0, 0);
- #else
- int x = TIOCSPGRP;
-@@ -248,48 +250,64 @@ int y = TIOCNOTTY;
-
- dnl
- dnl **** setresuid(), setreuid(), seteuid() ****
- dnl
- AC_CHECKING(setresuid)
--AC_TRY_LINK(,[
-+AC_TRY_LINK(
-+[#include <unistd.h>
-+], [
- setresuid(0, 0, 0);
- ], AC_DEFINE(HAVE_SETRESUID))
- AC_CHECKING(setreuid)
--AC_TRY_LINK(,[
-+AC_TRY_LINK(
-+[#include <unistd.h>
-+], [
- setreuid(0, 0);
- ], AC_DEFINE(HAVE_SETREUID))
- dnl
- dnl seteuid() check:
- dnl linux seteuid was broken before V1.1.11
- dnl NeXT, AUX, ISC, and ultrix are still broken (no saved uid support)
- dnl Solaris seteuid doesn't change the saved uid, bad for
- dnl multiuser screen sessions
- AC_CHECKING(seteuid)
--AC_TRY_LINK(,[
-+AC_TRY_LINK(
-+[#include <unistd.h>
-+],[
- #if defined(linux) || defined(NeXT) || defined(_AUX_SOURCE) || defined(AUX) || defined(ultrix) || (defined(sun) && defined(SVR4)) || defined(ISC) || defined(sony_news)
--seteuid_is_broken(0);
-+int seteuid_is_broken(int); seteuid_is_broken(0);
- #else
- seteuid(0);
- #endif
- ], AC_DEFINE(HAVE_SETEUID))
-
- dnl execvpe
- AC_CHECKING(execvpe)
--AC_TRY_LINK(,[
-+AC_TRY_LINK(
-+[#include <unistd.h>
-+],[
- execvpe(0, 0, 0);
- ], AC_DEFINE(HAVE_EXECVPE)
- CFLAGS="$CFLAGS -D_GNU_SOURCE")
-
- dnl
- dnl **** select() ****
- dnl
-
- AC_CHECKING(select)
--AC_TRY_LINK(,[select(0, 0, 0, 0, 0);],,
-+AC_TRY_LINK(
-+[#include <sys/select.h>
-+],[
-+ select(0, 0, 0, 0, 0);
-+],,
- LIBS="$LIBS -lnet -lnsl"
- AC_CHECKING(select with $LIBS)
--AC_TRY_LINK(,[select(0, 0, 0, 0, 0);],,
-+AC_TRY_LINK(
-+[#include <sys/select.h>
-+],[
-+ select(0, 0, 0, 0, 0);
-+],,
- AC_MSG_ERROR(!!! no select - no screen))
- )
- dnl
- dnl **** FIFO tests ****
- dnl
-@@ -314,11 +332,11 @@ AC_TRY_RUN([
- #define S_IFIFO 0010000
- #endif
-
- char *fin = "/tmp/conftest$$";
-
--main()
-+int main()
- {
- struct stat stb;
- fd_set f;
-
- (void)alarm(5);
-@@ -326,40 +344,40 @@ main()
- #ifdef POSIX
- if (mkfifo(fin, 0777))
- #else
- if (mknod(fin, S_IFIFO|0777, 0))
- #endif
-- exit(1);
-+ return 1;
- if (stat(fin, &stb) || (stb.st_mode & S_IFIFO) != S_IFIFO)
-- exit(1);
-+ return 1;
- close(0);
- #ifdef __386BSD__
- /*
- * The next test fails under 386BSD, but screen works using fifos.
- * Fifos in O_RDWR mode are only used for the BROKEN_PIPE case and for
- * the select() configuration test.
- */
-- exit(0);
-+ return 0;
- #endif
- if (open(fin, O_RDONLY | O_NONBLOCK))
-- exit(1);
-+ return 1;
- if (fork() == 0)
- {
- close(0);
- if (open(fin, O_WRONLY | O_NONBLOCK))
-- exit(1);
-+ return 1;
- close(0);
- if (open(fin, O_WRONLY | O_NONBLOCK))
-- exit(1);
-+ return 1;
- if (write(0, "TEST", 4) == -1)
-- exit(1);
-- exit(0);
-+ return 1;
-+ return 0;
- }
- FD_SET(0, &f);
- if (select(1, &f, 0, 0, 0) == -1)
-- exit(1);
-- exit(0);
-+ return 1;
-+ return 0;
- }
- ], AC_NOTE(- your fifos are usable) fifo=1,
- AC_NOTE(- your fifos are not usable),
- AC_NOTE(- skipping check because we are cross compiling; assuming fifos are usable) fifo=1)
- rm -f /tmp/conftest*
-@@ -385,30 +403,31 @@ AC_TRY_RUN([
- #define S_IFIFO 0010000
- #endif
-
- char *fin = "/tmp/conftest$$";
-
-+int
- main()
- {
- struct timeval tv;
- fd_set f;
-
- #ifdef POSIX
- if (mkfifo(fin, 0600))
- #else
- if (mknod(fin, S_IFIFO|0600, 0))
- #endif
-- exit(1);
-+ return 1;
- close(0);
- if (open(fin, O_RDONLY|O_NONBLOCK))
-- exit(1);
-+ return 1;
- FD_SET(0, &f);
- tv.tv_sec = 1;
- tv.tv_usec = 0;
- if (select(1, &f, 0, 0, &tv))
-- exit(1);
-- exit(0);
-+ return 1;
-+ return 0;
- }
- ], AC_NOTE(- your implementation is ok),
- AC_NOTE(- you have a broken implementation) AC_DEFINE(BROKEN_PIPE) fifobr=1,
- AC_NOTE(- skipping check because we are cross compiling; assuming fifo implementation is ok))
- rm -f /tmp/conftest*
-@@ -432,46 +455,48 @@ AC_TRY_RUN([
-
- #include <sys/stat.h>
- #include <fcntl.h>
- #include <sys/socket.h>
- #include <sys/un.h>
-+#include <signal.h>
-
- char *son = "/tmp/conftest$$";
-
-+int
- main()
- {
- int s1, s2, l;
- struct sockaddr_un a;
- fd_set f;
-
- (void)alarm(5);
- if ((s1 = socket(AF_UNIX, SOCK_STREAM, 0)) == -1)
-- exit(1);
-+ return 1;
- a.sun_family = AF_UNIX;
- strcpy(a.sun_path, son);
- (void) unlink(son);
- if (bind(s1, (struct sockaddr *) &a, strlen(son)+2) == -1)
-- exit(1);
-+ return 1;
- if (listen(s1, 2))
-- exit(1);
-+ return 1;
- if (fork() == 0)
- {
- if ((s2 = socket(AF_UNIX, SOCK_STREAM, 0)) == -1)
- kill(getppid(), 3);
- (void)connect(s2, (struct sockaddr *)&a, strlen(son) + 2);
- if (write(s2, "HELLO", 5) == -1)
- kill(getppid(), 3);
-- exit(0);
-+ return 0;
- }
- l = sizeof(a);
- close(0);
- if (accept(s1, &a, &l))
-- exit(1);
-+ return 1;
- FD_SET(0, &f);
- if (select(1, &f, 0, 0, 0) == -1)
-- exit(1);
-- exit(0);
-+ return 1;
-+ return 0;
- }
- ], AC_NOTE(- your sockets are usable) sock=1,
- AC_NOTE(- your sockets are not usable),
- AC_NOTE(- skipping check because we are cross compiling; assuming sockets are usable) sock=1)
- rm -f /tmp/conftest*
-@@ -491,26 +516,27 @@ AC_TRY_RUN([
- #include <sys/socket.h>
- #include <sys/un.h>
-
- char *son = "/tmp/conftest$$";
-
-+int
- main()
- {
- int s;
- struct stat stb;
- struct sockaddr_un a;
- if ((s = socket(AF_UNIX, SOCK_STREAM, 0)) == -1)
-- exit(0);
-+ return 0;
- a.sun_family = AF_UNIX;
- strcpy(a.sun_path, son);
- (void) unlink(son);
- if (bind(s, (struct sockaddr *) &a, strlen(son)+2) == -1)
-- exit(0);
-+ return 0;
- if (stat(son, &stb))
-- exit(1);
-+ return 1;
- close(s);
-- exit(0);
-+ return 0;
- }
- ],AC_NOTE(- you are normal),
- AC_NOTE(- unix domain sockets are not kept in the filesystem)
- AC_DEFINE(SOCK_NOT_IN_FS) socknofs=1,
- AC_NOTE(- skipping check because we are cross compiling; assuming sockets are normal))
-@@ -545,122 +571,167 @@ char *nam = "/tmp/conftest$$";
- #endif
- #ifndef S_IFIFO
- #define S_IFIFO 0010000
- #endif
-
-+int
- main()
- {
- fd_set f;
-
- #ifdef __FreeBSD__
- /* From Andrew A. Chernov (ache@astral.msk.su):
- * opening RDWR fifo fails in BSD 4.4, but select return values are
- * right.
- */
-- exit(0);
-+ return 0;
- #endif
- (void)alarm(5);
- #ifdef POSIX
- if (mkfifo(nam, 0777))
- #else
- if (mknod(nam, S_IFIFO|0777, 0))
- #endif
-- exit(1);
-+ return 1;
- close(0);
- if (open(nam, O_RDWR | O_NONBLOCK))
-- exit(1);
-+ return 1;
- if (write(0, "TEST", 4) == -1)
-- exit(1);
-+ return 1;
-
- #else
-
- #include <sys/types.h>
- #include <sys/socket.h>
- #include <sys/un.h>
-+#include <signal.h>
-
-+int
- main()
- {
- int s1, s2, l;
- struct sockaddr_un a;
- fd_set f;
-
- (void)alarm(5);
- if ((s1 = socket(AF_UNIX, SOCK_STREAM, 0)) == -1)
-- exit(1);
-+ return 1;
- a.sun_family = AF_UNIX;
- strcpy(a.sun_path, nam);
- (void) unlink(nam);
- if (bind(s1, (struct sockaddr *) &a, strlen(nam)+2) == -1)
-- exit(1);
-+ return 1;
- if (listen(s1, 2))
-- exit(1);
-+ return 1;
- if (fork() == 0)
- {
- if ((s2 = socket(AF_UNIX, SOCK_STREAM, 0)) == -1)
- kill(getppid(), 3);
- (void)connect(s2, (struct sockaddr *)&a, strlen(nam) + 2);
- if (write(s2, "HELLO", 5) == -1)
- kill(getppid(), 3);
-- exit(0);
-+ return 0;
- }
- l = sizeof(a);
- close(0);
- if (accept(s1, (struct sockaddr *)&a, &l))
-- exit(1);
-+ return 1;
- #endif
-
-
- FD_SET(0, &f);
- if (select(1, &f, 0, 0, 0) == -1)
-- exit(1);
-+ return 1;
- if (select(1, &f, &f, 0, 0) != 2)
-- exit(1);
-- exit(0);
-+ return 1;
-+ return 0;
- }
- ],AC_NOTE(- select is ok),
- AC_NOTE(- select can't count) AC_DEFINE(SELECT_BROKEN),
- AC_NOTE(- skipping check because we are cross compiling; assuming select is ok))
-
- dnl
- dnl **** termcap or terminfo ****
- dnl
- AC_CHECKING(for tgetent)
--AC_TRY_LINK(,tgetent((char *)0, (char *)0);,,
-+AC_TRY_LINK([
-+ #include <curses.h>
-+ #include <term.h>
-+], [
-+ tgetent((char *)0, (char *)0);
-+],,
- olibs="$LIBS"
- LIBS="-lcurses $olibs"
- AC_CHECKING(libcurses)
--AC_TRY_LINK(,[
-+AC_TRY_LINK([#include <curses.h>
-+ #include <term.h>
-+],[
- #ifdef __hpux
- __sorry_hpux_libcurses_is_totally_broken_in_10_10();
- #else
- tgetent((char *)0, (char *)0);
- #endif
- ],,
- LIBS="-ltermcap $olibs"
- AC_CHECKING(libtermcap)
--AC_TRY_LINK(,tgetent((char *)0, (char *)0);,,
-+AC_TRY_LINK(
-+[#include <curses.h>
-+ #include <term.h>
-+],[
-+ tgetent((char *)0, (char *)0);
-+],,
- LIBS="-ltermlib $olibs"
- AC_CHECKING(libtermlib)
--AC_TRY_LINK(,tgetent((char *)0, (char *)0);,,
-+AC_TRY_LINK(
-+[#include <curses.h>
-+ #include <term.h>
-+],[
-+ tgetent((char *)0, (char *)0);
-+],,
- LIBS="-lncursesw $olibs"
- AC_CHECKING(libncursesw)
--AC_TRY_LINK(,tgetent((char *)0, (char *)0);,,
-+AC_TRY_LINK(
-+[#include <curses.h>
-+ #include <term.h>
-+],[
-+ tgetent((char *)0, (char *)0);
-+],,
- LIBS="-ltinfow $olibs"
- AC_CHECKING(libtinfow)
--AC_TRY_LINK(,tgetent((char *)0, (char *)0);,,
-+AC_TRY_LINK(
-+[#include <curses.h>
-+ #include <term.h>
-+],[
-+ tgetent((char *)0, (char *)0);
-+],,
- LIBS="-lncurses $olibs"
- AC_CHECKING(libncurses)
--AC_TRY_LINK(,tgetent((char *)0, (char *)0);,,
-+AC_TRY_LINK(
-+[#include <curses.h>
-+ #include <term.h>
-+],[
-+ tgetent((char *)0, (char *)0);
-+],,
- LIBS="-ltinfo $olibs"
- AC_CHECKING(libtinfo)
--AC_TRY_LINK(,tgetent((char *)0, (char *)0);,,
-+AC_TRY_LINK(
-+[#include <curses.h>
-+ #include <term.h>
-+],[
-+ tgetent((char *)0, (char *)0);
-+],,
- AC_MSG_ERROR(!!! no tgetent - no screen)))))))))
-
- AC_TRY_RUN([
-+#include <curses.h>
-+#include <string.h>
-+#include <term.h>
-+
-+int
- main()
- {
-- exit(strcmp(tgoto("%p1%d", 0, 1), "1") ? 0 : 1);
-+ return(strcmp(tgoto("%p1%d", 0, 1), "1") ? 0 : 1);
- }], AC_NOTE(- you use the termcap database),
- AC_NOTE(- you use the terminfo database) AC_DEFINE(TERMINFO),
- AC_NOTE(- skipping check because we are cross compiling; assuming terminfo database is used) AC_DEFINE(TERMINFO))
- AC_CHECKING(ospeed)
- AC_TRY_LINK(extern short ospeed;,ospeed=5;,,AC_DEFINE(NEED_OSPEED))
-@@ -677,11 +748,15 @@ fi
-
- if test "$cross_compiling" = no ; then
- AC_CHECKING(for SVR4 ptys)
- sysvr4ptys=
- if test -c /dev/ptmx ; then
--AC_TRY_LINK([],[ptsname(0);grantpt(0);unlockpt(0);],[AC_DEFINE(HAVE_SVR4_PTYS)
-+AC_TRY_LINK([
-+ #include <stdlib.h>
-+], [
-+ ptsname(0);grantpt(0);unlockpt(0);
-+],[AC_DEFINE(HAVE_SVR4_PTYS)
- sysvr4ptys=1])
- fi
- fi
-
- AC_CHECK_FUNCS(getpt)
-@@ -733,33 +808,36 @@ AC_CHECKING(default tty permissions/group)
- rm -f conftest_grp
- AC_TRY_RUN([
- #include <sys/types.h>
- #include <sys/stat.h>
- #include <stdio.h>
-+#include <stdlib.h>
-+#include <unistd.h>
-+int
- main()
- {
- struct stat sb;
- char *x,*ttyname();
- int om, m;
- FILE *fp;
-
-- if (!(x = ttyname(0))) exit(1);
-- if (stat(x, &sb)) exit(1);
-+ if (!(x = ttyname(0))) return 1;
-+ if (stat(x, &sb)) return 1;
- om = sb.st_mode;
-- if (om & 002) exit(0);
-+ if (om & 002) return 0;
- m = system("mesg y");
-- if (m == -1 || m == 127) exit(1);
-- if (stat(x, &sb)) exit(1);
-+ if (m == -1 || m == 127) return 1;
-+ if (stat(x, &sb)) return 1;
- m = sb.st_mode;
-- if (chmod(x, om)) exit(1);
-- if (m & 002) exit(0);
-- if (sb.st_gid == getgid()) exit(1);
-+ if (chmod(x, om)) return 1;
-+ if (m & 002) return 0;
-+ if (sb.st_gid == getgid()) return 1;
- if (!(fp=fopen("conftest_grp", "w")))
-- exit(1);
-+ return 1;
- fprintf(fp, "%d\n", sb.st_gid);
- fclose(fp);
-- exit(0);
-+ return 0;
- }
- ],[
- if test -f conftest_grp; then
- ptygrp=`cat conftest_grp`
- AC_NOTE([- pty mode: $ptymode, group: $ptygrp])
-@@ -869,17 +942,25 @@ AC_CHECKING(for libutil(s))
- test -f /usr/lib/libutils.a && LIBS="$LIBS -lutils"
- test -f /usr/lib/libutil.a && LIBS="$LIBS -lutil"
- fi
-
- AC_CHECKING(getloadavg)
--AC_TRY_LINK(,[getloadavg((double *)0, 0);],
-+AC_TRY_LINK(
-+[
-+ #include <stdlib.h>
-+],[
-+ getloadavg((double *)0, 0);],
- AC_DEFINE(LOADAV_GETLOADAVG) load=1,
- if test "$cross_compiling" = no && test -f /usr/lib/libkvm.a ; then
- olibs="$LIBS"
- LIBS="$LIBS -lkvm"
- AC_CHECKING(getloadavg with -lkvm)
--AC_TRY_LINK(,[getloadavg((double *)0, 0);],
-+AC_TRY_LINK(
-+[
-+ #include <stdlib.h>
-+],[
-+ getloadavg((double *)0, 0);],
- AC_DEFINE(LOADAV_GETLOADAVG) load=1, LIBS="$olibs")
- fi
- )
-
- if test -z "$load" ; then
-@@ -931,10 +1012,11 @@ else
-
- $nlist64
-
- struct nlist nl[2];
-
-+int
- main()
- {
- #if !defined(_AUX_SOURCE) && !defined(AUX)
- # ifdef NLIST_NAME_UNION
- nl[0].n_un.n_name = "$av";
-@@ -944,12 +1026,12 @@ main()
- #else
- strncpy(nl[0].n_name, "$av", sizeof(nl[0].n_name));
- #endif
- nlist(LOADAV_UNIX, nl);
- if (nl[0].n_value == 0)
-- exit(1);
-- exit(0);
-+ return 1;
-+ return 0;
- }
- ],avensym=$av;break)
- if test "$av" = _Loadavg; then
- nlist64='#define nlist nlist64'
- fi
-@@ -1068,21 +1150,22 @@ void
- hand()
- {
- got++;
- }
-
-+int
- main()
- {
- /* on hpux we use sigvec to get bsd signals */
- #ifdef __hpux
- (void)signal(SIGCLD, hand);
- kill(getpid(), SIGCLD);
- kill(getpid(), SIGCLD);
- if (got < 2)
-- exit(1);
-+ return 1;
- #endif
-- exit(0);
-+ return 0;
- }
- ],,AC_DEFINE(SYSVSIGS),:)
-
- fi
-
-@@ -1107,14 +1190,22 @@ oldlibs="$LIBS"
- LIBS="$LIBS -lsun"
- AC_CHECKING(IRIX sun library)
- AC_TRY_LINK(,,,LIBS="$oldlibs")
-
- AC_CHECKING(syslog)
--AC_TRY_LINK(,[closelog();], , [oldlibs="$LIBS"
-+AC_TRY_LINK(
-+[#include <syslog.h>
-+], [
-+ closelog();
-+], , [oldlibs="$LIBS"
- LIBS="$LIBS -lbsd"
- AC_CHECKING(syslog in libbsd.a)
--AC_TRY_LINK(, [closelog();], AC_NOTE(- found.), [LIBS="$oldlibs"
-+AC_TRY_LINK(
-+[#include <syslog.h>
-+], [
-+ closelog();
-+], AC_NOTE(- found.), [LIBS="$oldlibs"
- AC_NOTE(- bad news: syslog missing.) AC_DEFINE(NOSYSLOG)])])
-
- AC_EGREP_CPP(YES_IS_DEFINED,
- [#ifdef M_UNIX
- YES_IS_DEFINED;
-@@ -1147,66 +1238,87 @@ fi
- dnl AC_CHECK_HEADER(shadow.h, AC_DEFINE(SHADOWPW))
- AC_CHECKING(getspnam)
- AC_TRY_LINK([#include <shadow.h>], [getspnam("x");],AC_DEFINE(SHADOWPW))
-
- AC_CHECKING(getttyent)
--AC_TRY_LINK(,[getttyent();], AC_DEFINE(GETTTYENT))
-+AC_TRY_LINK(
-+[
-+ #include <ttyent.h>
-+],[
-+ getttyent();
-+], AC_DEFINE(GETTTYENT))
-
- AC_CHECKING(fdwalk)
- AC_TRY_LINK([#include <stdlib.h>], [fdwalk(NULL, NULL);],AC_DEFINE(HAVE_FDWALK))
-
- AC_CHECKING(whether memcpy/memmove/bcopy handles overlapping arguments)
- AC_TRY_RUN([
-+#include <string.h>
-+
-+int
- main() {
- char buf[10];
- strcpy(buf, "abcdefghi");
- bcopy(buf, buf + 2, 3);
- if (strncmp(buf, "ababcf", 6))
-- exit(1);
-+ return 1;
- strcpy(buf, "abcdefghi");
- bcopy(buf + 2, buf, 3);
- if (strncmp(buf, "cdedef", 6))
-- exit(1);
-- exit(0); /* libc version works properly. */
-+ return 1;
-+ return 0; /* libc version works properly. */
- }], AC_DEFINE(USEBCOPY),,:)
-
- AC_TRY_RUN([
-+#include <string.h>
-+
- #define bcopy(s,d,l) memmove(d,s,l)
-+int
- main() {
- char buf[10];
- strcpy(buf, "abcdefghi");
- bcopy(buf, buf + 2, 3);
- if (strncmp(buf, "ababcf", 6))
-- exit(1);
-+ return 1;
- strcpy(buf, "abcdefghi");
- bcopy(buf + 2, buf, 3);
- if (strncmp(buf, "cdedef", 6))
-- exit(1);
-- exit(0); /* libc version works properly. */
-+ return 1;
-+ return 0; /* libc version works properly. */
- }], AC_DEFINE(USEMEMMOVE),,
- AC_NOTE(- skipping check because we are cross compiling; use memmove) AC_DEFINE(USEMEMMOVE))
-
-
- AC_TRY_RUN([
-+#include <string.h>
-+
- #define bcopy(s,d,l) memcpy(d,s,l)
-+int
- main() {
- char buf[10];
- strcpy(buf, "abcdefghi");
- bcopy(buf, buf + 2, 3);
- if (strncmp(buf, "ababcf", 6))
-- exit(1);
-+ return 1;
- strcpy(buf, "abcdefghi");
- bcopy(buf + 2, buf, 3);
- if (strncmp(buf, "cdedef", 6))
-- exit(1);
-- exit(0); /* libc version works properly. */
-+ return 1;
-+ return 0; /* libc version works properly. */
- }], AC_DEFINE(USEMEMCPY),,:)
-
- AC_SYS_LONG_FILE_NAMES
-
- AC_MSG_CHECKING(for vsprintf)
--AC_TRY_LINK([#include <stdarg.h>],[va_list valist; vsprintf(0,0,valist);], AC_MSG_RESULT(yes);AC_DEFINE(USEVARARGS), AC_MSG_RESULT(no))
-+AC_TRY_LINK(
-+[
-+ #include <stdarg.h>
-+ #include <stdio.h>
-+],
-+[
-+ va_list valist; vsprintf(0,0,valist);
-+], AC_MSG_RESULT(yes);AC_DEFINE(USEVARARGS), AC_MSG_RESULT(no))
-
- AC_HEADER_DIRENT
-
- AC_MSG_CHECKING(for setenv)
- if test -z "$ac_setenv_args"; then
-
diff --git a/app-misc/screen/files/screenrc b/app-misc/screen/files/screenrc
index 11f2f551b0bc..2616b47cf522 100644
--- a/app-misc/screen/files/screenrc
+++ b/app-misc/screen/files/screenrc
@@ -51,9 +51,6 @@
# Don't display the copyright page
startup_message off # default: on
-# Uses nethack-style messages
-# nethack on # default: off
-
# Affects the copying of text regions
crlf off # default: off
diff --git a/app-misc/screen/screen-4.9.0-r3.ebuild b/app-misc/screen/screen-4.9.0-r3.ebuild
deleted file mode 100644
index b8f91b3d4eb1..000000000000
--- a/app-misc/screen/screen-4.9.0-r3.ebuild
+++ /dev/null
@@ -1,148 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit autotools flag-o-matic pam tmpfiles
-
-DESCRIPTION="screen manager with VT100/ANSI terminal emulation"
-HOMEPAGE="https://www.gnu.org/software/screen/"
-
-if [[ ${PV} != 9999 ]] ; then
- SRC_URI="mirror://gnu/${PN}/${P}.tar.gz"
- KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
-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-3+"
-SLOT="0"
-IUSE="debug nethack pam selinux multiuser"
-
-DEPEND=">=sys-libs/ncurses-5.2:=
- virtual/libcrypt:=
- pam? ( sys-libs/pam )"
-RDEPEND="${DEPEND}
- acct-group/utmp
- selinux? ( sec-policy/selinux-screen )"
-BDEPEND="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
- "${FILESDIR}"/${PN}-4.9.0-configure-implicit-function-decls.patch
- "${FILESDIR}"/${P}-CVE-2023-24626.patch
- "${FILESDIR}"/${PN}-4.9.0-clang16-chmod.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}"
-}
diff --git a/app-misc/screen/screen-4.9.1.ebuild b/app-misc/screen/screen-4.9.1.ebuild
deleted file mode 100644
index d8989279a739..000000000000
--- a/app-misc/screen/screen-4.9.1.ebuild
+++ /dev/null
@@ -1,145 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit autotools flag-o-matic pam tmpfiles
-
-DESCRIPTION="screen manager with VT100/ANSI terminal emulation"
-HOMEPAGE="https://www.gnu.org/software/screen/"
-
-if [[ ${PV} != 9999 ]] ; then
- SRC_URI="mirror://gnu/${PN}/${P}.tar.gz"
- KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
-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-3+"
-SLOT="0"
-IUSE="debug nethack pam selinux multiuser"
-
-DEPEND=">=sys-libs/ncurses-5.2:=
- virtual/libcrypt:=
- pam? ( sys-libs/pam )"
-RDEPEND="${DEPEND}
- acct-group/utmp
- selinux? ( sec-policy/selinux-screen )"
-BDEPEND="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.9.1-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}"
-}
diff --git a/app-misc/screen/screen-9999.ebuild b/app-misc/screen/screen-9999.ebuild
index ad26413a3cbb..7ad57bdfa000 100644
--- a/app-misc/screen/screen-9999.ebuild
+++ b/app-misc/screen/screen-9999.ebuild
@@ -20,7 +20,7 @@ fi
LICENSE="GPL-3+"
SLOT="0"
-IUSE="debug nethack pam selinux multiuser"
+IUSE="debug pam selinux multiuser"
DEPEND=">=sys-libs/ncurses-5.2:=
virtual/libcrypt:=
@@ -74,7 +74,6 @@ src_configure() {
append-cppflags -D_XOPEN_SOURCE=600
fi
- use nethack || append-cppflags "-DNONETHACK"
use debug && append-cppflags "-DDEBUG"
local myeconfargs=(