diff --git a/app-misc/tmux/patches/tmux-2.1.patchset b/app-misc/tmux/patches/tmux-2.1.patchset deleted file mode 100644 index cac6994fb..000000000 --- a/app-misc/tmux/patches/tmux-2.1.patchset +++ /dev/null @@ -1,321 +0,0 @@ -From c588c45e408ac16a80ffb90d3db22c7b49bcaabc Mon Sep 17 00:00:00 2001 -From: Sergei Reznikov -Date: Wed, 16 Mar 2016 20:40:09 +0300 -Subject: Add initial Haiku support based on hpux - - -diff --git a/b/compat/forkpty-haiku.c b/b/compat/forkpty-haiku.c -new file mode 100644 -index 0000000..6960ee4 ---- /dev/null -+++ b/b/compat/forkpty-haiku.c -@@ -0,0 +1,87 @@ -+/* -+ * Copyright (c) 2008 Nicholas Marriott -+ * -+ * Permission to use, copy, modify, and distribute this software for any -+ * purpose with or without fee is hereby granted, provided that the above -+ * copyright notice and this permission notice appear in all copies. -+ * -+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -+ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -+ * WHATSOEVER RESULTING FROM LOSS OF MIND, USE, DATA OR PROFITS, WHETHER -+ * IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING -+ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. -+ */ -+ -+#include -+#include -+ -+#include -+#include -+//#include -+#include -+ -+#include "tmux.h" -+ -+pid_t -+forkpty(int *master, char *name, struct termios *tio, struct winsize *ws) -+{ -+ int slave = -1; -+ char *path; -+ pid_t pid; -+ -+ if ((*master = open("/dev/ptmx", O_RDWR|O_NOCTTY)) == -1) -+ return (-1); -+ if (grantpt(*master) != 0) -+ goto out; -+ if (unlockpt(*master) != 0) -+ goto out; -+ -+ if ((path = ptsname(*master)) == NULL) -+ goto out; -+ if (name != NULL) -+ strlcpy(name, path, TTY_NAME_MAX); -+ if ((slave = open(path, O_RDWR|O_NOCTTY)) == -1) -+ goto out; -+ -+ switch (pid = fork()) { -+ case -1: -+ goto out; -+ case 0: -+ close(*master); -+ -+ setsid(); -+#ifdef TIOCSCTTY -+ if (ioctl(slave, TIOCSCTTY, NULL) == -1) -+ fatal("ioctl failed"); -+#endif -+/* -+ if (ioctl(slave, I_PUSH, "ptem") == -1) -+ fatal("ioctl failed"); -+ if (ioctl(slave, I_PUSH, "ldterm") == -1) -+ fatal("ioctl failed"); -+*/ -+ if (tio != NULL && tcsetattr(slave, TCSAFLUSH, tio) == -1) -+ fatal("tcsetattr failed"); -+ if (ioctl(slave, TIOCSWINSZ, ws) == -1) -+ fatal("ioctl failed"); -+ -+ dup2(slave, 0); -+ dup2(slave, 1); -+ dup2(slave, 2); -+ if (slave > 2) -+ close(slave); -+ return (0); -+ } -+ -+ close(slave); -+ return (pid); -+ -+out: -+ if (*master != -1) -+ close(*master); -+ if (slave != -1) -+ close(slave); -+ return (-1); -+} -diff --git a/b/osdep-haiku.c b/b/osdep-haiku.c -new file mode 100644 -index 0000000..4baa6d4 ---- /dev/null -+++ b/b/osdep-haiku.c -@@ -0,0 +1,41 @@ -+/* $OpenBSD$ */ -+ -+/* -+ * Copyright (c) 2009 Nicholas Marriott -+ * -+ * Permission to use, copy, modify, and distribute this software for any -+ * purpose with or without fee is hereby granted, provided that the above -+ * copyright notice and this permission notice appear in all copies. -+ * -+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -+ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -+ * WHATSOEVER RESULTING FROM LOSS OF MIND, USE, DATA OR PROFITS, WHETHER -+ * IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING -+ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. -+ */ -+ -+#include -+ -+#include -+ -+#include "tmux.h" -+ -+char * -+osdep_get_name(unused int fd, unused char *tty) -+{ -+ return (NULL); -+} -+ -+char * -+osdep_get_cwd(unused int fd) -+{ -+ return (NULL); -+} -+ -+struct event_base * -+osdep_event_init(void) -+{ -+ return (event_init()); -+} -diff --git a/compat/forkpty-haiku.c b/compat/forkpty-haiku.c -new file mode 100644 -index 0000000..6960ee4 ---- /dev/null -+++ b/compat/forkpty-haiku.c -@@ -0,0 +1,87 @@ -+/* -+ * Copyright (c) 2008 Nicholas Marriott -+ * -+ * Permission to use, copy, modify, and distribute this software for any -+ * purpose with or without fee is hereby granted, provided that the above -+ * copyright notice and this permission notice appear in all copies. -+ * -+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -+ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -+ * WHATSOEVER RESULTING FROM LOSS OF MIND, USE, DATA OR PROFITS, WHETHER -+ * IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING -+ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. -+ */ -+ -+#include -+#include -+ -+#include -+#include -+//#include -+#include -+ -+#include "tmux.h" -+ -+pid_t -+forkpty(int *master, char *name, struct termios *tio, struct winsize *ws) -+{ -+ int slave = -1; -+ char *path; -+ pid_t pid; -+ -+ if ((*master = open("/dev/ptmx", O_RDWR|O_NOCTTY)) == -1) -+ return (-1); -+ if (grantpt(*master) != 0) -+ goto out; -+ if (unlockpt(*master) != 0) -+ goto out; -+ -+ if ((path = ptsname(*master)) == NULL) -+ goto out; -+ if (name != NULL) -+ strlcpy(name, path, TTY_NAME_MAX); -+ if ((slave = open(path, O_RDWR|O_NOCTTY)) == -1) -+ goto out; -+ -+ switch (pid = fork()) { -+ case -1: -+ goto out; -+ case 0: -+ close(*master); -+ -+ setsid(); -+#ifdef TIOCSCTTY -+ if (ioctl(slave, TIOCSCTTY, NULL) == -1) -+ fatal("ioctl failed"); -+#endif -+/* -+ if (ioctl(slave, I_PUSH, "ptem") == -1) -+ fatal("ioctl failed"); -+ if (ioctl(slave, I_PUSH, "ldterm") == -1) -+ fatal("ioctl failed"); -+*/ -+ if (tio != NULL && tcsetattr(slave, TCSAFLUSH, tio) == -1) -+ fatal("tcsetattr failed"); -+ if (ioctl(slave, TIOCSWINSZ, ws) == -1) -+ fatal("ioctl failed"); -+ -+ dup2(slave, 0); -+ dup2(slave, 1); -+ dup2(slave, 2); -+ if (slave > 2) -+ close(slave); -+ return (0); -+ } -+ -+ close(slave); -+ return (pid); -+ -+out: -+ if (*master != -1) -+ close(*master); -+ if (slave != -1) -+ close(slave); -+ return (-1); -+} -diff --git a/configure.ac b/configure.ac -index 93aae20..38cfdae 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -503,6 +503,10 @@ case "$host_os" in - PLATFORM=sunos - MANFORMAT=man - ;; -+ *haiku*) -+ AC_MSG_RESULT(haiku) -+ PLATFORM=haiku -+ ;; - *hpux*) - AC_MSG_RESULT(hpux) - PLATFORM=hpux -diff --git a/osdep-haiku.c b/osdep-haiku.c -new file mode 100644 -index 0000000..4baa6d4 ---- /dev/null -+++ b/osdep-haiku.c -@@ -0,0 +1,41 @@ -+/* $OpenBSD$ */ -+ -+/* -+ * Copyright (c) 2009 Nicholas Marriott -+ * -+ * Permission to use, copy, modify, and distribute this software for any -+ * purpose with or without fee is hereby granted, provided that the above -+ * copyright notice and this permission notice appear in all copies. -+ * -+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -+ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -+ * WHATSOEVER RESULTING FROM LOSS OF MIND, USE, DATA OR PROFITS, WHETHER -+ * IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING -+ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. -+ */ -+ -+#include -+ -+#include -+ -+#include "tmux.h" -+ -+char * -+osdep_get_name(unused int fd, unused char *tty) -+{ -+ return (NULL); -+} -+ -+char * -+osdep_get_cwd(unused int fd) -+{ -+ return (NULL); -+} -+ -+struct event_base * -+osdep_event_init(void) -+{ -+ return (event_init()); -+} -diff --git a/tty.c b/tty.c -index 7be952c..56334e8 100644 ---- a/tty.c -+++ b/tty.c -@@ -198,7 +198,11 @@ tty_init_termios(int fd, struct termios *orig_tio, struct bufferevent *bufev) - bufferevent_enable(bufev, EV_READ|EV_WRITE); - - memcpy(&tio, orig_tio, sizeof tio); -- tio.c_iflag &= ~(IXON|IXOFF|ICRNL|INLCR|IGNCR|IMAXBEL|ISTRIP); -+ tio.c_iflag &= ~(IXON|IXOFF|ICRNL|INLCR|IGNCR -+ #ifndef __HAIKU__ -+ |IMAXBEL -+ #endif -+ |ISTRIP); - tio.c_iflag |= IGNBRK; - tio.c_oflag &= ~(OPOST|ONLCR|OCRNL|ONLRET); - tio.c_lflag &= ~(IEXTEN|ICANON|ECHO|ECHOE|ECHONL|ECHOCTL| --- -2.7.0 - diff --git a/app-misc/tmux/patches/tmux-2.5.patchset b/app-misc/tmux/patches/tmux-2.5.patchset new file mode 100644 index 000000000..3b55cfea1 --- /dev/null +++ b/app-misc/tmux/patches/tmux-2.5.patchset @@ -0,0 +1,181 @@ +From e18d37bbb775c0db3c31643cacedff61faaeb293 Mon Sep 17 00:00:00 2001 +From: Sergei Reznikov +Date: Fri, 7 Jul 2017 16:23:59 +0300 +Subject: Add initial Haiku support based on hpux + + +diff --git a/compat/forkpty-haiku.c b/compat/forkpty-haiku.c +new file mode 100644 +index 0000000..6960ee4 +--- /dev/null ++++ b/compat/forkpty-haiku.c +@@ -0,0 +1,87 @@ ++/* ++ * Copyright (c) 2008 Nicholas Marriott ++ * ++ * Permission to use, copy, modify, and distribute this software for any ++ * purpose with or without fee is hereby granted, provided that the above ++ * copyright notice and this permission notice appear in all copies. ++ * ++ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES ++ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF ++ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ++ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES ++ * WHATSOEVER RESULTING FROM LOSS OF MIND, USE, DATA OR PROFITS, WHETHER ++ * IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING ++ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ++ */ ++ ++#include ++#include ++ ++#include ++#include ++//#include ++#include ++ ++#include "tmux.h" ++ ++pid_t ++forkpty(int *master, char *name, struct termios *tio, struct winsize *ws) ++{ ++ int slave = -1; ++ char *path; ++ pid_t pid; ++ ++ if ((*master = open("/dev/ptmx", O_RDWR|O_NOCTTY)) == -1) ++ return (-1); ++ if (grantpt(*master) != 0) ++ goto out; ++ if (unlockpt(*master) != 0) ++ goto out; ++ ++ if ((path = ptsname(*master)) == NULL) ++ goto out; ++ if (name != NULL) ++ strlcpy(name, path, TTY_NAME_MAX); ++ if ((slave = open(path, O_RDWR|O_NOCTTY)) == -1) ++ goto out; ++ ++ switch (pid = fork()) { ++ case -1: ++ goto out; ++ case 0: ++ close(*master); ++ ++ setsid(); ++#ifdef TIOCSCTTY ++ if (ioctl(slave, TIOCSCTTY, NULL) == -1) ++ fatal("ioctl failed"); ++#endif ++/* ++ if (ioctl(slave, I_PUSH, "ptem") == -1) ++ fatal("ioctl failed"); ++ if (ioctl(slave, I_PUSH, "ldterm") == -1) ++ fatal("ioctl failed"); ++*/ ++ if (tio != NULL && tcsetattr(slave, TCSAFLUSH, tio) == -1) ++ fatal("tcsetattr failed"); ++ if (ioctl(slave, TIOCSWINSZ, ws) == -1) ++ fatal("ioctl failed"); ++ ++ dup2(slave, 0); ++ dup2(slave, 1); ++ dup2(slave, 2); ++ if (slave > 2) ++ close(slave); ++ return (0); ++ } ++ ++ close(slave); ++ return (pid); ++ ++out: ++ if (*master != -1) ++ close(*master); ++ if (slave != -1) ++ close(slave); ++ return (-1); ++} +diff --git a/configure.ac b/configure.ac +index 3591a73..24db598 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -594,6 +594,10 @@ case "$host_os" in + PLATFORM=sunos + MANFORMAT=man + ;; ++ *haiku*) ++ AC_MSG_RESULT(haiku) ++ PLATFORM=haiku ++ ;; + *hpux*) + AC_MSG_RESULT(hpux) + PLATFORM=hpux +diff --git a/osdep-haiku.c b/osdep-haiku.c +new file mode 100644 +index 0000000..a6d75f9 +--- /dev/null ++++ b/osdep-haiku.c +@@ -0,0 +1,41 @@ ++/* $OpenBSD$ */ ++ ++/* ++ * Copyright (c) 2009 Nicholas Marriott ++ * ++ * Permission to use, copy, modify, and distribute this software for any ++ * purpose with or without fee is hereby granted, provided that the above ++ * copyright notice and this permission notice appear in all copies. ++ * ++ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES ++ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF ++ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ++ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES ++ * WHATSOEVER RESULTING FROM LOSS OF MIND, USE, DATA OR PROFITS, WHETHER ++ * IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING ++ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ++ */ ++ ++#include ++ ++#include ++ ++#include "tmux.h" ++ ++char * ++osdep_get_name(__unused int fd, __unused char *tty) ++{ ++ return (NULL); ++} ++ ++char * ++osdep_get_cwd(__unused int fd) ++{ ++ return (NULL); ++} ++ ++struct event_base * ++osdep_event_init(void) ++{ ++ return (event_init()); ++} +diff --git a/tty.c b/tty.c +index 1c39fce..2cca2c2 100644 +--- a/tty.c ++++ b/tty.c +@@ -285,7 +285,11 @@ tty_start_tty(struct tty *tty) + event_add(&tty->event_in, NULL); + + memcpy(&tio, &tty->tio, sizeof tio); +- tio.c_iflag &= ~(IXON|IXOFF|ICRNL|INLCR|IGNCR|IMAXBEL|ISTRIP); ++ tio.c_iflag &= ~(IXON|IXOFF|ICRNL|INLCR|IGNCR ++ #ifndef __HAIKU__ ++ |IMAXBEL ++ #endif ++ |ISTRIP); + tio.c_iflag |= IGNBRK; + tio.c_oflag &= ~(OPOST|ONLCR|OCRNL|ONLRET); + tio.c_lflag &= ~(IEXTEN|ICANON|ECHO|ECHOE|ECHONL|ECHOCTL| +-- +2.12.2 + diff --git a/app-misc/tmux/tmux-2.1.recipe b/app-misc/tmux/tmux-2.5.recipe similarity index 92% rename from app-misc/tmux/tmux-2.1.recipe rename to app-misc/tmux/tmux-2.5.recipe index 7e9e0df68..4a597a7ba 100644 --- a/app-misc/tmux/tmux-2.1.recipe +++ b/app-misc/tmux/tmux-2.5.recipe @@ -7,8 +7,8 @@ HOMEPAGE="http://tmux.github.io/" COPYRIGHT="2015 tmux team" LICENSE="ISC" SOURCE_URI="https://github.com/tmux/tmux/releases/download/$portVersion/tmux-$portVersion.tar.gz" -CHECKSUM_SHA256="31564e7bf4bcef2defb3cb34b9e596bd43a3937cad9e5438701a81a5a9af6176" -REVISION="3" +CHECKSUM_SHA256="ae135ec37c1bf6b7750a84e3a35e93d91033a806943e034521c8af51b12d95df" +REVISION="1" PATCHES="tmux-$portVersion.patchset"