1{
2 gcc,
3 buildPythonPackage,
4 fetchFromGitHub,
5 setuptools,
6 cffi,
7 pkg-config,
8 glfw3,
9 libffi,
10 raylib,
11 physac,
12 raygui,
13 lib,
14 writers,
15 raylib-python-cffi,
16}:
17
18buildPythonPackage rec {
19 pname = "raylib-python-cffi";
20 version = "5.5.0.3";
21 pyproject = true;
22
23 src = fetchFromGitHub {
24 owner = "electronstudio";
25 repo = "raylib-python-cffi";
26 tag = "v${version}";
27 hash = "sha256-VsdUOk26xXEwha7kGYHy4Cgwrr3yOiSlJg4nYn+ZYYs=";
28 };
29
30 build-system = [ setuptools ];
31 dependencies = [ cffi ];
32
33 patches = [ ./use-direct-pkg-config-name.patch ];
34
35 buildInputs = [
36 glfw3
37 libffi
38 raylib
39 physac
40 raygui
41 ];
42
43 nativeBuildInputs = [
44 pkg-config
45 gcc
46 ];
47
48 # tests require a graphic environment
49 doCheck = false;
50
51 pythonImportsCheck = [ "pyray" ];
52
53 passthru.tests = import ./passthru-tests.nix {
54 inherit src raylib-python-cffi writers;
55 };
56
57 meta = {
58 description = "Python CFFI bindings for Raylib";
59 homepage = "https://electronstudio.github.io/raylib-python-cffi";
60 license = lib.licenses.epl20;
61 maintainers = with lib.maintainers; [ sigmanificient ];
62 };
63}