From f0b2d8daeaa1827db7a5819955835e3e73129712 Mon Sep 17 00:00:00 2001 From: Sander Date: Mon, 23 Dec 2024 09:32:13 +0400 Subject: [PATCH 1/3] devenv: add locale fixes for non-NixOS systems --- pkgs/by-name/de/devenv/package.nix | 35 +++++++++++++++++++++++++----- 1 file changed, 30 insertions(+), 5 deletions(-) diff --git a/pkgs/by-name/de/devenv/package.nix b/pkgs/by-name/de/devenv/package.nix index 6edbaa63d213..3a707308a163 100644 --- a/pkgs/by-name/de/devenv/package.nix +++ b/pkgs/by-name/de/devenv/package.nix @@ -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 { From 5de4a42fd348417f95d4cde501dd30ae8a58bdb6 Mon Sep 17 00:00:00 2001 From: Sander Date: Mon, 23 Dec 2024 09:37:38 +0400 Subject: [PATCH 2/3] devenv: generate man pages and shell completions --- pkgs/by-name/de/devenv/package.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/by-name/de/devenv/package.nix b/pkgs/by-name/de/devenv/package.nix index 3a707308a163..1afb85d7faf5 100644 --- a/pkgs/by-name/de/devenv/package.nix +++ b/pkgs/by-name/de/devenv/package.nix @@ -3,6 +3,7 @@ stdenv, fetchFromGitHub, makeBinaryWrapper, + installShellFiles, rustPlatform, testers, cachix, @@ -56,6 +57,7 @@ rustPlatform.buildRustPackage { ''; nativeBuildInputs = [ + installShellFiles makeBinaryWrapper pkg-config sqlx-cli From aa9162f52708fc7e4babd3bb474c3e8ea892e6a3 Mon Sep 17 00:00:00 2001 From: Sander Date: Mon, 23 Dec 2024 09:54:31 +0400 Subject: [PATCH 3/3] devenv: drop old macOS SDK pattern --- pkgs/by-name/de/devenv/package.nix | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/pkgs/by-name/de/devenv/package.nix b/pkgs/by-name/de/devenv/package.nix index 1afb85d7faf5..3c90266f3e87 100644 --- a/pkgs/by-name/de/devenv/package.nix +++ b/pkgs/by-name/de/devenv/package.nix @@ -1,13 +1,11 @@ { lib, - stdenv, fetchFromGitHub, makeBinaryWrapper, installShellFiles, rustPlatform, testers, cachix, - darwin, sqlx-cli, nixVersions, openssl, @@ -63,11 +61,7 @@ rustPlatform.buildRustPackage { sqlx-cli ]; - buildInputs = - [ openssl ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ - darwin.apple_sdk.frameworks.SystemConfiguration - ]; + buildInputs = [ openssl ]; postInstall = let