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