screen: add non-working recipe for version 4.6.1.

This commit is contained in:
Jerome Duval
2017-07-15 15:28:54 +02:00
parent f8fbb857a6
commit 6509f647ce
2 changed files with 216 additions and 0 deletions

View File

@@ -0,0 +1,145 @@
From 64e0be71b9b48222a13318fbc3f311e93fdb982b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fran=C3=A7ois=20Revol?= <revol@free.fr>
Date: Fri, 20 Jun 2014 17:16:37 +0200
Subject: Haiku port: Check for some libraries
* libnetwork for sockets,
* libbsd for getpass.
diff --git a/configure.ac b/configure.ac
index 28237f5..825db6b 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1229,7 +1229,9 @@ AC_TRY_LINK([
#include <langinfo.h>
],[nl_langinfo(CODESET);], AC_MSG_RESULT(yes);AC_DEFINE(HAVE_NL_LANGINFO), AC_MSG_RESULT(no))
-AC_SEARCH_LIBS(gethostname, nsl)
+AC_SEARCH_LIBS(gethostname, nsl network)
+
+AC_CHECK_LIB(bsd, getpass)
AC_CHECK_FUNCS(rename fchmod fchown strerror lstat _exit utimes vsnprintf getcwd setlocale strftime)
--
2.12.2
From 1ca0b0f04bfd12ef1a60e8bac2b3bcdf5d2ce3f8 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fran=C3=A7ois=20Revol?= <revol@free.fr>
Date: Fri, 20 Jun 2014 17:18:32 +0200
Subject: Haiku port: temporary workaround for missing utmp
diff --git a/acconfig.h b/acconfig.h
index 4e5cda0..5b98970 100644
--- a/acconfig.h
+++ b/acconfig.h
@@ -191,7 +191,9 @@
* If screen is installed with permissions to update /etc/utmp (such
* as if it is installed set-uid root), define UTMPOK.
*/
-#define UTMPOK
+#ifndef __HAIKU__
+# define UTMPOK
+#endif
/* Set LOGINDEFAULT to one (1)
* if you want entries added to /etc/utmp by default, else set it to
--
2.12.2
From 20c6f795916afe6566706741850917eecd036da7 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fran=C3=A7ois=20Revol?= <revol@free.fr>
Date: Thu, 24 Sep 2015 01:28:59 +0200
Subject: configure.in: drop test on $posix which is not set anymore
diff --git a/configure.ac b/configure.ac
index 825db6b..be973ff 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1128,9 +1128,7 @@ AC_TRY_COMPILE([#include <sys/types.h>
if test -z "$butterfly"; then
AC_CHECKING(for termio or termios)
AC_TRY_CPP([#include <termio.h>], AC_DEFINE(TERMIO),
-if test -n "$posix"; then
AC_TRY_CPP([#include <termios.h>], AC_DEFINE(TERMIO))
-fi
)
fi
--
2.12.2
From eb3d91aece59322233d6022e224d6744a0fc6be7 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fran=C3=A7ois=20Revol?= <revol@free.fr>
Date: Thu, 24 Sep 2015 01:29:12 +0200
Subject: configure.in: fix libnetwork test for Haiku
gethostname is actually in libroot so won't bring libnetwork in.
diff --git a/configure.ac b/configure.ac
index be973ff..85e081d 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1227,7 +1227,8 @@ AC_TRY_LINK([
#include <langinfo.h>
],[nl_langinfo(CODESET);], AC_MSG_RESULT(yes);AC_DEFINE(HAVE_NL_LANGINFO), AC_MSG_RESULT(no))
-AC_SEARCH_LIBS(gethostname, nsl network)
+AC_SEARCH_LIBS(gethostname, nsl)
+AC_SEARCH_LIBS(socket, network)
AC_CHECK_LIB(bsd, getpass)
--
2.12.2
From b4449b509f25aea0c02cc6181e00b1dc801a1b60 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fran=C3=A7ois=20Revol?= <revol@free.fr>
Date: Thu, 24 Sep 2015 01:34:32 +0200
Subject: sched: actually calculate the nfds arg to select
Some select() implementations don't like being called with
higher nfds than actually set in the masks.
diff --git a/sched.c b/sched.c
index c2e00df..6ee47e3 100644
--- a/sched.c
+++ b/sched.c
@@ -123,6 +123,7 @@ sched()
struct event *timeoutev = 0;
struct timeval timeout;
int nsel;
+ int nfds;
for (;;)
{
@@ -186,9 +187,17 @@ sched()
debug("\n");
#endif
- nsel = select(FD_SETSIZE, &r, &w, (fd_set *)0, timeoutev ? &timeout : (struct timeval *) 0);
- if (nsel < 0)
- {
+ nsel = select(FD_SETSIZE, &r, &w, (fd_set *)0, timeoutev ? &timeout : (struct timeval *) 0);
+ nfds = 1;
+ for (nsel = 0; nsel < FD_SETSIZE; nsel++)
+ if (FD_ISSET(nsel, &r))
+ nfds = MAX(nfds, nsel + 1);
+ for (nsel = 0; nsel < FD_SETSIZE; nsel++)
+ if (FD_ISSET(nsel, &w))
+ nfds = MAX(nfds, nsel + 1);
+
+ nsel = select(nfds, &r, &w, (fd_set *) 0, timeoutev ? &timeout : (struct timeval *)0); if (nsel < 0)
+ if (nsel < 0) {
if (errno != EINTR)
{
#if defined(sgi) && defined(SVR4)
--
2.12.2

View File

@@ -0,0 +1,71 @@
SUMMARY="A full-screen terminal window manager"
DESCRIPTION="Screen is a full-screen window manager that multiplexes a \
physical terminal between several processes, typically interactive shells.
Each virtual terminal provides the functions of the DEC VT100 terminal \
and, in addition, several control functions from the ANSI X3.64 \
(ISO 6429) and ISO 2022 standards (e.g., insert/delete line and support \
for multiple character sets).
There is a scrollback history buffer for each virtual terminal and \
a copy-and-paste mechanism that allows the user to move text regions \
between windows. When screen is called, it creates a single window \
with a shell in it (or the specified command) and then gets out of \
your way so that you can use the program as you normally would.
Then, at any time, you can create new (full-screen) windows with \
other programs in them (including more shells), kill the current window, \
view a list of the active windows, turn output logging on and off, copy \
text between windows, view the scrollback history, switch between windows, \
etc.
All windows run their programs completely independent of each other. \
Programs continue to run when their window is currently not visible \
and even when the whole screen session is detached from the users terminal. \
A command-line compatible rm which destroys file contents before unlinking."
HOMEPAGE="http://www.gnu.org/software/screen/"
COPYRIGHT="2010 Juergen Weigert, Sadrul Habib Chowdhury
2008, 2009 Juergen Weigert, Michael Schroeder, Micah Cowan, Sadrul Habib Chowdhury
1993-2002, 2003, 2005, 2006, 2007 Juergen Weigert, Michael Schroeder
1987 Oliver Laumann"
LICENSE="GNU GPL v3"
REVISION="1"
SOURCE_URI="https://ftp.gnu.org/gnu/screen/screen-$portVersion.tar.gz"
CHECKSUM_SHA256="aba9af66cb626155d6abce4703f45cce0e30a5114a368bd6387c966cbbbb7c64"
PATCHES="screen-$portVersion.patchset"
ARCHITECTURES="?x86_gcc2 ?x86 ?x86_64"
SECONDARY_ARCHITECTURES="?x86_gcc2 ?x86"
PROVIDES="
screen$secondaryArchSuffix = $portVersion
cmd:screen = $portVersion
cmd:screen_$portVersion = $portVersion
"
REQUIRES="
haiku$secondaryArchSuffix
lib:libncurses$secondaryArchSuffix
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
devel:libncurses$secondaryArchSuffix >= 6
"
BUILD_PREREQUIRES="
cmd:aclocal
cmd:autoconf
cmd:automake
cmd:make
cmd:gcc$secondaryArchSuffix
"
BUILD()
{
./autogen.sh
runConfigure ./configure
make
}
INSTALL()
{
make install
}