Merge pull request #146430 from kvark/moz-phab
This commit is contained in:
commit
047671c50c
|
@ -6382,6 +6382,13 @@
|
||||||
githubId = 449813;
|
githubId = 449813;
|
||||||
name = "Roman Kuznetsov";
|
name = "Roman Kuznetsov";
|
||||||
};
|
};
|
||||||
|
kvark = {
|
||||||
|
name = "Dzmitry Malyshau";
|
||||||
|
email = "kvark@fastmail.com";
|
||||||
|
matrix = "@kvark:matrix.org";
|
||||||
|
github = "kvark";
|
||||||
|
githubId = 107301;
|
||||||
|
};
|
||||||
kwohlfahrt = {
|
kwohlfahrt = {
|
||||||
email = "kai.wohlfahrt@gmail.com";
|
email = "kai.wohlfahrt@gmail.com";
|
||||||
github = "kwohlfahrt";
|
github = "kwohlfahrt";
|
||||||
|
|
57
pkgs/applications/misc/moz-phab/default.nix
Normal file
57
pkgs/applications/misc/moz-phab/default.nix
Normal file
|
@ -0,0 +1,57 @@
|
||||||
|
{ lib
|
||||||
|
, buildPythonApplication
|
||||||
|
, fetchPypi
|
||||||
|
, mercurial
|
||||||
|
# build inputs
|
||||||
|
, distro
|
||||||
|
, glean-sdk
|
||||||
|
, python-hglib
|
||||||
|
, sentry-sdk
|
||||||
|
, setuptools
|
||||||
|
}:
|
||||||
|
|
||||||
|
buildPythonApplication rec {
|
||||||
|
pname = "moz-phab";
|
||||||
|
version = "0.1.99";
|
||||||
|
|
||||||
|
src = fetchPypi {
|
||||||
|
pname = "MozPhab";
|
||||||
|
inherit version;
|
||||||
|
sha256 = "sha256-uKoMMSp5AIvB1qTRYAh7n1+2dDLneFbssfkfTTshfcs=";
|
||||||
|
};
|
||||||
|
|
||||||
|
# Relax python-hglib requirement
|
||||||
|
# https://phabricator.services.mozilla.com/D131618
|
||||||
|
postPatch = ''
|
||||||
|
substituteInPlace setup.py \
|
||||||
|
--replace "==" ">="
|
||||||
|
'';
|
||||||
|
|
||||||
|
propagatedBuildInputs = [
|
||||||
|
distro
|
||||||
|
glean-sdk
|
||||||
|
python-hglib
|
||||||
|
sentry-sdk
|
||||||
|
setuptools
|
||||||
|
];
|
||||||
|
checkInputs = [
|
||||||
|
mercurial
|
||||||
|
];
|
||||||
|
|
||||||
|
preCheck = ''
|
||||||
|
export HOME=$(mktemp -d)
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "Phabricator CLI from Mozilla to support submission of a series of commits";
|
||||||
|
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 = [ maintainers.kvark ];
|
||||||
|
platforms = platforms.unix;
|
||||||
|
};
|
||||||
|
}
|
61
pkgs/development/python-modules/glean-parser/default.nix
Normal file
61
pkgs/development/python-modules/glean-parser/default.nix
Normal file
|
@ -0,0 +1,61 @@
|
||||||
|
{ lib
|
||||||
|
, buildPythonPackage
|
||||||
|
, fetchPypi
|
||||||
|
, pytestCheckHook
|
||||||
|
, pythonOlder
|
||||||
|
, setuptools-scm
|
||||||
|
# build inputs
|
||||||
|
, appdirs
|
||||||
|
, click
|
||||||
|
, diskcache
|
||||||
|
, jinja2
|
||||||
|
, jsonschema
|
||||||
|
, pyyaml
|
||||||
|
, yamllint
|
||||||
|
}:
|
||||||
|
|
||||||
|
buildPythonPackage rec {
|
||||||
|
pname = "glean_parser";
|
||||||
|
version = "4.3.1";
|
||||||
|
|
||||||
|
disabled = pythonOlder "3.6";
|
||||||
|
|
||||||
|
src = fetchPypi {
|
||||||
|
inherit pname version;
|
||||||
|
sha256 = "sha256-wZSro1pX/50TlSfFMh71JlmXlJlONVutTDFL06tkw+s=";
|
||||||
|
};
|
||||||
|
|
||||||
|
postPatch = ''
|
||||||
|
substituteInPlace setup.py --replace "pytest-runner" ""
|
||||||
|
'';
|
||||||
|
|
||||||
|
propagatedBuildInputs = [
|
||||||
|
appdirs
|
||||||
|
click
|
||||||
|
diskcache
|
||||||
|
jinja2
|
||||||
|
jsonschema
|
||||||
|
pyyaml
|
||||||
|
yamllint
|
||||||
|
];
|
||||||
|
nativeBuildInputs = [
|
||||||
|
setuptools-scm
|
||||||
|
];
|
||||||
|
|
||||||
|
checkInputs = [
|
||||||
|
pytestCheckHook
|
||||||
|
];
|
||||||
|
disabledTests = [
|
||||||
|
# https://bugzilla.mozilla.org/show_bug.cgi?id=1741668
|
||||||
|
"test_validate_ping"
|
||||||
|
];
|
||||||
|
|
||||||
|
pythonImportsCheck = [ "glean_parser" ];
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "Tools for parsing the metadata for Mozilla's glean telemetry SDK";
|
||||||
|
homepage = "https://github.com/mozilla/glean_parser";
|
||||||
|
license = licenses.mpl20;
|
||||||
|
maintainers = [ maintainers.kvark ];
|
||||||
|
};
|
||||||
|
}
|
53
pkgs/development/python-modules/glean-sdk/default.nix
Normal file
53
pkgs/development/python-modules/glean-sdk/default.nix
Normal file
|
@ -0,0 +1,53 @@
|
||||||
|
{ lib
|
||||||
|
, buildPythonPackage
|
||||||
|
, fetchPypi
|
||||||
|
, rustPlatform
|
||||||
|
, rustc
|
||||||
|
, cargo
|
||||||
|
, setuptools-rust
|
||||||
|
# build inputs
|
||||||
|
, cffi
|
||||||
|
, glean-parser
|
||||||
|
}:
|
||||||
|
|
||||||
|
buildPythonPackage rec {
|
||||||
|
pname = "glean-sdk";
|
||||||
|
version = "42.2.0";
|
||||||
|
|
||||||
|
src = fetchPypi {
|
||||||
|
inherit pname version;
|
||||||
|
sha256 = "sha256-X2p6KQnEB6ZHdCHGFVEoEMiI+0R2vfGqel+jFKTcx74=";
|
||||||
|
};
|
||||||
|
|
||||||
|
patches = [
|
||||||
|
# Fix the environment for spawned process
|
||||||
|
# https://github.com/mozilla/glean/pull/1542
|
||||||
|
./fix-spawned-process-environment.patch
|
||||||
|
];
|
||||||
|
|
||||||
|
cargoDeps = rustPlatform.fetchCargoTarball {
|
||||||
|
inherit src;
|
||||||
|
name = "${pname}-${version}";
|
||||||
|
sha256 = "sha256-/+rKGPYTLovgjTGL2F/pWzlUy1tY207yuJz3Xdhm1hg=";
|
||||||
|
};
|
||||||
|
|
||||||
|
nativeBuildInputs = [
|
||||||
|
rustc
|
||||||
|
cargo
|
||||||
|
setuptools-rust
|
||||||
|
rustPlatform.cargoSetupHook
|
||||||
|
];
|
||||||
|
propagatedBuildInputs = [
|
||||||
|
cffi
|
||||||
|
glean-parser
|
||||||
|
];
|
||||||
|
|
||||||
|
pythonImportsCheck = [ "glean" ];
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "Modern cross-platform telemetry client libraries and are a part of the Glean project";
|
||||||
|
homepage = "https://mozilla.github.io/glean/book/index.html";
|
||||||
|
license = licenses.mpl20;
|
||||||
|
maintainers = [ maintainers.kvark ];
|
||||||
|
};
|
||||||
|
}
|
|
@ -0,0 +1,20 @@
|
||||||
|
diff --git a/glean-core/python/glean/_process_dispatcher.py b/glean-core/python/glean/_process_dispatcher.py
|
||||||
|
index 33a8b12796..a39b54a917 100644
|
||||||
|
--- a/glean-core/python/glean/_process_dispatcher.py
|
||||||
|
+++ b/glean-core/python/glean/_process_dispatcher.py
|
||||||
|
@@ -120,8 +120,14 @@ def dispatch(cls, func, args) -> Union[_SyncWorkWrapper, subprocess.Popen]:
|
||||||
|
Path(".coveragerc").absolute()
|
||||||
|
)
|
||||||
|
|
||||||
|
+ # Explicitly pass the contents of `sys.path` as `PYTHONPATH` to the
|
||||||
|
+ # subprocess so that there aren't any module search path
|
||||||
|
+ # differences.
|
||||||
|
+ python_path = ":".join(sys.path)[1:]
|
||||||
|
+
|
||||||
|
p = subprocess.Popen(
|
||||||
|
- [sys.executable, _process_dispatcher_helper.__file__, payload]
|
||||||
|
+ [sys.executable, _process_dispatcher_helper.__file__, payload],
|
||||||
|
+ env={"PYTHONPATH": python_path},
|
||||||
|
)
|
||||||
|
|
||||||
|
cls._last_process = p
|
32
pkgs/development/python-modules/python-hglib/default.nix
Normal file
32
pkgs/development/python-modules/python-hglib/default.nix
Normal file
|
@ -0,0 +1,32 @@
|
||||||
|
{ lib
|
||||||
|
, buildPythonPackage
|
||||||
|
, fetchPypi
|
||||||
|
, mercurial
|
||||||
|
, nose
|
||||||
|
}:
|
||||||
|
|
||||||
|
buildPythonPackage rec {
|
||||||
|
pname = "python-hglib";
|
||||||
|
version = "2.6.2";
|
||||||
|
|
||||||
|
src = fetchPypi {
|
||||||
|
inherit pname version;
|
||||||
|
sha256 = "sha256-sYvR7VPJDuV9VxTWata7crZOkw1K7KmDCJLAi7KNpgg=";
|
||||||
|
};
|
||||||
|
|
||||||
|
checkInputs = [ mercurial nose ];
|
||||||
|
|
||||||
|
preCheck = ''
|
||||||
|
export HGTMP=$(mktemp -d)
|
||||||
|
export HGUSER=test
|
||||||
|
'';
|
||||||
|
|
||||||
|
pythonImportsCheck = [ "hglib" ];
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "Library with a fast, convenient interface to Mercurial. It uses Mercurial’s command server for communication with hg.";
|
||||||
|
homepage = "https://www.mercurial-scm.org/wiki/PythonHglibs";
|
||||||
|
license = licenses.mit;
|
||||||
|
maintainers = [ maintainers.kvark ];
|
||||||
|
};
|
||||||
|
}
|
|
@ -7072,6 +7072,8 @@ with pkgs;
|
||||||
|
|
||||||
motion = callPackage ../applications/video/motion { };
|
motion = callPackage ../applications/video/motion { };
|
||||||
|
|
||||||
|
moz-phab = python3Packages.callPackage ../applications/misc/moz-phab { };
|
||||||
|
|
||||||
mtail = callPackage ../servers/monitoring/mtail { };
|
mtail = callPackage ../servers/monitoring/mtail { };
|
||||||
|
|
||||||
multitail = callPackage ../tools/misc/multitail { };
|
multitail = callPackage ../tools/misc/multitail { };
|
||||||
|
|
|
@ -3148,6 +3148,10 @@ in {
|
||||||
|
|
||||||
glcontext = callPackage ../development/python-modules/glcontext { };
|
glcontext = callPackage ../development/python-modules/glcontext { };
|
||||||
|
|
||||||
|
glean-parser = callPackage ../development/python-modules/glean-parser { };
|
||||||
|
|
||||||
|
glean-sdk = callPackage ../development/python-modules/glean-sdk { };
|
||||||
|
|
||||||
glfw = callPackage ../development/python-modules/glfw { };
|
glfw = callPackage ../development/python-modules/glfw { };
|
||||||
|
|
||||||
glob2 = callPackage ../development/python-modules/glob2 { };
|
glob2 = callPackage ../development/python-modules/glob2 { };
|
||||||
|
@ -7599,6 +7603,8 @@ in {
|
||||||
|
|
||||||
python-gvm = callPackage ../development/python-modules/python-gvm { };
|
python-gvm = callPackage ../development/python-modules/python-gvm { };
|
||||||
|
|
||||||
|
python-hglib = callPackage ../development/python-modules/python-hglib { };
|
||||||
|
|
||||||
python-hosts = callPackage ../development/python-modules/python-hosts { };
|
python-hosts = callPackage ../development/python-modules/python-hosts { };
|
||||||
|
|
||||||
python-hpilo = callPackage ../development/python-modules/python-hpilo { };
|
python-hpilo = callPackage ../development/python-modules/python-hpilo { };
|
||||||
|
|
Loading…
Reference in a new issue