aports/community/helix/runtime-dir-fhs-location.patch
2023-04-29 20:13:39 +00:00

36 lines
1.5 KiB
Diff

From: Jakub Jirutka <jakub@jirutka.cz>
Date: Wed, 02 Feb 2022 00:55:24 +0100
Date: Mon, 04 Apr 2022 02:48:13 +0200
Subject: [PATCH] Change runtime directory location to follow FHS
Helix allows to specify the location of the runtime directory (which
contains arch-independent modules) via environment variable
`HELIX_RUNTIME`. Using this would require installing a wrapper script
to set this variable prior executing `hx`.
If this environment variable is not set, Helix fallbacks to directory
`./runtime` relative to the directory of the `hx` executable. This is not
suitable for Alpine (FHS).
This patch changes the fallback to `/usr/share/helix/runtime`.
--- i/helix-loader/src/lib.rs
+++ w/helix-loader/src/lib.rs
@@ -56,11 +56,12 @@ fn prioritize_runtime_dirs() -> Vec<PathBuf> {
// fallback to location of the executable being run
// canonicalize the path in case the executable is symlinked
- let exe_rt_dir = std::env::current_exe()
- .ok()
- .and_then(|path| std::fs::canonicalize(path).ok())
- .and_then(|path| path.parent().map(|path| path.to_path_buf().join(RT_DIR)))
- .unwrap();
+ let exe_rt_dir = PathBuf::from("/usr/share/helix").join(RT_DIR);
+ // let exe_rt_dir = std::env::current_exe()
+ // .ok()
+ // .and_then(|path| std::fs::canonicalize(path).ok())
+ // .and_then(|path| path.parent().map(|path| path.to_path_buf().join(RT_DIR)))
+ // .unwrap();
rt_dirs.push(exe_rt_dir);
rt_dirs
}