Marcel Telka
2024-04-05 e8adc039459ddf6df29047bb7aa5748316372b82
commit | author | age
c3c523 1 #
MT 2 # This file and its contents are supplied under the terms of the
3 # Common Development and Distribution License ("CDDL"), version 1.0.
4 # You may only use this file in accordance with the terms of version
5 # 1.0 of the CDDL.
6 #
7 # A full copy of the text of the CDDL should have accompanied this
8 # source.  A copy of the CDDL is also available via the Internet at
9 # http://www.illumos.org/license/CDDL.
10 #
11
12 #
13 # This file was automatically generated using the following command:
14 #   $WS_TOOLS/python-integrate-project lxml
15 #
16
f6322d 17 BUILD_STYLE = pyproject
c3c523 18
MT 19 include ../../../make-rules/shared-macros.mk
20
21 COMPONENT_NAME =        lxml
e8adc0 22 HUMAN_VERSION =            5.2.1
c3c523 23 COMPONENT_SUMMARY =        lxml - Powerful and Pythonic XML processing library combining libxml2/libxslt with the ElementTree API.
MT 24 COMPONENT_PROJECT_URL =        https://lxml.de/
25 COMPONENT_ARCHIVE_HASH =    \
e8adc0 26     sha256:3f7765e69bbce0906a7c74d5fe46d2c7a7596147318dbc08e4a2431f3060e306
c3c523 27 COMPONENT_LICENSE =        BSD-3-Clause
MT 28 COMPONENT_LICENSE_FILE =    LICENSE.txt
29
30 # This project uses custom test style.
31 # See project's Makefile.
32 TEST_STYLE = custom
e8adc0 33
MT 34 #
35 # Following dependency loops were detected (where 'A --> B' means 'A needs B to
36 # run tests', and 'A ==> B' means 'A needs B for build and/or run'):
37 #
38 # lxml --> lxml_html_clean ==> lxml
39 #
40 # To break loops we need to allow this project to integrate without testing in
41 # a case the required projects are not available yet (bootstrap).
42 #
43 PYTHON_TEST_BOOTSTRAP = yes
c3c523 44
MT 45 include $(WS_MAKE_RULES)/common.mk
46
47 # This project uses custom test style.
48 # See project's Makefile.
49 COMPONENT_TEST_CMD =        $(PYTHON) test.py
50 COMPONENT_TEST_ARGS =        -vv
51 COMPONENT_TEST_TARGETS =
52
53 # The test.py uses modules from the src subdirectory, but compiled dynamic
54 # libraries are not available there.
55 #
56 # To workaround this we copy .so files from proto area back to build dir before
57 # we run tests.
58 COMPONENT_PRE_TEST_ACTION += \
59     $(CP) $(PROTO_DIR)/$(PYTHON_LIB)/$(COMPONENT_NAME)/*.so $(@D)/src/$(COMPONENT_NAME) ;
60
61 # Sort list of tests
62 COMPONENT_TEST_TRANSFORMS += \
63     " | ( \
a5623e 64         $(GSED) -u -e '/^$$/Q' | $(SORT) | $(NAWK) '{print}END{if(NR>0)printf(\"\\\\n\")}' ; \
c3c523 65         $(CAT) \
MT 66     )"
67
e8adc0 68 # This project does not support tox so we need to provide test requirements
MT 69 # manually.
70 TEST_REQUIREMENTS_EXTRAS += html-clean
71
c3c523 72 # Auto-generated dependencies
f6322d 73 PYTHON_REQUIRED_PACKAGES += library/python/cython
MT 74 PYTHON_REQUIRED_PACKAGES += library/python/setuptools
75 PYTHON_REQUIRED_PACKAGES += library/python/wheel
c3c523 76 PYTHON_REQUIRED_PACKAGES += runtime/python
MT 77 REQUIRED_PACKAGES += library/libxml2
78 REQUIRED_PACKAGES += library/libxslt
79 REQUIRED_PACKAGES += system/library
e8adc0 80 TEST_REQUIRED_PACKAGES.python += library/python/lxml-html-clean