Preliminary port of GNU screen

Compiles but doesn't work yet.
This commit is contained in:
François Revol
2014-06-20 17:40:27 +02:00
parent c843f40e27
commit 4ccace1919
2 changed files with 127 additions and 0 deletions

View File

@@ -0,0 +1,56 @@
From aebd5f2e4b57e6c1461b25c02496efb97c8b201c 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: [PATCH 1/2] Haiku port: Check for some libraries
* libnetwork for sockets,
* libbsd for getpass.
---
src/configure.in | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/src/configure.in b/src/configure.in
index 87fd43b..66f9cfb 100644
--- a/src/configure.in
+++ b/src/configure.in
@@ -1254,7 +1254,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)
--
1.8.3.4
From 90ac531362b5455424fdebcc9e60576b220f2dde 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: [PATCH 2/2] Haiku port: temporary workaround for missing utmp
---
src/acconfig.h | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/src/acconfig.h b/src/acconfig.h
index 2e46985..e5e828b 100644
--- a/src/acconfig.h
+++ b/src/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
--
1.8.3.4

View File

@@ -0,0 +1,71 @@
SUMMARY="screen - 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/"
SRC_URI="git://git.savannah.gnu.org/screen.git#bb1ef155222d2c5706f30b6b0fe078a501932dd5"
REVISION="1"
LICENSE="GNU GPL v3"
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"
ARCHITECTURES="?x86_gcc2 ?x86 ?x86_64"
SECONDARY_ARCHITECTURES="?x86_gcc2 ?x86"
PROVIDES="
screen$secondaryArchSuffix = $portVersion
cmd:screen = $portVersion
"
REQUIRES="
haiku$secondaryArchSuffix
lib:libncurses$secondaryArchSuffix
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel >= $haikuVersion
devel:libncurses$secondaryArchSuffix >= 5.9
"
BUILD_PREREQUIRES="
cmd:aclocal
cmd:autoconf
cmd:automake
cmd:make
cmd:gcc$secondaryArchSuffix
"
PATCHES="screen-4.2.1_git.patchset"
BUILD()
{
cd src
./autogen.sh ...
runConfigure ./configure
make
}
INSTALL()
{
cd src
make install
}