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