1{ stdenv
2, buildPythonPackage
3, fetchPypi
4, pythonAtLeast
5, pythonOlder
6, paver
7, python
8, isPyPy
9, six
10, pathlib
11, python_magic
12, isPy3k
13, lib
14}:
15
16buildPythonPackage rec {
17 version = "0.8.9";
18 pname = "eyeD3";
19 disabled = isPyPy;
20
21 src = fetchPypi {
22 inherit pname version;
23 sha256 = "b6bb626566f2949da409d7a871576271e2d6254dfb3d416b21713dabc4b6b00f";
24 };
25
26 # https://github.com/nicfit/eyeD3/pull/284
27 postPatch = lib.optionalString (pythonAtLeast "3.4") ''
28 sed -ie '/pathlib/d' requirements/requirements.yml
29 '';
30
31 buildInputs = [ paver ];
32
33 # requires special test data:
34 # https://github.com/nicfit/eyeD3/blob/103198e265e3279384f35304e8218be6717c2976/Makefile#L97
35 doCheck = false;
36
37 propagatedBuildInputs = [ six python_magic ] ++ lib.optional (pythonOlder "3.4") pathlib;
38
39 postInstall = ''
40 for prog in "$out/bin/"*; do
41 wrapProgram "$prog" --prefix PYTHONPATH : "$PYTHONPATH" \
42 --prefix PATH : ${python}/bin
43 done
44 '';
45
46 meta = with stdenv.lib; {
47 description = "A Python module and command line program for processing ID3 tags";
48 homepage = http://eyed3.nicfit.net/;
49 license = licenses.gpl2;
50 maintainers = with maintainers; [ lovek323 ];
51 platforms = platforms.unix;
52 longDescription = ''
53 eyeD3 is a Python module and command line program for processing ID3
54 tags. Information about mp3 files (i.e bit rate, sample frequency, play
55 time, etc.) is also provided. The formats supported are ID3 v1.0/v1.1
56 and v2.3/v2.4.
57 '';
58 };
59
60}