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