Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
1{ 2 lib, 3 stdenv, 4 fetchPypi, 5 buildPythonPackage, 6 libmediainfo, 7 pdm-backend, 8 pytest, 9 pythonOlder, 10}: 11 12buildPythonPackage rec { 13 pname = "pymediainfo"; 14 version = "7.0.1"; 15 pyproject = true; 16 17 disabled = pythonOlder "3.9"; 18 19 src = fetchPypi { 20 inherit pname version; 21 hash = "sha256-DV31nsxhXiTFbzA7j2UVecasyrcmVxXl1CkYbXuiFRQ="; 22 }; 23 24 postPatch = '' 25 substituteInPlace src/pymediainfo/__init__.py \ 26 --replace "libmediainfo.0.dylib" \ 27 "${libmediainfo}/lib/libmediainfo.0${stdenv.hostPlatform.extensions.sharedLibrary}" \ 28 --replace "libmediainfo.dylib" \ 29 "${libmediainfo}/lib/libmediainfo${stdenv.hostPlatform.extensions.sharedLibrary}" \ 30 --replace "libmediainfo.so.0" \ 31 "${libmediainfo}/lib/libmediainfo${stdenv.hostPlatform.extensions.sharedLibrary}.0" 32 ''; 33 34 build-system = [ pdm-backend ]; 35 36 nativeCheckInputs = [ 37 pytest 38 ]; 39 40 checkPhase = '' 41 py.test -k 'not test_parse_url' tests 42 ''; 43 44 pythonImportsCheck = [ "pymediainfo" ]; 45 46 meta = { 47 description = "Python wrapper for the mediainfo library"; 48 homepage = "https://github.com/sbraz/pymediainfo"; 49 changelog = "https://github.com/sbraz/pymediainfo/releases/tag/v${version}"; 50 license = lib.licenses.mit; 51 maintainers = with lib.maintainers; [ philipdb ]; 52 }; 53}