revup: rework

- get rid of rec (at all costs!)
- passthru
  - updateScript
  - tests.version
This commit is contained in:
Anderson Torres 2024-07-12 16:13:44 -03:00
parent 8f4e996a64
commit ad383c8ee5

View File

@ -1,67 +1,78 @@
{ lib
, stdenv
, python3
, fetchPypi
{
lib,
fetchPypi,
gitUpdater,
python3Packages,
stdenv,
testers,
}:
let
pname = "revup";
version = "0.3.0";
src = fetchPypi {
inherit pname version;
hash = "sha256-LrSRcnWc4AvWbpSrOLprs+rVM0sR1joLat3g9og6BwE=";
self = python3Packages.buildPythonApplication {
pname = "revup";
version = "0.3.0";
pyproject = true;
src = fetchPypi {
inherit (self) pname version;
hash = "sha256-LrSRcnWc4AvWbpSrOLprs+rVM0sR1joLat3g9og6BwE=";
};
nativeBuildInputs = with python3Packages; [
pip
setuptools
wheel
];
propagatedBuildInputs = with python3Packages; [
aiohttp
aiosignal
async-lru
async-timeout
charset-normalizer
multidict
requests
rich
yarl
];
nativeCheckInputs = with python3Packages; [
pytest
];
passthru = {
updateScript = gitUpdater { };
tests.version = testers.testVersion {
package = self;
};
};
meta = {
homepage = "https://github.com/Skydio/revup";
description = "Efficient git workflow and code review toolkit";
longDescription = ''
Revup provides command-line tools that allow developers to iterate
faster on parallel changes and reduce the overhead of creating and
maintaining code reviews.
Features:
- Revup creates multiple independent chains of branches for you in the
background and without touching your working tree. It then creates and
manages github pull requests for all those branches.
- Pull requests target the actual base branch and can be merged manually
or by continuous integration
- Rebase detection saves time and continuous integration cost by not
re-pushing if the patch hasn't changed
- Adds reviewers, labels, and creates drafts all from the commit text
- Adds auto-updating "review graph" and "patchsets" elements to make
pull requests easier to navigate
- revup amend and revup restack save time by replacing slow rebases
'';
license = lib.licenses.mit;
mainProgram = "revup";
maintainers = with lib.maintainers; [ AndersonTorres ];
};
};
in
python3.pkgs.buildPythonPackage {
inherit pname version src;
nativeBuildInputs = with python3.pkgs; [
pip
setuptools
wheel
];
propagatedBuildInputs = with python3.pkgs; [
aiohttp
aiosignal
async-lru
async-timeout
charset-normalizer
multidict
requests
rich
yarl
];
nativeCheckInputs = with python3.pkgs; [
pytest
];
meta = {
homepage = "https://github.com/Skydio/revup";
changelog = "https://github.com/Skydio/revup/releases/tag/v${version}";
description = " Revolutionary github tools";
longDescription = ''
Revup provides command-line tools that allow developers to iterate faster
on parallel changes and reduce the overhead of creating and maintaining
code reviews.
Features:
- Revup creates multiple independent chains of branches for you in the
background and without touching your working tree. It then creates and
manages github pull requests for all those branches.
- Pull requests target the actual base branch and can be merged manually
or by continuous integration
- Rebase detection saves time and continuous integration cost by not
re-pushing if the patch hasn't changed
- Adds reviewers, labels, and creates drafts all from the commit text
- Adds auto-updating "review graph" and "patchsets" elements to make pull
requests easier to navigate revup amend and revup restack save time by
replacing slow rebases
'';
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ AndersonTorres ];
mainProgram = "revup";
};
}
self