mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-12-04 04:46:43 +00:00
ff1a94e523
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.
86 lines
1.8 KiB
Nix
86 lines
1.8 KiB
Nix
{ lib
|
||
, fetchFromGitHub
|
||
, python3
|
||
|
||
# tests
|
||
, git
|
||
, mercurial
|
||
, patch
|
||
}:
|
||
|
||
python3.pkgs.buildPythonApplication rec {
|
||
pname = "mozphab";
|
||
version = "1.5.1";
|
||
format = "pyproject";
|
||
|
||
src = fetchFromGitHub {
|
||
owner = "mozilla-conduit";
|
||
repo = "review";
|
||
rev = "refs/tags/${version}";
|
||
hash = "sha256-HxwQ+mGtjnruppPAD01QUg3aca+k5vpj814BWM+3VfQ=";
|
||
};
|
||
|
||
postPatch = ''
|
||
substituteInPlace pyproject.toml \
|
||
--replace "glean-sdk>=50.0.1,==50.*" "glean-sdk"
|
||
'';
|
||
|
||
nativeBuildInputs = with python3.pkgs; [
|
||
setuptools
|
||
setuptools-scm
|
||
];
|
||
|
||
propagatedBuildInputs = with python3.pkgs; [
|
||
colorama
|
||
distro
|
||
glean-sdk
|
||
packaging
|
||
python-hglib
|
||
sentry-sdk
|
||
setuptools
|
||
];
|
||
|
||
nativeCheckInputs = [
|
||
git
|
||
mercurial
|
||
patch
|
||
]
|
||
++ (with python3.pkgs; [
|
||
callee
|
||
immutabledict
|
||
hg-evolve
|
||
mock
|
||
pytestCheckHook
|
||
]);
|
||
|
||
preCheck = ''
|
||
export HOME=$(mktemp -d)
|
||
'';
|
||
|
||
disabledTestPaths = [
|
||
# codestyle doesn't matter to us
|
||
"tests/test_style.py"
|
||
# integration tests try to submit changes, which requires network access
|
||
"tests/test_integration_git.py"
|
||
"tests/test_integration_hg.py"
|
||
"tests/test_integration_hg_dag.py"
|
||
"tests/test_integration_patch.py"
|
||
"tests/test_integration_reorganise.py"
|
||
"tests/test_sentry.py"
|
||
];
|
||
|
||
meta = with lib; {
|
||
description = "Phabricator CLI from Mozilla to support submission of a series of commits";
|
||
mainProgram = "moz-phab";
|
||
longDescription = ''
|
||
moz-phab is a custom command-line tool, which communicates to
|
||
Phabricator’s API, providing several conveniences, including support for
|
||
submitting series of commits.
|
||
'';
|
||
homepage = "https://moz-conduit.readthedocs.io/en/latest/phabricator-user.html";
|
||
license = licenses.mpl20;
|
||
maintainers = with maintainers; [];
|
||
platforms = platforms.unix;
|
||
};
|
||
}
|