1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 setuptools,
6 pulseaudio,
7}:
8
9buildPythonPackage rec {
10 pname = "pasimple";
11 version = "0.0.2";
12 pyproject = true;
13
14 src = fetchFromGitHub {
15 owner = "henrikschnor";
16 repo = "pasimple";
17 rev = "v${version}";
18 hash = "sha256-Z271FdBCqPFcQzVqGidL74nO85rO9clNvP4czAHmdEw=";
19 };
20
21 postPatch = ''
22 substituteInPlace pasimple/pa_simple.py --replace \
23 "_libpulse_simple = ctypes.CDLL('libpulse-simple.so.0')" \
24 "_libpulse_simple = ctypes.CDLL('${lib.getLib pulseaudio}/lib/libpulse-simple.so.0')"
25 '';
26
27 nativeBuildInputs = [ setuptools ];
28
29 pythonImportsCheck = [
30 "pasimple"
31 "pasimple.pa_simple"
32 ];
33
34 # no tests
35 doCheck = false;
36
37 meta = with lib; {
38 description = "Python wrapper for the \"PulseAudio simple API\". Supports playing and recording audio via PulseAudio and PipeWire";
39 homepage = "https://github.com/henrikschnor/pasimple";
40 license = licenses.mit;
41 maintainers = with maintainers; [ hexa ];
42 };
43}