From 0f41145f9f85b1a6f290216f202881bb200bdc8c Mon Sep 17 00:00:00 2001 From: FliegendeWurst Date: Fri, 28 Mar 2025 09:42:22 +0100 Subject: [PATCH] tarsnap: fix cross build, modernize derivation --- pkgs/by-name/ta/tarsnap/package.nix | 28 ++++++++++++++++++++-------- 1 file changed, 20 insertions(+), 8 deletions(-) diff --git a/pkgs/by-name/ta/tarsnap/package.nix b/pkgs/by-name/ta/tarsnap/package.nix index ddc121ad7ed9..16d642348c10 100644 --- a/pkgs/by-name/ta/tarsnap/package.nix +++ b/pkgs/by-name/ta/tarsnap/package.nix @@ -6,6 +6,7 @@ zlib, e2fsprogs, bzip2, + installShellFiles, }: let @@ -23,22 +24,33 @@ stdenv.mkDerivation rec { sha256 = "1mbzq81l4my5wdhyxyma04sblr43m8p7ryycbpi6n78w1hwfbjmw"; }; - preConfigure = '' - configureFlags="--with-bash-completion-dir=$out/share/bash-completion/completions" - ''; + configureFlags = [ + "--with-bash-completion-dir=${placeholder "out"}/share/bash-completion/completions" + # required for cross builds + "--host=${stdenv.hostPlatform.system}" + ]; - patchPhase = '' + makeFlags = [ + "AR=${stdenv.cc.targetPrefix}ar" + ]; + + postPatch = '' substituteInPlace Makefile.in \ - --replace "command -p mv" "mv" + --replace-fail "command -p mv" "mv" substituteInPlace configure \ - --replace "command -p getconf PATH" "echo $PATH" + --replace-fail "command -p getconf PATH" "echo $PATH" ''; postInstall = '' - # Install some handy-dandy shell completions - install -m 444 -D ${zshCompletion} $out/share/zsh/site-functions/_tarsnap + # install third-party zsh completions (bash completions already available) + installShellCompletion --cmd tarsnap \ + --zsh ${zshCompletion} ''; + nativeBuildInputs = [ + installShellFiles + ]; + buildInputs = [ openssl