nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 pytestCheckHook,
6 coverage,
7 python,
8 setuptools,
9}:
10
11buildPythonPackage rec {
12 pname = "miss-hit-core";
13 version = "0.9.44";
14 pyproject = true;
15
16 src = fetchFromGitHub {
17 owner = "florianschanda";
18 repo = "miss_hit";
19 tag = version;
20 hash = "sha256-dJZIleDWmdarhmxoKvQxWvI/Tmx9pSCNlgFXj5NFIUc=";
21 };
22
23 build-system = [ setuptools ];
24
25 configurePhase = ''
26 runHook preConfigure
27
28 cp setup_gpl.py setup.py
29 mkdir -p miss_hit_core/resources/assets
30 cp docs/style.css miss_hit_core/resources
31 cp docs/assets/* miss_hit_core/resources/assets
32
33 runHook postConfigure
34 '';
35
36 nativeCheckInputs = [
37 coverage
38 ];
39
40 checkPhase = ''
41 runHook preCheck
42
43 cd tests
44 ${python.interpreter} ./run.py --suite=style
45 ${python.interpreter} ./run.py --suite=metrics
46
47 runHook postCheck
48 '';
49
50 pythonImportsCheck = [
51 "miss_hit_core"
52 ];
53
54 meta = {
55 description = "Code formatting and code metrics for programs written in the MATLAB/Simulink and Octave languages";
56 homepage = "https://misshit.org/";
57 changelog = "https://github.com/florianschanda/miss_hit/releases/tag/${version}";
58 license = lib.licenses.gpl3Plus;
59 maintainers = with lib.maintainers; [
60 jacobkoziej
61 ];
62 };
63}