about summary refs log tree commit diff
path: root/pkgs/sternenseemann/patches/mandoc-nix-store.patch
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/sternenseemann/patches/mandoc-nix-store.patch')
-rw-r--r--pkgs/sternenseemann/patches/mandoc-nix-store.patch133
1 files changed, 0 insertions, 133 deletions
diff --git a/pkgs/sternenseemann/patches/mandoc-nix-store.patch b/pkgs/sternenseemann/patches/mandoc-nix-store.patch
deleted file mode 100644
index 2e225241..00000000
--- a/pkgs/sternenseemann/patches/mandoc-nix-store.patch
+++ /dev/null
@@ -1,133 +0,0 @@
-Index: configure
-===================================================================
-RCS file: /home/cvs/mandoc/mandoc/configure,v
-retrieving revision 1.77
-diff -u -p -r1.77 configure
---- configure	20 Jul 2020 16:57:30 -0000	1.77
-+++ configure	5 Aug 2021 11:42:59 -0000
-@@ -107,7 +107,7 @@ BIN_FROM_SBIN=
- INCLUDEDIR=
- LIBDIR=
- MANDIR=
--HOMEBREWDIR=
-+READ_ALLOWED_PATH=
- 
- WWWPREFIX="/var/www"
- HTDOCDIR=
-@@ -461,7 +461,8 @@ echo "#define MANPATH_DEFAULT \"${MANPAT
- echo "#define OSENUM ${OSENUM}"
- [ -n "${OSNAME}" ] && echo "#define OSNAME \"${OSNAME}\""
- [ -n "${UTF8_LOCALE}" ] && echo "#define UTF8_LOCALE \"${UTF8_LOCALE}\""
--[ -n "${HOMEBREWDIR}" ] && echo "#define HOMEBREWDIR \"${HOMEBREWDIR}\""
-+[ -n "${READ_ALLOWED_PATH}" ] \
-+	&& echo "#define READ_ALLOWED_PATH \"${READ_ALLOWED_PATH}\""
- [ ${HAVE_ATTRIBUTE} -eq 0 ] && echo "#define __attribute__(x)"
- [ ${HAVE_EFTYPE} -eq 0 ] && echo "#define EFTYPE EINVAL"
- [ ${HAVE_O_DIRECTORY} -eq 0 ] && echo "#define O_DIRECTORY 0"
-Index: configure.local.example
-===================================================================
-RCS file: /home/cvs/mandoc/mandoc/configure.local.example,v
-retrieving revision 1.39
-diff -u -p -r1.39 configure.local.example
---- configure.local.example	20 Jul 2020 16:57:30 -0000	1.39
-+++ configure.local.example	5 Aug 2021 11:43:00 -0000
-@@ -209,14 +209,28 @@ INSTALL_LIB="${INSTALL} -m 0444"
- INSTALL_MAN="${INSTALL} -m 0444"
- INSTALL_DATA="${INSTALL} -m 0444"
- 
--# When using the "homebrew" package manager on Mac OS X, the actual
--# manuals are located in a so-called "cellar" and only symlinked
--# into the manual trees.  To allow mandoc to follow such symlinks,
--# you have to specify the physical location of the cellar as returned
--# by realpath(3), for example:
-+# By default, makewhatis(8) can only read from the paths passed on the
-+# command line or configured in man.conf(5).
-+# But some package managers on some operating systems store manual pages
-+# in separate "cellar" or "store" directories and only symlink them
-+# into the manual trees.
-+# To support one or more such package managers, give makewhatis(8)
-+# read access to the cellars and stores on your system, in the form
-+# of a colon-separated path:
- 
-+# Homebrow package manager on Mac OS X:
- PREFIX="/usr/local"
--HOMEBREWDIR="${PREFIX}/Cellar"
-+READ_ALLOWED_PATH="${PREFIX}/Cellar"
-+
-+# Nix package manager and/or NixOS Linux distibution:
-+READ_ALLOWED_PATH="/nix/store"
-+
-+# GNU Guix package manager and/or GNU Guix Linux distibution:
-+READ_ALLOWED_PATH="/gnu/store"
-+
-+# If multiple package managers are used concurrently:
-+PREFIX="/usr/local"
-+READ_ALLOWED_PATH="/nix/store:${PREFIX}/Cellar"
- 
- # --- user settings for the mandoc(3) library --------------------------
- 
-Index: mandocdb.c
-===================================================================
-RCS file: /home/cvs/mandoc/mandoc/mandocdb.c,v
-retrieving revision 1.267
-diff -u -p -r1.267 mandocdb.c
---- mandocdb.c	3 Apr 2020 11:35:01 -0000	1.267
-+++ mandocdb.c	5 Aug 2021 11:43:00 -0000
-@@ -165,6 +165,9 @@ static	void	 putkey(const struct mpage *
- static	void	 putkeys(const struct mpage *, char *, size_t, uint64_t);
- static	void	 putmdockey(const struct mpage *,
- 			const struct roff_node *, uint64_t, int);
-+#ifdef READ_ALLOWED_PATH
-+static	int	 read_allowed(const char *);
-+#endif
- static	int	 render_string(char **, size_t *);
- static	void	 say(const char *, const char *, ...)
- 			__attribute__((__format__ (__printf__, 2, 3)));
-@@ -612,8 +615,8 @@ treescan(void)
- 				continue;
- 			}
- 			if (strncmp(buf, basedir, basedir_len) != 0
--#ifdef HOMEBREWDIR
--			    && strncmp(buf, HOMEBREWDIR, strlen(HOMEBREWDIR))
-+#ifdef READ_ALLOWED_PATH
-+			    && !read_allowed(buf)
- #endif
- 			) {
- 				if (warnings) say("",
-@@ -823,8 +826,8 @@ filescan(const char *infile)
- 		start = usefile;
- 	else if (strncmp(usefile, basedir, basedir_len) == 0)
- 		start = usefile + basedir_len;
--#ifdef HOMEBREWDIR
--	else if (strncmp(usefile, HOMEBREWDIR, strlen(HOMEBREWDIR)) == 0)
-+#ifdef READ_ALLOWED_PATH
-+	else if (read_allowed(usefile))
- 		start = usefile;
- #endif
- 	else {
-@@ -2380,6 +2383,25 @@ set_basedir(const char *targetdir, int r
- 	}
- 	return 1;
- }
-+
-+#ifdef READ_ALLOWED_PATH
-+static int
-+read_allowed(const char *candidate)
-+{
-+	const char	*cp;
-+	size_t		 len;
-+
-+	for (cp = READ_ALLOWED_PATH;; cp += len) {
-+		while (*cp == ':')
-+			cp++;
-+		if (*cp == '\0')
-+			return 0;
-+		len = strcspn(cp, ":");
-+		if (strncmp(candidate, cp, len) == 0)
-+			return 1;
-+	}
-+}
-+#endif
- 
- static void
- say(const char *file, const char *format, ...)