python-pygame.mk 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106
  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. PYTHON_PYGAME_LICENSE = LGPLv2.1+
  14. PYTHON_PYGAME_LICENSE_FILES = LGPL
  15. ifeq ($(BR2_PACKAGE_PYTHON_PYGAME_IMAGE),y)
  16. PYTHON_PYGAME_OPT_DEPENDS += sdl_image
  17. endif
  18. ifeq ($(BR2_PACKAGE_PYTHON_PYGAME_FONT),y)
  19. PYTHON_PYGAME_OPT_DEPENDS += sdl_ttf
  20. endif
  21. ifeq ($(BR2_PACKAGE_PYTHON_PYGAME_MIXER),y)
  22. PYTHON_PYGAME_OPT_DEPENDS += sdl_mixer
  23. endif
  24. PYTHON_PYGAME_DEPENDENCIES = sdl $(PYTHON_PYGAME_OPT_DEPENDS)
  25. ifneq ($(BR2_PACKAGE_PYTHON_PYGAME_IMAGE),y)
  26. define PYTHON_PYGAME_UNCONFIGURE_IMAGE
  27. $(SED) 's/^imageext/#imageext/' $(@D)/Setup
  28. endef
  29. endif
  30. ifneq ($(BR2_PACKAGE_PYTHON_PYGAME_FONT),y)
  31. define PYTHON_PYGAME_UNCONFIGURE_FONT
  32. $(SED) 's/^font/#font/' $(@D)/Setup
  33. endef
  34. endif
  35. ifneq ($(BR2_PACKAGE_PYTHON_PYGAME_MIXER),y)
  36. define PYTHON_PYGAME_UNCONFIGURE_MIXER
  37. $(SED) 's/^mixer/#mixer/g' $(@D)/Setup
  38. endef
  39. endif
  40. # Both require numpy or numeric python module
  41. define PYTHON_PYGAME_UNCONFIGURE_SNDARRAY
  42. $(SED) 's/^_numericsndarray/#_numericsndarray/' $(@D)/Setup
  43. endef
  44. define PYTHON_PYGAME_UNCONFIGURE_SURFARRAY
  45. $(SED) 's/^_numericsurfarray/#_numericsurfarray/' $(@D)/Setup
  46. endef
  47. # Requires smpeg
  48. define PYTHON_PYGAME_UNCONFIGURE_MOVIE
  49. $(SED) 's/^movie/#movie/' $(@D)/Setup
  50. endef
  51. ifneq ($(BR2_PACKAGE_PYTHON_PYGAME_SCRAP),y)
  52. define PYTHON_PYGAME_UNCONFIGURE_SCRAP
  53. $(SED) 's/^scrap/#scrap/' $(@D)/Setup
  54. endef
  55. endif
  56. PYTHON_PYGAME_SDL_FLAGS = `$(STAGING_DIR)/usr/bin/sdl-config --cflags`
  57. PYTHON_PYGAME_SDL_FLAGS += `$(STAGING_DIR)/usr/bin/sdl-config --libs`
  58. # Pygame needs a Setup file where options should be commented out if
  59. # dependencies are not available
  60. define PYTHON_PYGAME_CONFIGURE_CMDS
  61. cp -f $(@D)/Setup.in $(@D)/Setup
  62. $(SED) "s~^SDL = ~SDL = $(PYTHON_PYGAME_SDL_FLAGS) \n#~" $(@D)/Setup
  63. $(SED) 's/^pypm/#pypm/' $(@D)/Setup
  64. $(PYTHON_PYGAME_UNCONFIGURE_IMAGE)
  65. $(PYTHON_PYGAME_UNCONFIGURE_FONT)
  66. $(PYTHON_PYGAME_UNCONFIGURE_MIXER)
  67. $(PYTHON_PYGAME_UNCONFIGURE_SNDARRAY)
  68. $(PYTHON_PYGAME_UNCONFIGURE_SURFARRAY)
  69. $(PYTHON_PYGAME_UNCONFIGURE_MOVIE)
  70. $(PYTHON_PYGAME_UNCONFIGURE_SCRAP)
  71. endef
  72. define PYTHON_PYGAME_REMOVE_DOC
  73. rm -rf $(TARGET_DIR)/usr/lib/python*/site-packages/pygame/docs
  74. endef
  75. PYTHON_PYGAME_POST_INSTALL_TARGET_HOOKS += PYTHON_PYGAME_REMOVE_DOC
  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. ifneq ($(BR2_PACKAGE_PYTHON_PYGAME_EXAMPLES),y)
  81. define PYTHON_PYGAME_REMOVE_EXAMPLES
  82. rm -rf $(TARGET_DIR)/usr/lib/python$(PYTHON_VERSION_MAJOR)/site-packages/pygame/examples
  83. endef
  84. PYTHON_PYGAME_POST_INSTALL_TARGET_HOOKS += PYTHON_PYGAME_REMOVE_EXAMPLES
  85. endif
  86. $(eval $(python-package))