summary refs log tree commit diff
path: root/pkgs/os-specific/linux/kbd/search-paths.patch
blob: 3b337ca7cc2b82c92b6145073f044be04c29614b (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
Add /etc/kbd to the list of directories to search for the console
fonts, screen mappings, Unicode maps, keytable files, etc.

Without this patch, kbd will only look inside
/nix/store/<hash>-kbd-x.x.x/share.

--- a/src/libkeymap/analyze.l
+++ b/src/libkeymap/analyze.l
@@ -109,6 +109,9 @@ static const char *const include_dirpath1[] = {
 	NULL
 };
 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/",
--- a/src/libkfont/context.c
+++ b/src/libkfont/context.c
@@ -13,6 +13,7 @@
 /* search for the map file in these directories (with trailing /) */
 static const char *const mapdirpath[]  = {
 	"",
+	"/etc/kbd/" TRANSDIR "/",
 	DATADIR "/" TRANSDIR "/",
 	NULL
 };
@@ -28,6 +29,7 @@ static const char *const mapsuffixes[] = {
 /* search for the font in these directories (with trailing /) */
 static const char *const fontdirpath[]  = {
 	"",
+	"/etc/kbd/" FONTDIR "/",
 	DATADIR "/" FONTDIR "/",
 	NULL
 };
@@ -42,6 +44,7 @@ static char const *const fontsuffixes[] = {
 
 static const char *const unidirpath[]  = {
 	"",
+	"/etc/kbd/" UNIMAPDIR "/",
 	DATADIR "/" UNIMAPDIR "/",
 	NULL
 };
@@ -55,6 +58,7 @@ static const char *const unisuffixes[] = {
 /* hide partial fonts a bit - loading a single one is a bad idea */
 const char *const partfontdirpath[]  = {
 	"",
+	"/etc/kbd/" FONTDIR "/" PARTIALDIR "/",
 	DATADIR "/" FONTDIR "/" PARTIALDIR "/",
 	NULL
 };
--- a/src/loadkeys.c
+++ b/src/loadkeys.c
@@ -27,6 +27,7 @@
 
 static const char *const dirpath1[] = {
 	"",
+	"/etc/kbd/" KEYMAPDIR "/**",
 	DATADIR "/" KEYMAPDIR "/**",
 	KERNDIR "/",
 	NULL
--- a/src/resizecons.c
+++ b/src/resizecons.c
@@ -104,6 +104,7 @@ static void vga_set_verticaldisplayend_lowbyte(int);
 
 const char *const dirpath[]  = {
 	"",
+	"/etc/kbd/" VIDEOMODEDIR "/",
 	DATADIR "/" VIDEOMODEDIR "/",
 	NULL
 };
--- a/src/setfont.c
+++ b/src/setfont.c
@@ -48,8 +48,8 @@ usage(void)
 	                    "    -v         Be verbose.\n"
 	                    "    -C <cons>  Indicate console device to be used.\n"
 	                    "    -V         Print version and exit.\n"
-	                    "Files are loaded from the current directory or %s/*/.\n"),
-	        DATADIR);
+	                    "Files are loaded from the current directory or %s/*/ or %s/*/.\n"),
+	        DATADIR, "/etc/kbd");
 	exit(EX_USAGE);
 }