aboutsummaryrefslogtreecommitdiff
path: root/patches/0040-mandoc-port-to-musl.patch
diff options
context:
space:
mode:
Diffstat (limited to 'patches/0040-mandoc-port-to-musl.patch')
-rw-r--r--patches/0040-mandoc-port-to-musl.patch159
1 files changed, 159 insertions, 0 deletions
diff --git a/patches/0040-mandoc-port-to-musl.patch b/patches/0040-mandoc-port-to-musl.patch
new file mode 100644
index 0000000..fe2b769
--- /dev/null
+++ b/patches/0040-mandoc-port-to-musl.patch
@@ -0,0 +1,159 @@
+Apart from some definitions and includes, this patch also removes the LESS -T
+call so that other implementations of LESS (such as busybox) work as well.
+diff -upr a/usr.bin/mandoc/chars.c b/usr.bin/mandoc/chars.c
+--- a/usr.bin/mandoc/chars.c 2020-02-13 19:16:03.000000000 +0300
++++ b/usr.bin/mandoc/chars.c 2020-10-15 20:28:37.865510442 +0300
+@@ -16,6 +16,7 @@
+ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ */
++#include <sys/cdefs.h>
+ #include <sys/types.h>
+
+ #include <assert.h>
+diff -upr a/usr.bin/mandoc/dba.c b/usr.bin/mandoc/dba.c
+--- a/usr.bin/mandoc/dba.c 2017-02-09 21:26:17.000000000 +0300
++++ b/usr.bin/mandoc/dba.c 2020-10-15 20:14:07.403360262 +0300
+@@ -17,6 +17,7 @@
+ * Allocation-based version of the mandoc database, for read-write access.
+ * The interface is defined in "dba.h".
+ */
++#include <sys/cdefs.h>
+ #include <sys/types.h>
+ #include <endian.h>
+ #include <errno.h>
+diff -upr a/usr.bin/mandoc/dbm.c b/usr.bin/mandoc/dbm.c
+--- a/usr.bin/mandoc/dbm.c 2019-07-02 01:43:03.000000000 +0300
++++ b/usr.bin/mandoc/dbm.c 2020-10-15 20:15:44.217488475 +0300
+@@ -31,6 +31,10 @@
+ #include "dbm_map.h"
+ #include "dbm.h"
+
++#ifndef EFTYPE
++#define EFTYPE 79
++#endif
++
+ struct macro {
+ int32_t value;
+ int32_t pages;
+diff -upr a/usr.bin/mandoc/dbm_map.c b/usr.bin/mandoc/dbm_map.c
+--- a/usr.bin/mandoc/dbm_map.c 2017-02-09 21:26:17.000000000 +0300
++++ b/usr.bin/mandoc/dbm_map.c 2020-10-15 20:16:40.740563806 +0300
+@@ -36,6 +36,10 @@
+ #include "dbm_map.h"
+ #include "dbm.h"
+
++#ifndef EFTYPE
++#define EFTYPE 79
++#endif
++
+ static struct stat st;
+ static char *dbm_base;
+ static int ifd;
+diff -upr a/usr.bin/mandoc/html.c b/usr.bin/mandoc/html.c
+--- a/usr.bin/mandoc/html.c 2020-04-20 15:59:24.000000000 +0300
++++ b/usr.bin/mandoc/html.c 2020-10-15 20:31:07.733706743 +0300
+@@ -18,6 +18,7 @@
+ * Common functions for mandoc(1) HTML formatters.
+ * For use by individual formatters and by the main program.
+ */
++#include <sys/cdefs.h>
+ #include <sys/types.h>
+ #include <sys/stat.h>
+
+diff -upr a/usr.bin/mandoc/main.c b/usr.bin/mandoc/main.c
+--- a/usr.bin/mandoc/main.c 2020-04-03 01:10:27.000000000 +0300
++++ b/usr.bin/mandoc/main.c 2020-10-15 20:36:12.432111094 +0300
+@@ -405,8 +405,10 @@ main(int argc, char *argv[])
+ }
+ if (search.arch == NULL)
+ search.arch = getenv("MACHINE");
++#ifdef MACHINE
+ if (search.arch == NULL)
+ search.arch = MACHINE;
++#endif
+ if (outmode == OUTMODE_ONE)
+ search.firstmatch = 1;
+ }
+@@ -1183,7 +1185,6 @@ spawn_pager(struct tag_files *tag_files,
+ char *argv[MAX_PAGER_ARGS];
+ const char *pager;
+ char *cp;
+- size_t cmdlen;
+ int argc, use_ofn;
+ pid_t pager_pid;
+
+@@ -1218,18 +1219,6 @@ spawn_pager(struct tag_files *tag_files,
+ /* For more(1) and less(1), use the tag file. */
+
+ use_ofn = 1;
+- if (*tag_files->tfn != '\0' && (cmdlen = strlen(argv[0])) >= 4) {
+- cp = argv[0] + cmdlen - 4;
+- if (strcmp(cp, "less") == 0 || strcmp(cp, "more") == 0) {
+- argv[argc++] = mandoc_strdup("-T");
+- argv[argc++] = tag_files->tfn;
+- if (tag_target != NULL) {
+- argv[argc++] = mandoc_strdup("-t");
+- argv[argc++] = tag_target;
+- use_ofn = 0;
+- }
+- }
+- }
+ if (use_ofn)
+ argv[argc++] = tag_files->ofn;
+ argv[argc] = NULL;
+diff -upr a/usr.bin/mandoc/mandoc_ohash.c b/usr.bin/mandoc/mandoc_ohash.c
+--- a/usr.bin/mandoc/mandoc_ohash.c 2015-10-19 21:58:20.000000000 +0300
++++ b/usr.bin/mandoc/mandoc_ohash.c 2020-10-15 20:22:30.788037370 +0300
+@@ -14,6 +14,7 @@
+ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ */
++#include <sys/cdefs.h>
+ #include <sys/types.h>
+ #include <stddef.h>
+ #include <stdint.h>
+diff -upr a/usr.bin/mandoc/mandoc_xr.c b/usr.bin/mandoc/mandoc_xr.c
+--- a/usr.bin/mandoc/mandoc_xr.c 2017-07-03 00:17:12.000000000 +0300
++++ b/usr.bin/mandoc/mandoc_xr.c 2020-10-15 20:22:48.871060409 +0300
+@@ -14,6 +14,7 @@
+ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ */
++#include <sys/cdefs.h>
+ #include <sys/types.h>
+
+ #include <assert.h>
+diff -upr a/usr.bin/mandoc/mansearch.c b/usr.bin/mandoc/mansearch.c
+--- a/usr.bin/mandoc/mansearch.c 2019-07-02 01:43:03.000000000 +0300
++++ b/usr.bin/mandoc/mansearch.c 2020-10-15 20:23:05.476081586 +0300
+@@ -16,6 +16,7 @@
+ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ */
+
++#include <sys/cdefs.h>
+ #include <sys/mman.h>
+ #include <sys/types.h>
+
+diff -upr a/usr.bin/mandoc/roff.c b/usr.bin/mandoc/roff.c
+--- a/usr.bin/mandoc/roff.c 2020-04-08 14:54:14.000000000 +0300
++++ b/usr.bin/mandoc/roff.c 2020-10-15 20:23:23.988105223 +0300
+@@ -17,6 +17,7 @@
+ *
+ * Implementation of the roff(7) parser for mandoc(1).
+ */
++#include <sys/cdefs.h>
+ #include <sys/types.h>
+
+ #include <assert.h>
+diff -upr a/usr.bin/mandoc/tag.c b/usr.bin/mandoc/tag.c
+--- a/usr.bin/mandoc/tag.c 2020-04-19 19:26:11.000000000 +0300
++++ b/usr.bin/mandoc/tag.c 2020-10-15 20:23:39.327124832 +0300
+@@ -17,6 +17,7 @@
+ * Functions to tag syntax tree nodes.
+ * For internal use by mandoc(1) validation modules only.
+ */
++#include <sys/cdefs.h>
+ #include <sys/types.h>
+
+ #include <assert.h>