1{ 2 lib, 3 stdenv, 4 fetchPypi, 5 buildPythonPackage, 6 libmediainfo, 7 setuptools-scm, 8 pytest, 9 glibcLocales, 10 pythonOlder, 11}: 12 13buildPythonPackage rec { 14 pname = "pymediainfo"; 15 version = "6.1.0"; 16 format = "setuptools"; 17 18 disabled = pythonOlder "3.7"; 19 20 src = fetchPypi { 21 inherit pname version; 22 hash = "sha256-GGoLQalFJPCYTQhcprlFx5olRGW3CX8lYNwMBOjR2KU="; 23 }; 24 25 postPatch = '' 26 substituteInPlace pymediainfo/__init__.py \ 27 --replace "libmediainfo.0.dylib" \ 28 "${libmediainfo}/lib/libmediainfo.0${stdenv.hostPlatform.extensions.sharedLibrary}" \ 29 --replace "libmediainfo.dylib" \ 30 "${libmediainfo}/lib/libmediainfo${stdenv.hostPlatform.extensions.sharedLibrary}" \ 31 --replace "libmediainfo.so.0" \ 32 "${libmediainfo}/lib/libmediainfo${stdenv.hostPlatform.extensions.sharedLibrary}.0" 33 ''; 34 35 nativeBuildInputs = [ setuptools-scm ]; 36 37 nativeCheckInputs = [ 38 glibcLocales 39 pytest 40 ]; 41 42 checkPhase = '' 43 export LC_ALL=en_US.UTF-8 44 py.test -k 'not test_parse_url' tests 45 ''; 46 47 pythonImportsCheck = [ "pymediainfo" ]; 48 49 meta = with lib; { 50 description = "Python wrapper for the mediainfo library"; 51 homepage = "https://github.com/sbraz/pymediainfo"; 52 changelog = "https://github.com/sbraz/pymediainfo/releases/tag/v${version}"; 53 license = licenses.mit; 54 maintainers = with maintainers; [ ]; 55 }; 56}