xref: /OK3568_Linux_fs/buildroot/package/python-pygame/python-pygame.mk (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1################################################################################
2#
3# python-pygame
4#
5################################################################################
6
7# stable 1.9.1 release requires V4L which has been wiped out of recent Linux
8# kernels, so use latest mercurial revision until next stable release is out.
9PYTHON_PYGAME_VERSION = d61ea8eabd56
10PYTHON_PYGAME_SOURCE = pygame-$(PYTHON_PYGAME_VERSION).tar.gz
11PYTHON_PYGAME_SITE = https://bitbucket.org/pygame/pygame
12PYTHON_PYGAME_SITE_METHOD = hg
13PYTHON_PYGAME_SETUP_TYPE = distutils
14PYTHON_PYGAME_LICENSE = LGPL-2.1+
15PYTHON_PYGAME_LICENSE_FILES = LGPL
16
17ifeq ($(BR2_PACKAGE_PYTHON_PYGAME_IMAGE),y)
18PYTHON_PYGAME_OPT_DEPENDS += sdl_image
19endif
20
21ifeq ($(BR2_PACKAGE_PYTHON_PYGAME_FONT),y)
22PYTHON_PYGAME_OPT_DEPENDS += sdl_ttf
23endif
24
25ifeq ($(BR2_PACKAGE_PYTHON_PYGAME_MIXER),y)
26PYTHON_PYGAME_OPT_DEPENDS += sdl_mixer
27endif
28
29PYTHON_PYGAME_DEPENDENCIES = sdl $(PYTHON_PYGAME_OPT_DEPENDS)
30
31ifneq ($(BR2_PACKAGE_PYTHON_PYGAME_IMAGE),y)
32define PYTHON_PYGAME_UNCONFIGURE_IMAGE
33	$(SED) 's/^imageext/#imageext/' $(@D)/Setup
34endef
35endif
36
37ifneq ($(BR2_PACKAGE_PYTHON_PYGAME_FONT),y)
38define PYTHON_PYGAME_UNCONFIGURE_FONT
39	$(SED) 's/^font/#font/' $(@D)/Setup
40endef
41endif
42
43ifneq ($(BR2_PACKAGE_PYTHON_PYGAME_MIXER),y)
44define PYTHON_PYGAME_UNCONFIGURE_MIXER
45	$(SED) 's/^mixer/#mixer/g' $(@D)/Setup
46endef
47endif
48
49# Both require numpy or numeric python module
50define PYTHON_PYGAME_UNCONFIGURE_SNDARRAY
51	$(SED) 's/^_numericsndarray/#_numericsndarray/' $(@D)/Setup
52endef
53
54define PYTHON_PYGAME_UNCONFIGURE_SURFARRAY
55	$(SED) 's/^_numericsurfarray/#_numericsurfarray/' $(@D)/Setup
56endef
57
58# Requires smpeg
59define PYTHON_PYGAME_UNCONFIGURE_MOVIE
60	$(SED) 's/^movie/#movie/' $(@D)/Setup
61endef
62
63ifneq ($(BR2_PACKAGE_PYTHON_PYGAME_SCRAP),y)
64define PYTHON_PYGAME_UNCONFIGURE_SCRAP
65	$(SED) 's/^scrap/#scrap/' $(@D)/Setup
66endef
67endif
68
69define PYTHON_PYGAME_UNCONFIGURE_FREETYPE
70	$(SED) 's/^_freetype/#_freetype/' $(@D)/Setup
71endef
72
73PYTHON_PYGAME_SDL_FLAGS = `$(STAGING_DIR)/usr/bin/sdl-config --cflags`
74PYTHON_PYGAME_SDL_FLAGS += `$(STAGING_DIR)/usr/bin/sdl-config --libs`
75
76# Pygame needs a Setup file where options should be commented out if
77# dependencies are not available
78define PYTHON_PYGAME_CONFIGURE_CMDS
79	cp -f $(@D)/Setup.in $(@D)/Setup
80	$(SED) "s~^SDL = ~SDL = $(PYTHON_PYGAME_SDL_FLAGS) \n#~" $(@D)/Setup
81	$(SED) 's/^pypm/#pypm/' $(@D)/Setup
82	$(PYTHON_PYGAME_UNCONFIGURE_IMAGE)
83	$(PYTHON_PYGAME_UNCONFIGURE_FONT)
84	$(PYTHON_PYGAME_UNCONFIGURE_MIXER)
85	$(PYTHON_PYGAME_UNCONFIGURE_SNDARRAY)
86	$(PYTHON_PYGAME_UNCONFIGURE_SURFARRAY)
87	$(PYTHON_PYGAME_UNCONFIGURE_MOVIE)
88	$(PYTHON_PYGAME_UNCONFIGURE_SCRAP)
89	$(PYTHON_PYGAME_UNCONFIGURE_FREETYPE)
90endef
91
92define PYTHON_PYGAME_REMOVE_DOC
93	rm -rf $(TARGET_DIR)/usr/lib/python*/site-packages/pygame/docs
94endef
95
96PYTHON_PYGAME_POST_INSTALL_TARGET_HOOKS += PYTHON_PYGAME_REMOVE_DOC
97
98define PYTHON_PYGAME_REMOVE_TESTS
99	rm -rf $(TARGET_DIR)/usr/lib/python*/site-packages/pygame/tests
100endef
101
102PYTHON_PYGAME_POST_INSTALL_TARGET_HOOKS += PYTHON_PYGAME_REMOVE_TESTS
103
104ifneq ($(BR2_PACKAGE_PYTHON_PYGAME_EXAMPLES),y)
105define PYTHON_PYGAME_REMOVE_EXAMPLES
106	rm -rf $(TARGET_DIR)/usr/lib/python$(PYTHON_VERSION_MAJOR)/site-packages/pygame/examples
107endef
108PYTHON_PYGAME_POST_INSTALL_TARGET_HOOKS += PYTHON_PYGAME_REMOVE_EXAMPLES
109endif
110
111$(eval $(python-package))
112