diff --git a/Mk/Uses/python.mk b/Mk/Uses/python.mk index 486b1dd8c3cb..fa529e308727 100644 --- a/Mk/Uses/python.mk +++ b/Mk/Uses/python.mk @@ -1,1002 +1,1003 @@ # Provide support for Python related ports. This includes detecting Python # interpreters, ports providing package and modules for python as well as # consumer ports requiring Python at build or run time. # # Feature: python # Usage: USES=python[:version-spec][,arg,...] # Valid ARGS: , patch, build, run, test, env # # version-spec Declarative specification for the Python version(s) the # port supports. Subsets and ranges can be specified: # # * # * - # * + # * - # # Examples: # # USES=python:2.7 # Supports Python 2.7 Only # USES=python:3.8+ # Supports Python 3.8 or later # USES=python:3.8-3.10 # Supports Python 3.8 to 3.10 # USES=python:-3.8 # Supports Python up to 3.8 # USES=python # Supports 3.8+ # # NOTE: should be as specific as possible, matching the versions # upstream declares support for, without being incorrect. In particular, # USES=python *without* a means 3.8+, # including unreleased versions, which is probably incorrect. # # Not specifying a should only be used when a more specific # cannot be specified due to syntax limitations, for # example: 2.7,3.8-3.9, but even in this case, X.Y+ (2.7+), or -X.Y (-3.8) # is preferred and likely more correct. # # patch Python is needed at patch time. Adds dependency to PATCH_DEPENDS. # build Python is needed at build time. Adds dependency to BUILD_DEPENDS. # run Python is needed at run time. Adds dependency to RUN_DEPENDS. # test Python is needed at test time. Adds dependency to TEST_DEPENDS. # env Does not depend on Python but needs the environment set up. This # is mainly used when depending on flavored python ports, or when a # correct PYTHON_CMD is required. It has the same effect as setting # PYTHON_NO_DEPENDS. # # If build, run and test are omitted, Python will be added as BUILD_DEPENDS, # RUN_DEPENDS and TEST_DEPENDS. # patch is independant, it does not prevent the default build/run/test # dependency. # env or PYTHON_NO_DEPENDS can be set to not add any dependencies. # # Exported variables: # # PYTHON_VERSION - The chosen Python interpreter including the version, # e.g. python2.7, python3.8, etc. # # Variables, which can be set by the port: # # USE_PYTHON - A list of additional features and functionality to # enable. Supported features are: # # concurrent - Indicates that the port can be installed for # different python versions at the same time. The port # is supposed to use a unique prefix for certain # directories using USES=uniquefiles:dirs (see the # uniquefiles.mk Uses for details about the # directories), if set to yes. Binaries receive an # additional suffix, based on ${PYTHON_VER}. # # The values for the uniquefiles USES are set as # follows: # # UNIQUE_PREFIX= ${PYTHON_PKGNAMEPREFIX} # UNIQUE_SUFFIX= -${PYTHON_VER} # # If the port is installed for the current default # python version, scripts and binaries in # # ${PREFIX}/bin # ${PREFIX}/sbin # ${PREFIX}/libexec # # are linked from the prefixed version to the # prefix-less original name, e.g. # bin/foo-2.7 --> bin/foo. # # cryptography_build # - Depend on security/cryptography at build-time. # # cryptography - Depend on security/cryptography at run-time. # # cryptography_test # - Depend on security/cryptography at test-time. # # cython - Depend on lang/cython at build-time. # # cython_run - Depend on lang/cython at run-time. # # cython_test - Depend on lang/cython for tests. # # flavors - Force creation of flavors for Python 2 and 3 default # versions, where applicable. # # noflavors - Disable automatic creation of flavors if they would # otherwise be created and they are not wanted. # # allflavors - Generate flavors for all possible versions and not # simply the default ones. Only to be used for py-* # ports that are part of the Python distribution, but # kept as separate ports. # # optsuffix - Set PKGNAMESUFFIX to PYTHON_PKGNAMESUFFIX if not the # default python version. # # distutils - Use distutils as do-configure, do-build and # do-install targets. implies flavors. # # pep517 - Follow the PEP-517 standard to build and install wheels # as do-build and do-install targets. implies flavors. # # autoplist - Automatically generates the packaging list for a # port that uses distutils when defined. # requires: distutils # # py3kplist - Automatically generates Python 3.x compatible # __pycache__ entries from a Python 2.x packaging list # when defined. Use this for ports that do *not* use # standard Python packaging mechanisms such as # distutils, and support *both* Python 2.x and 3.x. # Not needed, if USE_PYTHON=autoplist is set. # # pythonprefix - Says that the port installs in ${PYTHONBASE} instead # of ${PREFIX}. # # noegginfo - Skip an egg-info entry from plist, if defined. # # nose - Run tests with nose (devel/py-nose) # # nose2 - Run tests with nose2 (devel/py-nose2) # # pytest - Run tests with latest pytest (devel/py-pytest) # # pytest4 - Run tests with pytest 4.x (devel/py-pytest4) # # unittest - Run tests with unittest # # unittest2 - Run tests with unittest2 (devel/py-unittest2) # # PYTHON_CMD - Python's command line file name, including the # version number (used for dependencies). # default: ${PYTHONBASE}/bin/${PYTHON_VERSION} # # PEP517_BUILD_CMD - Command sequence for a PEP-517 build frontend that builds a wheel. # default: ${PYTHON_CMD} -m build --no-isolation --wheel ${PEP517_BUILD_CONFIG_SETTING} # # PEP517_BUILD_DEPEND - Port needed to execute ${PEP517_BUILD_CMD}. # default: ${PYTHON_PKGNAMEPREFIX}build>=0:devel/py-build@${PY_FLAVOR} # # PEP517_BUILD_CONFIG_SETTING # - Options for the build backend. Must include -C or --config-setting per option. # default: # # PEP517_INSTALL_CMD - Command sequence for a PEP-517 install frontend that installs a wheel. # default: ${PYTHON_CMD} -m installer --destdir ${STAGEDIR} --prefix ${PREFIX} ${BUILD_WRKSRC}/dist/${PORTNAME:C|[-_]+|_|g}-${DISTVERSION}*.whl # # PEP517_INSTALL_DEPEND - Port needed to execute ${PEP517_INSTALL_CMD}. # default: ${PYTHON_PKGNAMEPREFIX}installer>=0:devel/py-installer@${PY_FLAVOR} # # PYSETUP - Name of the setup script used by the distutils # package. # default: setup.py # # PYDISTUTILS_PKGNAME # - Internal name in the distutils for egg-info. # default: ${PORTNAME} # # PYDISTUTILS_PKGVERSION # - Internal version in the distutils for egg-info. # default: ${PORTVERSION} # # PYDISTUTILS_CONFIGURE_TARGET # - Pass this command to distutils on configure stage. # default: config # # PYDISTUTILS_BUILD_TARGET # - Pass this command to distutils on build stage. # default: build # # PYDISTUTILS_INSTALL_TARGET # - Pass this command to distutils on install stage. # default: install # # PYDISTUTILS_CONFIGUREARGS # - Arguments to config with distutils. # default: # # PYDISTUTILS_BUILDARGS # - Arguments to build with distutils. # default: # # PYDISTUTILS_INSTALLARGS # - Arguments to install with distutils. # default: -c -O1 --prefix=${PREFIX} --single-version-externally-managed --root=${STAGEDIR} # # PYDISTUTILS_EGGINFO # - Canonical name for egg-info. # default: ${PYDISTUTILS_PKGNAME:C/[^A-Za-z0-9.]+/_/g}-${PYDISTUTILS_PKGVERSION:C/[^A-Za-z0-9.]+/_/g}-py${PYTHON_VER}.egg-info # # PYTEST_BROKEN_TESTS - Lists of 'pytest -k' patterns to skip tests which # require fixing. # default: # # PYTEST_IGNORED_TESTS - Lists of 'pytest -k' patterns to skip tests which are # not expected to pass, e.g. requiring a database access. # default: # # The following variables can be read by ports and must not be modified: # # PYTHONBASE - The installation prefix of the chosen Python # interpreter, e.g. /usr/local # # PYTHON_DISTVERSION # - Version number suitable for ${DISTVERSION}. # # PYTHON_PORTSDIR - The port directory of the chosen Python interpreter # # PYTHON_REL - The release number of the chosen Python interpreter # without dots, e.g. 20706, 30801, ... # # PYTHON_SUFFIX - The major-minor release number of the chosen Python # interpreter without dots, e.g. 27, 38, ... # Used for prefixes and suffixes. # # PYTHON_MAJOR_VER - The major release version of the chosen Python # interpreter, e.g. 2, 3, ... # # PYTHON_VER - The major-minor release version of the chosen Python # interpreter, e.g. 2.7, 3.8, ... # # PYTHON_ABIVER - Additional ABI flags set by the chosen Python # interpreter, e.g. md # # PYTHON_INCLUDEDIR - Location of the Python include files. # default: ${PYTHONBASE}/include/${PYTHON_VERSION} # # PYTHON_LIBDIR - Base of the python library tree # default: ${PYTHONBASE}/lib/${PYTHON_VERSION} # # PYTHON_SITELIBDIR - Location of the site-packages tree. Don't change, # unless you know what you do. # default: ${PYTHON_LIBDIR}/site-packages # # There are PREFIX-clean variants of the PYTHON_*DIR variables above. # They are meant to be used by ports instead of the above variables, so the # ports respect ${PREFIX} (unless USE_PYTHON=pythonprefix is specified). # # PYTHONPREFIX_INCLUDEDIR default: ${PREFIX}/include/${PYTHON_VERSION} # PYTHONPREFIX_LIBDIR default: ${PREFIX}/lib/${PYTHON_VERSION} # PYTHONPREFIX_SITELIBDIR default: ${PYTHONPREFIX_LIBDIR}/site-packages # # PYTHON_PLATFORM - Python's idea of the OS release. # This is faked with ${OPSYS} and ${OSREL} until we # find out how to delay defining a variable until # after a certain target has been built. # # PYTHON_PKGNAMEPREFIX # - Use this as a ${PKGNAMEPREFIX} to distinguish # packages for different Python versions. # default: py${PYTHON_SUFFIX}- # # PYTHON_PKGNAMESUFFIX # - Use this as a ${PKGNAMESUFFIX} to distinguish # packages for different Python versions. # default: -py${PYTHON_SUFFIX} # # Using USES=python also will add some useful entries to SUB_LIST and PLIST_SUB: # # PYTHON_INCLUDEDIR=${PYTHONPREFIX_INCLUDEDIR} # PYTHON_LIBDIR=${PYTHONPREFIX_LIBDIR} # PYTHON_PLATFORM=${PYTHON_PLATFORM} # PYTHON_SITELIBDIR=${PYTHONPREFIX_SITELIBDIR} # PYTHON_SUFFIX=${PYTHON_SUFFIX} # PYTHON_VER=${PYTHON_VER} # PYTHON_VERSION=${PYTHON_VERSION} # # where PYTHON_INCLUDEDIR, PYTHON_LIBDIR and PYTHON_SITELIBDIR have their PREFIX # stripped for PLIST_SUB. # # PYTHON2 and PYTHON3 will also be set according to the Python version: # # PYTHON2="" PYTHON3="@comment " for Python 2.x # PYTHON2="@comment " PYTHON3="" for Python 3.x # # PYDISTUTILS_INSTALLNOSINGLE # - Deprecated without replacement # # Dependency lines of selected Python modules: # # PY_SETUPTOOLS - setuptools port based on USE_PYTHON=distutils # PYGAME - pygame port # PYNUMPY - NumPy port # PY_MERCURIAL - mercurial port, PKGNAME varies based on default # Python version # PY_BOOST - Boost Python libraries port # # The following variables may be set by the user: # # PYTEST_ENABLE_ALL_TESTS - Enable tests skipped by PYTEST_BROKEN_TESTS # and PYTEST_IGNORED_TESTS. # PYTEST_ENABLE_BROKEN_TESTS - Enable tests skipped by PYTEST_BROKEN_TESTS. # PYTEST_ENABLE_IGNORED_TESTS - Enable tests skipped by PYTEST_IGNORED_TESTS. # # MAINTAINER: python@FreeBSD.org .if !defined(_INCLUDE_USES_PYTHON_MK) _INCLUDE_USES_PYTHON_MK= yes # What Python version and what Python interpreters are currently supported? # When adding a version, please keep the comment in # Mk/bsd.default-versions.mk in sync. _PYTHON_VERSIONS= 3.11 3.10 3.9 3.8 2.7 # preferred first _PYTHON_PORTBRANCH= 3.11 # ${_PYTHON_VERSIONS:[1]} _PYTHON_BASECMD= ${LOCALBASE}/bin/python _PYTHON_RELPORTDIR= lang/python # List all valid USE_PYTHON features here _VALID_PYTHON_FEATURES= allflavors \ autoplist \ concurrent \ cryptography_build \ cryptography \ cryptography_test \ cython \ cython_run \ cython_test \ distutils \ flavors \ noegginfo \ noflavors \ nose \ nose2 \ optsuffix \ pep517 \ py3kplist \ pytest \ pytest4 \ pythonprefix \ unittest \ unittest2 _INVALID_PYTHON_FEATURES= . for var in ${USE_PYTHON} . if empty(_VALID_PYTHON_FEATURES:M${var}) _INVALID_PYTHON_FEATURES+= ${var} . endif . endfor . if !empty(_INVALID_PYTHON_FEATURES) IGNORE= uses unknown USE_PYTHON features: ${_INVALID_PYTHON_FEATURES} . endif # Make each individual feature available as _PYTHON_FEATURE_ . for var in ${USE_PYTHON} _PYTHON_FEATURE_${var:C/=.*$//:tu}= ${var:C/.*=//:S/,/ /g} . endfor . if defined(_PYTHON_FEATURE_PYTEST) && defined(_PYTHON_FEATURE_PYTEST4) IGNORE= uses either USE_PYTHON=pytest or USE_PYTHON=pytest4, not both of them . endif # distutils automatically generates flavors depending on the supported # versions. . if defined(_PYTHON_FEATURE_DISTUTILS) _PYTHON_FEATURE_FLAVORS= yes . endif # pep517 automatically generates flavors depending on the supported # versions. . if defined(_PYTHON_FEATURE_PEP517) _PYTHON_FEATURE_FLAVORS= yes . endif . if defined(_PYTHON_FEATURE_NOFLAVORS) .undef _PYTHON_FEATURE_FLAVORS . endif # Make sure that no dependency or some other environment variable # pollutes the build/run dependency detection .undef _PYTHON_BUILD_DEP .undef _PYTHON_RUN_DEP .undef _PYTHON_TEST_DEP _PYTHON_ARGS= ${python_ARGS:S/,/ /g} . if ${_PYTHON_ARGS:Mpatch} _PYTHON_PATCH_DEP= yes _PYTHON_ARGS:= ${_PYTHON_ARGS:Npatch} . endif . if ${_PYTHON_ARGS:Mbuild} _PYTHON_BUILD_DEP= yes _PYTHON_ARGS:= ${_PYTHON_ARGS:Nbuild} . endif . if ${_PYTHON_ARGS:Mrun} _PYTHON_RUN_DEP= yes _PYTHON_ARGS:= ${_PYTHON_ARGS:Nrun} . endif . if ${_PYTHON_ARGS:Mtest} _PYTHON_TEST_DEP= yes _PYTHON_ARGS:= ${_PYTHON_ARGS:Ntest} . endif . if ${_PYTHON_ARGS:Menv} PYTHON_NO_DEPENDS= yes _PYTHON_ARGS:= ${_PYTHON_ARGS:Nenv} . endif # The port does not specify a build, run or test dependency, assume all are # required. . if !defined(_PYTHON_BUILD_DEP) && !defined(_PYTHON_RUN_DEP) && \ !defined(_PYTHON_TEST_DEP) && !defined(PYTHON_NO_DEPENDS) _PYTHON_BUILD_DEP= yes _PYTHON_RUN_DEP= yes _PYTHON_TEST_DEP= yes . endif . if ${_PYTHON_ARGS} == 2.7 DEV_WARNING+= "lang/python27 reached End of Life and will be removed somewhere in the future, please convert to a modern version of python" . elif ${_PYTHON_ARGS} == 2 DEV_ERROR+= "USES=python:2 is no longer supported, use USES=python:2.7" . elif ${_PYTHON_ARGS} == 3 DEV_ERROR+= "USES=python:3 is no longer supported, use USES=python:3.8+ or an appropriate version range" . endif # ${_PYTHON_ARGS} == 2.7 _PYTHON_VERSION:= ${PYTHON_DEFAULT} . if empty(_PYTHON_ARGS) _PYTHON_ARGS= 3.8+ . endif # Validate Python version whether it meets the version restriction. _PYTHON_VERSION_CHECK:= ${_PYTHON_ARGS:C/^([1-9]\.[1-9]?[0-9])$/\1-\1/} _PYTHON_VERSION_MINIMUM_TMP:= ${_PYTHON_VERSION_CHECK:C/([1-9]\.[1-9]?[0-9])[-+].*/\1/} _PYTHON_VERSION_MINIMUM:= ${_PYTHON_VERSION_MINIMUM_TMP:M[1-9].[0-9]}${_PYTHON_VERSION_MINIMUM_TMP:M[1-9].[1-9][0-9]} _PYTHON_VERSION_MAXIMUM_TMP:= ${_PYTHON_VERSION_CHECK:C/.*-([1-9]\.[1-9]?[0-9])/\1/} _PYTHON_VERSION_MAXIMUM:= ${_PYTHON_VERSION_MAXIMUM_TMP:M[1-9].[0-9]}${_PYTHON_VERSION_MAXIMUM_TMP:M[1-9].[1-9][0-9]} # At this point we should have no argument left in ${_PYTHON_ARGS} # except a version spec _V1= [1-9].[0-9] _V2= [1-9].[1-9][0-9] _PYTHON_ARGS:= ${_PYTHON_ARGS:N${_V1}-${_V1}:N${_V1}-${_V2}:N${_V2}-${_V2}:N${_V1}:N${_V2}:N${_V1}+:N${_V2}+:N-${_V1}:N-${_V2}} . if !empty(_PYTHON_ARGS) IGNORE= uses unknown USES=python arguments: ${_PYTHON_ARGS} . endif # Pattern to convert python versions (X.Y or X.YY) to comparable format X.YY _VC= C/^([1-9]\.)([0-9])$$/\10\2/ .undef _PYTHON_VERSION_NONSUPPORTED . if !empty(_PYTHON_VERSION_MINIMUM) && (${_PYTHON_VERSION:${_VC}} < ${_PYTHON_VERSION_MINIMUM:${_VC}}) _PYTHON_VERSION_NONSUPPORTED= ${_PYTHON_VERSION_MINIMUM} at least . elif !empty(_PYTHON_VERSION_MAXIMUM) && (${_PYTHON_VERSION:${_VC}} > ${_PYTHON_VERSION_MAXIMUM:${_VC}}) _PYTHON_VERSION_NONSUPPORTED= ${_PYTHON_VERSION_MAXIMUM} at most . endif # If we have an unsupported version of Python, try another. . if defined(_PYTHON_VERSION_NONSUPPORTED) .undef _PYTHON_VERSION . for ver in ${PYTHON_DEFAULT} ${PYTHON2_DEFAULT} ${_PYTHON_VERSIONS} __VER= ${ver} . if !defined(_PYTHON_VERSION) && \ !(!empty(_PYTHON_VERSION_MINIMUM) && ( \ ${__VER:${_VC}} < ${_PYTHON_VERSION_MINIMUM:${_VC}})) && \ !(!empty(_PYTHON_VERSION_MAXIMUM) && ( \ ${__VER:${_VC}} > ${_PYTHON_VERSION_MAXIMUM:${_VC}})) _PYTHON_VERSION= ${ver} . endif . endfor . if !defined(_PYTHON_VERSION) IGNORE= needs an unsupported version of Python . endif . endif # defined(_PYTHON_VERSION_NONSUPPORTED) # Automatically generates FLAVORS if empty . if empty(FLAVORS) && defined(_PYTHON_FEATURE_FLAVORS) . undef _VALID_PYTHON_VERSIONS . for ver in ${PYTHON_DEFAULT} ${PYTHON2_DEFAULT} ${_PYTHON_VERSIONS} __VER= ${ver} . if !(!empty(_PYTHON_VERSION_MINIMUM) && ( \ ${__VER:${_VC}} < ${_PYTHON_VERSION_MINIMUM:${_VC}})) && \ !(!empty(_PYTHON_VERSION_MAXIMUM) && ( \ ${__VER:${_VC}} > ${_PYTHON_VERSION_MAXIMUM:${_VC}})) . if empty(_VALID_PYTHON_VERSIONS:M${ver}) _VALID_PYTHON_VERSIONS+= ${ver} . endif . endif . endfor # Get all possible flavors depending on version requirements . if defined(_VALID_PYTHON_VERSIONS) _ALL_PYTHON_FLAVORS= ${_VALID_PYTHON_VERSIONS:S/.//:S/^/py/} . else _ALL_PYTHON_FLAVORS= ${_PYTHON_VERSIONS:S/.//:S/^/py/} . endif # Decide how many flavors we want. By default, only generate the default # versions. . if defined(BUILD_ALL_PYTHON_FLAVORS) || defined(_PYTHON_FEATURE_ALLFLAVORS) FLAVORS= ${_ALL_PYTHON_FLAVORS} . else . for _v in ${PYTHON_DEFAULT} ${PYTHON2_DEFAULT} _f= py${_v:S/.//} . if ${_ALL_PYTHON_FLAVORS:M${_f}} && !${FLAVORS:M${_f}} . if !empty(FLAVORS) FLAVORS:= ${FLAVORS} ${_f} . else FLAVORS:= ${_f} . endif . endif . endfor . endif . if !empty(FLAVORS) && empty(FLAVOR) FLAVOR= ${FLAVORS:[1]} . endif . endif . if ${FLAVOR:Mpy[23][0-9]}${FLAVOR:Mpy[23][1-9][0-9]} _PYTHON_VERSION= ${FLAVOR:S/py//:C/(.)/\1./} . endif . if !empty(FLAVOR) && ${_PYTHON_VERSION} != ${PYTHON_DEFAULT} . if defined(_PYTHON_FEATURE_OPTSUFFIX) DEV_WARNING+= "USE_PYTHON=optsuffix is deprecated, consider migrating to using unconditional PKGNAMESUFFIX or PKGNAMEPREFIX" PKGNAMESUFFIX= ${PYTHON_PKGNAMESUFFIX} . endif . endif # To avoid having dependencies with @ and empty flavor: # _PYTHON_VERSION is either set by (first that matches): # - If using Python flavors, from the current Python flavor # - If using a version restriction (USES=python:3.8+), from the first # acceptable default Python version. # - From PYTHON_DEFAULT PY_FLAVOR= py${_PYTHON_VERSION:S/.//} PYTHON_VERSION= python${_PYTHON_VERSION} # Got the correct python version, set some publicly accessible variables PYTHON_VER= ${_PYTHON_VERSION} PYTHON_SUFFIX= ${_PYTHON_VERSION:S/.//g} PYTHON_MAJOR_VER= ${PYTHON_VER:R} PYTHON_REL= # empty PYTHON_ABIVER= # empty PYTHON_PORTSDIR= ${_PYTHON_RELPORTDIR}${PYTHON_SUFFIX} # Protect partial checkouts from Mk/Scripts/functions.sh:export_ports_env(). . if !defined(_PORTS_ENV_CHECK) || exists(${PORTSDIR}/${PYTHON_PORTSDIR}) .include "${PORTSDIR}/${PYTHON_PORTSDIR}/Makefile.version" . endif # Create a 5 integer version string, prefixing 0 to the minor and patch # tokens if it's a single character. Only use the first 3 tokens of # PORTVERSION to support pre-release versions (rc3, alpha4, etc) of # any Python port (lang/pythonXY) PYTHON_REL= ${PYTHON_DISTVERSION:C/^([0-9]+\.[0-9]+\.[0-9]+).*/\1/:C/\.([0-9])$/.0\1/:C/\.([0-9]\.[0-9]+)/.0\1/:S/.//g} # Might be overridden by calling ports PYTHON_CMD?= ${_PYTHON_BASECMD}${_PYTHON_VERSION} . if ${PYTHON_MAJOR_VER} > 2 . if exists(${PYTHON_CMD}-config) PYTHON_ABIVER!= ${PYTHON_CMD}-config --abiflags . endif . endif . if ${PYTHON_REL} >= 30807 PYTHON_EXT_SUFFIX= .cpython-${PYTHON_SUFFIX} . else PYTHON_EXT_SUFFIX= # empty . endif . if ${PYTHON_MAJOR_VER} < 3 DEPRECATED?= Uses Python 2.7 which is EOLed upstream . endif . if !defined(PYTHONBASE) PYTHONBASE!= (${PYTHON_CMD} -c 'import sys; print(sys.prefix)' \ 2> /dev/null || ${ECHO_CMD} ${LOCALBASE}) | ${TAIL} -1 . endif _EXPORTED_VARS+= PYTHONBASE PYTHON_INCLUDEDIR= ${PYTHONBASE}/include/python${_PYTHON_VERSION}${PYTHON_ABIVER} PYTHON_LIBDIR= ${PYTHONBASE}/lib/python${_PYTHON_VERSION} PYTHON_PLATFORM= ${OPSYS:tl}${OSREL:C/\.[0-9.]*//} PYTHON_SITELIBDIR= ${PYTHON_LIBDIR}/site-packages PYTHON_PKGNAMEPREFIX= py${PYTHON_SUFFIX}- PYTHON_PKGNAMESUFFIX= -py${PYTHON_SUFFIX} PYTHONPREFIX_INCLUDEDIR= ${PYTHON_INCLUDEDIR:S;${PYTHONBASE};${PREFIX};} PYTHONPREFIX_LIBDIR= ${PYTHON_LIBDIR:S;${PYTHONBASE};${PREFIX};} PYTHONPREFIX_SITELIBDIR= ${PYTHON_SITELIBDIR:S;${PYTHONBASE};${PREFIX};} # Used for recording the installed files. _PYTHONPKGLIST= ${WRKDIR}/.PLIST.pymodtmp # Ports bound to a certain python version SHOULD # - use the PYTHON_PKGNAMEPREFIX # - use directories using the PYTHON_PKGNAMEPREFIX # - install binaries using the required PYTHON_VER, with # the default python version creating a symlink to the original binary # name (for staging-aware ports). # # What makes a port 'bound' to a certain python version? # - it installs data into PYTHON_SITELIBDIR, PYTHON_INCLUDEDIR, ... # - it links against libpython*.so # - it uses USE_PYTHON=distutils # # cryptography* support . if ${PYCRYPTOGRAPHY_DEFAULT} == rust CRYPTOGRAPHY_DEPENDS= ${PYTHON_PKGNAMEPREFIX}cryptography>=42.0.8,1:security/py-cryptography@${PY_FLAVOR} . else CRYPTOGRAPHY_DEPENDS= ${PYTHON_PKGNAMEPREFIX}cryptography-legacy>=3.4.8_1,1:security/py-cryptography-legacy@${PY_FLAVOR} . endif . if defined(_PYTHON_FEATURE_CRYPTOGRAPHY_BUILD) BUILD_DEPENDS+= ${CRYPTOGRAPHY_DEPENDS} . endif . if defined(_PYTHON_FEATURE_CRYPTOGRAPHY) RUN_DEPENDS+= ${CRYPTOGRAPHY_DEPENDS} . endif . if defined(_PYTHON_FEATURE_CRYPTOGRAPHY_TEST) TEST_DEPENDS+= ${CRYPTOGRAPHY_DEPENDS} . endif # cython* support . if defined(_PYTHON_FEATURE_CYTHON) BUILD_DEPENDS+= cython-${PYTHON_VER}:lang/cython@${PY_FLAVOR} . endif . if defined(_PYTHON_FEATURE_CYTHON_RUN) RUN_DEPENDS+= cython-${PYTHON_VER}:lang/cython@${PY_FLAVOR} . endif . if defined(_PYTHON_FEATURE_CYTHON_TEST) TEST_DEPENDS+= cython-${PYTHON_VER}:lang/cython@${PY_FLAVOR} . endif . if defined(_PYTHON_FEATURE_CONCURRENT) . if !defined(_PYTHON_FEATURE_FLAVORS) && (${_PYTHON_VERSION_MINIMUM:M3*} || ${_PYTHON_VERSION_MAXIMUM:M2*}) DEV_WARNING+= "USE_PYTHON=concurrent when only one of Python 2 or 3 is supported AND not using flavors does not make any sense" . endif _USES_POST+= uniquefiles:dirs . if defined(_PYTHON_FEATURE_FLAVORS) && ${FLAVOR} == ${FLAVORS:[1]} UNIQUE_DEFAULT_LINKS= yes . elif !defined(_PYTHON_FEATURE_FLAVORS) && ${_PYTHON_VERSION} == ${PYTHON_DEFAULT} UNIQUE_DEFAULT_LINKS= yes . else UNIQUE_DEFAULT_LINKS= no . endif UNIQUE_PREFIX= ${PYTHON_PKGNAMEPREFIX} UNIQUE_SUFFIX= -${PYTHON_VER} UNIQUE_SUFFIX_TYPES+= SUFFIX_MAN UNIQUE_SUFFIX_MAN_WITH_EXT= .[1-9ln] UNIQUE_SUFFIX_MAN_EXTRA_EXT= .gz . if defined(_PYTHON_FEATURE_AUTOPLIST) _UNIQUE_FIND_SUFFIX_FILES= ${SED} -e 's|^${PREFIX}/||' ${_PYTHONPKGLIST} ${TMPPLIST} . else _UNIQUE_FIND_SUFFIX_FILES= ${SED} -e 's|^${PREFIX}/||' ${TMPPLIST} 2>/dev/null . endif UNIQUE_FIND_SUFFIX_FILES+= ${_UNIQUE_FIND_SUFFIX_FILES} | \ ${EGREP} -he '^bin/.*$$|^sbin/.*$$|^libexec/.*$$' UNIQUE_FIND_SUFFIX_MAN_FILES+= ${_UNIQUE_FIND_SUFFIX_FILES} | \ ${EGREP} -he '^man/man[1-9ln]/.*$$|^share/man/man[1-9ln]/.*$$' . endif # defined(_PYTHON_FEATURE_CONCURRENT) _CURRENTPORT:= ${PKGNAMEPREFIX}${PORTNAME}${PKGNAMESUFFIX} . if defined(_PYTHON_FEATURE_DISTUTILS) && \ ${_CURRENTPORT} != ${PYTHON_PKGNAMEPREFIX}setuptools && \ ${_CURRENTPORT} != ${PYTHON_PKGNAMEPREFIX}setuptools58 && \ ${_CURRENTPORT} != ${PYTHON_PKGNAMEPREFIX}setuptools44 . if ${PYTHON_VER} == 2.7 BUILD_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}setuptools44>0:devel/py-setuptools44@${PY_FLAVOR} RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}setuptools44>0:devel/py-setuptools44@${PY_FLAVOR} . else BUILD_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}setuptools>=63.1.0:devel/py-setuptools@${PY_FLAVOR} RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}setuptools>=63.1.0:devel/py-setuptools@${PY_FLAVOR} . endif . endif . if defined(_PYTHON_FEATURE_PEP517) . if ${PYTHON_MAJOR_VER} < 3 DEV_ERROR+= "USES=python:2.7 is incompatible with USE_PYTHON=pep517" . endif . if defined(_PYTHON_FEATURE_DISTUTILS) DEV_ERROR+= "USE_PYTHON=distutils is incompatible with USE_PYTHON=pep517" . endif . if defined(_PYTHON_FEATURE_PY3KPLIST) DEV_ERROR+= "USE_PYTHON=py3kplist is incompatible with USE_PYTHON=pep517" . endif . if defined(_PYTHON_FEATURE_NOEGGINFO) DEV_ERROR+= "USE_PYTHON=noegginfo is incompatible with USE_PYTHON=pep517" . endif . endif # distutils support PYSETUP?= setup.py PYDISTUTILS_SETUP?= -c \ "import sys; import setuptools; \ __file__='${PYSETUP}'; sys.argv[0]='${PYSETUP}'; \ exec(compile(open(__file__, 'rb').read().replace(b'\\r\\n', b'\\n'), __file__, 'exec'))" PYDISTUTILS_CONFIGUREARGS?= # empty PYDISTUTILS_BUILDARGS?= # empty PYDISTUTILS_INSTALLARGS?= -c -O1 --prefix=${PREFIX} . if defined(_PYTHON_FEATURE_DISTUTILS) . if !defined(PYDISTUTILS_INSTALLNOSINGLE) PYDISTUTILS_INSTALLARGS+= --single-version-externally-managed . endif PYDISTUTILS_INSTALLARGS+= --root=${STAGEDIR} . endif PYDISTUTILS_INSTALLARGS:= --record ${_PYTHONPKGLIST} \ ${PYDISTUTILS_INSTALLARGS} PYDISTUTILS_PKGNAME?= ${PORTNAME} PYDISTUTILS_PKGVERSION?=${PORTVERSION} PYDISTUTILS_EGGINFO?= ${PYDISTUTILS_PKGNAME:C/[^A-Za-z0-9.]+/_/g}-${PYDISTUTILS_PKGVERSION:C/[^A-Za-z0-9.]+/_/g}-py${PYTHON_VER}.egg-info PYDISTUTILS_EGGINFODIR?=${STAGEDIR}${PYTHONPREFIX_SITELIBDIR} # PEP-517 support PEP517_BUILD_CMD?= ${PYTHON_CMD} -m build --no-isolation --wheel ${PEP517_BUILD_CONFIG_SETTING} PEP517_BUILD_DEPEND?= ${PYTHON_PKGNAMEPREFIX}build>=0:devel/py-build@${PY_FLAVOR} PEP517_INSTALL_CMD?= ${PYTHON_CMD} -m installer --destdir ${STAGEDIR} --prefix ${PREFIX} ${BUILD_WRKSRC}/dist/${PORTNAME:C|[-_]+|_|g}-${DISTVERSION}*.whl PEP517_INSTALL_DEPEND?= ${PYTHON_PKGNAMEPREFIX}installer>=0:devel/py-installer@${PY_FLAVOR} # nose support . if defined(_PYTHON_FEATURE_NOSE) TEST_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}nose>=0:devel/py-nose@${PY_FLAVOR} . endif # nose2 support . if defined(_PYTHON_FEATURE_NOSE2) TEST_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}nose2>=0:devel/py-nose2@${PY_FLAVOR} . endif # pytest support . if defined(_PYTHON_FEATURE_PYTEST) TEST_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}pytest>=7,1:devel/py-pytest@${PY_FLAVOR} . elif defined(_PYTHON_FEATURE_PYTEST4) TEST_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}pytest4>=4.6,1:devel/py-pytest4@${PY_FLAVOR} . endif . if defined(_PYTHON_FEATURE_PYTEST) || defined(_PYTHON_FEATURE_PYTEST4) PYTEST_BROKEN_TESTS?= # empty PYTEST_IGNORED_TESTS?= # empty _PYTEST_SKIPPED_TESTS?= # empty . if !defined(PYTEST_ENABLE_ALL_TESTS) . if !defined(PYTEST_ENABLE_BROKEN_TESTS) _PYTEST_SKIPPED_TESTS+= ${PYTEST_BROKEN_TESTS} . endif . if !defined(PYTEST_ENABLE_IGNORED_TESTS) _PYTEST_SKIPPED_TESTS+= ${PYTEST_IGNORED_TESTS} . endif . endif # !defined(PYTEST_ENABLE_ALL_TESTS) _PYTEST_FILTER_EXPRESSION= ${_PYTEST_SKIPPED_TESTS:C/^(.)/and not \1/:tW:C/^and //} . endif # defined(_PYTHON_FEATURE_PYTEST) || defined(_PYTHON_FEATURE_PYTEST4) # unittest2 support . if defined(_PYTHON_FEATURE_UNITTEST2) TEST_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}unittest2>=0:devel/py-unittest2@${PY_FLAVOR} . endif . if !defined(_PYTHON_FEATURE_NOEGGINFO) && \ !defined(_PYTHON_FEATURE_AUTOPLIST) && \ defined(_PYTHON_FEATURE_DISTUTILS) && \ defined(PYTHON_REL) _USES_stage+= 933:add-plist-egginfo add-plist-egginfo: . for egginfo in ${PYDISTUTILS_EGGINFO} if [ -d "${PYDISTUTILS_EGGINFODIR}/${egginfo}" ]; then \ ${LS} ${PYDISTUTILS_EGGINFODIR}/${egginfo} | while read f; do \ ${ECHO_CMD} ${PYDISTUTILS_EGGINFODIR:S;^${STAGEDIR}${PREFIX}/;;}/${egginfo}/$${f} >> ${TMPPLIST}; \ done; \ fi; . endfor . endif . if defined(_PYTHON_FEATURE_AUTOPLIST) && (defined(_PYTHON_FEATURE_DISTUTILS) || defined(_PYTHON_FEATURE_PEP517)) _RELSITELIBDIR= ${PYTHONPREFIX_SITELIBDIR:S;${PREFIX}/;;} _RELLIBDIR= ${PYTHONPREFIX_LIBDIR:S;${PREFIX}/;;} _USES_stage+= 934:add-plist-pymod add-plist-pymod: @${SED} -e 's|^"\(.*\)"$$|\1|' \ -e 's|^${STAGEDIR}${PREFIX}/||' \ -e 's|^${PREFIX}/||' \ -e 's|^\(man/.*man[0-9]\)/\(.*\.[0-9]\)$$|\1/\2.gz|' \ -e 's|^\(share/man/.*man[0-9]\)/\(.*\.[0-9]\)$$|\1/\2.gz|' \ -e 's|[[:alnum:]|[:space:]]*/\.\./*||g; s|/\./|/|g' \ ${_PYTHONPKGLIST} | ${SORT} >> ${TMPPLIST} . else . if ${PYTHON_REL} >= 30200 && defined(_PYTHON_FEATURE_PY3KPLIST) # When Python version is 3.2+ we rewrite all the filenames # of TMPPLIST that end with .py[co], so that they conform # to PEP 3147 (see https://www.python.org/dev/peps/pep-3147/) PYMAGICTAG= ${PYTHON_CMD} -c 'import sys; print(sys.implementation.cache_tag)' _USES_stage+= 935:add-plist-python add-plist-python: @${AWK} '\ /\.py[co]$$/ && !($$0 ~ "/" pc "/") {id = match($$0, /\/[^\/]+\.py[co]$$/); if (id != 0) {d = substr($$0, 1, RSTART - 1); dirs[d] = 1}; sub(/\.pyc$$/, "." mt "&"); sub(/\.pyo$$/, "." mt "." pyo); sub(/[^\/]+\.py[co]$$/, pc "/&"); print; next} \ /^@dirrm / {d = substr($$0, 8); if (d in dirs) {print $$0 "/" pc}; print $$0; next} \ /^@dirrmtry / {d = substr($$0, 11); if (d in dirs) {print $$0 "/" pc}; print $$0; next} \ {print} \ ' \ pc="__pycache__" mt="$$(${PYMAGICTAG})" pyo="opt-1.pyc" \ ${TMPPLIST} > ${TMPPLIST}.pyc_tmp @${MV} ${TMPPLIST}.pyc_tmp ${TMPPLIST} . endif # ${PYTHON_REL} >= 30200 && defined(_PYTHON_FEATURE_PY3KPLIST) . endif # defined(_PYTHON_FEATURE_AUTOPLIST) && (defined(_PYTHON_FEATURE_DISTUTILS) || defined(_PYTHON_FEATURE_PEP517)) # Fix for programs that build python from a GNU auto* environment CONFIGURE_ENV+= PYTHON="${PYTHON_CMD}" # By default CMake picks up the highest available version of Python package. # Enforce the version required by the port or the default. CMAKE_ARGS+= -DPython_ADDITIONAL_VERSIONS=${PYTHON_VER} CMAKE_ARGS+= -DPython_EXECUTABLE:FILEPATH="${PYTHON_CMD}" CMAKE_ARGS+= -DPython${PYTHON_MAJOR_VER}_EXECUTABLE:FILEPATH="${PYTHON_CMD}" # Python 3rd-party modules PYGAME= ${PYTHON_PKGNAMEPREFIX}game>0:devel/py-game@${PY_FLAVOR} PYNUMPY= ${PYTHON_PKGNAMEPREFIX}numpy>=1.16,1<1.27,1:math/py-numpy@${PY_FLAVOR} . if defined(_PYTHON_FEATURE_DISTUTILS) . if ${PYTHON_MAJOR_VER} < 3 PY_SETUPTOOLS= ${PYTHON_PKGNAMEPREFIX}setuptools44>0:devel/py-setuptools44@${PY_FLAVOR} . else #PY_SETUPTOOLS= ${PYTHON_PKGNAMEPREFIX}setuptools58>0:devel/py-setuptools58@${PY_FLAVOR} PY_SETUPTOOLS= ${PYTHON_PKGNAMEPREFIX}setuptools>0:devel/py-setuptools@${PY_FLAVOR} . endif . else PY_SETUPTOOLS= ${PYTHON_PKGNAMEPREFIX}setuptools>0:devel/py-setuptools@${PY_FLAVOR} . endif # Common Python modules that can be needed but only for some versions of Python. . if ${PYTHON_REL} < 31100 PY_EXCEPTIONGROUP= ${PYTHON_PKGNAMEPREFIX}exceptiongroup>=1.1.1:devel/py-exceptiongroup@${PY_FLAVOR} +PY_TOMLI= ${PYTHON_PKGNAMEPREFIX}tomli>=2.0.1<3:textproc/py-tomli@${PY_FLAVOR} . endif . if ${PYTHON_REL} >= 30000 PY_PILLOW= ${PYTHON_PKGNAMEPREFIX}pillow>=7.0.0:graphics/py-pillow@${PY_FLAVOR} . endif . if ${PYTHON_VER} != ${PYTHON_DEFAULT} PY_MERCURIAL= ${PYTHON_PKGNAMEPREFIX}mercurial>=5.9:devel/mercurial@${PY_FLAVOR} . else PY_MERCURIAL= mercurial>=5.9:devel/mercurial@${PY_FLAVOR} . endif CMAKE_ARGS+= -DBOOST_PYTHON_SUFFIX:STRING=${PYTHON_SUFFIX} PY_BOOST_LIB= boost_python${PYTHON_SUFFIX} PY_BOOST= lib${PY_BOOST_LIB}.so:devel/boost-python-libs@${PY_FLAVOR} # dependencies . for _stage in PATCH BUILD RUN TEST . if defined(_PYTHON_${_stage}_DEP) ${_stage}_DEPENDS+= ${PYTHON_CMD}:${PYTHON_PORTSDIR} . endif . endfor # set $PREFIX as Python's one . if defined(_PYTHON_FEATURE_PYTHONPREFIX) PREFIX= ${PYTHONBASE} . endif # Substitutions for SUB_FILES SUB_LIST+= PYTHON_INCLUDEDIR=${PYTHONPREFIX_INCLUDEDIR} \ PYTHON_LIBDIR=${PYTHONPREFIX_LIBDIR} \ PYTHON_PLATFORM=${PYTHON_PLATFORM} \ PYTHON_SITELIBDIR=${PYTHONPREFIX_SITELIBDIR} \ PYTHON_SUFFIX=${PYTHON_SUFFIX} \ PYTHON_EXT_SUFFIX=${PYTHON_EXT_SUFFIX} \ PYTHON_VER=${PYTHON_VER} \ PYTHON_VERSION=${PYTHON_VERSION} # Substitutions for pkg-plist # Use a short form of the PYTHONPREFIX_*DIR variables; we don't need the # base directory in the plist file. PLIST_SUB+= PYTHON_INCLUDEDIR=${PYTHONPREFIX_INCLUDEDIR:S;${PREFIX}/;;} \ PYTHON_LIBDIR=${PYTHONPREFIX_LIBDIR:S;${PREFIX}/;;} \ PYTHON_PLATFORM=${PYTHON_PLATFORM} \ PYTHON_SITELIBDIR=${PYTHONPREFIX_SITELIBDIR:S;${PREFIX}/;;} \ PYTHON_SUFFIX=${PYTHON_SUFFIX} \ PYTHON_EXT_SUFFIX=${PYTHON_EXT_SUFFIX} \ PYTHON_VER=${PYTHON_VER} \ PYTHON_VERSION=${PYTHON_VERSION} . if ${PYTHON_MAJOR_VER} < 3 SUB_LIST+= PYTHON2="" PYTHON3="@comment " PLIST_SUB+= PYTHON2="" PYTHON3="@comment " . else SUB_LIST+= PYTHON2="@comment " PYTHON3="" PLIST_SUB+= PYTHON2="@comment " PYTHON3="" . endif _USES_POST+= python .endif # _INCLUDE_USES_PYTHON_MK .if defined(_POSTMKINCLUDED) && !defined(_INCLUDE_USES_PYTHON_POST_MK) _INCLUDE_USES_PYTHON_POST_MK= yes # py-distutils support PYDISTUTILS_CONFIGURE_TARGET?= config PYDISTUTILS_BUILD_TARGET?= build PYDISTUTILS_INSTALL_TARGET?= install . if defined(_PYTHON_FEATURE_DISTUTILS) LDSHARED?= ${CC} -shared MAKE_ENV+= LDSHARED="${LDSHARED}" PYTHONDONTWRITEBYTECODE= PYTHONOPTIMIZE= . if !target(do-configure) && !defined(HAS_CONFIGURE) && !defined(GNU_CONFIGURE) do-configure: @(cd ${BUILD_WRKSRC}; ${SETENVI} ${WRK_ENV} ${MAKE_ENV} ${PYTHON_CMD} ${PYDISTUTILS_SETUP} ${PYDISTUTILS_CONFIGURE_TARGET} ${PYDISTUTILS_CONFIGUREARGS}) . endif . if !target(do-build) do-build: @(cd ${BUILD_WRKSRC}; ${SETENVI} ${WRK_ENV} ${MAKE_ENV} ${PYTHON_CMD} ${PYDISTUTILS_SETUP} ${PYDISTUTILS_BUILD_TARGET} ${PYDISTUTILS_BUILDARGS}) . endif . if !target(do-install) do-install: @(cd ${INSTALL_WRKSRC}; ${SETENVI} ${WRK_ENV} ${MAKE_ENV} ${PYTHON_CMD} ${PYDISTUTILS_SETUP} ${PYDISTUTILS_INSTALL_TARGET} ${PYDISTUTILS_INSTALLARGS}) . endif . endif # defined(_PYTHON_FEATURE_DISTUTILS) . if defined(_PYTHON_FEATURE_PEP517) . if !empty(PEP517_BUILD_DEPEND) BUILD_DEPENDS+= ${PEP517_BUILD_DEPEND} . endif . if !empty(PEP517_INSTALL_DEPEND) BUILD_DEPENDS+= ${PEP517_INSTALL_DEPEND} . endif . if !target(do-configure) do-configure: @${DO_NADA} . endif . if !target(do-build) do-build: @cd ${BUILD_WRKSRC} && ${SETENVI} ${WRK_ENV} ${MAKE_ENV} ${PEP517_BUILD_CMD} . endif . if !target(do-install) do-install: @${MKDIR} ${STAGEDIR}${PYTHONPREFIX_SITELIBDIR} @cd ${INSTALL_WRKSRC} && ${SETENVI} ${WRK_ENV} ${MAKE_ENV} ${PEP517_INSTALL_CMD} @${PYTHON_CMD} -B ${PORTSDIR}/Mk/Scripts/strip_RECORD.py \ ${STAGEDIR}${PYTHONPREFIX_SITELIBDIR}/${PORTNAME:C|[-_]+|_|g}-${DISTVERSION}*.dist-info/RECORD >> ${_PYTHONPKGLIST} @${REINPLACE_CMD} \ -e '/\.pyc$$/d' \ -e 's|^|${PYTHONPREFIX_SITELIBDIR}/|' \ -e 's|^${PYTHONPREFIX_SITELIBDIR}/../../../etc/|etc/|' \ -e 's|^${PYTHONPREFIX_SITELIBDIR}/../../../bin/|bin/|' \ -e 's|^${PYTHONPREFIX_SITELIBDIR}/../../../include/|include/|' \ -e 's|^${PYTHONPREFIX_SITELIBDIR}/../../../lib/|lib/|' \ -e 's|^${PYTHONPREFIX_SITELIBDIR}/../../../libdata/|libdata/|' \ -e 's|^${PYTHONPREFIX_SITELIBDIR}/../../../libexec/|libexec/|' \ -e 's|^${PYTHONPREFIX_SITELIBDIR}/../../../man/|man/|' \ -e 's|^${PYTHONPREFIX_SITELIBDIR}/../../../sbin/|sbin/|' \ -e 's|^${PYTHONPREFIX_SITELIBDIR}/../../../share/|share/|' \ ${_PYTHONPKGLIST} @cd ${STAGEDIR}${PREFIX} && ${FIND} lib -name '*.pyc' >> ${_PYTHONPKGLIST} . endif . endif # defined(_PYTHON_FEATURE_PEP517) . if defined(_PYTHON_FEATURE_NOSE) . if !target(do-test) do-test: cd ${TEST_WRKSRC} && ${SETENVI} ${WRK_ENV} ${TEST_ENV} ${PYTHON_CMD} -m nose ${TEST_ARGS:NDESTDIR=*} -v . endif . endif # defined(_PYTHON_FEATURE_NOSE) . if defined(_PYTHON_FEATURE_NOSE2) . if !target(do-test) do-test: cd ${TEST_WRKSRC} && ${SETENVI} ${WRK_ENV} ${TEST_ENV} ${PYTHON_CMD} -m nose2 ${TEST_ARGS:NDESTDIR=*} -v . endif . endif # defined(_PYTHON_FEATURE_NOSE2) . if defined(_PYTHON_FEATURE_PYTEST) || defined(_PYTHON_FEATURE_PYTEST4) . if !target(do-test) do-test: cd ${TEST_WRKSRC} && ${SETENVI} ${WRK_ENV} ${TEST_ENV} ${PYTHON_CMD} -m pytest -k '${_PYTEST_FILTER_EXPRESSION}' -rs -v -o addopts= ${TEST_ARGS:NDESTDIR=*} . endif . endif # defined(_PYTHON_FEATURE_PYTEST) || defined(_PYTHON_FEATURE_PYTEST4) . if defined(_PYTHON_FEATURE_UNITTEST) . if !target(do-test) do-test: cd ${TEST_WRKSRC} && ${SETENVI} ${WRK_ENV} ${TEST_ENV} ${PYTHON_CMD} -m unittest ${TEST_ARGS:NDESTDIR=*} -v . endif . endif # defined(_PYTHON_FEATURE_UNITTEST) . if defined(_PYTHON_FEATURE_UNITTEST2) . if !target(do-test) do-test: cd ${TEST_WRKSRC} && ${SETENVI} ${WRK_ENV} ${TEST_ENV} ${PYTHON_CMD} -m unittest2 ${TEST_ARGS:NDESTDIR=*} -v . endif . endif # defined(_PYTHON_FEATURE_UNITTEST2) .endif # defined(_POSTMKINCLUDED) && !defined(_INCLUDE_USES_PYTHON_POST_MK) diff --git a/databases/py-psycopg-c/Makefile b/databases/py-psycopg-c/Makefile index 584c6b96108a..7639535355ac 100644 --- a/databases/py-psycopg-c/Makefile +++ b/databases/py-psycopg-c/Makefile @@ -1,31 +1,26 @@ PORTNAME= psycopg-c PORTVERSION= 3.1.20 CATEGORIES= databases python MASTER_SITES= PYPI PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} DISTNAME= psycopg_c-${PORTVERSION} MAINTAINER= sunpoet@FreeBSD.org COMMENT= PostgreSQL database adapter for Python - C optimization distribution WWW= https://www.psycopg.org/psycopg3/ \ https://github.com/psycopg/psycopg/tree/master/psycopg_c LICENSE= LGPL3 LICENSE_FILE= ${WRKSRC}/LICENSE.txt BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}setuptools>=49.2.0:devel/py-setuptools@${PY_FLAVOR} \ + ${PY_TOMLI} \ ${PYTHON_PKGNAMEPREFIX}wheel>=0.37:devel/py-wheel@${PY_FLAVOR} USES= pgsql python USE_PYTHON= autoplist concurrent cython pep517 post-install: ${FIND} ${STAGEDIR}${PYTHON_SITELIBDIR} -name '*.so' -exec ${STRIP_CMD} {} + -.include - -.if ${PYTHON_REL} < 31100 -BUILD_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}tomli>=2.0.1:textproc/py-tomli@${PY_FLAVOR} -.endif - -.include +.include diff --git a/devel/meson-python/Makefile b/devel/meson-python/Makefile index ccd8e7f1abe3..c05b403172b6 100644 --- a/devel/meson-python/Makefile +++ b/devel/meson-python/Makefile @@ -1,41 +1,41 @@ PORTNAME= meson-python DISTVERSION= 0.16.0 PORTEPOCH= 1 CATEGORIES= devel python MASTER_SITES= PYPI PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} DISTNAME= meson_python-${DISTVERSION} MAINTAINER= vishwin@FreeBSD.org COMMENT= Meson Python build backend (PEP-517) WWW= https://github.com/mesonbuild/meson-python LICENSE= MIT LICENSE_FILE= ${WRKSRC}/LICENSE BUILD_DEPENDS= meson:devel/meson@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}packaging>=0.19.0:devel/py-packaging@${PY_FLAVOR} \ - ${PYTHON_PKGNAMEPREFIX}pyproject-metadata>=0.7.1:devel/py-pyproject-metadata@${PY_FLAVOR} + ${PYTHON_PKGNAMEPREFIX}pyproject-metadata>=0.7.1:devel/py-pyproject-metadata@${PY_FLAVOR} \ + ${PY_TOMLI} RUN_DEPENDS= meson:devel/meson@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}packaging>=0.19.0:devel/py-packaging@${PY_FLAVOR} \ - ${PYTHON_PKGNAMEPREFIX}pyproject-metadata>=0.7.1:devel/py-pyproject-metadata@${PY_FLAVOR} + ${PYTHON_PKGNAMEPREFIX}pyproject-metadata>=0.7.1:devel/py-pyproject-metadata@${PY_FLAVOR} \ + ${PY_TOMLI} TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}build>0:devel/py-build@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}pytest-cov>0:devel/py-pytest-cov@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}pytest-mock>0:devel/py-pytest-mock@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}wheel>0:devel/py-wheel@${PY_FLAVOR} \ git:devel/git USES= python USE_PYTHON= autoplist cython_test concurrent pep517 pytest NO_ARCH= yes .include .if ${PYTHON_REL} < 31100 -BUILD_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}tomli>=1.0.0:textproc/py-tomli@${PY_FLAVOR} -RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}tomli>=1.0.0:textproc/py-tomli@${PY_FLAVOR} TEST_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}typing-extensions>=3.7.4:devel/py-typing-extensions@${PY_FLAVOR} .endif .include diff --git a/devel/nox/Makefile b/devel/nox/Makefile index d4073a9aef10..8f315a5264fd 100644 --- a/devel/nox/Makefile +++ b/devel/nox/Makefile @@ -1,33 +1,32 @@ PORTNAME= nox PORTVERSION= ${GH_TAGNAME:S/.0/./g} # .whl file built w/out zeros in the version, possibly based on some clause in the standard CATEGORIES= devel python #MASTER_SITES= PYPI # no tests MAINTAINER= yuri@FreeBSD.org COMMENT= Flexible test automation WWW= https://nox.thea.codes/en/stable/ LICENSE= APACHE20 LICENSE_FILE= ${WRKSRC}/LICENSE PY_DEPENDS= ${PYTHON_PKGNAMEPREFIX}argcomplete>=1.9.4<4.0:devel/py-argcomplete@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}colorlog>=2.6.1<7.0.0:devel/py-colorlog@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}packaging>=20.9:devel/py-packaging@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}virtualenv>=20.14.1:devel/py-virtualenv@${PY_FLAVOR} BUILD_DEPENDS= ${PY_DEPENDS} \ ${PYTHON_PKGNAMEPREFIX}hatchling>0:devel/py-hatchling@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}wheel>0:devel/py-wheel@${PY_FLAVOR} -RUN_DEPENDS= ${PY_DEPENDS} -py39_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}tomli>=1:textproc/py-tomli@${PY_FLAVOR} -py310_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}tomli>=1:textproc/py-tomli@${PY_FLAVOR} +RUN_DEPENDS= ${PY_DEPENDS} \ + ${PY_TOMLI} USES= python USE_PYTHON= pep517 autoplist pytest # 37 tests fail, see https://github.com/wntrblm/nox/issues/820 USE_GITHUB= yes GH_ACCOUNT= wntrblm GH_TAGNAME= 2024.04.15 NO_ARCH= yes .include diff --git a/devel/py-black/Makefile b/devel/py-black/Makefile index e8b074ef0e92..04ff26abaeb0 100644 --- a/devel/py-black/Makefile +++ b/devel/py-black/Makefile @@ -1,60 +1,57 @@ PORTNAME= black PORTVERSION= 24.4.2 CATEGORIES= devel python MASTER_SITES= PYPI PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} MAINTAINER= sunpoet@FreeBSD.org COMMENT= Uncompromising code formatter WWW= https://black.readthedocs.io/en/stable/ \ https://github.com/psf/black LICENSE= MIT LICENSE_FILE= ${WRKSRC}/LICENSE BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}hatch-fancy-pypi-readme>=0:devel/py-hatch-fancy-pypi-readme@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}hatch-vcs>=0:devel/py-hatch-vcs@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}hatchling>=1.8.0:devel/py-hatchling@${PY_FLAVOR} RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}click>=8.0.0:devel/py-click@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}mypy_extensions>=0.4.3:devel/py-mypy_extensions@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}packaging>=22.0:devel/py-packaging@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}pathspec>=0.9.0:devel/py-pathspec@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}platformdirs>=2:devel/py-platformdirs@${PY_FLAVOR} \ - ${PYTHON_PKGNAMEPREFIX}regex>=2020.1.8:textproc/py-regex@${PY_FLAVOR} + ${PYTHON_PKGNAMEPREFIX}regex>=2020.1.8:textproc/py-regex@${PY_FLAVOR} \ + ${PY_TOMLI} TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}coverage>=5.3:devel/py-coverage@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}ipython>=7.8.0:devel/ipython@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}pre-commit>=0:devel/py-pre-commit@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}pytest-cov>=4.1.0:devel/py-pytest-cov@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}pytest-xdist>=3.0.2,1:devel/py-pytest-xdist@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}tokenize-rt>=3.2.0:devel/py-tokenize-rt@${PY_FLAVOR} USES= python USE_PYTHON= autoplist concurrent pep517 pytest NO_ARCH= yes TEST_ENV= PYTHONPATH=${STAGEDIR}${PYTHON_SITELIBDIR} OPTIONS_DEFINE= COLORAMA D JUPYTER UVLOOP OPTIONS_DEFAULT=COLORAMA COLORAMA_DESC= Color support D_DESC= Blackd HTTP server JUPYTER_DESC= Jupyter support UVLOOP_DESC= Event loop support COLORAMA_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}colorama>=0.4.3:devel/py-colorama@${PY_FLAVOR} D_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}aiohttp>=3.7.4:www/py-aiohttp@${PY_FLAVOR} JUPYTER_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}ipython>=7.8.0:devel/ipython@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}tokenize-rt>=3.2.0:devel/py-tokenize-rt@${PY_FLAVOR} UVLOOP_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}uvloop>=0.15.2:devel/py-uvloop@${PY_FLAVOR} .include .if ${PYTHON_REL} < 31100 RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}typing-extensions>=4.0.1:devel/py-typing-extensions@${PY_FLAVOR} .endif -.if ${PYTHON_REL} < 31100 -RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}tomli>=1.1.0:textproc/py-tomli@${PY_FLAVOR} -.endif - .include diff --git a/devel/py-build/Makefile b/devel/py-build/Makefile index 152b2a7fcd89..3683ce2e25a7 100644 --- a/devel/py-build/Makefile +++ b/devel/py-build/Makefile @@ -1,36 +1,33 @@ PORTNAME= build PORTVERSION= 1.2.1 CATEGORIES= devel python MASTER_SITES= PYPI PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} MAINTAINER= sunpoet@FreeBSD.org COMMENT= PEP517 package builder WWW= https://build.pypa.io/en/stable/ \ https://github.com/pypa/build LICENSE= MIT LICENSE_FILE= ${WRKSRC}/LICENSE RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}packaging>=19.1:devel/py-packaging@${PY_FLAVOR} \ - ${PYTHON_PKGNAMEPREFIX}pyproject_hooks>=0:devel/py-pyproject_hooks@${PY_FLAVOR} + ${PYTHON_PKGNAMEPREFIX}pyproject_hooks>=0:devel/py-pyproject_hooks@${PY_FLAVOR} \ + ${PY_TOMLI} USES= python USE_PYTHON= allflavors autoplist concurrent pep517 NO_ARCH= yes PEP517_BUILD_CMD= ${PYTHON_CMD} -m flit_core.wheel PEP517_BUILD_DEPEND= ${PYTHON_PKGNAMEPREFIX}flit-core>=3.8:devel/py-flit-core@${PY_FLAVOR} .include #.if ${PYTHON_REL} < 31200 #RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}importlib-metadata>=4.6:devel/py-importlib-metadata@${PY_FLAVOR} #.endif -.if ${PYTHON_REL} < 31100 -RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}tomli>=1.1.0:textproc/py-tomli@${PY_FLAVOR} -.endif - .include diff --git a/devel/py-check-jsonschema/Makefile b/devel/py-check-jsonschema/Makefile index cdcea74ecfac..50b9bc7dc793 100644 --- a/devel/py-check-jsonschema/Makefile +++ b/devel/py-check-jsonschema/Makefile @@ -1,37 +1,34 @@ PORTNAME= check-jsonschema PORTVERSION= 0.28.2 CATEGORIES= devel python MASTER_SITES= PYPI \ https://github.com/python-jsonschema/check-jsonschema/releases/download/${PORTVERSION}/ PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} MAINTAINER= sunpoet@FreeBSD.org COMMENT= jsonschema CLI and pre-commit hook WWW= https://github.com/python-jsonschema/check-jsonschema LICENSE= APACHE20 BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}setuptools>=0:devel/py-setuptools@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}wheel>=0:devel/py-wheel@${PY_FLAVOR} RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}click>=8<9:devel/py-click@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}jsonschema>=4.18.0<5.0:devel/py-jsonschema@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}regress>=0.4.0:devel/py-regress@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}requests>=0<3.0:www/py-requests@${PY_FLAVOR} \ - ${PYTHON_PKGNAMEPREFIX}ruamel.yaml>=0.18.6:devel/py-ruamel.yaml@${PY_FLAVOR} + ${PYTHON_PKGNAMEPREFIX}ruamel.yaml>=0.18.6:devel/py-ruamel.yaml@${PY_FLAVOR} \ + ${PY_TOMLI} USES= python USE_PYTHON= autoplist concurrent pep517 NO_ARCH= yes .include .if ${PYTHON_REL} < 30900 RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}importlib-resources>=1.4.0:devel/py-importlib-resources@${PY_FLAVOR} .endif -.if ${PYTHON_REL} < 1100 -RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}tomli>=2.0:textproc/py-tomli@${PY_FLAVOR} -.endif - .include diff --git a/devel/py-check-manifest/Makefile b/devel/py-check-manifest/Makefile index 07add6e30bd2..9d25b1d8cd38 100644 --- a/devel/py-check-manifest/Makefile +++ b/devel/py-check-manifest/Makefile @@ -1,32 +1,27 @@ PORTNAME= check-manifest PORTVERSION= 0.49 PORTREVISION= 1 CATEGORIES= devel python MASTER_SITES= PYPI PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} MAINTAINER= sunpoet@FreeBSD.org COMMENT= Tool to check the completeness of MANIFEST.in for Python packages WWW= https://github.com/mgedmin/check-manifest LICENSE= MIT LICENSE_FILE= ${WRKSRC}/LICENSE.rst BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}setuptools>=0:devel/py-setuptools@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}wheel>=0:devel/py-wheel@${PY_FLAVOR} -RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}build>=0.1:devel/py-build@${PY_FLAVOR} +RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}build>=0.1:devel/py-build@${PY_FLAVOR} \ + ${PY_TOMLI} TEST_DEPENDS= git-tiny>=0:devel/git@tiny \ ${PYTHON_PKGNAMEPREFIX}wheel>=0:devel/py-wheel@${PY_FLAVOR} USES= python USE_PYTHON= autoplist concurrent pep517 pytest NO_ARCH= yes -.include - -.if ${PYTHON_REL} < 31100 -RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}tomli>=1.1.0:textproc/py-tomli@${PY_FLAVOR} -.endif - -.include +.include diff --git a/devel/py-check-sdist/Makefile b/devel/py-check-sdist/Makefile index 4461a5e19741..369b6666732e 100644 --- a/devel/py-check-sdist/Makefile +++ b/devel/py-check-sdist/Makefile @@ -1,34 +1,31 @@ PORTNAME= check-sdist PORTVERSION= 0.1.3 CATEGORIES= devel python MASTER_SITES= PYPI PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} DISTNAME= check_sdist-${PORTVERSION} MAINTAINER= sunpoet@FreeBSD.org COMMENT= Check the contents of an sdist vs git WWW= https://github.com/henryiii/check-sdist LICENSE= BSD3CLAUSE LICENSE_FILE= ${WRKSRC}/LICENSE BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}hatchling>=0:devel/py-hatchling@${PY_FLAVOR} RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}build>=0:devel/py-build@${PY_FLAVOR} \ - ${PYTHON_PKGNAMEPREFIX}pathspec>=0:devel/py-pathspec@${PY_FLAVOR} + ${PYTHON_PKGNAMEPREFIX}pathspec>=0:devel/py-pathspec@${PY_FLAVOR} \ + ${PY_TOMLI} USES= python USE_PYTHON= autoplist concurrent pep517 NO_ARCH= yes .include .if ${PYTHON_REL} < 30900 RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}importlib-resources>=0:devel/py-importlib-resources@${PY_FLAVOR} .endif -.if ${PYTHON_REL} < 31100 -RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}tomli>=0:textproc/py-tomli@${PY_FLAVOR} -.endif - .include diff --git a/devel/py-deptry/Makefile b/devel/py-deptry/Makefile index 16e9f618e77f..decf0ce2f0a3 100644 --- a/devel/py-deptry/Makefile +++ b/devel/py-deptry/Makefile @@ -1,32 +1,27 @@ PORTNAME= deptry PORTVERSION= 0.16.2 CATEGORIES= devel python MASTER_SITES= PYPI PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} DISTFILES= deptry-${PORTVERSION}${EXTRACT_SUFX} MAINTAINER= sunpoet@FreeBSD.org COMMENT= CLI utility to check for unused, missing and transitive dependencies WWW= https://deptry.com/ \ https://github.com/fpgmaas/deptry LICENSE= MIT LICENSE_FILE= ${WRKSRC}/LICENSE BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}maturin>=1.5<2.0:devel/py-maturin@${PY_FLAVOR} RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}click>=8.0.0<9:devel/py-click@${PY_FLAVOR} \ + ${PY_TOMLI} USES= cargo python USE_PYTHON= autoplist concurrent pep517 CARGO_BUILD= no CARGO_INSTALL= no WRKSRC= ${WRKDIR}/deptry-${PORTVERSION} -.include - -.if ${PYTHON_REL} < 31100 -RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}tomli>=2.0.1:textproc/py-tomli@${PY_FLAVOR} -.endif - -.include +.include diff --git a/devel/py-docformatter/Makefile b/devel/py-docformatter/Makefile index 4f11b9e5460b..ad9d74a11274 100644 --- a/devel/py-docformatter/Makefile +++ b/devel/py-docformatter/Makefile @@ -1,36 +1,32 @@ PORTNAME= docformatter PORTVERSION= 1.7.5 CATEGORIES= devel python MASTER_SITES= PYPI PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} MAINTAINER= sunpoet@FreeBSD.org COMMENT= Format docstrings to follow PEP 257 WWW= https://docformatter.readthedocs.io/en/latest/ \ https://github.com/PyCQA/docformatter LICENSE= MIT LICENSE_FILE= ${WRKSRC}/LICENSE BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}poetry-core>=1.0.0:devel/py-poetry-core@${PY_FLAVOR} RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}charset-normalizer>=3.0.0<4:textproc/py-charset-normalizer@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}untokenize>=0.1.1<0.2:devel/py-untokenize@${PY_FLAVOR} USES= python shebangfix USE_PYTHON= autoplist concurrent pep517 NO_ARCH= yes SHEBANG_FILES= src/docformatter/__main__.py OPTIONS_DEFINE= TOMLI OPTIONS_DEFAULT=TOMLI TOMLI_DESC= TOML (Tom's Obvious Minimal Language) support -.include +TOMLI_RUN_DEPENDS= ${PY_TOMLI} -.if ${PORT_OPTIONS:MTOMLI} && ${PYTHON_REL} < 31100 -RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}tomli>=2.0.0<3:textproc/py-tomli@${PY_FLAVOR} -.endif - -.include +.include diff --git a/devel/py-flake8-black/Makefile b/devel/py-flake8-black/Makefile index 391d7295e04c..409eb3793709 100644 --- a/devel/py-flake8-black/Makefile +++ b/devel/py-flake8-black/Makefile @@ -1,31 +1,26 @@ PORTNAME= flake8-black PORTVERSION= 0.3.6 PORTREVISION= 2 CATEGORIES= devel python MASTER_SITES= PYPI PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} MAINTAINER= sunpoet@FreeBSD.org COMMENT= flake8 plugin to call black as a code style validator WWW= https://github.com/peterjc/flake8-black LICENSE= MIT LICENSE_FILE= ${WRKSRC}/LICENSE.rst BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}setuptools>=61:devel/py-setuptools@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}wheel>=0:devel/py-wheel@${PY_FLAVOR} RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}black>=22.1.0:devel/py-black@${PY_FLAVOR} \ - ${PYTHON_PKGNAMEPREFIX}flake8>=3:devel/py-flake8@${PY_FLAVOR} + ${PYTHON_PKGNAMEPREFIX}flake8>=3:devel/py-flake8@${PY_FLAVOR} \ + ${PY_TOMLI} USES= python USE_PYTHON= autoplist concurrent pep517 NO_ARCH= yes -.include - -.if ${PYTHON_REL} < 31100 -RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}tomli>=0:textproc/py-tomli@${PY_FLAVOR} -.endif - -.include +.include diff --git a/devel/py-flit-scm/Makefile b/devel/py-flit-scm/Makefile index 700a8a1db5ff..a009fe7428c4 100644 --- a/devel/py-flit-scm/Makefile +++ b/devel/py-flit-scm/Makefile @@ -1,35 +1,30 @@ PORTNAME= flit-scm PORTVERSION= 1.7.0 PORTREVISION= 3 CATEGORIES= devel python MASTER_SITES= PYPI PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} DISTNAME= flit_scm-${PORTVERSION} MAINTAINER= sunpoet@FreeBSD.org COMMENT= PEP 518 build backend that uses setuptools_scm to generate a version file WWW= https://gitlab.com/WillDaSilva/flit_scm LICENSE= MIT LICENSE_FILE= ${WRKSRC}/LICENSE BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}flit-core>=3.5<4:devel/py-flit-core@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}setuptools>=0:devel/py-setuptools@${PY_FLAVOR} \ - ${PYTHON_PKGNAMEPREFIX}setuptools-scm>=6.4:devel/py-setuptools-scm@${PY_FLAVOR} + ${PYTHON_PKGNAMEPREFIX}setuptools-scm>=6.4:devel/py-setuptools-scm@${PY_FLAVOR} \ + ${PY_TOMLI} RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}flit-core>=3.5<4:devel/py-flit-core@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}setuptools>=0:devel/py-setuptools@${PY_FLAVOR} \ - ${PYTHON_PKGNAMEPREFIX}setuptools-scm>=6.4:devel/py-setuptools-scm@${PY_FLAVOR} + ${PYTHON_PKGNAMEPREFIX}setuptools-scm>=6.4:devel/py-setuptools-scm@${PY_FLAVOR} \ + ${PY_TOMLI} USES= python USE_PYTHON= autoplist concurrent pep517 NO_ARCH= yes -.include - -.if ${PYTHON_REL} < 31100 -BUILD_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}tomli>=0:textproc/py-tomli@${PY_FLAVOR} -RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}tomli>=0:textproc/py-tomli@${PY_FLAVOR} -.endif - -.include +.include diff --git a/devel/py-frozenlist/Makefile b/devel/py-frozenlist/Makefile index 723e76b9150c..a2c40128c251 100644 --- a/devel/py-frozenlist/Makefile +++ b/devel/py-frozenlist/Makefile @@ -1,30 +1,25 @@ PORTNAME= frozenlist PORTVERSION= 1.4.1 CATEGORIES= devel python MASTER_SITES= PYPI PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} MAINTAINER= python@FreeBSD.org COMMENT= List-like structure which implements collections.abc.MutableSequence WWW= https://github.com/aio-libs/frozenlist LICENSE= APACHE20 LICENSE_FILE= ${WRKSRC}/LICENSE BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}expandvars>=0:devel/py-expandvars@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}setuptools>=47:devel/py-setuptools@${PY_FLAVOR} \ + ${PY_TOMLI} \ ${PYTHON_PKGNAMEPREFIX}wheel>=0:devel/py-wheel@${PY_FLAVOR} USES= gettext-runtime python USE_PYTHON= autoplist concurrent cython pep517 post-install: ${FIND} ${STAGEDIR}${PYTHON_SITELIBDIR} -name '*.so' -exec ${STRIP_CMD} {} + -.include - -.if ${PYTHON_REL} < 31100 -BUILD_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}tomli>=0:textproc/py-tomli@${PY_FLAVOR} -.endif - -.include +.include diff --git a/devel/py-glom/Makefile b/devel/py-glom/Makefile index adda3c68b72c..a14e3330dfec 100644 --- a/devel/py-glom/Makefile +++ b/devel/py-glom/Makefile @@ -1,37 +1,33 @@ PORTNAME= glom PORTVERSION= 23.5.0 PORTREVISION= 1 CATEGORIES= devel python MASTER_SITES= PYPI PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} MAINTAINER= sunpoet@FreeBSD.org COMMENT= Declarative object transformer and formatter WWW= https://glom.readthedocs.io/en/latest/ \ https://github.com/mahmoud/glom LICENSE= BSD3CLAUSE LICENSE_FILE= ${WRKSRC}/LICENSE BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}setuptools>=0:devel/py-setuptools@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}wheel>=0:devel/py-wheel@${PY_FLAVOR} RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}attrs>=0:devel/py-attrs@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}boltons>=19.3.0:devel/py-boltons@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}face>=20.1.0:devel/py-face@${PY_FLAVOR} USES= python USE_PYTHON= autoplist concurrent pep517 NO_ARCH= yes OPTIONS_DEFINE= TOML OPTIONS_DEFAULT=TOML TOML_DESC= TOML (Tom's Obvious Minimal Language) support -.include +TOMLI_RUN_DEPENDS= ${PY_TOMLI} -.if ${PORT_OPTIONS:MTOML} && ${PYTHON_REL} < 31100 -RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}tomli>=0:textproc/py-tomli@${PY_FLAVOR} -.endif - -.include +.include diff --git a/devel/py-hatch-fancy-pypi-readme/Makefile b/devel/py-hatch-fancy-pypi-readme/Makefile index e7820011b5a1..86070f8f978b 100644 --- a/devel/py-hatch-fancy-pypi-readme/Makefile +++ b/devel/py-hatch-fancy-pypi-readme/Makefile @@ -1,29 +1,24 @@ PORTNAME= hatch-fancy-pypi-readme PORTVERSION= 24.1.0 CATEGORIES= devel python MASTER_SITES= PYPI PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} DISTNAME= hatch_fancy_pypi_readme-${PORTVERSION} MAINTAINER= sunpoet@FreeBSD.org COMMENT= Fancy PyPI READMEs with Hatch WWW= https://github.com/hynek/hatch-fancy-pypi-readme LICENSE= MIT LICENSE_FILE= ${WRKSRC}/LICENSE.txt BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}hatchling>=0:devel/py-hatchling@${PY_FLAVOR} -RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}hatchling>=0:devel/py-hatchling@${PY_FLAVOR} +RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}hatchling>=0:devel/py-hatchling@${PY_FLAVOR} \ + ${PY_TOMLI} USES= python USE_PYTHON= autoplist concurrent pep517 NO_ARCH= yes -.include - -.if ${PYTHON_REL} < 31000 -RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}tomli>=0:textproc/py-tomli@${PY_FLAVOR} -.endif - -.include +.include diff --git a/devel/py-hatchling/Makefile b/devel/py-hatchling/Makefile index c0abbf516bba..cb3905aaced4 100644 --- a/devel/py-hatchling/Makefile +++ b/devel/py-hatchling/Makefile @@ -1,31 +1,26 @@ PORTNAME= hatchling PORTVERSION= 1.25.0 CATEGORIES= devel python MASTER_SITES= PYPI PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} MAINTAINER= sunpoet@FreeBSD.org COMMENT= Modern, extensible Python build backend WWW= https://github.com/pypa/hatch/tree/master/backend LICENSE= MIT LICENSE_FILE= ${WRKSRC}/LICENSE.txt BUILD_DEPENDS= ${RUN_DEPENDS} RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}packaging>=23.2:devel/py-packaging@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}pathspec>=0.10.1:devel/py-pathspec@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}pluggy>=1.0.0:devel/py-pluggy@${PY_FLAVOR} \ + ${PY_TOMLI} \ ${PYTHON_PKGNAMEPREFIX}trove-classifiers>=0:devel/py-trove-classifiers@${PY_FLAVOR} USES= python USE_PYTHON= autoplist concurrent pep517 NO_ARCH= yes -.include - -.if ${PYTHON_REL} < 31100 -RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}tomli>=1.2.2:textproc/py-tomli@${PY_FLAVOR} -.endif - -.include +.include diff --git a/devel/py-jupyterlab/Makefile b/devel/py-jupyterlab/Makefile index f8b551d8551b..2badd97b8961 100644 --- a/devel/py-jupyterlab/Makefile +++ b/devel/py-jupyterlab/Makefile @@ -1,52 +1,49 @@ PORTNAME= jupyterlab PORTVERSION= 4.2.4 CATEGORIES= devel python MASTER_SITES= PYPI \ https://github.com/jupyterlab/jupyterlab/releases/download/v${PORTVERSION}/ PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} MAINTAINER= sunpoet@FreeBSD.org COMMENT= JupyterLab server extension WWW= https://jupyter.org/ \ https://jupyterlab.readthedocs.io/en/latest/ \ https://github.com/jupyterlab/jupyterlab LICENSE= BSD3CLAUSE LICENSE_FILE= ${WRKSRC}/LICENSE BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}hatch-jupyter-builder>=0.3.2:devel/py-hatch-jupyter-builder@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}hatchling>=1.21.1:devel/py-hatchling@${PY_FLAVOR} RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}async-lru>=1.0.0:devel/py-async-lru@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}httpx>=0.25.0:www/py-httpx@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}ipykernel>=6.5.0:devel/py-ipykernel@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}Jinja2>=3.0.3:devel/py-Jinja2@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}jupyter-core>=0:devel/py-jupyter-core@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}jupyter-lsp>=2.0.0:devel/py-jupyter-lsp@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}jupyter-server>=2.4.0<3:devel/py-jupyter-server@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}jupyterlab-server>=2.27.1<3:devel/py-jupyterlab-server@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}notebook-shim>=0.2:devel/py-notebook-shim@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}packaging>=0:devel/py-packaging@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}setuptools>=40.1.0:devel/py-setuptools@${PY_FLAVOR} \ + ${PY_TOMLI} \ ${PYTHON_PKGNAMEPREFIX}tornado>=6.2.0:www/py-tornado@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}traitlets>=0:devel/py-traitlets@${PY_FLAVOR} USES= python USE_PYTHON= autoplist concurrent pep517 NO_ARCH= yes .include .if ${PYTHON_REL} < 30900 RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}importlib-resources>=1.4:devel/py-importlib-resources@${PY_FLAVOR} .endif .if ${PYTHON_REL} < 31000 RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}importlib-metadata>=4.8.3:devel/py-importlib-metadata@${PY_FLAVOR} .endif -.if ${PYTHON_REL} < 31100 -RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}tomli>=1.2.2:textproc/py-tomli@${PY_FLAVOR} -.endif - .include diff --git a/devel/py-maturin/Makefile b/devel/py-maturin/Makefile index fe5e5b7a7cb1..b6c0d403cd8b 100644 --- a/devel/py-maturin/Makefile +++ b/devel/py-maturin/Makefile @@ -1,56 +1,51 @@ PORTNAME= maturin DISTVERSIONPREFIX= v DISTVERSION= 1.7.0 CATEGORIES= devel python PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} MAINTAINER= kai@FreeBSD.org COMMENT= Build and publish crates with pyo3, rust-cpython and cffi bindings WWW= https://github.com/PyO3/maturin LICENSE= APACHE20 MIT LICENSE_COMB= dual LICENSE_FILE_APACHE20= ${WRKSRC}/license-apache LICENSE_FILE_MIT= ${WRKSRC}/license-mit BUILD_DEPENDS= ${PY_SETUPTOOLS} \ ${PYTHON_PKGNAMEPREFIX}setuptools-rust>=1.4.0:devel/py-setuptools-rust@${PY_FLAVOR} \ + ${PY_TOMLI} \ ${PYTHON_PKGNAMEPREFIX}wheel>=0.36.2:devel/py-wheel@${PY_FLAVOR} +RUN_DEPENDS= ${PY_TOMLI} USES= cargo python USE_GITHUB= yes GH_ACCOUNT= PyO3 USE_PYTHON= autoplist concurrent pep517 CARGO_BUILD= no CARGO_INSTALL= no CARGO_TARGET_DIR= ${WRKSRC}/target MAKE_ENV= ${CARGO_ENV} BINARY_ALIAS= python3=${PYTHON_CMD} # NB: There are two options in "pyproject.toml" (= "patchelf" + "zig") but both # seem to be a no-op on FreeBSD at the moment, so they were deliberately # not added. .include .if ${ARCH:Mpowerpc*} CARGO_BUILD_ARGS= --no-default-features \ --features=upload,log,human-panic .endif -.include - -.if ${PYTHON_REL} < 31100 -BUILD_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}tomli>=1.1.0:textproc/py-tomli@${PY_FLAVOR} -RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}tomli>=1.1.0:textproc/py-tomli@${PY_FLAVOR} -.endif - post-patch: @${RM} ${WRKSRC}/pyproject.toml ${REINPLACE_CMD} 's|%%PYTHON_VER%%|${PYTHON_VER}|' ${WRKSRC}/maturin/__init__.py post-install: ${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/maturin -.include +.include diff --git a/devel/py-msgspec/Makefile b/devel/py-msgspec/Makefile index 37b24fd22eaa..fffa0b456231 100644 --- a/devel/py-msgspec/Makefile +++ b/devel/py-msgspec/Makefile @@ -1,39 +1,34 @@ PORTNAME= msgspec PORTVERSION= 0.18.6 PORTREVISION= 1 CATEGORIES= devel python MASTER_SITES= PYPI PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} MAINTAINER= sunpoet@FreeBSD.org COMMENT= Fast serialization and validation library WWW= https://jcristharif.com/msgspec/ \ https://github.com/jcrist/msgspec LICENSE= BSD3CLAUSE LICENSE_FILE= ${WRKSRC}/LICENSE BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}setuptools>=0:devel/py-setuptools@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}wheel>=0:devel/py-wheel@${PY_FLAVOR} USES= python USE_PYTHON= autoplist concurrent pep517 #NO_ARCH= yes OPTIONS_DEFINE= TOML YAML OPTIONS_DEFAULT=TOML YAML -TOML_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}tomli-w>=0:textproc/py-tomli-w@${PY_FLAVOR} +TOML_RUN_DEPENDS= ${PY_TOMLI} \ + ${PYTHON_PKGNAMEPREFIX}tomli-w>=0:textproc/py-tomli-w@${PY_FLAVOR} YAML_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pyyaml>=0:devel/py-pyyaml@${PY_FLAVOR} -.include - -.if ${PORT_OPTIONS:MTOML} && ${PYTHON_REL} < 31100 -RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}tomli>=0:textproc/py-tomli@${PY_FLAVOR} -.endif - post-install: ${FIND} ${STAGEDIR}${PYTHON_SITELIBDIR} -name '*.so' -exec ${STRIP_CMD} {} + -.include +.include diff --git a/devel/py-mypy/Makefile b/devel/py-mypy/Makefile index f41fdaea1e68..bbea9a6ceca1 100644 --- a/devel/py-mypy/Makefile +++ b/devel/py-mypy/Makefile @@ -1,57 +1,52 @@ PORTNAME= mypy PORTVERSION= 1.11.0 CATEGORIES= devel python MASTER_SITES= PYPI PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} MAINTAINER= sunpoet@FreeBSD.org COMMENT= Optional static typing for Python WWW= https://www.mypy-lang.org/ \ https://github.com/python/mypy LICENSE= MIT LICENSE_FILE= ${WRKSRC}/LICENSE BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}mypy_extensions>=1.0.0:devel/py-mypy_extensions@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}setuptools>=40.6.2:devel/py-setuptools@${PY_FLAVOR} \ + ${PY_TOMLI} \ ${PYTHON_PKGNAMEPREFIX}types-psutil>=0:devel/py-types-psutil@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}types-setuptools>=0:devel/py-types-setuptools@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}typing-extensions>=4.6.0:devel/py-typing-extensions@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}wheel>=0.30.0:devel/py-wheel@${PY_FLAVOR} RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}mypy_extensions>=1.0.0:devel/py-mypy_extensions@${PY_FLAVOR} \ + ${PY_TOMLI} \ ${PYTHON_PKGNAMEPREFIX}typing-extensions>=4.1.0:devel/py-typing-extensions@${PY_FLAVOR} TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}attrs>=18.0:devel/py-attrs@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}filelock>=3.3.0:sysutils/py-filelock@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}importlib-metadata>=4.6.1<5.0.0:devel/py-importlib-metadata@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}lxml>=4.4.0:devel/py-lxml@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}psutil>=4.0:sysutils/py-psutil@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}py>=1.5.2:devel/py-py@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}pytest-cov>=2.9.0:devel/py-pytest-cov@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}pytest-forked>=1.3.0<2.0.0:devel/py-pytest-forked@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}pytest-xdist>=1.34.0,1:devel/py-pytest-xdist@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}six>=0:devel/py-six@${PY_FLAVOR} USES= python USE_PYTHON= autoplist concurrent pep517 pytest NO_ARCH= yes PYTEST_BROKEN_TESTS= test_c_unit_test # https://github.com/python/mypy/issues/12634 OPTIONS_DEFINE= DMYPY MYPYC REPORTS OPTIONS_DEFAULT=DMYPY MYPYC REPORTS DMYPY_DESC= Daemon mode MYPYC_DESC= Mypypc support REPORTS_DESC= Coverage reports DMYPY_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}psutil>=4.0:sysutils/py-psutil@${PY_FLAVOR} MYPYC_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}setuptools>=50:devel/py-setuptools@${PY_FLAVOR} REPORTS_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}lxml>=0:devel/py-lxml@${PY_FLAVOR} -.include - -.if ${PYTHON_REL} < 31100 -BUILD_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}tomli>=1.1.0:textproc/py-tomli@${PY_FLAVOR} -RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}tomli>=1.1.0:textproc/py-tomli@${PY_FLAVOR} -.endif - -.include +.include diff --git a/devel/py-pdm-build-locked/Makefile b/devel/py-pdm-build-locked/Makefile index 2934e3342330..4ee7e9da58b8 100644 --- a/devel/py-pdm-build-locked/Makefile +++ b/devel/py-pdm-build-locked/Makefile @@ -1,29 +1,24 @@ PORTNAME= pdm-build-locked PORTVERSION= 0.3.0 CATEGORIES= devel python MASTER_SITES= PYPI PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} DISTNAME= pdm_build_locked-${PORTVERSION} MAINTAINER= sunpoet@FreeBSD.org COMMENT= Add locked packages as additional optional dependency groups WWW= https://pdm-build-locked.readthedocs.io/en/stable/ \ https://github.com/pdm-project/pdm-build-locked LICENSE= MIT LICENSE_FILE= ${WRKSRC}/LICENSE BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pdm-backend>=0:devel/py-pdm-backend@${PY_FLAVOR} +RUN_DEPENDS= ${PY_TOMLI} USES= python USE_PYTHON= autoplist concurrent pep517 NO_ARCH= yes -.include - -.if ${PYTHON_REL} < 31100 -RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}tomli>=0:textproc/py-tomli@${PY_FLAVOR} -.endif - -.include +.include diff --git a/devel/py-pdm/Makefile b/devel/py-pdm/Makefile index c44441acdb1a..8584e2aecbc1 100644 --- a/devel/py-pdm/Makefile +++ b/devel/py-pdm/Makefile @@ -1,68 +1,65 @@ PORTNAME= pdm PORTVERSION= 2.17.1 CATEGORIES= devel python MASTER_SITES= PYPI PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} MAINTAINER= sunpoet@FreeBSD.org COMMENT= Python Development Master WWW= https://pdm-project.org/ \ https://github.com/pdm-project/pdm LICENSE= MIT LICENSE_FILE= ${WRKSRC}/LICENSE BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pdm-backend>=0:devel/py-pdm-backend@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}pdm-build-locked>=0:devel/py-pdm-build-locked@${PY_FLAVOR} RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}blinker>=0:devel/py-blinker@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}dep-logic>=0.4.3:devel/py-dep-logic@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}filelock>=3.13:sysutils/py-filelock@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}findpython>=0.6.0<1.0.0:devel/py-findpython@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}hishel>=0.0.24<0.1.0:devel/py-hishel@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}httpx>=0.20<1:www/py-httpx@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}installer>=0.7<0.8:devel/py-installer@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}msgpack>=1.0:devel/py-msgpack@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}packaging>=20.9:devel/py-packaging@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}pbs-installer>=2024.4.18:devel/py-pbs-installer@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}platformdirs>=0:devel/py-platformdirs@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}pyproject_hooks>=0:devel/py-pyproject_hooks@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}python-dotenv>=0.15:www/py-python-dotenv@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}resolvelib1>=1.0.1:devel/py-resolvelib1@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}rich>=12.3.0:textproc/py-rich@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}shellingham>=1.3.2:devel/py-shellingham@${PY_FLAVOR} \ + ${PY_TOMLI} \ ${PYTHON_PKGNAMEPREFIX}tomlkit>=0.11.1<1:textproc/py-tomlkit@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}unearth>=0.16.0:devel/py-unearth@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}virtualenv>=20:devel/py-virtualenv@${PY_FLAVOR} USES= python USE_PYTHON= autoplist concurrent pep517 NO_ARCH= yes OPTIONS_DEFINE= COOKIECUTTER COPIER KEYRING OPTIONS_DEFAULT=KEYRING COOKIECUTTER_DESC= Use cookiecutter to generate project COPIER_DESC= Use copier to generate project KEYRING_DESC= Use keyring to save credentials COOKIECUTTER_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}cookiecutter>=0:devel/py-cookiecutter@${PY_FLAVOR} \ COPIER_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}copier>=8.0.0:devel/py-copier@${PY_FLAVOR} \ KEYRING_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}keyring>=0,1:security/py-keyring@${PY_FLAVOR} \ .include .if ${PYTHON_REL} < 30900 RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}importlib-resources>=5:devel/py-importlib-resources@${PY_FLAVOR} .endif .if ${PYTHON_REL} < 31000 RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}importlib-metadata>=3.6:devel/py-importlib-metadata@${PY_FLAVOR} .else RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}truststore>=0:security/py-truststore@${PY_FLAVOR} .endif -.if ${PYTHON_REL} < 31100 -RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}tomli>=1.1.0:textproc/py-tomli@${PY_FLAVOR} -.endif - .include diff --git a/devel/py-pep517/Makefile b/devel/py-pep517/Makefile index e9630d5d055d..6c20cba78b7d 100644 --- a/devel/py-pep517/Makefile +++ b/devel/py-pep517/Makefile @@ -1,28 +1,23 @@ PORTNAME= pep517 PORTVERSION= 0.13.1 CATEGORIES= devel python MASTER_SITES= PYPI PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} MAINTAINER= sunpoet@FreeBSD.org COMMENT= Wrappers to build Python packages using PEP 517 hooks WWW= https://pyproject-hooks.readthedocs.io/en/latest/ \ https://github.com/pypa/pyproject-hooks LICENSE= MIT LICENSE_FILE= ${WRKSRC}/LICENSE BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}flit-core>=2<4:devel/py-flit-core@${PY_FLAVOR} +RUN_DEPENDS= ${PY_TOMLI} USES= python USE_PYTHON= autoplist concurrent pep517 NO_ARCH= yes -.include - -.if ${PYTHON_REL} < 31100 -RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}tomli>=1.1.0:textproc/py-tomli@${PY_FLAVOR} -.endif - -.include +.include diff --git a/devel/py-pip-run/Makefile b/devel/py-pip-run/Makefile index ba84502e9011..03ff02dc6a0a 100644 --- a/devel/py-pip-run/Makefile +++ b/devel/py-pip-run/Makefile @@ -1,43 +1,40 @@ PORTNAME= pip-run PORTVERSION= 12.6.1 CATEGORIES= devel python MASTER_SITES= PYPI PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} MAINTAINER= sunpoet@FreeBSD.org COMMENT= Install packages and run Python with them WWW= https://github.com/jaraco/pip-run LICENSE= MIT LICENSE_FILE= ${WRKSRC}/LICENSE BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}setuptools>=56:devel/py-setuptools@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}setuptools-scm>=3.4.1:devel/py-setuptools-scm@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}wheel>=0:devel/py-wheel@${PY_FLAVOR} RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}autocommand>=0:devel/py-autocommand@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}jaraco.context>=0:devel/py-jaraco.context@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}jaraco.env>=0:devel/py-jaraco.env@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}jaraco.functools>=3.7:devel/py-jaraco.functools@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}jaraco.text>=0:devel/py-jaraco.text@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}more-itertools>=8.3:devel/py-more-itertools@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}packaging>=0:devel/py-packaging@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}path>=15.1:devel/py-path@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}pip>=19.3:devel/py-pip@${PY_FLAVOR} \ - ${PYTHON_PKGNAMEPREFIX}platformdirs>=0:devel/py-platformdirs@${PY_FLAVOR} + ${PYTHON_PKGNAMEPREFIX}platformdirs>=0:devel/py-platformdirs@${PY_FLAVOR} \ + ${PY_TOMLI} USES= python USE_PYTHON= autoplist concurrent pep517 NO_ARCH= yes .include .if ${PYTHON_REL} < 30900 RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}importlib-resources>=0:devel/py-importlib-resources@${PY_FLAVOR} .endif -.if ${PYTHON_REL} < 31100 -RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}tomli>=0:textproc/py-tomli@${PY_FLAVOR} -.endif - .include diff --git a/devel/py-pip-tools/Makefile b/devel/py-pip-tools/Makefile index b1f3525033d5..e477da20556d 100644 --- a/devel/py-pip-tools/Makefile +++ b/devel/py-pip-tools/Makefile @@ -1,35 +1,30 @@ PORTNAME= pip-tools PORTVERSION= 7.4.1 CATEGORIES= devel python MASTER_SITES= PYPI PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} MAINTAINER= sunpoet@FreeBSD.org COMMENT= Keep your pinned dependencies fresh WWW= https://github.com/jazzband/pip-tools LICENSE= BSD3CLAUSE LICENSE_FILE= ${WRKSRC}/LICENSE BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}setuptools>=63:devel/py-setuptools@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}setuptools-scm>=7:devel/py-setuptools-scm@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}wheel>=0:devel/py-wheel@${PY_FLAVOR} RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}build>=1.0.0:devel/py-build@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}click>=8:devel/py-click@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}pip>=22.2:devel/py-pip@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}pyproject_hooks>=0:devel/py-pyproject_hooks@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}setuptools>=0:devel/py-setuptools@${PY_FLAVOR} \ + ${PY_TOMLI} \ ${PYTHON_PKGNAMEPREFIX}wheel>=0:devel/py-wheel@${PY_FLAVOR} USES= python USE_PYTHON= autoplist concurrent pep517 NO_ARCH= yes -.include - -.if ${PYTHON_REL} < 31100 -RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}tomli>=0:textproc/py-tomli@${PY_FLAVOR} -.endif - -.include +.include diff --git a/devel/py-pipx/Makefile b/devel/py-pipx/Makefile index 8bd256884ea9..da27cf3c1d75 100644 --- a/devel/py-pipx/Makefile +++ b/devel/py-pipx/Makefile @@ -1,32 +1,27 @@ PORTNAME= pipx PORTVERSION= 1.6.0 CATEGORIES= devel python MASTER_SITES= PYPI PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} MAINTAINER= sunpoet@FreeBSD.org COMMENT= Install and Run Python Applications in Isolated Environments WWW= https://github.com/pypa/pipx LICENSE= MIT LICENSE_FILE= ${WRKSRC}/LICENSE BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}hatch-vcs>=0.4:devel/py-hatch-vcs@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}hatchling>=1.18:devel/py-hatchling@${PY_FLAVOR} RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}argcomplete>=1.9.4:devel/py-argcomplete@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}packaging>=20:devel/py-packaging@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}platformdirs>=2.1:devel/py-platformdirs@${PY_FLAVOR} \ + ${PY_TOMLI} \ ${PYTHON_PKGNAMEPREFIX}userpath>=1.6:devel/py-userpath@${PY_FLAVOR} USES= python USE_PYTHON= autoplist concurrent pep517 NO_ARCH= yes -.include - -.if ${PYTHON_REL} < 31100 -RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}tomli>=0:textproc/py-tomli@${PY_FLAVOR} -.endif - -.include +.include diff --git a/devel/py-poetry/Makefile b/devel/py-poetry/Makefile index 52192264ee67..a70a14917953 100644 --- a/devel/py-poetry/Makefile +++ b/devel/py-poetry/Makefile @@ -1,68 +1,65 @@ PORTNAME= poetry PORTVERSION= 1.8.3 CATEGORIES= devel python MASTER_SITES= PYPI \ https://github.com/python-poetry/poetry/releases/download/${PORTVERSION}/ PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} MAINTAINER= sunpoet@FreeBSD.org COMMENT= Python dependency management and packaging made easy WWW= https://python-poetry.org/ \ https://github.com/python-poetry/poetry LICENSE= MIT LICENSE_FILE= ${WRKSRC}/LICENSE BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}poetry-core>=1.5.0:devel/py-poetry-core@${PY_FLAVOR} RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}build>=1.0.3<2:devel/py-build@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}cleo>=2.1.0<3:devel/py-cleo@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}crashtest>=0.4.1<0.5:devel/py-crashtest@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}dulwich>=0.21.2<0.22:devel/py-dulwich@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}fastjsonschema>=2.18.0<3:devel/py-fastjsonschema@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}installer>=0.7.0<0.8:devel/py-installer@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}keyring>=23.9.0,1<25,1:security/py-keyring@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}packaging>=23.1:devel/py-packaging@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}pexpect>=4.7.0<5:misc/py-pexpect@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}pkginfo>=1.9.4<2:sysutils/py-pkginfo@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}platformdirs>=3.0.0<5:devel/py-platformdirs@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}poetry-core>=1.9.0<1.9.0_99:devel/py-poetry-core@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}poetry-plugin-export>=1.6.0<2:devel/py-poetry-plugin-export@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}pyproject_hooks>=1.0.0<2:devel/py-pyproject_hooks@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}requests>=2.26<3:www/py-requests@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}requests-toolbelt>=1.0.0<2:www/py-requests-toolbelt@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}shellingham>=1.5<2:devel/py-shellingham@${PY_FLAVOR} \ + ${PY_TOMLI} \ ${PYTHON_PKGNAMEPREFIX}tomlkit>=0.11.4<1.0.0:textproc/py-tomlkit@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}trove-classifiers>=2022.5.19:devel/py-trove-classifiers@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}virtualenv>=20.23.0<21:devel/py-virtualenv@${PY_FLAVOR} TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}coverage>=7.2.0:devel/py-coverage@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}deepdiff>=6.3<7:devel/py-deepdiff@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}httpretty>=1.1<2:www/py-httpretty@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}pytest-cov>=4.0<5:devel/py-pytest-cov@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}pytest-mock>=3.9<4:devel/py-pytest-mock@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}pytest-randomly>=3.12<4:devel/py-pytest-randomly@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}pytest-xdist>=3.1,1<4,1:devel/py-pytest-xdist@${PY_FLAVOR} USES= python USE_PYTHON= autoplist concurrent pep517 pytest BINARY_ALIAS= git=false NO_ARCH= yes TEST_ENV= PYTHONPATH=${STAGEDIR}${PYTHON_SITELIBDIR} OPTIONS_DEFINE= FILECACHE OPTIONS_DEFAULT=FILECACHE FILECACHE_DESC= File cache support FILECACHE_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}cachecontrol>=0.14.0<0.15:www/py-cachecontrol@${PY_FLAVOR} .include .if ${PYTHON_REL} < 31000 RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}importlib-metadata>=4.4:devel/py-importlib-metadata@${PY_FLAVOR} .endif -.if ${PYTHON_REL} < 31100 -RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}tomli>=2.0.1<3:textproc/py-tomli@${PY_FLAVOR} -.endif - .include diff --git a/devel/py-pre-commit-hooks/Makefile b/devel/py-pre-commit-hooks/Makefile index 928acd14a525..be1b51db5c13 100644 --- a/devel/py-pre-commit-hooks/Makefile +++ b/devel/py-pre-commit-hooks/Makefile @@ -1,31 +1,26 @@ PORTNAME= pre-commit-hooks PORTVERSION= 4.6.0 PORTREVISION= 1 CATEGORIES= devel python MASTER_SITES= PYPI PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} DISTNAME= pre_commit_hooks-${PORTVERSION} MAINTAINER= sunpoet@FreeBSD.org COMMENT= Some out-of-the-box hooks for pre-commit WWW= https://github.com/pre-commit/pre-commit-hooks LICENSE= MIT LICENSE_FILE= ${WRKSRC}/LICENSE BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}setuptools>=0:devel/py-setuptools@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}wheel>=0:devel/py-wheel@${PY_FLAVOR} -RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}ruamel.yaml>=0.15:devel/py-ruamel.yaml@${PY_FLAVOR} +RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}ruamel.yaml>=0.15:devel/py-ruamel.yaml@${PY_FLAVOR} \ + ${PY_TOMLI} USES= python USE_PYTHON= autoplist concurrent pep517 NO_ARCH= yes -.include - -.if ${PYTHON_REL} < 31100 -RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}tomli>=1.1.0:textproc/py-tomli@${PY_FLAVOR} -.endif - -.include +.include diff --git a/devel/py-pyproject-flake8/Makefile b/devel/py-pyproject-flake8/Makefile index cd43d3388366..03ef5618d67c 100644 --- a/devel/py-pyproject-flake8/Makefile +++ b/devel/py-pyproject-flake8/Makefile @@ -1,30 +1,25 @@ PORTNAME= pyproject-flake8 PORTVERSION= 7.0.0 PORTREVISION= 1 CATEGORIES= devel python MASTER_SITES= PYPI PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} DISTNAME= pyproject_flake8-${PORTVERSION} MAINTAINER= sunpoet@FreeBSD.org COMMENT= Monkey patching wrapper to connect flake8 with pyproject.toml configuration WWW= https://github.com/csachs/pyproject-flake8 LICENSE= UNLICENSE LICENSE_FILE= ${WRKSRC}/LICENSE BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}flit-core>=3.2<4:devel/py-flit-core@${PY_FLAVOR} -RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}flake8>=7.0.0:devel/py-flake8@${PY_FLAVOR} +RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}flake8>=7.0.0:devel/py-flake8@${PY_FLAVOR} \ + ${PY_TOMLI} USES= python USE_PYTHON= autoplist concurrent pep517 NO_ARCH= yes -.include - -.if ${PYTHON_REL} < 31100 -RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}tomli>=0:textproc/py-tomli@${PY_FLAVOR} -.endif - -.include +.include diff --git a/devel/py-pyproject-fmt/Makefile b/devel/py-pyproject-fmt/Makefile index cdcc87166d2d..8ad6fa527326 100644 --- a/devel/py-pyproject-fmt/Makefile +++ b/devel/py-pyproject-fmt/Makefile @@ -1,30 +1,25 @@ PORTNAME= pyproject-fmt PORTVERSION= 2.1.4 CATEGORIES= devel python MASTER_SITES= PYPI PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} DISTNAME= pyproject_fmt-${PORTVERSION} MAINTAINER= sunpoet@FreeBSD.org COMMENT= Format your pyproject.toml file WWW= https://github.com/tox-dev/pyproject-fmt LICENSE= MIT LICENSE_FILE= ${WRKSRC}/LICENSE.txt BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}hatch-vcs>=0.4:devel/py-hatch-vcs@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}hatchling>=1.25:devel/py-hatchling@${PY_FLAVOR} -RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pyproject-fmt-rust>=1.1.5<1.1.5_99:devel/py-pyproject-fmt-rust@${PY_FLAVOR} +RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pyproject-fmt-rust>=1.1.5<1.1.5_99:devel/py-pyproject-fmt-rust@${PY_FLAVOR} \ + ${PY_TOMLI} USES= python USE_PYTHON= autoplist concurrent pep517 NO_ARCH= yes -.include - -.if ${PYTHON_REL} < 31100 -RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}tomli>=2.0.1:textproc/py-tomli@${PY_FLAVOR} -.endif - -.include +.include diff --git a/devel/py-pytest/Makefile b/devel/py-pytest/Makefile index da890b6070a2..bbc7d4b4e8bd 100644 --- a/devel/py-pytest/Makefile +++ b/devel/py-pytest/Makefile @@ -1,57 +1,52 @@ PORTNAME= pytest PORTVERSION= 8.1.1 PORTEPOCH= 1 CATEGORIES= devel python MASTER_SITES= PYPI PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} MAINTAINER= python@FreeBSD.org COMMENT= Simple powerful testing with Python WWW= https://docs.pytest.org/en/latest/ LICENSE= MIT LICENSE_FILE= ${WRKSRC}/LICENSE BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}setuptools>=61:devel/py-setuptools@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}setuptools-scm>=6.2.3:devel/py-setuptools-scm@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}wheel>=0:devel/py-wheel@${PY_FLAVOR} RUN_DEPENDS= ${PY_EXCEPTIONGROUP} \ ${PYTHON_PKGNAMEPREFIX}iniconfig>=0:devel/py-iniconfig@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}packaging>=0:devel/py-packaging@${PY_FLAVOR} \ - ${PYTHON_PKGNAMEPREFIX}pluggy>=1.4<2.0:devel/py-pluggy@${PY_FLAVOR} + ${PYTHON_PKGNAMEPREFIX}pluggy>=1.4<2.0:devel/py-pluggy@${PY_FLAVOR} \ + ${PY_TOMLI} TEST_DEPENDS= bash:shells/bash \ lsof:sysutils/lsof \ ${PYTHON_PKGNAMEPREFIX}argcomplete>=0:devel/py-argcomplete@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}asynctest>=0:devel/py-asynctest@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}attrs>=19.2:devel/py-attrs@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}decorator>=0:devel/py-decorator@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}hypothesis>=3.56:devel/py-hypothesis@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}Jinja2>=0:devel/py-Jinja2@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}mock>=0:devel/py-mock@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}numpy>=0,1:math/py-numpy@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}pexpect>=0:misc/py-pexpect@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}pygments>=2.7.2:textproc/py-pygments@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}pytest-xdist>=2.1.0,1:devel/py-pytest-xdist@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}requests>=0:www/py-requests@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}setuptools>=0:devel/py-setuptools@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}twisted>=0:devel/py-twisted@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}xmlschema>=0:textproc/py-xmlschema@${PY_FLAVOR} USES= python USE_PYTHON= autoplist concurrent pep517 NO_ARCH= yes CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}pytest4 -.include - -.if ${PYTHON_REL} < 31100 -RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}tomli>=1:textproc/py-tomli@${PY_FLAVOR} -.endif - # XXX: test_pdb_custom_cls_with_set_trace fails do-test: cd ${WRKSRC} && ${PYTHON_CMD} -m pytest -v -rs -.include +.include diff --git a/devel/py-responses/Makefile b/devel/py-responses/Makefile index 121c62d42b7f..0bb5292bf6d2 100644 --- a/devel/py-responses/Makefile +++ b/devel/py-responses/Makefile @@ -1,42 +1,37 @@ PORTNAME= responses PORTVERSION= 0.25.0 PORTREVISION= 2 CATEGORIES= devel www python MASTER_SITES= PYPI \ https://github.com/getsentry/responses/releases/download/${PORTVERSION}/ PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} MAINTAINER= sunpoet@FreeBSD.org COMMENT= Utility library for mocking out the requests Python library WWW= https://github.com/getsentry/responses LICENSE= APACHE20 LICENSE_FILE= ${WRKSRC}/LICENSE BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}setuptools>=0:devel/py-setuptools@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}wheel>=0:devel/py-wheel@${PY_FLAVOR} RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}requests>=2.30.0<3.0:www/py-requests@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}pyyaml>=0:devel/py-pyyaml@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}urllib3>=1.25.10,1<3.0,1:net/py-urllib3@${PY_FLAVOR} TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}coverage>=6.0.0:devel/py-coverage@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}flake8>=0:devel/py-flake8@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}mypy>=0:devel/py-mypy@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}pytest-asyncio>=0:devel/py-pytest-asyncio@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}pytest-cov>=0:devel/py-pytest-cov@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}pytest-httpserver>=0:devel/py-pytest-httpserver@${PY_FLAVOR} \ + ${PY_TOMLI} \ ${PYTHON_PKGNAMEPREFIX}tomli-w>=0:textproc/py-tomli-w@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}types-PyYAML>=0:devel/py-types-PyYAML@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}types-requests>=0:devel/py-types-requests@${PY_FLAVOR} USES= python USE_PYTHON= autoplist concurrent pep517 pytest NO_ARCH= yes -.include - -.if ${PYTHON_REL} < 31100 -TEST_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}tomli>=0:textproc/py-tomli@${PY_FLAVOR} -.endif - -.include +.include diff --git a/devel/py-scikit-build-core/Makefile b/devel/py-scikit-build-core/Makefile index 8f86276f3437..d40ebb857292 100644 --- a/devel/py-scikit-build-core/Makefile +++ b/devel/py-scikit-build-core/Makefile @@ -1,43 +1,40 @@ PORTNAME= scikit-build-core DISTVERSION= 0.9.4 CATEGORIES= devel python MASTER_SITES= PYPI PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} DISTNAME= ${PORTNAME:S/-/_/g}-${PORTVERSION} MAINTAINER= yuri@FreeBSD.org COMMENT= Build backend for CMake based projects WWW= https://scikit-build-core.readthedocs.io/en/latest/ LICENSE= APACHE20 LICENSE_FILE= ${WRKSRC}/LICENSE BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}hatch-fancy-pypi-readme>=0:devel/py-hatch-fancy-pypi-readme@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}hatch-vcs>0:devel/py-hatch-vcs@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}hatchling>0:devel/py-hatchling@${PY_FLAVOR} \ ${PYNUMPY} \ ${PY_SETUPTOOLS} \ ${PYTHON_PKGNAMEPREFIX}setuptools-scm>0:devel/py-setuptools-scm@${PY_FLAVOR} RUN_DEPENDS= ${PY_EXCEPTIONGROUP} \ ${PYTHON_PKGNAMEPREFIX}packaging>=21.3:devel/py-packaging@${PY_FLAVOR} \ - ${PYTHON_PKGNAMEPREFIX}pathspec>=0.10.1:devel/py-pathspec@${PY_FLAVOR} + ${PYTHON_PKGNAMEPREFIX}pathspec>=0.10.1:devel/py-pathspec@${PY_FLAVOR} \ + ${PY_TOMLI} TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}build>=0.1:devel/py-build@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}cattrs>=22.2.0:devel/py-cattrs@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}pybind11>=0:devel/py-pybind11@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}pyproject-metadata>=0.5:devel/py-pyproject-metadata@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}pytest-subprocess>=1.5:devel/py-pytest-subprocess@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}wheel>0:devel/py-wheel@${PY_FLAVOR} -py39_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}exceptiongroup>0:devel/py-exceptiongroup@${PY_FLAVOR} \ - ${PYTHON_PKGNAMEPREFIX}tomli>=1.2.2:textproc/py-tomli@${PY_FLAVOR} -py310_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}exceptiongroup>0:devel/py-exceptiongroup@${PY_FLAVOR} \ - ${PYTHON_PKGNAMEPREFIX}tomli>=1.2.2:textproc/py-tomli@${PY_FLAVOR} USES= python:3.9+ USE_PYTHON= pep517 autoplist pytest # 22 errors during tests, see https://github.com/scikit-build/scikit-build-core/issues/531 TEST_ENV= ${MAKE_ENV} PYTHONPATH=${STAGEDIR}${PYTHONPREFIX_SITELIBDIR} NO_ARCH= yes .include diff --git a/devel/py-setuptools-rust/Makefile b/devel/py-setuptools-rust/Makefile index 5b434f5f2d47..3f2a46428260 100644 --- a/devel/py-setuptools-rust/Makefile +++ b/devel/py-setuptools-rust/Makefile @@ -1,32 +1,27 @@ PORTNAME= setuptools-rust PORTVERSION= 1.9.0 CATEGORIES= devel python MASTER_SITES= PYPI PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} MAINTAINER= sunpoet@FreeBSD.org COMMENT= Setuptools Rust extension plugin WWW= https://github.com/PyO3/setuptools-rust LICENSE= MIT LICENSE_FILE= ${WRKSRC}/LICENSE BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}setuptools>=62.4:devel/py-setuptools@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}setuptools-scm>=0:devel/py-setuptools-scm@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}wheel>=0:devel/py-wheel@${PY_FLAVOR} -RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}semantic-version>=2.8.2<3:devel/py-semantic-version@${PY_FLAVOR} \ +RUN_DEPENDS= cargo:lang/rust \ + ${PYTHON_PKGNAMEPREFIX}semantic-version>=2.8.2<3:devel/py-semantic-version@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}setuptools>=62.4:devel/py-setuptools@${PY_FLAVOR} \ - cargo:lang/rust + ${PY_TOMLI} USES= python USE_PYTHON= autoplist concurrent pep517 NO_ARCH= yes -.include - -.if ${PYTHON_REL} < 31100 -RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}tomli>=1.2.1:textproc/py-tomli@${PY_FLAVOR} -.endif - -.include +.include diff --git a/devel/py-setuptools-scm/Makefile b/devel/py-setuptools-scm/Makefile index 6dc5bb6a92c5..619363af1cae 100644 --- a/devel/py-setuptools-scm/Makefile +++ b/devel/py-setuptools-scm/Makefile @@ -1,52 +1,47 @@ PORTNAME= setuptools-scm PORTVERSION= 8.0.4 CATEGORIES= devel python MASTER_SITES= PYPI PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} MAINTAINER= python@FreeBSD.org COMMENT= Setuptools plugin to manage your versions by scm tags WWW= https://github.com/pypa/setuptools_scm LICENSE= MIT LICENSE_FILE= ${WRKSRC}/LICENSE BUILD_DEPENDS= ${PY_SETUPTOOLS} \ + ${PY_TOMLI} \ ${PYTHON_PKGNAMEPREFIX}wheel>0:devel/py-wheel@${PY_FLAVOR} RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}packaging>=20:devel/py-packaging@${PY_FLAVOR} \ + ${PY_TOMLI} \ ${PYTHON_PKGNAMEPREFIX}typing-extensions>0:devel/py-typing-extensions@${PY_FLAVOR} TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}rich>0:textproc/py-rich@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}wheel>0:devel/py-wheel@${PY_FLAVOR} \ git:devel/git \ ${PY_MERCURIAL} \ ${PYTHON_PKGNAMEPREFIX}pip>0:devel/py-pip@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}mypy>0:devel/py-mypy@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}flake8>0:devel/py-flake8@${PY_FLAVOR} \ gpg2:security/gnupg \ ${PYTHON_PKGNAMEPREFIX}setuptools_scm_git_archive>0:devel/py-setuptools_scm_git_archive@${PY_FLAVOR} USES= python USE_PYTHON= autoplist pep517 pytest NO_ARCH= yes # test_git_worktree_support sometimes relative path results # test_dump_version_on_old_python python 3.7 not available # test_not_owner requires passwordless sudo access # test_case_mismatch_on_windows_git we're not on Windows PYTEST_BROKEN_TESTS= test_git_worktree_support PYTEST_IGNORED_TESTS= test_dump_version_on_old_python \ test_not_owner \ test_case_mismatch_on_windows_git -.include - -.if ${PYTHON_REL} < 31100 -BUILD_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}tomli>0:textproc/py-tomli@${PY_FLAVOR} -RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}tomli>=1:textproc/py-tomli@${PY_FLAVOR} -.endif - post-patch: @${REINPLACE_CMD} -e '497,521s|"gpg|"gpg2|' ${WRKSRC}/testing/test_git.py -.include +.include diff --git a/devel/py-setuptools_scm7/Makefile b/devel/py-setuptools_scm7/Makefile index 305a91317988..0b072f383c76 100644 --- a/devel/py-setuptools_scm7/Makefile +++ b/devel/py-setuptools_scm7/Makefile @@ -1,57 +1,51 @@ PORTNAME= setuptools_scm PORTVERSION= 7.1.0 CATEGORIES= devel python MASTER_SITES= PYPI PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} PKGNAMESUFFIX= 7 MAINTAINER= matthew@FreeBSD.org COMMENT= Setuptools plugin to manage your versions by scm tags WWW= https://pypi.org/project/setuptools-scm/ \ https://github.com/pypa/setuptools_scm LICENSE= MIT LICENSE_FILE= ${WRKSRC}/LICENSE BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}packaging>=20.0:devel/py-packaging@${PY_FLAVOR} \ ${PY_SETUPTOOLS} \ + ${PY_TOMLI} \ ${PYTHON_PKGNAMEPREFIX}typing-extensions>0:devel/py-typing-extensions@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}wheel>0:devel/py-wheel@${PY_FLAVOR} - RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}packaging>=20.0:devel/py-packaging@${PY_FLAVOR} \ + ${PY_TOMLI} \ ${PYTHON_PKGNAMEPREFIX}typing-extensions>=0:devel/py-typing-extensions@${PY_FLAVOR} TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}virtualenv>=0:devel/py-virtualenv@${PY_FLAVOR} \ git:devel/git \ ${PY_MERCURIAL} \ gpg:security/gnupg USES= python USE_PYTHON= autoplist pep517 pytest CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}-${PORTNAME} NO_ARCH= yes TEST_ENV+= PYTHONPATH=${STAGEDIR}${PYTHON_SITELIBDIR} # Optional tests that depend on `dir` (windows) and `hg_git` (no longer in ports) will be skipped # test_case_mismatch_on_windows_git we're not on windows... # test_on_old_setuptools devel/py-setuptools is newer than the versions tested here # test_not_owner requires passwordless sudo access PYTEST_IGNORED_TESTS= test_case_mismatch_on_windows_git \ test_on_old_setuptools \ test_not_owner # https://github.com/pypa/setuptools_scm/issues/449 PYTEST_BROKEN_TESTS= test_non_dotted_version -.include - -.if ${PYTHON_REL} < 31100 -BUILD_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}tomli>=1.0.0:textproc/py-tomli@${PY_FLAVOR} -RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}tomli>=1.0.0:textproc/py-tomli@${PY_FLAVOR} -.endif - -.include +.include diff --git a/devel/py-sip/Makefile b/devel/py-sip/Makefile index 79cdefccb83e..c9144716f5fd 100644 --- a/devel/py-sip/Makefile +++ b/devel/py-sip/Makefile @@ -1,38 +1,33 @@ PORTNAME= sip PORTVERSION= ${SIP_VERSION} PORTEPOCH= 1 CATEGORIES= devel python MASTER_SITES= ${MASTER_SITES_SIP} PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} MAINTAINER= kde@FreeBSD.org COMMENT= Python to C and C++ bindings generator WWW= http://www.riverbankcomputing.co.uk/software/sip/ LICENSE= SIP GPLv2 GPLv3 LICENSE_COMB= multi LICENSE_NAME_SIP= SIP License LICENSE_GROUPS_SIP= FSF GPL OSI LICENSE_PERMS_SIP= dist-mirror dist-sell pkg-mirror pkg-sell auto-accept LICENSE_FILE_SIP= ${WRKSRC}/LICENSE LICENSE_FILE_GPLv2= ${WRKSRC}/LICENSE-GPL2 LICENSE_FILE_GPLv3= ${WRKSRC}/LICENSE-GPL3 BUILD_DEPENDS= ${PY_SETUPTOOLS} \ ${PYTHON_PKGNAMEPREFIX}wheel>0:devel/py-wheel@${PY_FLAVOR} RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}packaging>0:devel/py-packaging@${PY_FLAVOR} \ - ${PYTHON_PKGNAMEPREFIX}ply>0:devel/py-ply@${PY_FLAVOR} + ${PYTHON_PKGNAMEPREFIX}ply>0:devel/py-ply@${PY_FLAVOR} \ + ${PY_TOMLI} USES= python pyqt:sip USE_PYTHON= autoplist concurrent pep517 USE_PYQT= # NO_ARCH= yes -.include - -.if ${PYTHON_REL} < 31100 -RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}tomli>=0:textproc/py-tomli@${PY_FLAVOR} -.endif - -.include +.include diff --git a/devel/py-tox/Makefile b/devel/py-tox/Makefile index ae272752a839..d97f004c68af 100644 --- a/devel/py-tox/Makefile +++ b/devel/py-tox/Makefile @@ -1,41 +1,36 @@ PORTNAME= tox PORTVERSION= 4.11.4 CATEGORIES= devel python MASTER_SITES= PYPI PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} MAINTAINER= bofh@FreeBSD.org COMMENT= Virtualenv-based automation of test activities WWW= https://tox.readthedocs.org/ LICENSE= MIT LICENSE_FILE= ${WRKSRC}/LICENSE BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}hatch-vcs>0:devel/py-hatch-vcs@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}hatchling>0:devel/py-hatchling@${PY_FLAVOR} RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}cachetools>0:devel/py-cachetools@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}chardet>5.2:textproc/py-chardet@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}colorama>=0.4.6:devel/py-colorama@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}filelock>=0:sysutils/py-filelock@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}packaging>=0:devel/py-packaging@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}platformdirs>=0:devel/py-platformdirs@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}pluggy>=0:devel/py-pluggy@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}pyproject_api>=0:devel/py-pyproject-api@${PY_FLAVOR} \ + ${PY_TOMLI} \ ${PYTHON_PKGNAMEPREFIX}virtualenv>=0:devel/py-virtualenv@${PY_FLAVOR} USES= python USE_PYTHON= autoplist concurrent pep517 NO_ARCH= yes -.include - -.if ${PYTHON_REL} < 31100 -RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}tomli>=2.0.1:textproc/py-tomli@${PY_FLAVOR} -.endif - # tox.ini clobbers our pytest arguments post-extract: ${RM} ${WRKSRC}/tox.ini -.include +.include diff --git a/devel/py-validate-pyproject/Makefile b/devel/py-validate-pyproject/Makefile index c5f958633820..4dd27fad1b37 100644 --- a/devel/py-validate-pyproject/Makefile +++ b/devel/py-validate-pyproject/Makefile @@ -1,37 +1,32 @@ PORTNAME= validate-pyproject PORTVERSION= 0.16 CATEGORIES= devel python MASTER_SITES= PYPI PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} MAINTAINER= sunpoet@FreeBSD.org COMMENT= Validation library and CLI tool for checking on pyproject.toml files using JSON schema WWW= https://github.com/abravalheri/validate-pyproject LICENSE= MPL20 LICENSE_FILE= ${WRKSRC}/LICENSE.txt BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}setuptools>=46.1.0:devel/py-setuptools@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}setuptools-scm>=7.1:devel/py-setuptools-scm@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}wheel>=0:devel/py-wheel@${PY_FLAVOR} RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}fastjsonschema>=2.16.2<3_99:devel/py-fastjsonschema@${PY_FLAVOR} USES= python USE_PYTHON= autoplist concurrent pep517 NO_ARCH= yes OPTIONS_DEFINE= ALL OPTIONS_DEFAULT=ALL ALL_DESC= All functions ALL_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}packaging>=20.4:devel/py-packaging@${PY_FLAVOR} \ + ${PY_TOMLI} \ ${PYTHON_PKGNAMEPREFIX}trove-classifiers>=2021.10.20:devel/py-trove-classifiers@${PY_FLAVOR} -.include - -.if ${PORT_OPTIONS:MALL} && ${PYTHON_REL} < 31100 -RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}tomli>=1.2.1:textproc/py-tomli@${PY_FLAVOR} -.endif - -.include +.include diff --git a/devel/py-versioneer/Makefile b/devel/py-versioneer/Makefile index 467e614dc1f3..f0c52c663382 100644 --- a/devel/py-versioneer/Makefile +++ b/devel/py-versioneer/Makefile @@ -1,35 +1,29 @@ PORTNAME= versioneer PORTVERSION= 0.29 CATEGORIES= devel python MASTER_SITES= PYPI PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} MAINTAINER= sunpoet@FreeBSD.org COMMENT= Easy VCS-based management of project version strings WWW= https://github.com/python-versioneer/python-versioneer LICENSE= UNLICENSE LICENSE_FILE= ${WRKSRC}/LICENSE BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}setuptools>=0:devel/py-setuptools@${PY_FLAVOR} \ + ${PY_TOMLI} \ ${PYTHON_PKGNAMEPREFIX}wheel>=0:devel/py-wheel@${PY_FLAVOR} USES= python USE_PYTHON= autoplist concurrent pep517 NO_ARCH= yes OPTIONS_DEFINE= TOML OPTIONS_DEFAULT=TOML TOML_DESC= TOML (Tom's Obvious Minimal Language) support -.include +TOML_RUN_DEPENDS= ${PY_TOMLI} -.if ${PYTHON_REL} < 31100 -BUILD_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}tomli>=0:textproc/py-tomli@${PY_FLAVOR} -.if ${PORT_OPTIONS:MTOML} -RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}tomli>=0:textproc/py-tomli@${PY_FLAVOR} -.endif -.endif - -.include +.include diff --git a/devel/pylint/Makefile b/devel/pylint/Makefile index a0fd23250371..9407739677ca 100644 --- a/devel/pylint/Makefile +++ b/devel/pylint/Makefile @@ -1,41 +1,38 @@ PORTNAME= pylint PORTVERSION= 3.2.5 CATEGORIES= devel python MASTER_SITES= PYPI PKGNAMESUFFIX= ${PYTHON_PKGNAMESUFFIX} MAINTAINER= sunpoet@FreeBSD.org COMMENT= Analyzes python source code looking for bugs and signs of poor quality WWW= https://www.pylint.org/ \ https://pylint.readthedocs.io/en/latest/ \ https://github.com/pylint-dev/pylint LICENSE= GPLv2 LICENSE_FILE= ${WRKSRC}/LICENSE BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}setuptools>=62.6:devel/py-setuptools@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}wheel>=0.37.1:devel/py-wheel@${PY_FLAVOR} RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}astroid>=3.2.2<3.3.0_99:devel/py-astroid@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}dill>=0.3.7:devel/py-dill@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}isort>=4.2.5<6:devel/py-isort@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}mccabe>=0.6<0.8:devel/py-mccabe@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}platformdirs>=2.2.0:devel/py-platformdirs@${PY_FLAVOR} \ + ${PY_TOMLI} \ ${PYTHON_PKGNAMEPREFIX}tomlkit>=0.10.1:textproc/py-tomlkit@${PY_FLAVOR} TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pytest>=0:devel/py-pytest@${PY_FLAVOR} USES= python USE_PYTHON= autoplist concurrent pep517 NO_ARCH= yes .include .if ${PYTHON_REL} < 31000 RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}typing-extensions>=3.10.0:devel/py-typing-extensions@${PY_FLAVOR} .endif -.if ${PYTHON_REL} < 31100 -RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}tomli>=1.1.0:textproc/py-tomli@${PY_FLAVOR} -.endif - .include diff --git a/multimedia/gstreamer1-plugins-rust/Makefile b/multimedia/gstreamer1-plugins-rust/Makefile index e9fd1dff7921..ea2d7b87aca8 100644 --- a/multimedia/gstreamer1-plugins-rust/Makefile +++ b/multimedia/gstreamer1-plugins-rust/Makefile @@ -1,90 +1,85 @@ PORTNAME= gstreamer1-plugins-rust DISTVERSION= 0.11.1 DISTVERSIONSUFFIX= +fixup PORTREVISION= 8 CATEGORIES= multimedia MAINTAINER= jbeich@FreeBSD.org COMMENT= Various GStreamer plugins written in Rust WWW= https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs LICENSE= LGPL21+ MIT LICENSE_COMB= multi LICENSE_FILE_MIT= ${WRKSRC}/LICENSE-MIT LICENSE_FILE_LGPL21+ = ${WRKSRC}/LICENSE-LGPLv2 -BUILD_DEPENDS= cargo-cbuild:devel/cargo-c +BUILD_DEPENDS= cargo-cbuild:devel/cargo-c \ + ${PY_TOMLI} USES= cargo gnome gstreamer meson pkgconfig python:build shebangfix ssl USE_GITLAB= yes USE_GNOME= glib20 USE_GSTREAMER= bad # webrtc GL_SITE= https://gitlab.freedesktop.org GL_ACCOUNT= gstreamer GL_PROJECT= gst-plugins-rs SHEBANG_FILES= dependencies.py MESON_ARGS= -Ddoc=disabled MAKE_ENV= ${CARGO_ENV} CARGO_BUILD= no CARGO_INSTALL= no CARGO_TEST= no .if ${MACHINE_ARCH} == i386 || "${MACHINE_ARCH:Marmv?}" != "" # https://github.com/rust-lang/rust/issues/85598 LTO_UNSAFE= yes CARGO_ENV+= CARGO_PROFILE_RELEASE_LTO=false .endif OPTIONS_DEFINE= ASM CAIRO CSOUND DAV1D GTK4 PANGO SODIUM WEBP OPTIONS_DEFAULT=ASM CAIRO CSOUND DAV1D GTK4 PANGO SODIUM WEBP OPTIONS_EXCLUDE_aarch64= CSOUND # https://github.com/neithanmo/csound-rs/commit/8962b89d7bda OPTIONS_EXCLUDE_armv7= CSOUND # https://github.com/neithanmo/csound-rs/commit/8962b89d7bda OPTIONS_EXCLUDE_powerpc64le= CSOUND OPTIONS_EXCLUDE_powerpc64= CSOUND OPTIONS_EXCLUDE_powerpc= CSOUND DAV1D OPTIONS_SUB= yes ASM_BUILD_DEPENDS= nasm:devel/nasm CAIRO_USE= GNOME=cairo CAIRO_MESON_ENABLED= videofx CSOUND_DESC= Audio filtering via Csound CSOUND_LIB_DEPENDS= libcsound64.so:audio/csound CSOUND_CONFIGURE_ENV= CSOUND_LIB_DIR="${LOCALBASE}/lib" CSOUND_MESON_ENABLED= csound DAV1D_DESC= AV1 video decoding via libdav1d DAV1D_LIB_DEPENDS= libdav1d.so:multimedia/dav1d DAV1D_MESON_ENABLED= dav1d GTK4_LIB_DEPENDS= libgraphene-1.0.so:graphics/graphene GTK4_USE= GNOME=gtk40 GSTREAMER=gl GTK4_MESON_ENABLED= gtk4 PANGO_USE= GNOME=cairo,pango PANGO_MESON_ENABLED= closedcaption onvif SODIUM_DESC= File encryption and decryption via libsodium SODIUM_LIB_DEPENDS= libsodium.so:security/libsodium SODIUM_MESON_ENABLED= sodium SODIUM_MESON_ON= -Dsodium-source=system WEBP_LIB_DEPENDS= libwebpdemux.so:graphics/webp WEBP_MESON_ENABLED= webp post-patch: # Make each cargo subcommand very verbose @${REINPLACE_CMD} -Ee "/cargo.*'c?(build|test)'/s/]/, '--verbose', '--verbose'&/" \ ${WRKSRC}/cargo_wrapper.py post-install: @${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/gstreamer-1.0/*.so -.include - -.if ${PYTHON_REL} < 31100 -BUILD_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}tomli>0:textproc/py-tomli@${PY_FLAVOR} -.endif - -.include +.include diff --git a/textproc/py-autopep8/Makefile b/textproc/py-autopep8/Makefile index be9e34e7b1bd..e91d335c3ea0 100644 --- a/textproc/py-autopep8/Makefile +++ b/textproc/py-autopep8/Makefile @@ -1,29 +1,24 @@ PORTNAME= autopep8 PORTVERSION= 2.3.1 CATEGORIES= textproc python MASTER_SITES= PYPI PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} MAINTAINER= python@FreeBSD.org COMMENT= Automatically formats Python code to conform to the PEP 8 style guide WWW= https://github.com/hhatto/autopep8 LICENSE= MIT LICENSE_FILE= ${WRKSRC}/LICENSE BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}setuptools>=0:devel/py-setuptools@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}wheel>=0:devel/py-wheel@${PY_FLAVOR} -RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pycodestyle>=2.11.0:devel/py-pycodestyle@${PY_FLAVOR} +RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pycodestyle>=2.11.0:devel/py-pycodestyle@${PY_FLAVOR} \ + ${PY_TOMLI} USES= python USE_PYTHON= autoplist concurrent pep517 NO_ARCH= yes -.include - -.if ${PYTHON_REL} < 31100 -RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}tomli>=0:textproc/py-tomli@${PY_FLAVOR} -.endif - -.include +.include diff --git a/textproc/py-dparse/Makefile b/textproc/py-dparse/Makefile index 89ccca8a91b1..78fbd50c061a 100644 --- a/textproc/py-dparse/Makefile +++ b/textproc/py-dparse/Makefile @@ -1,41 +1,36 @@ PORTNAME= dparse DISTVERSION= 0.6.3 PORTREVISION= 1 CATEGORIES= textproc python MASTER_SITES= PYPI PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} MAINTAINER= kai@FreeBSD.org COMMENT= Parser for Python dependency files WWW= https://github.com/pyupio/dparse LICENSE= MIT LICENSE_FILE= ${WRKSRC}/LICENSE -RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}packaging>0:devel/py-packaging@${PY_FLAVOR} +RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}packaging>0:devel/py-packaging@${PY_FLAVOR} \ + ${PY_TOMLI} USES= cpe python CPE_VENDOR= pyup CPE_PRODUCT= dependency_parser USE_PYTHON= autoplist distutils pytest TEST_ENV= PYTHONPATH=${STAGEDIR}${PYTHONPREFIX_SITELIBDIR} NO_ARCH= yes OPTIONS_DEFINE= CONDA PIPENV OPTIONS_DEFAULT= CONDA PIPENV CONDA_DESC= Enable support for Conda YML parsing PIPENV_DESC= Enable support to update Python Pipfiles CONDA_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pyyaml>=0:devel/py-pyyaml@${PY_FLAVOR} PIPENV_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pipenv>=2022.12.19:devel/py-pipenv@${PY_FLAVOR} -.include - -.if ${PYTHON_REL} < 31100 -RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}tomli>0:textproc/py-tomli@${PY_FLAVOR} -.endif - -.include +.include diff --git a/textproc/py-numpydoc/Makefile b/textproc/py-numpydoc/Makefile index 62c8c62b9767..64155adeabca 100644 --- a/textproc/py-numpydoc/Makefile +++ b/textproc/py-numpydoc/Makefile @@ -1,32 +1,27 @@ PORTNAME= numpydoc PORTVERSION= 1.6.0 CATEGORIES= textproc python MASTER_SITES= PYPI PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} MAINTAINER= python@FreeBSD.org COMMENT= Sphinx extension to support docstrings in Numpy format WWW= https://numpydoc.readthedocs.io/en/latest/ \ https://github.com/numpy/numpydoc LICENSE= BSD2CLAUSE LICENSE_FILE= ${WRKSRC}/LICENSE.txt BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}setuptools>=61.2:devel/py-setuptools@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}wheel>=0:devel/py-wheel@${PY_FLAVOR} RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}Jinja2>=2.10:devel/py-Jinja2@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}sphinx>=5,1:textproc/py-sphinx@${PY_FLAVOR} \ - ${PYTHON_PKGNAMEPREFIX}tabulate>=0.8.9:devel/py-tabulate@${PY_FLAVOR} + ${PYTHON_PKGNAMEPREFIX}tabulate>=0.8.9:devel/py-tabulate@${PY_FLAVOR} \ + ${PY_TOMLI} USES= python USE_PYTHON= autoplist concurrent pep517 nose NO_ARCH= yes -.include - -.if ${PYTHON_REL} < 31100 -RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}tomli>=1.1.0:textproc/py-tomli@${PY_FLAVOR} -.endif - -.include +.include diff --git a/textproc/py-sphinx-theme-builder/Makefile b/textproc/py-sphinx-theme-builder/Makefile index 74f8066c1adb..1dada551abd9 100644 --- a/textproc/py-sphinx-theme-builder/Makefile +++ b/textproc/py-sphinx-theme-builder/Makefile @@ -1,39 +1,34 @@ PORTNAME= sphinx-theme-builder PORTVERSION= 0.2.0b2 CATEGORIES= textproc python MASTER_SITES= PYPI PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} MAINTAINER= sunpoet@FreeBSD.org COMMENT= Tool for authoring Sphinx themes with a simple (opinionated) workflow WWW= https://github.com/pradyunsg/sphinx-theme-builder LICENSE= MIT LICENSE_FILE= ${WRKSRC}/LICENSE BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}flit-core>=3.2<4:devel/py-flit-core@${PY_FLAVOR} RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}nodeenv>=0:devel/py-nodeenv@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}packaging>=0:devel/py-packaging@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}pyproject-metadata>=0:devel/py-pyproject-metadata@${PY_FLAVOR} \ - ${PYTHON_PKGNAMEPREFIX}rich>=0:textproc/py-rich@${PY_FLAVOR} + ${PYTHON_PKGNAMEPREFIX}rich>=0:textproc/py-rich@${PY_FLAVOR} \ + ${PY_TOMLI} USES= python USE_PYTHON= autoplist concurrent pep517 NO_ARCH= yes OPTIONS_DEFINE= CLI OPTIONS_DEFAULT=CLI CLI_DESC= Command-line interface support CLI_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}build>=0:devel/py-build@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}click>=0:devel/py-click@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}sphinx-autobuild>=0:textproc/py-sphinx-autobuild@${PY_FLAVOR} -.include - -.if ${PYTHON_REL} < 31100 -RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}tomli>=0:textproc/py-tomli@${PY_FLAVOR} -.endif - -.include +.include diff --git a/textproc/py-towncrier/Makefile b/textproc/py-towncrier/Makefile index ed9358690829..3e1f53aabf64 100644 --- a/textproc/py-towncrier/Makefile +++ b/textproc/py-towncrier/Makefile @@ -1,32 +1,27 @@ PORTNAME= towncrier PORTVERSION= 22.12.0 PORTREVISION= 1 CATEGORIES= textproc MASTER_SITES= PYPI PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} MAINTAINER= nivit@FreeBSD.org COMMENT= Building newsfiles for your project WWW= https://github.com/twisted/towncrier LICENSE= MIT LICENSE_FILE= ${WRKSRC}/LICENSE BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}incremental>=0:devel/py-incremental@${PY_FLAVOR} RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}click>=0:devel/py-click@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}click-default-group>=0:devel/py-click-default-group@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}incremental>=0:devel/py-incremental@${PY_FLAVOR} \ - ${PYTHON_PKGNAMEPREFIX}Jinja2>=0:devel/py-Jinja2@${PY_FLAVOR} + ${PYTHON_PKGNAMEPREFIX}Jinja2>=0:devel/py-Jinja2@${PY_FLAVOR} \ + ${PY_TOMLI} USES= python USE_PYTHON= autoplist concurrent distutils NO_ARCH= yes -.include - -.if ${PYTHON_REL} < 31100 -RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}tomli>=0:textproc/py-tomli@${PY_FLAVOR} -.endif - -.include +.include diff --git a/www/py-hypercorn/Makefile b/www/py-hypercorn/Makefile index b10624ea121e..11ecc0a7fcee 100644 --- a/www/py-hypercorn/Makefile +++ b/www/py-hypercorn/Makefile @@ -1,53 +1,53 @@ PORTNAME= hypercorn PORTVERSION= 0.17.3 CATEGORIES= www python MASTER_SITES= PYPI PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} MAINTAINER= sunpoet@FreeBSD.org COMMENT= ASGI Server based on Hyper libraries and inspired by Gunicorn WWW= https://hypercorn.readthedocs.io/en/latest/ \ https://github.com/pgjones/hypercorn LICENSE= MIT LICENSE_FILE= ${WRKSRC}/LICENSE BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}poetry-core>=1.0.0:devel/py-poetry-core@${PY_FLAVOR} RUN_DEPENDS= ${PY_EXCEPTIONGROUP} \ ${PYTHON_PKGNAMEPREFIX}h11>=0:net/py-h11@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}h2>=3.1.0:www/py-h2@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}priority>=0:www/py-priority@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}toml>=0:textproc/py-toml@${PY_FLAVOR} \ + ${PY_TOMLI} \ ${PYTHON_PKGNAMEPREFIX}wsproto>=0.14.0:net/py-wsproto@${PY_FLAVOR} TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}hypothesis>=0:devel/py-hypothesis@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}mock>=0:devel/py-mock@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}pytest>=0:devel/py-pytest@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}pytest-asyncio>=0:devel/py-pytest-asyncio@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}pytest-cov>=0:devel/py-pytest-cov@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}pytest-trio>=0:devel/py-pytest-trio@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}trio>=0:net/py-trio@${PY_FLAVOR} USES= python USE_PYTHON= autoplist concurrent pep517 pytest NO_ARCH= yes TEST_ENV= PYTHONPATH=${STAGEDIR}${PYTHON_SITELIBDIR} OPTIONS_DEFINE= H3 TRIO UVLOOP H3_DESC= HTTP/3 support TRIO_DESC= trio worker support UVLOOP_DESC= uvloop worker support H3_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}aioquic>=0.9.0<1.0:www/py-aioquic@${PY_FLAVOR} TRIO_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}trio>=0.22.0:net/py-trio@${PY_FLAVOR} UVLOOP_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}uvloop>=0:devel/py-uvloop@${PY_FLAVOR} .include .if ${PYTHON_REL} < 31100 RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}taskgroup>=0:devel/py-taskgroup@${PY_FLAVOR} \ - ${PYTHON_PKGNAMEPREFIX}tomli>=0:textproc/py-tomli@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}typing-extensions>=0:devel/py-typing-extensions@${PY_FLAVOR} .endif .include