1{ lib 2, buildPythonPackage 3, fetchPypi 4, fetchFromGitHub 5, mock 6, psutil 7, six 8, future 9}: 10 11let 12 mock' = mock.overridePythonAttrs (old: rec { 13 version = "2.0.0"; 14 src = fetchPypi { 15 inherit (old) pname; 16 inherit version; 17 sha256 = "1flbpksir5sqrvq2z0dp8sl4bzbadg21sj4d42w3klpdfvgvcn5i"; 18 }; 19 }); 20in buildPythonPackage rec { 21 pname = "pylink-square"; 22 version = "0.8.1"; 23 24 src = fetchFromGitHub { 25 owner = "square"; 26 repo = "pylink"; 27 rev = "v${version}"; 28 sha256 = "1q5sm1017pcqcgwhsliiiv1wh609lrjdlc8f5ihlschk1d0qidpd"; 29 }; 30 31 buildInputs = [ mock' ]; 32 propagatedBuildInputs = [ psutil six future ]; 33 34 preCheck = '' 35 # For an unknown reason, `pylink --version` output is different 36 # inside the nix build environment across different python versions 37 substituteInPlace tests/unit/test_main.py --replace \ 38 "expected = 'pylink %s' % pylink.__version__" \ 39 "return" 40 ''; 41 42 pythonImportsCheck = [ "pylink" ]; 43 44 meta = with lib; { 45 description = "Python interface for the SEGGER J-Link"; 46 homepage = "https://github.com/Square/pylink"; 47 maintainers = with maintainers; [ dump_stack ]; 48 license = licenses.asl20; 49 }; 50}