diff --git a/pkgs/by-name/ar/argc/package.nix b/pkgs/by-name/ar/argc/package.nix new file mode 100644 index 000000000000..8c286ebff9e6 --- /dev/null +++ b/pkgs/by-name/ar/argc/package.nix @@ -0,0 +1,66 @@ +{ + lib, + buildPackages, + pkgsCross, + rustPlatform, + stdenv, + fetchFromGitHub, + installShellFiles, +}: + +let + canExecuteHost = stdenv.buildPlatform.canExecute stdenv.hostPlatform; +in +rustPlatform.buildRustPackage rec { + pname = "argc"; + version = "1.14.0"; + + src = fetchFromGitHub { + owner = "sigoden"; + repo = "argc"; + rev = "v${version}"; + hash = "sha256-Li/K5/SLG6JuoRJDz2DQoj1Oi9LQgZWHNvtZ1HVbj88="; + }; + + cargoHash = "sha256-D1T9FWTvwKtAYoqFlR2OmLRLGWhPJ9D8J7lq/QKcBoM="; + + nativeBuildInputs = [ installShellFiles ] ++ lib.optional (!canExecuteHost) buildPackages.argc; + + postInstall = '' + ARGC=${if canExecuteHost then ''''${!outputBin}/bin/argc'' else "argc"} + + installShellCompletion --cmd argc \ + --bash <("$ARGC" --argc-completions bash) \ + --fish <("$ARGC" --argc-completions fish) \ + --zsh <("$ARGC" --argc-completions zsh) + ''; + + disallowedReferences = lib.optional (!canExecuteHost) buildPackages.argc; + + passthru = { + tests = { + cross = + ( + if stdenv.hostPlatform.isDarwin then + if stdenv.hostPlatform.isAarch64 then pkgsCross.x86_64-darwin else pkgsCross.aarch64-darwin + else if stdenv.hostPlatform.isAarch64 then + pkgsCross.gnu64 + else + pkgsCross.aarch64-multiplatform + ).argc; + }; + }; + + meta = with lib; { + description = "Command-line options, arguments and sub-commands parser for bash"; + mainProgram = "argc"; + homepage = "https://github.com/sigoden/argc"; + changelog = "https://github.com/sigoden/argc/releases/tag/v${version}"; + license = with licenses; [ + mit + # or + asl20 + ]; + maintainers = with maintainers; [ figsoda ]; + }; +} diff --git a/pkgs/development/tools/argc/default.nix b/pkgs/development/tools/argc/default.nix deleted file mode 100644 index 89ee93b1c5d8..000000000000 --- a/pkgs/development/tools/argc/default.nix +++ /dev/null @@ -1,37 +0,0 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, installShellFiles -}: - -rustPlatform.buildRustPackage rec { - pname = "argc"; - version = "1.14.0"; - - src = fetchFromGitHub { - owner = "sigoden"; - repo = pname; - rev = "v${version}"; - hash = "sha256-Li/K5/SLG6JuoRJDz2DQoj1Oi9LQgZWHNvtZ1HVbj88="; - }; - - cargoHash = "sha256-D1T9FWTvwKtAYoqFlR2OmLRLGWhPJ9D8J7lq/QKcBoM="; - - nativeBuildInputs = [ installShellFiles ]; - - postInstall = '' - installShellCompletion --cmd argc \ - --bash <($out/bin/argc --argc-completions bash) \ - --fish <($out/bin/argc --argc-completions fish) \ - --zsh <($out/bin/argc --argc-completions zsh) - ''; - - meta = with lib; { - description = "A command-line options, arguments and sub-commands parser for bash"; - mainProgram = "argc"; - homepage = "https://github.com/sigoden/argc"; - changelog = "https://github.com/sigoden/argc/releases/tag/v${version}"; - license = with licenses; [ mit /* or */ asl20 ]; - maintainers = with maintainers; [ figsoda ]; - }; -} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 39a3dcd715e3..9a325951ab53 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -4142,8 +4142,6 @@ with pkgs; aptdec = callPackage ../development/libraries/aptdec { }; - argc = callPackage ../development/tools/argc { }; - aria2 = callPackage ../tools/networking/aria2 { inherit (darwin.apple_sdk.frameworks) Security; };