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