Merge pull request #125576 from mweinelt/synadm

This commit is contained in:
maralorn 2021-06-04 01:11:36 +02:00 committed by GitHub
commit 9c8916a7df
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 92 additions and 0 deletions

View file

@ -0,0 +1,47 @@
{ lib
, buildPythonPackage
, pythonOlder
, fetchFromGitHub
, click
, pytestCheckHook
}:
buildPythonPackage rec {
pname = "click-option-group";
version = "0.5.3";
format = "setuptools";
disabled = pythonOlder "3.6";
src = fetchFromGitHub {
owner = "click-contrib";
repo = pname;
rev = "v${version}";
sha256 = "1w0692s8fabncpggpwl2d4dfqjjlmcia271rrb8hcz0r6nvw98ak";
};
propagatedBuildInputs = [
click
];
checkInputs = [
pytestCheckHook
];
pythonImportsCheck = [
"click_option_group"
];
meta = with lib; {
description = "Option groups missing in Click";
longDescription = ''
Option groups are convenient mechanism for logical structuring
CLI, also it allows you to set the specific behavior and set the
relationship among grouped options (mutually exclusive options
for example). Moreover, argparse stdlib package contains this
functionality out of the box.
'';
homepage = "https://github.com/click-contrib/click-option-group";
license = licenses.bsd3;
maintainers = with maintainers; [ hexa ];
};
}

View file

@ -1,4 +1,6 @@
{ callPackage }:
{
rust-synapse-compress-state = callPackage ./rust-synapse-compress-state.nix { };
synadm = callPackage ./synadm.nix { };
}

View file

@ -0,0 +1,41 @@
{ lib
, python3Packages
}:
with python3Packages; buildPythonApplication rec {
pname = "synadm";
version = "0.29";
format = "setuptools";
src = fetchPypi {
inherit pname version;
sha256 = "1vy30nwsns4jnv0s5i9jpyplxpclgwyw0gldpywv4z3fljs0lzik";
};
propagatedBuildInputs = [
click
click-option-group
tabulate
pyyaml
requests
];
checkPhase = ''
runHook preCheck
export HOME=$TMPDIR
$out/bin/synadm -h > /dev/null
runHook postCheck
'';
meta = with lib; {
description = "Command line admin tool for Synapse";
longDescription = ''
A CLI tool to help admins of Matrix Synapse homeservers
conveniently issue commands available via its admin API's
(matrix-org/synapse@master/docs/admin_api)
'';
homepage = "https://github.com/JOJ0/synadm";
license = licenses.gpl3Plus;
maintainers = with maintainers; [ hexa ];
};
}

View file

@ -1417,6 +1417,8 @@ in {
click-log = callPackage ../development/python-modules/click-log { };
click-option-group = callPackage ../development/python-modules/click-option-group { };
click-plugins = callPackage ../development/python-modules/click-plugins { };
click-spinner = callPackage ../development/python-modules/click-spinner { };