Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
1{ 2 lib, 3 stdenv, 4 bitstring, 5 buildPythonPackage, 6 cffi, 7 fetchPypi, 8 pycparser, 9 pythonOlder, 10 setuptools, 11}: 12 13buildPythonPackage rec { 14 pname = "pyvex"; 15 version = "9.2.112"; 16 pyproject = true; 17 18 disabled = pythonOlder "3.11"; 19 20 src = fetchPypi { 21 inherit pname version; 22 hash = "sha256-IxrH8Ej1PmyQXtS7CROvxopf9tmjKiOYqwfAc6mLMnw="; 23 }; 24 25 build-system = [ setuptools ]; 26 27 dependencies = [ 28 bitstring 29 cffi 30 pycparser 31 ]; 32 33 postPatch = lib.optionalString stdenv.isDarwin '' 34 substituteInPlace vex/Makefile-gcc \ 35 --replace-fail '/usr/bin/ar' 'ar' 36 ''; 37 38 setupPyBuildFlags = lib.optionals stdenv.isLinux [ 39 "--plat-name" 40 "linux" 41 ]; 42 43 preBuild = '' 44 export CC=${stdenv.cc.targetPrefix}cc 45 substituteInPlace pyvex_c/Makefile \ 46 --replace-fail 'AR=ar' 'AR=${stdenv.cc.targetPrefix}ar' 47 ''; 48 49 # No tests are available on PyPI, GitHub release has tests 50 # Switch to GitHub release after all angr parts are present 51 doCheck = false; 52 53 pythonImportsCheck = [ "pyvex" ]; 54 55 meta = with lib; { 56 description = "Python interface to libVEX and VEX IR"; 57 homepage = "https://github.com/angr/pyvex"; 58 license = with licenses; [ 59 bsd2 60 gpl3Plus 61 lgpl3Plus 62 ]; 63 maintainers = with maintainers; [ fab ]; 64 }; 65}