1{ lib, fetchPypi, buildPythonPackage, python, pkg-config, libX11
2, SDL2, SDL2_image, SDL2_mixer, SDL2_ttf, libpng, libjpeg, portmidi, freetype
3}:
4
5buildPythonPackage rec {
6 pname = "pygame";
7 version = "2.0.1";
8
9 src = fetchPypi {
10 inherit pname version;
11 sha256 = "8b1e7b63f47aafcdd8849933b206778747ef1802bd3d526aca45ed77141e4001";
12 };
13
14 nativeBuildInputs = [
15 pkg-config SDL2
16 ];
17
18 buildInputs = [
19 SDL2 SDL2_image SDL2_mixer SDL2_ttf libpng libjpeg
20 portmidi libX11 freetype
21 ];
22
23 # Tests fail because of no audio device and display.
24 doCheck = false;
25
26 preConfigure = ''
27 sed \
28 -e "s/origincdirs = .*/origincdirs = []/" \
29 -e "s/origlibdirs = .*/origlibdirs = []/" \
30 -e "/linux-gnu/d" \
31 -i buildconfig/config_unix.py
32 ${lib.concatMapStrings (dep: ''
33 sed \
34 -e "/origincdirs =/a\ origincdirs += ['${lib.getDev dep}/include']" \
35 -e "/origlibdirs =/a\ origlibdirs += ['${lib.getLib dep}/lib']" \
36 -i buildconfig/config_unix.py
37 '') buildInputs
38 }
39 LOCALBASE=/ ${python.interpreter} buildconfig/config.py
40 '';
41
42 meta = with lib; {
43 description = "Python library for games";
44 homepage = "http://www.pygame.org/";
45 license = licenses.lgpl21Plus;
46 platforms = platforms.linux;
47 };
48}