1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 nix-update-script,
6 setuptools,
7 pkg-config,
8 swig,
9 libcdio,
10 libiconv,
11 pytestCheckHook,
12}:
13
14buildPythonPackage rec {
15 pname = "pycdio";
16 version = "2.1.1-unstable-2024-02-26";
17 pyproject = true;
18
19 src = fetchFromGitHub {
20 owner = "rocky";
21 repo = "pycdio";
22 rev = "806c6a2eeeeb546055ce2ac9a0ae6a14ea53ae35"; # no tag for this version (yet)
23 hash = "sha256-bOm82mBUIaw4BGHj3Y24Fv5+RfAew+Ma1u4QENXoRiU=";
24 };
25
26 preConfigure = ''
27 patchShebangs .
28 '';
29
30 build-system = [ setuptools ];
31
32 nativeBuildInputs = [
33 pkg-config
34 swig
35 ];
36
37 buildInputs = [
38 libcdio
39 libiconv
40 ];
41
42 nativeCheckInputs = [ pytestCheckHook ];
43
44 enabledTestPaths = [ "test/test-*.py" ];
45
46 passthru.updateScript = nix-update-script {
47 extraArgs = [ "--version=branch" ];
48 };
49
50 meta = {
51 homepage = "https://www.gnu.org/software/libcdio/";
52 changelog = "https://github.com/rocky/pycdio/blob/${src.rev}/ChangeLog";
53 description = "Wrapper around libcdio (CD Input and Control library)";
54 license = lib.licenses.gpl3Plus;
55 maintainers = with lib.maintainers; [ sigmanificient ];
56 };
57}