From 4ccace191904c4bdcf15d632e8f236907ea53b73 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=C3=A7ois=20Revol?= Date: Fri, 20 Jun 2014 17:40:27 +0200 Subject: [PATCH] Preliminary port of GNU screen Compiles but doesn't work yet. --- .../screen/patches/screen-4.2.1_git.patchset | 56 +++++++++++++++ app-misc/screen/screen-4.2.1_git.recipe | 71 +++++++++++++++++++ 2 files changed, 127 insertions(+) create mode 100644 app-misc/screen/patches/screen-4.2.1_git.patchset create mode 100644 app-misc/screen/screen-4.2.1_git.recipe diff --git a/app-misc/screen/patches/screen-4.2.1_git.patchset b/app-misc/screen/patches/screen-4.2.1_git.patchset new file mode 100644 index 000000000..5efe662e2 --- /dev/null +++ b/app-misc/screen/patches/screen-4.2.1_git.patchset @@ -0,0 +1,56 @@ +From aebd5f2e4b57e6c1461b25c02496efb97c8b201c Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Fran=C3=A7ois=20Revol?= +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 + ],[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?= +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 + diff --git a/app-misc/screen/screen-4.2.1_git.recipe b/app-misc/screen/screen-4.2.1_git.recipe new file mode 100644 index 000000000..3141a9a28 --- /dev/null +++ b/app-misc/screen/screen-4.2.1_git.recipe @@ -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 +}