nixpkgs/pkgs/development/python-modules/pyelftools/default.nix
Sirio Balmelli 8fb56a487f python3Packages.pyelftools: disable tests on Darwin
af27072 broke the build on Darwin.

There does not seem to be any way to sanely enable tests on Darwin.

Tests initially fail because of missing 'greadelf'
expected by test/run_readelf_tests.py.

This is fixed by:

- adding 'binutils-unwrapped' to checkInputs
- hardlinking 'readelf' to 'greadelf' in a temp bin dir
- exporting temp bin dir to PATH

This leads to further test failures because of 'readelf' version mismatch
causing output inconsistencies.

See test/run_readelf_tests.py:31 for further details.

Signed-off-by: Sirio Balmelli <sirio@b-ad.ch>
2020-11-06 10:48:01 -08:00

35 lines
876 B
Nix

{ stdenv
, buildPythonPackage
, fetchFromGitHub
, python
}:
buildPythonPackage rec {
pname = "pyelftools";
version = "unstable-2020-09-23";
src = fetchFromGitHub {
owner = "eliben";
repo = pname;
rev = "ab84e68837113b2d700ad379d94c1dd4a73125ea";
sha256 = "sha256-O7l1kj0k8bOSOtZJVzS674oVnM+X3oP00Ybs0qjb64Q=";
};
doCheck = stdenv.is64bit && !stdenv.isDarwin;
checkPhase = ''
patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" test/external_tools/readelf
${python.interpreter} test/all_tests.py
'';
pythonImportsCheck = [ "elftools" ];
meta = with stdenv.lib; {
description = "A library for analyzing ELF files and DWARF debugging information";
homepage = "https://github.com/eliben/pyelftools";
license = licenses.publicDomain;
maintainers = with maintainers; [ igsha pamplemousse ];
};
}