kumquat-buildroot/package/python-lxml/python-lxml.mk
James Hilliard 8937db8dd5 package/pkg-python.mk: migrate setuptools to pep517
Now that setuptools and its dependencies are using pep517 we can
migrate the setuptools infrastructure itself to use the pep517
build frontend.

As part of this we need to migrate the all python packages using
_BUILD_OPTS to the new config settings format used by the pep517
build frontend.

We need to use a setup.cfg file to pass the pg_config path when
building python-psycopg2 as this package needs the pg_config
path for all internal build stages while -C--build-option= only
passes the flag to the internal bdist_wheel stage.

Use new setup type variables to define setup type specific
dependencies instead of using the conditional block.

In python-m2crypto, the --openssl option is a build_ext option
so we need to add -C--build-option build_ext in front of it.

We also need to set --skip-dependency-check for the following
packages which specify build dependencies that are not actually
required:
 - python-lxml
 - python-matplotlib
 - python-msgpack
 - python-pymupdf
 - python-uvloop
 - python-wsaccel

Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
Reviewed-by: Yegor Yefremov <yegorslists@googlemail.com>
[Arnout: fix indentation in python-pyzmq]
Signed-off-by: Arnout Vandecappelle <arnout@mind.be>
2024-04-01 22:12:57 +02:00

41 lines
1.5 KiB
Makefile

################################################################################
#
# python-lxml
#
################################################################################
PYTHON_LXML_VERSION = 5.1.0
PYTHON_LXML_SITE = https://files.pythonhosted.org/packages/2b/b4/bbccb250adbee490553b6a52712c46c20ea1ba533a643f1424b27ffc6845
PYTHON_LXML_SOURCE = lxml-$(PYTHON_LXML_VERSION).tar.gz
# Not including the GPL, because it is used only for the test scripts.
PYTHON_LXML_LICENSE = BSD-3-Clause, Others
PYTHON_LXML_LICENSE_FILES = \
LICENSES.txt \
doc/licenses/BSD.txt \
doc/licenses/elementtree.txt \
src/lxml/isoschematron/resources/rng/iso-schematron.rng
PYTHON_LXML_CPE_ID_VENDOR = lxml
PYTHON_LXML_CPE_ID_PRODUCT = lxml
# python-lxml can use either setuptools, or distutils as a fallback.
# So, we use setuptools.
PYTHON_LXML_SETUP_TYPE = setuptools
PYTHON_LXML_DEPENDENCIES = libxml2 libxslt zlib
HOST_PYTHON_LXML_DEPENDENCIES = host-libxml2 host-libxslt host-zlib
# python-lxml needs these scripts in order to properly detect libxml2 and
# libxslt compiler and linker flags
PYTHON_LXML_BUILD_OPTS = \
--skip-dependency-check \
-C--build-option=--xslt-config=$(STAGING_DIR)/usr/bin/xslt-config \
-C--build-option=--xml2-config=$(STAGING_DIR)/usr/bin/xml2-config
HOST_PYTHON_LXML_BUILD_OPTS = \
--skip-dependency-check \
-C--build-option=--xslt-config=$(HOST_DIR)/bin/xslt-config \
-C--build-option=--xml2-config=$(HOST_DIR)/bin/xml2-config
$(eval $(python-package))
$(eval $(host-python-package))