about summary refs log tree commit diff
path: root/nixpkgs/pkgs/os-specific/linux/kbd/search-paths.patch
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/os-specific/linux/kbd/search-paths.patch')
-rw-r--r--nixpkgs/pkgs/os-specific/linux/kbd/search-paths.patch71
1 files changed, 71 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/os-specific/linux/kbd/search-paths.patch b/nixpkgs/pkgs/os-specific/linux/kbd/search-paths.patch
new file mode 100644
index 000000000000..c9405a56721d
--- /dev/null
+++ b/nixpkgs/pkgs/os-specific/linux/kbd/search-paths.patch
@@ -0,0 +1,71 @@
+--- a/src/libkeymap/analyze.l
++++ b/src/libkeymap/analyze.l
+@@ -101,6 +101,9 @@ stack_pop(struct lk_ctx *ctx, void *scan
+ static const char *const include_dirpath0[] = { "", 0 };
+ static const char *const include_dirpath1[] = { "", "../include/", "../../include/", 0 };
+ static const char *const include_dirpath3[] = {
++ 	"/etc/kbd/" KEYMAPDIR "/include/",
++ 	"/etc/kbd/" KEYMAPDIR "/i386/include/",
++ 	"/etc/kbd/" KEYMAPDIR "/mac/include/",
+ 	DATADIR "/" KEYMAPDIR "/include/",
+ 	DATADIR "/" KEYMAPDIR "/i386/include/",
+ 	DATADIR "/" KEYMAPDIR "/mac/include/", 0
+--- a/src/loadkeys.c
++++ b/src/loadkeys.c
+@@ -27,7 +27,7 @@
+ #include "keymap.h"
+ 
+ static const char *progname         = NULL;
+-static const char *const dirpath1[] = { "", DATADIR "/" KEYMAPDIR "/**", KERNDIR "/", 0 };
++static const char *const dirpath1[] = { "", "/etc/kbd/" KEYMAPDIR "/**", DATADIR "/" KEYMAPDIR "/**", 0 };
+ static const char *const suffixes[] = { "", ".kmap", ".map", 0 };
+ 
+ static void __attribute__((noreturn))
+--- a/src/loadunimap.c
++++ b/src/loadunimap.c
+@@ -30,7 +30,7 @@
+ extern char *progname;
+ extern int force;
+ 
+-static const char *const unidirpath[]  = { "", DATADIR "/" UNIMAPDIR "/", 0 };
++static const char *const unidirpath[]  = { "", "/etc/kbd/" UNIMAPDIR "/", DATADIR "/" UNIMAPDIR "/", 0 };
+ static const char *const unisuffixes[] = { "", ".uni", ".sfm", 0 };
+ 
+ #ifdef MAIN
+--- a/src/mapscrn.c
++++ b/src/mapscrn.c
+@@ -27,7 +27,7 @@ void loadnewmap(int fd, char *mfil);
+ static int ctoi(char *);
+ 
+ /* search for the map file in these directories (with trailing /) */
+-static const char *const mapdirpath[]  = { "", DATADIR "/" TRANSDIR "/", 0 };
++static const char *const mapdirpath[]  = { "", "/etc/kbd/" TRANSDIR "/", DATADIR "/" TRANSDIR "/", 0 };
+ static const char *const mapsuffixes[] = { "", ".trans", "_to_uni.trans", ".acm", 0 };
+ 
+ #ifdef MAIN
+--- a/src/resizecons.c
++++ b/src/resizecons.c
+@@ -101,7 +101,7 @@ static int vga_get_fontheight(void);
+ static void vga_set_cursor(int, int);
+ static void vga_set_verticaldisplayend_lowbyte(int);
+ 
+-const char *const dirpath[]  = { "", DATADIR "/" VIDEOMODEDIR "/", 0 };
++const char *const dirpath[]  = { "", "/etc/kbd/" VIDEOMODEDIR "/", DATADIR "/" VIDEOMODEDIR "/", 0};
+ const char *const suffixes[] = { "", 0 };
+ 
+ int main(int argc, char **argv)
+--- a/src/setfont.c
++++ b/src/setfont.c
+@@ -53,10 +53,10 @@ int force   = 0;
+ int debug   = 0;
+ 
+ /* search for the font in these directories (with trailing /) */
+-const char *const fontdirpath[]  = { "", DATADIR "/" FONTDIR "/", 0 };
++const char *const fontdirpath[]  = { "", "/etc/kbd/" FONTDIR "/", DATADIR "/" FONTDIR "/", 0 };
+ const char *const fontsuffixes[] = { "", ".psfu", ".psf", ".cp", ".fnt", 0 };
+ /* hide partial fonts a bit - loading a single one is a bad idea */
+-const char *const partfontdirpath[]  = { "", DATADIR "/" FONTDIR "/" PARTIALDIR "/", 0 };
++const char *const partfontdirpath[]  = { "", "/etc/kbd/" FONTDIR "/" PARTIALDIR "/", DATADIR "/" FONTDIR "/" PARTIALDIR "/", 0 };
+ const char *const partfontsuffixes[] = { "", 0 };
+ 
+ static inline int