1{ lib 2, stdenv 3, buildPythonPackage 4, fetchFromGitHub 5, python 6, pythonOlder 7}: 8 9buildPythonPackage rec { 10 pname = "pyelftools"; 11 version = "0.29"; 12 format = "setuptools"; 13 14 disabled = pythonOlder "3.7"; 15 16 src = fetchFromGitHub { 17 owner = "eliben"; 18 repo = pname; 19 rev = "v${version}"; 20 hash = "sha256-tPY0C5CoA9hGHeEA/KWQ1RAVT5kqMlAwuWpOSH+KJ9Y="; 21 }; 22 23 doCheck = stdenv.hostPlatform.system == "x86_64-linux" && stdenv.hostPlatform.isGnu; 24 25 checkPhase = '' 26 patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" test/external_tools/readelf 27 ${python.interpreter} test/run_all_unittests.py 28 ${python.interpreter} test/run_examples_test.py 29 ${python.interpreter} test/run_readelf_tests.py --parallel 30 ''; 31 32 pythonImportsCheck = [ 33 "elftools" 34 ]; 35 36 meta = with lib; { 37 description = "Python library for analyzing ELF files and DWARF debugging information"; 38 homepage = "https://github.com/eliben/pyelftools"; 39 changelog = "https://github.com/eliben/pyelftools/blob/v${version}/CHANGES"; 40 license = licenses.publicDomain; 41 maintainers = with maintainers; [ igsha pamplemousse ]; 42 }; 43}