| ############################################################# |
| # |
| # 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 |
| $(TOPDIR)/support/scripts/simple_lock create $(TARGET_DIR)/usr/lib/python$(PYTHON_VERSION_MAJOR)/site-packages/easy-install.pth && \ |
| (cd $(@D); $(TOPDIR)/support/scripts/simple_lock create $(TARGET_DIR)/usr/lib/python$(PYTHON_VERSION_MAJOR)/site-packages/easy-install.pth && \ |
| $(HOST_DIR)/usr/bin/python setup.py install --prefix=$(TARGET_DIR)/usr && \ |
| $(TOPDIR)/support/scripts/simple_lock remove $(TARGET_DIR)/usr/lib/python$(PYTHON_VERSION_MAJOR)/site-packages/easy-install.pth) |
| 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)) |