76 lines
1.6 KiB
Nix
76 lines
1.6 KiB
Nix
{
|
|
lib,
|
|
python3,
|
|
fetchFromGitLab,
|
|
fetchpatch,
|
|
git,
|
|
openssh,
|
|
nix-update-script,
|
|
}:
|
|
|
|
python3.pkgs.buildPythonApplication rec {
|
|
pname = "marge-bot";
|
|
version = "0.16.0";
|
|
pyproject = true;
|
|
|
|
src = fetchFromGitLab {
|
|
owner = "marge-org";
|
|
repo = "marge-bot";
|
|
rev = version;
|
|
hash = "sha256-UgdbeJegeTFP6YF6oMxAeQDI9AO2k6yk4WAFZ/Xspu8=";
|
|
};
|
|
|
|
patches = [
|
|
# TODO: remove when merged https://gitlab.com/marge-org/marge-bot/-/merge_requests/571
|
|
(fetchpatch {
|
|
url = "https://gitlab.com/marge-org/marge-bot/-/commit/7e9668b24455bcf9c99646853019a3e86505d850.patch";
|
|
hash = "sha256-n5zB3YmD7i6RmcO9XmHjWVdQHzeVuZUPOzY3+cA6NDk=";
|
|
})
|
|
./patches/wait-for-mr-update.patch
|
|
./patches/allow-self-merges.patch
|
|
];
|
|
|
|
nativeBuildInputs = [
|
|
python3.pkgs.setuptools
|
|
];
|
|
|
|
propagatedBuildInputs =
|
|
(with python3.pkgs; [
|
|
configargparse
|
|
maya
|
|
pyyaml
|
|
requests
|
|
python-gitlab
|
|
hatchling
|
|
])
|
|
++ [
|
|
git
|
|
openssh
|
|
];
|
|
|
|
nativeCheckInputs =
|
|
(with python3.pkgs; [
|
|
pytest-cov-stub
|
|
pytestCheckHook
|
|
pendulum
|
|
])
|
|
++ [
|
|
git
|
|
];
|
|
|
|
pythonImportsCheck = [ "marge" ];
|
|
|
|
passthru.updateScript = nix-update-script { };
|
|
|
|
meta = with lib; {
|
|
description = "Merge bot for GitLab";
|
|
homepage = "https://gitlab.com/marge-org/marge-bot";
|
|
changelog = "https://gitlab.com/marge-org/marge-bot/-/blob/${src.rev}/CHANGELOG.md";
|
|
license = licenses.bsd3;
|
|
maintainers = with maintainers; [
|
|
bcdarwin
|
|
lelgenio
|
|
];
|
|
mainProgram = "marge.app";
|
|
};
|
|
}
|