1{ lib, fetchPypi, buildPythonPackage, python, pkg-config, libX11
2, SDL, SDL_image, SDL_mixer, SDL_ttf, libpng, libjpeg, portmidi, freetype
3}:
4
5buildPythonPackage rec {
6 pname = "pygame";
7 version = "1.9.6";
8
9 src = fetchPypi {
10 inherit pname version;
11 sha256 = "301c6428c0880ecd4a9e3951b80e539c33863b6ff356a443db1758de4f297957";
12 };
13
14 nativeBuildInputs = [
15 pkg-config SDL
16 ];
17
18 buildInputs = [
19 SDL SDL_image SDL_mixer SDL_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 "/'\/lib\/i386-linux-gnu', '\/lib\/x86_64-linux-gnu']/d" \
31 -e "/\/include\/smpeg/d" \
32 -i buildconfig/config_unix.py
33 ${lib.concatMapStrings (dep: ''
34 sed \
35 -e "/origincdirs =/a\ origincdirs += ['${lib.getDev dep}/include']" \
36 -e "/origlibdirs =/a\ origlibdirs += ['${lib.getLib dep}/lib']" \
37 -i buildconfig/config_unix.py
38 '') buildInputs
39 }
40 LOCALBASE=/ ${python.interpreter} buildconfig/config.py
41 '';
42
43 meta = with lib; {
44 description = "Python library for games";
45 homepage = "http://www.pygame.org/";
46 license = licenses.lgpl21Plus;
47 platforms = platforms.linux;
48 };
49}