2
1

python-pygame.mk 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. ################################################################################
  2. #
  3. # python-pygame
  4. #
  5. ################################################################################
  6. # stable 1.9.1 release requires V4L which has been wiped out of recent Linux
  7. # kernels, so use latest mercurial revision until next stable release is out.
  8. PYTHON_PYGAME_VERSION = f0bb4a4b365d
  9. PYTHON_PYGAME_SOURCE = pygame-$(PYTHON_PYGAME_VERSION).tar.gz
  10. PYTHON_PYGAME_SITE = https://bitbucket.org/pygame/pygame
  11. PYTHON_PYGAME_SITE_METHOD = hg
  12. PYTHON_PYGAME_SETUP_TYPE = distutils
  13. ifeq ($(BR2_PACKAGE_PYTHON_PYGAME_IMAGE),y)
  14. PYTHON_PYGAME_OPT_DEPENDS += sdl_image
  15. endif
  16. ifeq ($(BR2_PACKAGE_PYTHON_PYGAME_FONT),y)
  17. PYTHON_PYGAME_OPT_DEPENDS += sdl_ttf
  18. endif
  19. ifeq ($(BR2_PACKAGE_PYTHON_PYGAME_MIXER),y)
  20. PYTHON_PYGAME_OPT_DEPENDS += sdl_mixer
  21. endif
  22. PYTHON_PYGAME_DEPENDENCIES = sdl $(PYTHON_PYGAME_OPT_DEPENDS)
  23. ifneq ($(BR2_PACKAGE_PYTHON_PYGAME_IMAGE),y)
  24. define PYTHON_PYGAME_UNCONFIGURE_IMAGE
  25. $(SED) 's/^imageext/#imageext/' $(@D)/Setup
  26. endef
  27. endif
  28. ifneq ($(BR2_PACKAGE_PYTHON_PYGAME_FONT),y)
  29. define PYTHON_PYGAME_UNCONFIGURE_FONT
  30. $(SED) 's/^font/#font/' $(@D)/Setup
  31. endef
  32. endif
  33. ifneq ($(BR2_PACKAGE_PYTHON_PYGAME_MIXER),y)
  34. define PYTHON_PYGAME_UNCONFIGURE_MIXER
  35. $(SED) 's/^mixer/#mixer/g' $(@D)/Setup
  36. endef
  37. endif
  38. # Both require numpy or numeric python module
  39. define PYTHON_PYGAME_UNCONFIGURE_SNDARRAY
  40. $(SED) 's/^_numericsndarray/#_numericsndarray/' $(@D)/Setup
  41. endef
  42. define PYTHON_PYGAME_UNCONFIGURE_SURFARRAY
  43. $(SED) 's/^_numericsurfarray/#_numericsurfarray/' $(@D)/Setup
  44. endef
  45. # Requires smpeg
  46. define PYTHON_PYGAME_UNCONFIGURE_MOVIE
  47. $(SED) 's/^movie/#movie/' $(@D)/Setup
  48. endef
  49. ifneq ($(BR2_PACKAGE_PYTHON_PYGAME_SCRAP),y)
  50. define PYTHON_PYGAME_UNCONFIGURE_SCRAP
  51. $(SED) 's/^scrap/#scrap/' $(@D)/Setup
  52. endef
  53. endif
  54. PYTHON_PYGAME_SDL_FLAGS = $(shell $(STAGING_DIR)/usr/bin/sdl-config --cflags)
  55. PYTHON_PYGAME_SDL_FLAGS += $(shell $(STAGING_DIR)/usr/bin/sdl-config --libs)
  56. # Pygame needs a Setup file where options should be commented out if
  57. # dependencies are not available
  58. define PYTHON_PYGAME_CONFIGURE_CMDS
  59. cp -f $(@D)/Setup.in $(@D)/Setup
  60. $(SED) 's~^SDL = ~SDL = $(PYTHON_PYGAME_SDL_FLAGS) \n#~' $(@D)/Setup
  61. $(SED) 's/^pypm/#pypm/' $(@D)/Setup
  62. $(PYTHON_PYGAME_UNCONFIGURE_IMAGE)
  63. $(PYTHON_PYGAME_UNCONFIGURE_FONT)
  64. $(PYTHON_PYGAME_UNCONFIGURE_MIXER)
  65. $(PYTHON_PYGAME_UNCONFIGURE_SNDARRAY)
  66. $(PYTHON_PYGAME_UNCONFIGURE_SURFARRAY)
  67. $(PYTHON_PYGAME_UNCONFIGURE_MOVIE)
  68. $(PYTHON_PYGAME_UNCONFIGURE_SCRAP)
  69. endef
  70. ifneq ($(BR2_HAVE_DOCUMENTATION),y)
  71. define PYTHON_PYGAME_REMOVE_DOC
  72. rm -rf $(TARGET_DIR)/usr/lib/python*/site-packages/pygame/docs
  73. endef
  74. PYTHON_PYGAME_POST_INSTALL_TARGET_HOOKS += PYTHON_PYGAME_REMOVE_DOC
  75. endif
  76. define PYTHON_PYGAME_REMOVE_TESTS
  77. rm -rf $(TARGET_DIR)/usr/lib/python*/site-packages/pygame/tests
  78. endef
  79. PYTHON_PYGAME_POST_INSTALL_TARGET_HOOKS += PYTHON_PYGAME_REMOVE_TESTS
  80. $(eval $(python-package))