nixpkgs/pkgs/applications/misc/scli/default.nix
stuebinm ff1a94e523 treewide: add meta.mainProgram to packages with a single binary
The nixpkgs-unstable channel's programs.sqlite was used to identify
packages producing exactly one binary, and these automatically added
to their package definitions wherever possible.
2024-03-19 03:14:51 +01:00

60 lines
1.1 KiB
Nix

{ lib
, python3
, fetchFromGitHub
, dbus
, signal-cli
, xclip
, testers
, scli
}:
python3.pkgs.buildPythonApplication rec {
pname = "scli";
version = "0.7.4";
src = fetchFromGitHub {
owner = "isamert";
repo = pname;
rev = "refs/tags/v${version}";
sha256 = "sha256-GC19iJYdNUdC4UEBWWdlzl0Ha6Y3knB1dG+6spwdYQ0=";
};
propagatedBuildInputs = with python3.pkgs; [
pyqrcode
urwid
urwid-readline
];
format = "other";
dontBuild = true;
installPhase = ''
runHook preInstall
patchShebangs scli
install -Dm555 scli -t $out/bin
echo "v$version" > $out/bin/VERSION
runHook postInstall
'';
makeWrapperArgs = [
"--prefix" "PATH" ":" (lib.makeBinPath [ dbus signal-cli xclip ])
];
passthru.tests = {
version = testers.testVersion {
package = scli;
command = "HOME=$(mktemp -d) scli --version";
};
};
meta = with lib; {
description = "Simple terminal user interface for Signal";
mainProgram = "scli";
homepage = "https://github.com/isamert/scli";
license = licenses.gpl3Only;
maintainers = with maintainers; [ ];
};
}