1{ stdenv, fetchPypi, buildPythonPackage
2, libmediainfo
3, setuptools_scm
4, pytest, glibcLocales }:
5
6buildPythonPackage rec {
7 pname = "pymediainfo";
8 version = "2.3.0";
9
10 src = fetchPypi {
11 inherit pname version;
12 sha256 = "1d0mxxycacimy46b08q44xyxkyji7rrs7viwc3wkpckhqs54q24x";
13 };
14
15 postPatch = ''
16 substituteInPlace pymediainfo/__init__.py \
17 --replace 'CDLL(library_file)' \
18 'CDLL("${libmediainfo}/lib/libmediainfo${stdenv.hostPlatform.extensions.sharedLibrary}")' \
19 --replace 'CDLL("libmediainfo.0.dylib")' \
20 'CDLL("${libmediainfo}/lib/libmediainfo.0${stdenv.hostPlatform.extensions.sharedLibrary}")' \
21 --replace 'CDLL("libmediainfo.dylib")' \
22 'CDLL("${libmediainfo}/lib/libmediainfo${stdenv.hostPlatform.extensions.sharedLibrary}")' \
23 --replace 'CDLL("libmediainfo.so.0")' \
24 'CDLL("${libmediainfo}/lib/libmediainfo${stdenv.hostPlatform.extensions.sharedLibrary}.0")'
25 '';
26
27 nativeBuildInputs = [ setuptools_scm ];
28
29 checkInputs = [ glibcLocales pytest ];
30
31 checkPhase = ''
32 export LC_ALL=en_US.UTF-8
33 py.test -k 'not test_parse_url' tests
34 '';
35
36 meta = with stdenv.lib; {
37 description = "Python wrapper for the mediainfo library";
38 homepage = https://github.com/sbraz/pymediainfo;
39 license = licenses.mit;
40 maintainers = with maintainers; [ jfrankenau ];
41 };
42}