devenv: add locale fixes for non-NixOS systems

This commit is contained in:
Sander
2024-12-23 10:29:19 +04:00
parent 451114893a
commit f0b2d8daea
+30 -5
View File
@@ -2,7 +2,7 @@
lib,
stdenv,
fetchFromGitHub,
makeWrapper,
makeBinaryWrapper,
rustPlatform,
testers,
cachix,
@@ -11,6 +11,7 @@
nixVersions,
openssl,
pkg-config,
glibcLocalesUtf8,
devenv, # required to run version test
}:
@@ -55,7 +56,7 @@ rustPlatform.buildRustPackage {
'';
nativeBuildInputs = [
makeWrapper
makeBinaryWrapper
pkg-config
sqlx-cli
];
@@ -66,9 +67,33 @@ rustPlatform.buildRustPackage {
darwin.apple_sdk.frameworks.SystemConfiguration
];
postInstall = ''
wrapProgram $out/bin/devenv --set DEVENV_NIX ${devenv_nix} --prefix PATH ":" "$out/bin:${cachix}/bin"
'';
postInstall =
let
setDefaultLocaleArchive = lib.optionalString (glibcLocalesUtf8 != null) ''
--set-default LOCALE_ARCHIVE ${glibcLocalesUtf8}/lib/locale/locale-archive
'';
in
''
wrapProgram $out/bin/devenv \
--prefix PATH ":" "$out/bin:${cachix}/bin" \
--set DEVENV_NIX ${devenv_nix} \
${setDefaultLocaleArchive}
# Generate manpages
cargo xtask generate-manpages --out-dir man
installManPage man/*
# Generate shell completions
compdir=./completions
for shell in bash fish zsh; do
cargo xtask generate-shell-completion $shell --out-dir $compdir
done
installShellCompletion --cmd devenv \
--bash $compdir/devenv.bash \
--fish $compdir/devenv.fish \
--zsh $compdir/_devenv
'';
passthru.tests = {
version = testers.testVersion {