1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-27 06:47:35 +00:00

Ports: Add joe's own editor

This commit is contained in:
Snow 2022-05-15 11:41:03 +08:00 committed by Andreas Kling
parent f8984146bd
commit a1f19b7a98
4 changed files with 71 additions and 0 deletions

View file

@ -0,0 +1,14 @@
# Patches for joe's own editor
## `joe.patch`
Build a curseless joe's own editor, its only dependency is LibC.
- Add serenity to `config.sub`.
- Some hacks in joe source code to make it work.
- Undefine the macro `TERMINFO` in `termcap.c`, or it will lead crash.
- Define `__USE_MISC` manually in `checkwidths.c` for `ECHOCTL` and `ECHOKE`,
see `Kernel/API/POSIX/termios.h`.
- Remove the prefix `sys/`, because serenity does not have the header `fcntl.h`
in `/usr/include/sys`.

View file

@ -0,0 +1,46 @@
diff -u -r joe-4.6/config.sub joe-4.6-patched/config.sub
--- joe-4.6/config.sub 2018-01-11 00:29:29.000000000 +0800
+++ joe-4.6-patched/config.sub 2022-05-15 11:01:52.017408784 +0800
@@ -1374,7 +1374,7 @@
| -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
| -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
| -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
- | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
+ | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* | -serenity*)
# Remember, each alternative MUST END IN *, to match a version number.
;;
-qnx*)
diff -u -r joe-4.6/joe/termcap.c joe-4.6-patched/joe/termcap.c
--- joe-4.6/joe/termcap.c 2018-01-11 00:28:34.000000000 +0800
+++ joe-4.6-patched/joe/termcap.c 2022-05-15 11:02:58.185406191 +0800
@@ -7,6 +7,8 @@
*/
#include "types.h"
+#undef TERMINFO // undefine this manually, or it will lead crash
+
#ifdef TERMINFO
#ifdef __CYGWIN__
diff -u -r joe-4.6/joe/util/checkwidths.c joe-4.6-patched/joe/util/checkwidths.c
--- joe-4.6/joe/util/checkwidths.c 2018-01-11 00:28:34.000000000 +0800
+++ joe-4.6-patched/joe/util/checkwidths.c 2022-05-15 11:04:04.225403604 +0800
@@ -5,6 +5,8 @@
*/
+#define __USE_MISC // for ECHOCTL and ECHOKE
+
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
@@ -12,7 +14,7 @@
#include <arpa/inet.h>
#include <stddef.h>
#include <poll.h>
-#include <sys/fcntl.h>
+#include <fcntl.h> // the prefix "sys/" is not needed on serenity
#include <termios.h>
#define TO_CHAR_OK(c) ((char)(c))