Add 'pycdio', a Python wrapper for libcdio.

This commit is contained in:
Robert Helgesson 2014-11-07 12:18:56 +01:00
parent f811f1fc65
commit 442b097b0d
2 changed files with 84 additions and 0 deletions

View File

@ -0,0 +1,52 @@
diff -Nurp pycdio-0.20-orig/test/cdtext.toc pycdio-0.20/test/cdtext.toc
--- pycdio-0.20-orig/test/cdtext.toc 1970-01-01 01:00:00.000000000 +0100
+++ pycdio-0.20/test/cdtext.toc 2014-11-06 23:36:12.520708320 +0100
@@ -0,0 +1,48 @@
+CD_DA
+
+// global CD-TEXT data
+
+CD_TEXT {
+
+ // Mapping from language number (0..7) used in 'LANGUAGE' statements
+ // to language code.
+/// LANGUAGE_MAP {
+/// 0 : EN // 9 is the code for ENGLISH,
+/// // I don't know any other language code, yet
+/// }
+
+ // Language number should always start with 0
+ LANGUAGE 0 {
+ // Required fields - at least all CD-TEXT CDs I've seen so far have them.
+ TITLE "CD Title"
+ PERFORMER "Performer"
+ DISC_ID "XY12345"
+ UPC_EAN "" // usually empty
+
+ // Further possible items, all of them are optional
+ ARRANGER ""
+ SONGWRITER ""
+ MESSAGE ""
+ GENRE "" // I'm not sure if this should be really ascii data
+ }
+}
+
+
+TRACK AUDIO
+// track specific CD-TEXT data
+CD_TEXT {
+ LANGUAGE 0 {
+ // if an item is defined for one track it should be defined for all tracks
+ TITLE "Track Title"
+
+ PERFORMER "Performer"
+ ISRC "US-XX1-98-01234"
+
+ ARRANGER ""
+ SONGWRITER ""
+ MESSAGE ""
+ }
+}
+
+SILENCE 1:0:0
+

View File

@ -6690,6 +6690,38 @@ let
};
pycdio = buildPythonPackage rec {
name = "pycdio-0.20";
disabled = !isPy27;
src = pkgs.fetchurl {
url = "https://pypi.python.org/packages/source/p/pycdio/${name}.tar.gz";
sha256 = "1mrh233pj584gf7la64d4xlmvdnfl4jwpxs95lnd3i4zd5drid14";
};
buildInputs = [
self.setuptools self.nose pkgs.pkgconfig pkgs.swig pkgs.libcdio
];
patches = [ ../development/python-modules/pycdio/add-cdtext-toc.patch ];
# Run tests using nosetests but first need to install the binaries
# to the root source directory where they can be found.
checkPhase = ''
./setup.py install_lib -d .
nosetests
'';
meta = with stdenv.lib; {
homepage = http://www.gnu.org/software/libcdio/;
description = "Wrapper around libcdio (CD Input and Control library)";
maintainers = with maintainers; [ rycee ];
license = licenses.gpl3Plus;
};
};
pycryptopp = buildPythonPackage (rec {
name = "pycryptopp-0.6.0.1206569328141510525648634803928199668821045408958";
disabled = isPy3k || isPyPy; # see https://bitbucket.org/pypy/pypy/issue/1190/