1{
2 lib,
3 buildPythonPackage,
4 fetchFromSourcehut,
5 pythonOlder,
6 cmake,
7 cython_0,
8 setuptools,
9 alure2,
10 typing-extensions,
11}:
12
13buildPythonPackage rec {
14 pname = "palace";
15 version = "0.2.5";
16 pyproject = true;
17
18 disabled = pythonOlder "3.6";
19
20 src = fetchFromSourcehut {
21 owner = "~cnx";
22 repo = pname;
23 rev = version;
24 sha256 = "1z0m35y4v1bg6vz680pwdicm9ssryl0q6dm9hfpb8hnifmridpcj";
25 };
26
27 # Nix uses Release CMake configuration instead of what is assumed by palace.
28 postPatch = ''
29 substituteInPlace CMakeLists.txt \
30 --replace IMPORTED_LOCATION_NOCONFIG IMPORTED_LOCATION_RELEASE
31 '';
32
33 build-system = [
34 cmake
35 cython_0
36 setuptools
37 ];
38
39 dontUseCmakeConfigure = true;
40
41 propagatedBuildInputs = [ alure2 ];
42
43 doCheck = false; # FIXME: tests need an audio device
44
45 pythonImportsCheck = [ "palace" ];
46
47 meta = with lib; {
48 description = "Pythonic Audio Library and Codecs Environment";
49 homepage = "https://mcsinyx.gitlab.io/palace";
50 license = licenses.lgpl3Plus;
51 maintainers = [ maintainers.McSinyx ];
52 };
53}