mirror of
https://git.busybox.net/buildroot.git
synced 2024-11-29 00:13:30 +08:00
Add pygame package
[Peter: drop menu for suboptions] Signed-off-by: Julien Boibessot <julien.boibessot@armadeus.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
This commit is contained in:
parent
b0ff93adfb
commit
dda08e492d
@ -243,6 +243,7 @@ menu "external python modules"
|
||||
source "package/python-dpkt/Config.in"
|
||||
source "package/python-mad/Config.in"
|
||||
source "package/python-netifaces/Config.in"
|
||||
source "package/python-pygame/Config.in"
|
||||
source "package/python-serial/Config.in"
|
||||
source "package/python-setuptools/Config.in"
|
||||
endmenu
|
||||
|
49
package/python-pygame/Config.in
Normal file
49
package/python-pygame/Config.in
Normal file
@ -0,0 +1,49 @@
|
||||
config BR2_PACKAGE_PYTHON_PYGAME
|
||||
bool "pygame"
|
||||
depends on BR2_PACKAGE_PYTHON
|
||||
select BR2_PACKAGE_SDL
|
||||
help
|
||||
Pygame is a cross-platfrom library designed to make it easy to write
|
||||
multimedia software, such as games, in Python. Pygame requires the
|
||||
Python language and SDL multimedia library.
|
||||
It can also make use of several other popular libraries.
|
||||
|
||||
http://www.pygame.org/
|
||||
|
||||
if BR2_PACKAGE_PYTHON_PYGAME
|
||||
config BR2_PACKAGE_PYTHON_PYGAME_IMAGE
|
||||
bool "pygame.image"
|
||||
select BR2_PACKAGE_SDL_IMAGE
|
||||
select BR2_PACKAGE_SDL_IMAGE_PNG
|
||||
select BR2_PACKAGE_SDL_IMAGE_JPEG
|
||||
help
|
||||
pygame module for loading, saving and transfering images.
|
||||
Will autoselect sdl_image with png and jpeg support.
|
||||
|
||||
config BR2_PACKAGE_PYTHON_PYGAME_FONT
|
||||
bool "pygame.font"
|
||||
select BR2_PACKAGE_SDL_TTF
|
||||
help
|
||||
pygame module for loading and rendering fonts.
|
||||
Will autoselect sdl_ttf.
|
||||
|
||||
config BR2_PACKAGE_PYTHON_PYGAME_MIXER
|
||||
bool "pygame.mixer"
|
||||
select BR2_PACKAGE_SDL_MIXER
|
||||
help
|
||||
pygame module for loading and playing sounds.
|
||||
Will autoselect sdl_mixer.
|
||||
|
||||
config BR2_PACKAGE_PYTHON_PYGAME_MIXER_MUSIC
|
||||
bool "pygame.mixer.music"
|
||||
depends on BR2_PACKAGE_PYTHON_PYGAME_MIXER
|
||||
help
|
||||
pygame module for controlling streamed audio
|
||||
|
||||
config BR2_PACKAGE_PYTHON_PYGAME_SCRAP
|
||||
bool "pygame.scrap"
|
||||
depends on BR2_PACKAGE_SDL_X11
|
||||
help
|
||||
pygame module for clipboard support (X11 needed)
|
||||
|
||||
endif
|
111
package/python-pygame/python-pygame.mk
Normal file
111
package/python-pygame/python-pygame.mk
Normal file
@ -0,0 +1,111 @@
|
||||
#############################################################
|
||||
#
|
||||
# Pygame
|
||||
#
|
||||
#############################################################
|
||||
# stable 1.9.1 release requires V4L which has been wiped out of recent Linux
|
||||
# kernels, so use latest mercurial revision until next stable release is out.
|
||||
PYTHON_PYGAME_VERSION = f0bb4a4b365d
|
||||
PYTHON_PYGAME_SOURCE = pygame-$(PYTHON_PYGAME_VERSION).tar.gz
|
||||
PYTHON_PYGAME_SITE = https://bitbucket.org/pygame/pygame
|
||||
PYTHON_PYGAME_SITE_METHOD = hg
|
||||
|
||||
ifeq ($(BR2_PACKAGE_PYTHON_PYGAME_IMAGE),y)
|
||||
PYTHON_PYGAME_OPT_DEPENDS += sdl_image
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_PYTHON_PYGAME_FONT),y)
|
||||
PYTHON_PYGAME_OPT_DEPENDS += sdl_ttf
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_PYTHON_PYGAME_MIXER),y)
|
||||
PYTHON_PYGAME_OPT_DEPENDS += sdl_mixer
|
||||
endif
|
||||
|
||||
PYTHON_PYGAME_DEPENDENCIES = python sdl $(PYTHON_PYGAME_OPT_DEPENDS)
|
||||
|
||||
ifneq ($(BR2_PACKAGE_PYTHON_PYGAME_IMAGE),y)
|
||||
define PYTHON_PYGAME_UNCONFIGURE_IMAGE
|
||||
$(SED) 's/^imageext/#imageext/' $(@D)/Setup
|
||||
endef
|
||||
endif
|
||||
|
||||
ifneq ($(BR2_PACKAGE_PYTHON_PYGAME_FONT),y)
|
||||
define PYTHON_PYGAME_UNCONFIGURE_FONT
|
||||
$(SED) 's/^font/#font/' $(@D)/Setup
|
||||
endef
|
||||
endif
|
||||
|
||||
ifneq ($(BR2_PACKAGE_PYTHON_PYGAME_MIXER),y)
|
||||
define PYTHON_PYGAME_UNCONFIGURE_MIXER
|
||||
$(SED) 's/^mixer/#mixer/g' $(@D)/Setup
|
||||
endef
|
||||
endif
|
||||
|
||||
# Both require numpy or numeric python module
|
||||
define PYTHON_PYGAME_UNCONFIGURE_SNDARRAY
|
||||
$(SED) 's/^_numericsndarray/#_numericsndarray/' $(@D)/Setup
|
||||
endef
|
||||
|
||||
define PYTHON_PYGAME_UNCONFIGURE_SURFARRAY
|
||||
$(SED) 's/^_numericsurfarray/#_numericsurfarray/' $(@D)/Setup
|
||||
endef
|
||||
|
||||
# Requires smpeg
|
||||
define PYTHON_PYGAME_UNCONFIGURE_MOVIE
|
||||
$(SED) 's/^movie/#movie/' $(@D)/Setup
|
||||
endef
|
||||
|
||||
ifneq ($(BR2_PACKAGE_PYTHON_PYGAME_SCRAP),y)
|
||||
define PYTHON_PYGAME_UNCONFIGURE_SCRAP
|
||||
$(SED) 's/^scrap/#scrap/' $(@D)/Setup
|
||||
endef
|
||||
endif
|
||||
|
||||
PYTHON_PYGAME_SDL_FLAGS = $(shell $(STAGING_DIR)/usr/bin/sdl-config --cflags)
|
||||
PYTHON_PYGAME_SDL_FLAGS += $(shell $(STAGING_DIR)/usr/bin/sdl-config --libs)
|
||||
|
||||
# Pygame needs a Setup file where options should be commented out if
|
||||
# dependencies are not available
|
||||
define PYTHON_PYGAME_CONFIGURE_CMDS
|
||||
cp -f $(@D)/Setup.in $(@D)/Setup
|
||||
$(SED) 's~^SDL = ~SDL = $(PYTHON_PYGAME_SDL_FLAGS) \n#~' $(@D)/Setup
|
||||
$(SED) 's/^pypm/#pypm/' $(@D)/Setup
|
||||
$(PYTHON_PYGAME_UNCONFIGURE_IMAGE)
|
||||
$(PYTHON_PYGAME_UNCONFIGURE_FONT)
|
||||
$(PYTHON_PYGAME_UNCONFIGURE_MIXER)
|
||||
$(PYTHON_PYGAME_UNCONFIGURE_SNDARRAY)
|
||||
$(PYTHON_PYGAME_UNCONFIGURE_SURFARRAY)
|
||||
$(PYTHON_PYGAME_UNCONFIGURE_MOVIE)
|
||||
$(PYTHON_PYGAME_UNCONFIGURE_SCRAP)
|
||||
endef
|
||||
|
||||
define PYTHON_PYGAME_BUILD_CMDS
|
||||
(cd $(@D); CC="$(TARGET_CC)" CFLAGS="$(TARGET_CFLAGS)" \
|
||||
LDSHARED="$(TARGET_CROSS)gcc -shared" \
|
||||
CROSS_COMPILING=yes \
|
||||
_python_sysroot=$(STAGING_DIR) \
|
||||
_python_srcdir=$(BUILD_DIR)/python$(PYTHON_VERSION) \
|
||||
_python_prefix=/usr \
|
||||
_python_exec_prefix=/usr \
|
||||
$(HOST_DIR)/usr/bin/python setup.py build)
|
||||
endef
|
||||
|
||||
ifneq ($(BR2_HAVE_DOCUMENTATION),y)
|
||||
define PYTHON_PYGAME_REMOVE_DOC
|
||||
rm -rf $(TARGET_DIR)/usr/lib/python*/site-packages/pygame/docs
|
||||
endef
|
||||
endif
|
||||
|
||||
define PYTHON_PYGAME_INSTALL_TARGET_CMDS
|
||||
(cd $(@D); $(HOST_DIR)/usr/bin/python setup.py install \
|
||||
--prefix=$(TARGET_DIR)/usr)
|
||||
rm -rf $(TARGET_DIR)/usr/lib/python*/site-packages/pygame/tests
|
||||
$(PYTHON_PYGAME_REMOVE_DOC)
|
||||
endef
|
||||
|
||||
define PYTHON_PYGAME_UNINSTALL_TARGET_CMDS
|
||||
rm -rf $(TARGET_DIR)/usr/lib/python*/site-packages/pygame*
|
||||
endef
|
||||
|
||||
$(eval $(call GENTARGETS))
|
Loading…
Reference in New Issue
Block a user