1{ lib
2, buildPythonPackage
3, fetchFromGitHub
4, fetchpatch
5, pytestCheckHook
6, setuptools
7, stevedore
8, wheel
9}:
10
11buildPythonPackage rec {
12 pname = "plux";
13 version = "1.4.0";
14 format = "pyproject";
15
16 # Tests are not available from PyPi
17 src = fetchFromGitHub {
18 owner = "localstack";
19 repo = "plux";
20 rev = "refs/tags/v${version}";
21 hash = "sha256-AybMHkCUNJsL51XwiskkIltEtqZ27fGHrpyct8IUjmo=";
22 };
23
24 patches = [
25 # https://github.com/localstack/plux/pull/8
26 (fetchpatch {
27 name = "remove-pytest-runner.patch";
28 url = "https://github.com/localstack/plux/commit/3cda22e51f43a86304d0dedd7e554b21aa82c8b0.patch";
29 hash = "sha256-ZFHUTkUYFSTgKbx+c74JQzre0la+hFW9gNOxOehvVoE=";
30 })
31 ];
32
33 nativeBuildInputs = [
34 setuptools
35 wheel
36 ];
37
38 propagatedBuildInputs = [
39 stevedore
40 ];
41
42 nativeCheckInputs = [
43 pytestCheckHook
44 ];
45
46 pythonImportsCheck = [ "plugin.core" ];
47
48 meta = with lib; {
49 description = "Dynamic code loading framework for building pluggable Python distributions";
50 homepage = "https://github.com/localstack/plux";
51 license = licenses.asl20;
52 maintainers = with maintainers; [ jonringer ];
53 };
54}