# # This file and its contents are supplied under the terms of the # Common Development and Distribution License ("CDDL"), version 1.0. # You may only use this file in accordance with the terms of version # 1.0 of the CDDL. # # A full copy of the text of the CDDL should have accompanied this # source. A copy of the CDDL is also available via the Internet at # http://www.illumos.org/license/CDDL. # # # Copyright 2023 Marcel Telka # %patch% 01-test-reqs.patch %patch% 02-test-no-cov.patch %hook-begin% # This is the latest version with Python 3.9 support VERSION=1.22.0 %include-2% # yarl >= 1.23.0 requires Python >= 3.10 PYTHON_VERSIONS = 3.9 %include-3% # This project does not support tox so we need to provide test requirements # manually. TEST_REQUIREMENTS += requirements/test.txt # # Tests are run from build directory that contains cloned copy of sdist. We # try to ask Python to find tested modules in the proto area (the PYTHONPATH is # set accordingly), but Python (< 3.11) always adds the current directory to # sys.path and there is no known (simple) way how to avoid that. Except -I, # but that would cause Python to ignore PYTHONPATH too so we would not have # access to the proto area either. The -P option together with PYTHONSAFEPATH # environment variable were added to Python 3.11 only so we cannot use them yet # for all Python versions we support. # # Since sdist for this project contains the main module in the top-level # directory we cannot force Python to skip it. But, unfortunately, this module # does not contain built dynamic libraries, so Python cannot find them while # testing. # # To workaround this we rename the main module in the build directory during # testing so Python will need to defer to PYTHONPATH. # COMPONENT_PRE_TEST_ACTION += $(MV) $(@D)/yarl $(@D)/yarl-RENAMED ; COMPONENT_POST_TEST_ACTION += $(MV) $(@D)/yarl-RENAMED $(@D)/yarl ; # Random directory name COMPONENT_TEST_TRANSFORMS += "-e 's|/tmp/.*/garbage[^/]*|\$$(TMPDIR)|'" %hook-manifest% # We need versioned package only, so we cannot have PYVER in the p5m file name mv "$DISTRIBUTION-PYVER.p5m" "$DISTRIBUTION-39.p5m" sed -i -e 's/\$(PYVER)/3.9/g' -e 's/\$(PYV)/39/g' "$DISTRIBUTION-39.p5m" MANIFEST="$DISTRIBUTION-39.p5m"