python-pillow.mk 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. ################################################################################
  2. #
  3. # python-pillow
  4. #
  5. ################################################################################
  6. PYTHON_PILLOW_VERSION = 9.0.1
  7. PYTHON_PILLOW_SITE = https://files.pythonhosted.org/packages/03/a3/f61a9a7ff7969cdef2a6e0383a346eb327495d20d25a2de5a088dbb543a6
  8. PYTHON_PILLOW_SOURCE = Pillow-$(PYTHON_PILLOW_VERSION).tar.gz
  9. PYTHON_PILLOW_LICENSE = HPND
  10. PYTHON_PILLOW_LICENSE_FILES = LICENSE
  11. PYTHON_PILLOW_CPE_ID_VENDOR = python
  12. PYTHON_PILLOW_CPE_ID_PRODUCT = pillow
  13. PYTHON_PILLOW_SETUP_TYPE = setuptools
  14. PYTHON_PILLOW_BUILD_OPTS = --disable-platform-guessing
  15. ifeq ($(BR2_PACKAGE_FREETYPE),y)
  16. PYTHON_PILLOW_DEPENDENCIES += freetype
  17. PYTHON_PILLOW_BUILD_OPTS += --enable-freetype
  18. else
  19. PYTHON_PILLOW_BUILD_OPTS += --disable-freetype
  20. endif
  21. ifeq ($(BR2_PACKAGE_JPEG),y)
  22. PYTHON_PILLOW_DEPENDENCIES += jpeg
  23. PYTHON_PILLOW_BUILD_OPTS += --enable-jpeg
  24. else
  25. PYTHON_PILLOW_BUILD_OPTS += --disable-jpeg
  26. endif
  27. ifeq ($(BR2_PACKAGE_LCMS2),y)
  28. PYTHON_PILLOW_DEPENDENCIES += lcms2
  29. PYTHON_PILLOW_BUILD_OPTS += --enable-lcms
  30. else
  31. PYTHON_PILLOW_BUILD_OPTS += --disable-lcms
  32. endif
  33. ifeq ($(BR2_PACKAGE_LIBXCB),y)
  34. PYTHON_PILLOW_DEPENDENCIES += libxcb
  35. PYTHON_PILLOW_BUILD_OPTS += --enable-xcb
  36. else
  37. PYTHON_PILLOW_BUILD_OPTS += --disable-xcb
  38. endif
  39. ifeq ($(BR2_PACKAGE_OPENJPEG),y)
  40. PYTHON_PILLOW_DEPENDENCIES += openjpeg
  41. PYTHON_PILLOW_BUILD_OPTS += --enable-jpeg2000
  42. else
  43. PYTHON_PILLOW_BUILD_OPTS += --disable-jpeg2000
  44. endif
  45. ifeq ($(BR2_PACKAGE_TIFF),y)
  46. PYTHON_PILLOW_DEPENDENCIES += tiff
  47. PYTHON_PILLOW_BUILD_OPTS += --enable-tiff
  48. else
  49. PYTHON_PILLOW_BUILD_OPTS += --disable-tiff
  50. endif
  51. ifeq ($(BR2_PACKAGE_WEBP),y)
  52. PYTHON_PILLOW_DEPENDENCIES += webp
  53. PYTHON_PILLOW_BUILD_OPTS += --enable-webp
  54. ifeq ($(BR2_PACKAGE_WEBP_DEMUX)$(BR2_PACKAGE_WEBP_MUX),yy)
  55. PYTHON_PILLOW_BUILD_OPTS += --enable-webpmux
  56. else
  57. PYTHON_PILLOW_BUILD_OPTS += --disable-webpmux
  58. endif
  59. else
  60. PYTHON_PILLOW_BUILD_OPTS += --disable-webp --disable-webpmux
  61. endif
  62. define PYTHON_PILLOW_BUILD_CMDS
  63. cd $(PYTHON_PILLOW_BUILDDIR); \
  64. PKG_CONFIG_ALLOW_SYSTEM_CFLAGS=1 \
  65. $(PYTHON_PILLOW_BASE_ENV) $(PYTHON_PILLOW_ENV) \
  66. $(PYTHON_PILLOW_PYTHON_INTERPRETER) setup.py build_ext \
  67. $(PYTHON_PILLOW_BASE_BUILD_OPTS) $(PYTHON_PILLOW_BUILD_OPTS)
  68. endef
  69. define PYTHON_PILLOW_INSTALL_TARGET_CMDS
  70. cd $(PYTHON_PILLOW_BUILDDIR); \
  71. PKG_CONFIG_ALLOW_SYSTEM_CFLAGS=1 \
  72. $(PYTHON_PILLOW_BASE_ENV) $(PYTHON_PILLOW_ENV) \
  73. $(PYTHON_PILLOW_PYTHON_INTERPRETER) setup.py build_ext \
  74. $(PYTHON_PILLOW_BUILD_OPTS) install \
  75. $(PYTHON_PILLOW_BASE_INSTALL_TARGET_OPTS) \
  76. $(PYTHON_PILLOW_INSTALL_TARGET_OPTS)
  77. endef
  78. $(eval $(python-package))