Index: head/Mk/Uses/python.mk =================================================================== --- head/Mk/Uses/python.mk (revision 503132) +++ head/Mk/Uses/python.mk (revision 503133) @@ -1,746 +1,752 @@ # $FreeBSD$ # # 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 or USES=python:args # Valid ARGS: , patch, build, run, test # # version If your port requires only some set of Python versions, you # can set this to [min]-[max] or min+ or -max or as an # explicit version (eg. 3.3-3.4 for [min]-[max], 2.7+ or -3.3 # for min+ and -max, 2.7 for an explicit version). Example: # # USES=python:2.7 # Only use Python 2.7 # USES=python:3.3+ # Use Python 3.3 or newer # USES=python:3.3-3.4 # Use Python 3.3 or 3.4 # USES=python:-3.3 # Use any Python up to 3.3 # USES=python # Use the set default Python # # version # # patch Indicates that Python is needed at patch time and adds # it to PATCH_DEPENDS. # build Indicates that Python is needed at build time and adds # it to BUILD_DEPENDS. # run Indicates that Python is needed at run time and adds # it to RUN_DEPENDS. # test Indicates that Python is needed at test time and adds # it to TEST_DEPENDS. # env Indicates that the port does not require a dependency on Python # itself 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 than 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.3, 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. # # cython - Depend on lang/cython at build-time. # # cython_run - Depend on lang/cython at run-time. # # 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. # # 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. # # PYTHON_CMD - Python's command line file name, including the # version number (used for dependencies). # default: ${PYTHONBASE}/bin/${PYTHON_VERSION} # # 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 # # 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_PORTVERSION # - Version number suitable for ${PORTVERSION}. # # PYTHON_PORTSDIR - The port directory of the chosen Python interpreter # # PYTHON_REL - The release number of the chosen Python interpreter # without dots, e.g. 2706, 3401, ... # # PYTHON_SUFFIX - The major-minor release number of the chosen Python # interpreter without dots, e.g. 27, 34, ... # 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.4, ... # # 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.mk also will add some useful entries to 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_VER=${PYTHON_VER} # PYTHON_VERSION=${PYTHON_VERSION} # # and PYTHON2 and PYTHON3 will 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 # # 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= 2.7 3.6 3.7 3.5 # preferred first _PYTHON_PORTBRANCH= 2.7 # ${_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 cython cython_run \ distutils flavors noegginfo noflavors optsuffix \ py3kplist pythonprefix _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 # distutils automatically generates flavors depending on the supported # versions. .if defined(_PYTHON_FEATURE_DISTUTILS) _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 ${PYTHON2_DEFAULT} != ${PYTHON_DEFAULT} && ${PYTHON3_DEFAULT} != ${PYTHON_DEFAULT} WARNING+= "PYTHON_DEFAULT must be a version present in PYTHON2_DEFAULT or PYTHON3_DEFAULT, if you want more Python flavors, set BUILD_ALL_PYTHON_FLAVORS in your make.conf" .endif .if ${_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.5+ or an appropriate version range" .endif # ${_PYTHON_ARGS} == "2" .if defined(PYTHON_VERSION) # A port/user requests a specific python version for its dependencies via # DEPENDS_ARGS, since it requires the specific python version itself. # Several things can happen now: # a) the dependency supports the requested version -> everything's fine # b) the dependency does not support the requested version # 1) the dependency works in a way that the different python # versions do not matter -> everything's fine # 2) the dependency is likely to break due to the conflict # nothing's fine # # b.2) needs to be resolved. Due to the complexity of how different pieces of # software are built, we can't solve this automatically. Instead, let's assume # that maintainers know what they are doing and assume PYTHON_VERSION to be a # hint. Just warn maintainers, if the versions do not match # (_PYTHON_VERSION_NONSUPPORTED). _PYTHON_VERSION:= ${PYTHON_VERSION:S/^python//} .else _PYTHON_VERSION:= ${PYTHON_DEFAULT} .endif # defined(PYTHON_VERSION) # Validate Python version whether it meets the version restriction. _PYTHON_VERSION_CHECK:= ${_PYTHON_ARGS:C/^([1-9]\.[0-9])$/\1-\1/} _PYTHON_VERSION_MINIMUM_TMP:= ${_PYTHON_VERSION_CHECK:C/([1-9]\.[0-9])[-+].*/\1/} _PYTHON_VERSION_MINIMUM:= ${_PYTHON_VERSION_MINIMUM_TMP:M[1-9].[0-9]} _PYTHON_VERSION_MAXIMUM_TMP:= ${_PYTHON_VERSION_CHECK:C/.*-([1-9]\.[0-9])/\1/} _PYTHON_VERSION_MAXIMUM:= ${_PYTHON_VERSION_MAXIMUM_TMP:M[1-9].[0-9]} # At this point we should have no argument left in ${_PYTHON_ARGS} # except a version spec _PYTHON_ARGS:= ${_PYTHON_ARGS:N[1-9].[0-9]-[1-9].[0-9]:N[1-9].[0-9]:N[1-9].[0-9]+:N-[1-9].[0-9]} .if !empty(_PYTHON_ARGS) IGNORE= uses unknown USES=python arguments: ${_PYTHON_ARGS} .endif .undef _PYTHON_VERSION_NONSUPPORTED .if !empty(_PYTHON_VERSION_MINIMUM) && (${_PYTHON_VERSION} < ${_PYTHON_VERSION_MINIMUM}) _PYTHON_VERSION_NONSUPPORTED= ${_PYTHON_VERSION_MINIMUM} at least .elif !empty(_PYTHON_VERSION_MAXIMUM) && (${_PYTHON_VERSION} > ${_PYTHON_VERSION_MAXIMUM}) _PYTHON_VERSION_NONSUPPORTED= ${_PYTHON_VERSION_MAXIMUM} at most .endif # If we have an unsupported version of Python, try another. .if defined(_PYTHON_VERSION_NONSUPPORTED) .if defined(PYTHON_VERSION) || defined(PYTHON_CMD) _PV:= ${_PYTHON_VERSION} # preserve the specified python version IGNORE= needs Python ${_PYTHON_VERSION_NONSUPPORTED}, but ${_PV} was specified .endif # defined(PYTHON_VERSION) || defined(PYTHON_CMD) .undef _PYTHON_VERSION .for ver in ${PYTHON2_DEFAULT} ${PYTHON3_DEFAULT} ${_PYTHON_VERSIONS} __VER= ${ver} .if !defined(_PYTHON_VERSION) && \ !(!empty(_PYTHON_VERSION_MINIMUM) && ( \ ${__VER} < ${_PYTHON_VERSION_MINIMUM})) && \ !(!empty(_PYTHON_VERSION_MAXIMUM) && ( \ ${__VER} > ${_PYTHON_VERSION_MAXIMUM})) _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} ${PYTHON3_DEFAULT} ${_PYTHON_VERSIONS} __VER= ${ver} . if !(!empty(_PYTHON_VERSION_MINIMUM) && ( \ ${__VER} < ${_PYTHON_VERSION_MINIMUM})) && \ !(!empty(_PYTHON_VERSION_MAXIMUM) && ( \ ${__VER} > ${_PYTHON_VERSION_MAXIMUM})) . 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} ${PYTHON3_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]} _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.4+), from the first # acceptable default Python version. # - From PYTHON_DEFAULT PY_FLAVOR= py${_PYTHON_VERSION:S/.//} # Pass PYTHON_VERSION down the dependency chain. This ensures that # port A -> B -> C all will use the same python version and do not # try to find a different one, if the passed version fits into # the supported version range. PYTHON_VERSION?= python${_PYTHON_VERSION} .if !defined(PYTHON_NO_DEPENDS) && \ ${PYTHON_VERSION} != python${PYTHON_DEFAULT} DEPENDS_ARGS+= PYTHON_VERSION=${PYTHON_VERSION} .endif # NOTE: # # PYTHON_VERSION will hold whatever is passed down the dependency chain. # If a user runs `make PYTHON_VERSION=python3.3, PYTHON_VERSION will be # set to 'python3.3'. A port however may require a different version, # which is stored (above) in _PYTHON_VERSION. # Every python bit below hence should use python${_PYTHON_VERSION}, since # this is the value, the _port_ requires # # 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 4 integer version string, prefixing 0 to the last token if # it's a single character. Only use the the first 3 tokens of # PORTVERSION to support pre-release versions (rc3, alpha4, etc) of # any Python port (lang/pythonXY) PYTHON_REL= ${PYTHON_PORTVERSION:C/^([0-9]+\.[0-9]+\.[0-9]+).*/\1/:C/\.([0-9]+)$/.0\1/:C/\.0?([0-9][0-9])$/.\1/:S/.//g} # Might be overridden by calling ports PYTHON_CMD?= ${_PYTHON_BASECMD}${_PYTHON_VERSION} .if ${PYTHON_VER} != 2.7 .if exists(${PYTHON_CMD}-config) PYTHON_ABIVER!= ${PYTHON_CMD}-config --abiflags .else # Default ABI flags for lang/python3x ports PYTHON_ABIVER= m .endif .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 # PEP 0488 (https://www.python.org/dev/peps/pep-0488/) .if ${PYTHON_REL} < 3500 PYTHON_PYOEXTENSION= pyo .else PYTHON_PYOEXTENSION= opt-1.pyc .endif # 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 # .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_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${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]/.*$$' .endif # defined(_PYTHON_FEATURE_CONCURRENT) _CURRENTPORT:= ${PKGNAMEPREFIX}${PORTNAME}${PKGNAMESUFFIX} .if defined(_PYTHON_FEATURE_DISTUTILS) && \ ${_CURRENTPORT} != ${PYTHON_PKGNAMEPREFIX}setuptools BUILD_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}setuptools>0:devel/py-setuptools@${PY_FLAVOR} RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}setuptools>0:devel/py-setuptools@${PY_FLAVOR} .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} .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) _RELSITELIBDIR= ${PYTHONPREFIX_SITELIBDIR:S;${PREFIX}/;;} _RELLIBDIR= ${PYTHONPREFIX_LIBDIR:S;${PREFIX}/;;} _USES_stage+= 934:add-plist-pymod add-plist-pymod: @${SED} -e 's|^${STAGEDIR}${PREFIX}/||' \ -e 's|^${PREFIX}/||' \ -e 's|^\(man/.*man[0-9]\)/\(.*\.[0-9]\)$$|\1/\2.gz|' \ -e 's|[[:alnum:]|[:space:]]*/\.\./*||g; s|/\./|/|g' \ ${_PYTHONPKGLIST} | ${SORT} >> ${TMPPLIST} .else .if ${PYTHON_REL} >= 3200 && 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} >= 3200 && defined(_PYTHON_FEATURE_PY3KPLIST) .endif # defined(_PYTHON_FEATURE_AUTOPLIST) && defined(_PYTHON_FEATURE_DISTUTILS) # 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} # Python 3rd-party modules PYGAME= ${PYTHON_PKGNAMEPREFIX}game>0:devel/py-game@${PY_FLAVOR} PYNUMPY= ${PYTHON_PKGNAMEPREFIX}numpy>0:math/py-numpy@${PY_FLAVOR} # Common Python modules that can be needed but only for some versions of Python. +.if ${PYTHON_REL} < 3500 +PY_TYPING= ${PYTHON_PKGNAMEPREFIX}typing>=3.6.4:devel/py-typing@${PY_FLAVOR} +.else +PY_TYPING= +.endif + .if ${PYTHON_REL} < 3400 PY_ENUM34= ${PYTHON_PKGNAMEPREFIX}enum34>0:devel/py-enum34@${PY_FLAVOR} PY_ENUM_COMPAT= ${PYTHON_PKGNAMEPREFIX}enum-compat>0:devel/py-enum-compat@${PY_FLAVOR} PY_PATHLIB= ${PYTHON_PKGNAMEPREFIX}pathlib>0:devel/py-pathlib@${PY_FLAVOR} .else PY_ENUM34= PY_ENUM_COMPAT= PY_PATHLIB= .endif .if ${PYTHON_REL} < 3300 PY_IPADDRESS= ${PYTHON_PKGNAMEPREFIX}ipaddress>0:net/py-ipaddress@${PY_FLAVOR} .else PY_IPADDRESS= .endif .if ${PYTHON_REL} < 3200 PY_FUTURES= ${PYTHON_PKGNAMEPREFIX}futures>0:devel/py-futures@${PY_FLAVOR} .else PY_FUTURES= .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 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_VER=${PYTHON_VER} \ PYTHON_VERSION=${PYTHON_VERSION} .if ${PYTHON_REL} < 3000 PLIST_SUB+= PYTHON2="" PYTHON3="@comment " .else 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}; ${SETENV} ${MAKE_ENV} ${PYTHON_CMD} ${PYDISTUTILS_SETUP} ${PYDISTUTILS_CONFIGURE_TARGET} ${PYDISTUTILS_CONFIGUREARGS}) .endif .if !target(do-build) do-build: @(cd ${BUILD_WRKSRC}; ${SETENV} ${MAKE_ENV} ${PYTHON_CMD} ${PYDISTUTILS_SETUP} ${PYDISTUTILS_BUILD_TARGET} ${PYDISTUTILS_BUILDARGS}) .endif .if !target(do-install) do-install: @(cd ${INSTALL_WRKSRC}; ${SETENV} ${MAKE_ENV} ${PYTHON_CMD} ${PYDISTUTILS_SETUP} ${PYDISTUTILS_INSTALL_TARGET} ${PYDISTUTILS_INSTALLARGS}) .endif .endif # defined(_PYTHON_FEATURE_DISTUTILS) .endif # defined(_POSTMKINCLUDED) && !defined(_INCLUDE_USES_PYTHON_POST_MK) Index: head/databases/mongodb36/Makefile =================================================================== --- head/databases/mongodb36/Makefile (revision 503132) +++ head/databases/mongodb36/Makefile (revision 503133) @@ -1,82 +1,82 @@ # $FreeBSD$ PORTNAME= mongodb DISTVERSIONPREFIX= r DISTVERSION= 3.6.12 CATEGORIES= databases net MASTER_SITES= https://fastdl.mongodb.org/src/ \ http://fastdl.mongodb.org/src/ \ http://download.mongodb.org/src/ PKGNAMESUFFIX= ${PORTVERSION:R:S/.//} DISTNAME= mongodb-src-${DISTVERSIONPREFIX}${DISTVERSION} MAINTAINER= dev@dudu.ro COMMENT= Distributed document-oriented "NoSQL" database # mongodb is AGPLv3, C++ driver is APACHE20 LICENSE= AGPLv3 APACHE20 LICENSE_COMB= multi ONLY_FOR_ARCHS= amd64 aarch64 ONLY_FOR_ARCHS_REASON= "Only supported on amd64 and aarch64 (i386 deprecated in v3)" BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}cheetah>=2.4.4:devel/py-cheetah@${PY_FLAVOR} \ - ${PYTHON_PKGNAMEPREFIX}typing>=3.6.2:devel/py-typing@${PY_FLAVOR} \ + ${PY_TYPING} \ ${PYTHON_PKGNAMEPREFIX}yaml>=3.11:devel/py-yaml@${PY_FLAVOR} LIB_DEPENDS= libboost_system.so:devel/boost-libs \ libpcre.so:devel/pcre \ libsnappy.so:archivers/snappy CONFLICTS_BUILD= mongo-cxx-driver CONFLICTS_INSTALL= mongodb34 mongodb40 USES= compiler:c++14-lang cpe python:2.7,build scons shebangfix USE_RC_SUBR= mongod SHEBANG_FILES= src/mongo/installer/compass/install_compass.in python_OLD_CMD= @python_interpreter@ MAKE_ARGS= --prefix=${STAGEDIR}${PREFIX} \ --use-system-pcre --use-system-snappy \ --use-system-boost --use-system-zlib \ --cxx-std=14 --libc++ \ --runtime-hardening=on \ --disable-warnings-as-errors \ VERBOSE=on USERS= mongodb GROUPS= mongodb OPTIONS_DEFINE= SASL SSL OPTIONS_DEFAULT= SASL SSL SASL_LIB_DEPENDS= libsasl2.so:security/cyrus-sasl2 SASL_MAKE_ARGS= --use-sasl-client SSL_USES= ssl SSL_MAKE_ARGS= --ssl .include .if ${OPSYS} == FreeBSD && ${OSVERSION} >= 1200057 SUB_LIST+= LEGACY_LIMITS="@comment " MODERN_LIMITS="" .else SUB_LIST+= LEGACY_LIMITS="" MODERN_LIMITS="@comment " .endif .if ${ARCH} == aarch64 EXTRA_PATCHES= ${FILESDIR}/aarch64 .endif ALL_TARGET= core PORTSCOUT= limitw:1,even CPE_PRODUCT= mongodb post-install: .for f in mongo mongod mongoperf mongos ${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/${f} .endfor ${CP} ${WRKSRC}/rpm/mongod.conf ${STAGEDIR}${PREFIX}/etc/mongodb.conf.sample .include Index: head/databases/mongodb40/Makefile =================================================================== --- head/databases/mongodb40/Makefile (revision 503132) +++ head/databases/mongodb40/Makefile (revision 503133) @@ -1,84 +1,84 @@ # $FreeBSD$ PORTNAME= mongodb DISTVERSIONPREFIX= r DISTVERSION= 4.0.8 CATEGORIES= databases net MASTER_SITES= https://fastdl.mongodb.org/src/ \ http://fastdl.mongodb.org/src/ \ http://download.mongodb.org/src/ PKGNAMESUFFIX= ${PORTVERSION:R:S/.//} DISTNAME= mongodb-src-${DISTVERSIONPREFIX}${DISTVERSION} MAINTAINER= dev.ashevchuk@gmail.com COMMENT= Distributed document-oriented "NoSQL" database # mongodb is AGPLv3, C++ driver is APACHE20 LICENSE= AGPLv3 APACHE20 LICENSE_COMB= multi ONLY_FOR_ARCHS= aarch64 amd64 ONLY_FOR_ARCHS_REASON= "Only supported on amd64 and aarch64 (i386 deprecated in v3)" BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}cheetah>=2.4.4:devel/py-cheetah@${PY_FLAVOR} \ - ${PYTHON_PKGNAMEPREFIX}typing>=3.6.2:devel/py-typing@${PY_FLAVOR} \ + ${PY_TYPING} \ ${PYTHON_PKGNAMEPREFIX}yaml>=3.11:devel/py-yaml@${PY_FLAVOR} \ ${LOCALBASE}/bin/ar:devel/binutils LIB_DEPENDS= libboost_system.so:devel/boost-libs \ libpcre.so:devel/pcre \ libcurl.so:ftp/curl \ libsnappy.so:archivers/snappy USES= compiler:c++14-lang cpe python:2.7,build scons shebangfix USE_RC_SUBR= mongod CONFLICTS_BUILD= mongo-cxx-driver CONFLICTS_INSTALL= mongodb3[46] SHEBANG_FILES= src/mongo/installer/compass/install_compass.in python_OLD_CMD= @python_interpreter@ MAKE_ARGS= --prefix=${STAGEDIR}${PREFIX} \ --use-system-pcre --use-system-snappy \ --use-system-boost --use-system-zlib \ --cxx-std=14 --libc++ \ --runtime-hardening=on \ --disable-warnings-as-errors \ VERBOSE=on AR=${PREFIX}/bin/ar USERS= mongodb GROUPS= mongodb OPTIONS_DEFINE= SASL SSL OPTIONS_DEFAULT= SASL SSL SASL_LIB_DEPENDS= libsasl2.so:security/cyrus-sasl2 SASL_MAKE_ARGS= --use-sasl-client SSL_USES= ssl SSL_MAKE_ARGS= --ssl .include .if ${OPSYS} == FreeBSD && ${OSVERSION} >= 1200057 SUB_LIST+= LEGACY_LIMITS="@comment " MODERN_LIMITS="" .else SUB_LIST+= LEGACY_LIMITS="" MODERN_LIMITS="@comment " .endif .if ${ARCH} == aarch64 EXTRA_PATCHES= ${FILESDIR}/aarch64 .endif ALL_TARGET= core PORTSCOUT= limitw:1,even CPE_PRODUCT= mongodb post-install: .for f in mongo mongod mongos ${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/${f} .endfor ${CP} ${WRKSRC}/rpm/mongod.conf ${STAGEDIR}${PREFIX}/etc/mongodb.conf.sample .include Index: head/devel/py-astroid/Makefile =================================================================== --- head/devel/py-astroid/Makefile (revision 503132) +++ head/devel/py-astroid/Makefile (revision 503133) @@ -1,36 +1,31 @@ # $FreeBSD$ PORTNAME= astroid PORTVERSION= 2.2.5 CATEGORIES= devel python MASTER_SITES= CHEESESHOP PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} MAINTAINER= sunpoet@FreeBSD.org COMMENT= Abstract syntax tree for Python with inference support LICENSE= LGPL21 LICENSE_FILE= ${WRKSRC}/COPYING.LESSER BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pytest-runner>=0:devel/py-pytest-runner@${PY_FLAVOR} RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}lazy-object-proxy>=0:devel/py-lazy-object-proxy@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}six>=0:devel/py-six@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}typed-ast>=1.3.0:devel/py-typed-ast@${PY_FLAVOR} \ + ${PY_TYPING} \ ${PYTHON_PKGNAMEPREFIX}wrapt>=0:devel/py-wrapt@${PY_FLAVOR} TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pytest>=0:devel/py-pytest@${PY_FLAVOR} USES= python:3.4+ USE_PYTHON= autoplist distutils NO_ARCH= yes -.include - -.if ${PYTHON_REL} < 3500 -RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}typing>=0:devel/py-typing@${PY_FLAVOR} -.endif - do-test: @cd ${WRKSRC} && ${PYTHON_CMD} ${PYDISTUTILS_SETUP} test -.include +.include Index: head/devel/py-curtsies/Makefile =================================================================== --- head/devel/py-curtsies/Makefile (revision 503132) +++ head/devel/py-curtsies/Makefile (revision 503133) @@ -1,30 +1,25 @@ # Created by: Sunpoet Po-Chuan Hsieh # $FreeBSD$ PORTNAME= curtsies PORTVERSION= 0.3.0 PORTREVISION= 1 CATEGORIES= devel python MASTER_SITES= CHEESESHOP PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} MAINTAINER= sunpoet@FreeBSD.org COMMENT= Curses-like terminal wrapper, with colored strings LICENSE= MIT LICENSE_FILE= ${WRKSRC}/LICENSE RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}blessings>=1.5:devel/py-blessings@${PY_FLAVOR} \ + ${PY_TYPING} \ ${PYTHON_PKGNAMEPREFIX}wcwidth>=0.1.4:devel/py-wcwidth@${PY_FLAVOR} NO_ARCH= yes USE_PYTHON= autoplist concurrent distutils USES= python -.include - -.if ${PYTHON_REL} < 3500 -RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}typing>=0:devel/py-typing@${PY_FLAVOR} -.endif - -.include +.include Index: head/devel/py-fs2/Makefile =================================================================== --- head/devel/py-fs2/Makefile (revision 503132) +++ head/devel/py-fs2/Makefile (revision 503133) @@ -1,41 +1,38 @@ # $FreeBSD$ PORTNAME= fs PORTVERSION= 2.4.5 CATEGORIES= devel MASTER_SITES= CHEESESHOP PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} PKGNAMESUFFIX= 2 MAINTAINER= swills@FreeBSD.org COMMENT= Python Filesystem abstraction layer, version 2.x LICENSE= MIT LICENSE_FILE= ${WRKSRC}/LICENSE RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}appdirs>=1.4.3:devel/py-appdirs@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}pytz>0:devel/py-pytz@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}six>=1.10:devel/py-six@${PY_FLAVOR} \ + ${PY_TYPING} \ ${PY_ENUM34} USES= python USE_PYTHON= autoplist concurrent distutils NO_ARCH= yes PORTSCOUT= limit:^2\. .include .if ${PYTHON_REL} < 3000 RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}backports.os>=0.1:devel/py-backports.os@${PY_FLAVOR} .endif .if ${PYTHON_REL} < 3500 RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}scandir>=1.5:sysutils/py-scandir@${PY_FLAVOR} -.endif - -.if ${PYTHON_REL} < 3500 -RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}typing>=3.6:devel/py-typing@${PY_FLAVOR} .endif .include Index: head/devel/py-importlib-resources/Makefile =================================================================== --- head/devel/py-importlib-resources/Makefile (revision 503132) +++ head/devel/py-importlib-resources/Makefile (revision 503133) @@ -1,31 +1,28 @@ # $FreeBSD$ PORTNAME= importlib-resources PORTVERSION= 1.0.2 CATEGORIES= devel MASTER_SITES= CHEESESHOP PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} DISTNAME= importlib_resources-${PORTVERSION} MAINTAINER= swills@FreeBSD.org COMMENT= Read resources from Python packages LICENSE= APACHE20 LICENSE_FILE= ${WRKSRC}/LICENSE BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}wheel>0:devel/py-wheel@${PY_FLAVOR} +RUN_DEPENDS= ${PY_TYPING} USES= python USE_PYTHON= distutils autoplist .include .if ${PYTHON_REL} < 3500 RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}pathlib2>=0:devel/py-pathlib2@${PY_FLAVOR} -.endif - -.if ${PYTHON_REL} < 3500 -RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}typing>=0:devel/py-typing@${PY_FLAVOR} .endif .include Index: head/devel/py-molecule/Makefile =================================================================== --- head/devel/py-molecule/Makefile (revision 503132) +++ head/devel/py-molecule/Makefile (revision 503133) @@ -1,62 +1,62 @@ # $FreeBSD$ PORTNAME= molecule PORTVERSION= 2.20.1 CATEGORIES= devel python MASTER_SITES= CHEESESHOP PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} MAINTAINER= matthew@FreeBSD.org COMMENT= Aid for the development and testing of Ansible roles LICENSE= MIT LICENSE_FILE= ${WRKSRC}/LICENSE BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pbr>0:devel/py-pbr@${PY_FLAVOR} RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}ansible-lint>=4.0.2:sysutils/py-ansible-lint@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}anyconfig>=0.9.7:devel/py-anyconfig@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}Cerberus>=1.2:devel/py-cerberus@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}click>=6.7:devel/py-click@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}click-completion>=0.3.1:devel/py-click-completion@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}colorama>=0.3.9:devel/py-colorama@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}cookiecutter>=1.6.0:devel/py-cookiecutter@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}python-gilt>=1.2.1:devel/py-python-gilt@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}Jinja2>=2.10:devel/py-Jinja2@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}pbr>0:devel/py-pbr@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}yaml>=3.13:devel/py-yaml@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}sh>=1.12.14:devel/py-sh@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}six>=1.11.0:devel/py-six@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}tabulate>=0.8.2:devel/py-tabulate@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}testinfra>=1.19.0:devel/py-testinfra@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}tree-format>=0.1.2:devel/py-tree-format@${PY_FLAVOR} \ + ${PY_TYPING} \ ${PYTHON_PKGNAMEPREFIX}yamllint>=1.11.1:devel/py-yamllint@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}pexpect>=4.6.0:misc/py-pexpect@${PY_FLAVOR} TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pytest>=3.0.7:devel/py-pytest@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}pytest-helpers-namespace>0:devel/py-pytest-helpers-namespace@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}pytest-mock>0:devel/py-pytest-mock@${PY_FLAVOR} USES= python USE_PYTHON= autoplist concurrent distutils NO_ARCH= yes # Note: we're only running the unit tests here. Upstream acknowledges # that functional tests are still a work in progress. # # Test failures. Only three tests fail: # test/unit/test_util.py ......FFF....................... [ 23%] # # The click module demands a UTF-8 locale when used with python-3.x TEST_ENV= LANG=en_US.UTF-8 LC_ALL=en_US.UTF-8 .include .if ${PYTHON_REL} < 3500 -RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}typing>=0:devel/py-typing@${PY_FLAVOR} \ - ${PYTHON_PKGNAMEPREFIX}functools32>=0:devel/py-functools32@${PY_FLAVOR} +RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}functools32>=0:devel/py-functools32@${PY_FLAVOR} .endif do-test: @(cd ${TEST_WRKSRC} && ${SETENV} ${TEST_ENV} ${PYTHON_CMD} -m pytest) .include Index: head/devel/py-mypy/Makefile =================================================================== --- head/devel/py-mypy/Makefile (revision 503132) +++ head/devel/py-mypy/Makefile (revision 503133) @@ -1,36 +1,31 @@ # Created by: Florian Limberger # $FreeBSD$ PORTNAME= mypy PORTVERSION= 0.701 CATEGORIES= devel python MASTER_SITES= CHEESESHOP PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} MAINTAINER= flo@snakeoilproductions.net COMMENT= Optional static typing for Python LICENSE= MIT PSFL LICENSE_COMB= multi LICENSE_FILE= ${WRKSRC}/LICENSE RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}typed-ast>=1.3.1:devel/py-typed-ast@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}psutil>=5.4.0:sysutils/py-psutil@${PY_FLAVOR} \ - ${PYTHON_PKGNAMEPREFIX}mypy_extensions>=0:devel/py-mypy_extensions@${PY_FLAVOR} + ${PYTHON_PKGNAMEPREFIX}mypy_extensions>=0:devel/py-mypy_extensions@${PY_FLAVOR} \ + ${PY_TYPING} USES= python:3.4+ shebangfix USE_PYTHON= autoplist concurrent distutils NO_ARCH= yes SHEBANG_FILES= mypy/typeshed/tests/*.py -.include - -.if ${PYTHON_VER} < 3.5 -RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}typing>=3.5.3:devel/py-typing@${PY_FLAVOR} -.endif - do-test: @cd ${WRKSRC} && ${PYTHON_CMD} ${PYDISTUTILS_SETUP} test -.include +.include Index: head/devel/py-mypy_extensions/Makefile =================================================================== --- head/devel/py-mypy_extensions/Makefile (revision 503132) +++ head/devel/py-mypy_extensions/Makefile (revision 503133) @@ -1,26 +1,22 @@ # $FreeBSD$ PORTNAME= mypy_extensions PORTVERSION= 0.4.1 CATEGORIES= devel python MASTER_SITES= CHEESESHOP PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} MAINTAINER= wen@FreeBSD.org COMMENT= Experimental type system extensions for programs LICENSE= MIT LICENSE_FILE= ${WRKSRC}/LICENSE +RUN_DEPENDS= ${PY_TYPING} + USES= python USE_PYTHON= autoplist distutils NO_ARCH= yes -.include - -.if ${PYTHON_VER} < 3.5 -RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}typing>=3.5.3:devel/py-typing@${PY_FLAVOR} -.endif - -.include +.include Index: head/devel/py-pipenv/Makefile =================================================================== --- head/devel/py-pipenv/Makefile (revision 503132) +++ head/devel/py-pipenv/Makefile (revision 503133) @@ -1,36 +1,31 @@ # Created by: Po-Chuan Hsieh # $FreeBSD$ PORTNAME= pipenv PORTVERSION= 2018.11.26 PORTREVISION= 1 CATEGORIES= devel python MASTER_SITES= CHEESESHOP PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} MAINTAINER= sunpoet@FreeBSD.org COMMENT= Python Development Workflow for Humans LICENSE= MIT LICENSE_FILE= ${WRKSRC}/LICENSE BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}invoke>=0:devel/py-invoke@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}parver>=0:devel/py-parver@${PY_FLAVOR} RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}certifi>=0:security/py-certifi@${PY_FLAVOR} \ ${PY_ENUM34} \ ${PYTHON_PKGNAMEPREFIX}pip>=9.0.1:devel/py-pip@${PY_FLAVOR} \ + ${PY_TYPING} \ ${PYTHON_PKGNAMEPREFIX}virtualenv>=0:devel/py-virtualenv@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}virtualenv-clone>=0.2.5:devel/py-virtualenv-clone@${PY_FLAVOR} USES= python USE_PYTHON= autoplist concurrent distutils NO_ARCH= yes -.include - -.if ${PYTHON_REL} < 3500 -RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}typing>=0:devel/py-typing@${PY_FLAVOR} -.endif - -.include +.include Index: head/devel/py-promise/Makefile =================================================================== --- head/devel/py-promise/Makefile (revision 503132) +++ head/devel/py-promise/Makefile (revision 503133) @@ -1,29 +1,24 @@ # Created by: Po-Chuan Hsieh # $FreeBSD$ PORTNAME= promise PORTVERSION= 2.2.1 CATEGORIES= devel python MASTER_SITES= CHEESESHOP PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} MAINTAINER= sunpoet@FreeBSD.org COMMENT= Promises/A+ implementation for Python LICENSE= MIT LICENSE_FILE= ${WRKSRC}/LICENSE -RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}six>=0:devel/py-six@${PY_FLAVOR} +RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}six>=0:devel/py-six@${PY_FLAVOR} \ + ${PY_TYPING} USES= python USE_PYTHON= autoplist concurrent distutils NO_ARCH= yes -.include - -.if ${PYTHON_REL} < 3500 -RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}typing>=3.6.4:devel/py-typing@${PY_FLAVOR} -.endif - -.include +.include Index: head/devel/py-typing-extensions/Makefile =================================================================== --- head/devel/py-typing-extensions/Makefile (revision 503132) +++ head/devel/py-typing-extensions/Makefile (revision 503133) @@ -1,28 +1,24 @@ # Created by: Po-Chuan Hsieh # $FreeBSD$ PORTNAME= typing-extensions PORTVERSION= 3.7.2 CATEGORIES= devel python MASTER_SITES= CHEESESHOP PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} DISTNAME= typing_extensions-${PORTVERSION} MAINTAINER= sunpoet@FreeBSD.org COMMENT= Backported and Experimental Type Hints for Python 3.5+ LICENSE= PSFL LICENSE_FILE= ${WRKSRC}/LICENSE +RUN_DEPENDS= ${PY_TYPING} + USES= python:-3.6 USE_PYTHON= autoplist concurrent distutils NO_ARCH= yes -.include - -.if ${PYTHON_REL} < 3500 -RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}typing>=3.6.2:devel/py-typing@${PY_FLAVOR} -.endif - -.include +.include Index: head/graphics/py-geomdl/Makefile =================================================================== --- head/graphics/py-geomdl/Makefile (revision 503132) +++ head/graphics/py-geomdl/Makefile (revision 503133) @@ -1,31 +1,31 @@ # $FreeBSD$ PORTNAME= geomdl PORTVERSION= 5.2.4 CATEGORIES= graphics python MASTER_SITES= CHEESESHOP PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} MAINTAINER= lbartoletti@tuxfamily.org COMMENT= Object-oriented pure Python B-Spline and NURBS library LICENSE= MIT LICENSE_FILE= ${WRKSRC}/LICENSE RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}six>=1.9.0:devel/py-six@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}numpy>=1.15.4:math/py-numpy@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}matplotlib>=2.2.3:math/py-matplotlib@${PY_FLAVOR} \ - ${PYTHON_PKGNAMEPREFIX}plotly>0:graphics/py-plotly@${PY_FLAVOR} -py27_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}backports.functools_lru_cache>=1.5:devel/py-backports.functools_lru_cache@${PY_FLAVOR} \ - ${PYTHON_PKGNAMEPREFIX}typing>=0:devel/py-typing@${PY_FLAVOR} + ${PYTHON_PKGNAMEPREFIX}plotly>0:graphics/py-plotly@${PY_FLAVOR} \ + ${PY_TYPING} +py27_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}backports.functools_lru_cache>=1.5:devel/py-backports.functools_lru_cache@${PY_FLAVOR} TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pytest>=3.6.0:devel/py-pytest@${PY_FLAVOR} USES= python USE_PYTHON= autoplist distutils NO_ARCH= yes do-test: cd ${WRKSRC} && ${PYTHON_CMD} ${PYDISTUTILS_SETUP} test .include Index: head/net-mgmt/py-msrest/Makefile =================================================================== --- head/net-mgmt/py-msrest/Makefile (revision 503132) +++ head/net-mgmt/py-msrest/Makefile (revision 503133) @@ -1,32 +1,27 @@ # Created by: Johannes Jost Meixner # $FreeBSD$ PORTNAME= msrest PORTVERSION= 0.6.6 CATEGORIES= net-mgmt python MASTER_SITES= CHEESESHOP PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} MAINTAINER= sunpoet@FreeBSD.org COMMENT= AutoRest swagger generator Python client runtime LICENSE= MIT RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}certifi>=2017.4.17:security/py-certifi@${PY_FLAVOR} \ ${PY_ENUM34} \ ${PYTHON_PKGNAMEPREFIX}isodate>=0.6.0:devel/py-isodate@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}requests>=2.16:www/py-requests@${PY_FLAVOR} \ - ${PYTHON_PKGNAMEPREFIX}requests-oauthlib>=0.5.0:www/py-requests-oauthlib@${PY_FLAVOR} + ${PYTHON_PKGNAMEPREFIX}requests-oauthlib>=0.5.0:www/py-requests-oauthlib@${PY_FLAVOR} \ + ${PY_TYPING} USES= python USE_PYTHON= autoplist concurrent distutils NO_ARCH= yes -.include - -.if ${PYTHON_REL} < 3500 -RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}typing>=0:devel/py-typing@${PY_FLAVOR} -.endif - -.include +.include Index: head/print/py-fonttools/Makefile =================================================================== --- head/print/py-fonttools/Makefile (revision 503132) +++ head/print/py-fonttools/Makefile (revision 503133) @@ -1,59 +1,57 @@ # Created by: Joseph Koshy # $FreeBSD$ PORTNAME= fonttools PORTVERSION= 3.42.0 CATEGORIES= print python MASTER_SITES= CHEESESHOP PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} MAINTAINER= sunpoet@FreeBSD.org COMMENT= Open source library for manipulating fonts, written in Python LICENSE= MIT LICENSE_FILE= ${WRKSRC}/LICENSE USES= python zip USE_PYTHON= autoplist concurrent distutils MAKE_ENV= FONTTOOLS_MANPATH="man" NO_ARCH= yes OPTIONS_DEFINE= GRAPHITE INTERPOLATABLE LXML PLOT SYMFONT UFO UNICODE WOFF GRAPHITE_DESC= Process graphite type tables in ttLib/tables INTERPOLATABLE_DESC= Interpolatability support LXML_DESC= Read/write XML files via lxml (faster/safer than built-in ElementTree) PLOT_DESC= Visualize DesignSpaceDocument and resulting VariationModel SYMFONT_DESC= Symbolic font statistics analysis UFO_DESC= Read/write UFO fonts UNICODE_DESC= Use latest Unicode Character Database WOFF_DESC= Compress/uncompress WOFF webfonts GRAPHITE_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}lz4>=1.7.4.2:archivers/py-lz4@${PY_FLAVOR} INTERPOLATABLE_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}scipy>=0:science/py-scipy@${PY_FLAVOR} -LXML_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}lxml>=4.0<5:devel/py-lxml@${PY_FLAVOR} +LXML_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}lxml>=4.0<5:devel/py-lxml@${PY_FLAVOR} \ + ${PY_TYPING} PLOT_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}matplotlib>=0:math/py-matplotlib@${PY_FLAVOR} SYMFONT_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}sympy>=0:math/py-sympy@${PY_FLAVOR} UFO_RUN_DEPENDS= ${PY_ENUM34} \ ${PYTHON_PKGNAMEPREFIX}fs2>=2.2.0<3:devel/py-fs2@${PY_FLAVOR} WOFF_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}brotli>=1.0.1:archivers/py-brotli@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}zopfli>=0.1.4:archivers/py-zopfli@${PY_FLAVOR} .include .if ${PORT_OPTIONS:MLXML} .if ${PYTHON_REL} < 3400 RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}singledispatch>=3.4.0.3:devel/py-singledispatch@${PY_FLAVOR} -.endif -.if ${PYTHON_REL} < 3500 -RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}typing>=0:devel/py-typing@${PY_FLAVOR} .endif .endif .if ${PORT_OPTIONS:MUNICODE} .if ${PYTHON_REL} < 3800 RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}unicodedata2>=12.0.0:devel/py-unicodedata2@${PY_FLAVOR} .endif .endif .include Index: head/security/py-m2crypto/Makefile =================================================================== --- head/security/py-m2crypto/Makefile (revision 503132) +++ head/security/py-m2crypto/Makefile (revision 503133) @@ -1,36 +1,31 @@ # Created by: Peter Haight # $FreeBSD$ PORTNAME= m2crypto PORTVERSION= 0.33.0 CATEGORIES= security python MASTER_SITES= CHEESESHOP PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} DISTNAME= M2Crypto-${PORTVERSION} MAINTAINER= sunpoet@FreeBSD.org COMMENT= Crypto and SSL toolkit for Python LICENSE= MIT LICENSE_FILE= ${WRKSRC}/LICENCE BUILD_DEPENDS= swig3.0:devel/swig30 +RUN_DEPENDS= ${PY_TYPING} USES= python ssl USE_PYTHON= autoplist concurrent distutils PYDISTUTILS_BUILDARGS= build_ext --include=${OPENSSLINC} --openssl=${OPENSSLBASE} --swig=${LOCALBASE}/bin/swig3.0 post-patch: @${REINPLACE_CMD} -e "s|swig\(', '-version\)|swig3.0\1|" ${WRKSRC}/setup.py post-install: ${STRIP_CMD} ${STAGEDIR}${PYTHON_SITELIBDIR}/M2Crypto/_m2crypto.so -.include - -.if ${PYTHON_REL} < 3500 -RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}typing>=0:devel/py-typing@${PY_FLAVOR} -.endif - -.include +.include Index: head/textproc/py-orange3-text/Makefile =================================================================== --- head/textproc/py-orange3-text/Makefile (revision 503132) +++ head/textproc/py-orange3-text/Makefile (revision 503133) @@ -1,41 +1,41 @@ # $FreeBSD$ PORTNAME= orange3-text DISTVERSION= 0.5.1 PORTREVISION= 2 CATEGORIES= textproc python PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} MAINTAINER= yuri@FreeBSD.org COMMENT= Text Mining add-on for Orange3 LICENSE= AGPLv3 BROKEN= installs in examples namespace RUN_DEPENDS= orange3>0:misc/orange3 \ ${PYNUMPY} \ ${PYTHON_PKGNAMEPREFIX}beautifulsoup>0:www/py-beautifulsoup@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}biopython>0:biology/py-biopython@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}docx2txt>=0.6:textproc/py-docx2txt@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}gensim>=0.12.3:textproc/py-gensim@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}lxml>0:devel/py-lxml@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}nltk>=3.0.5:textproc/py-nltk@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}odfpy>=1.3.5:devel/py-odfpy@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}pdfminer3k>0:textproc/py-pdfminer3k@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}scipy>0:science/py-scipy@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}scikit-learn>0:science/py-scikit-learn@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}simhash>0:math/py-simhash@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}tweepy>0:net/py-tweepy@${PY_FLAVOR} \ + ${PY_TYPING} \ ${PYTHON_PKGNAMEPREFIX}ufal.udpipe>0:textproc/py-ufal.udpipe@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}validate_email>0:mail/py-validate_email@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}wikipedia>0:www/py-wikipedia@${PY_FLAVOR} -py34_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}typing>0:devel/py-typing@${PY_FLAVOR} USES= python:3.4+ USE_GITHUB= yes GH_ACCOUNT= biolab USE_PYTHON= distutils autoplist NO_ARCH= yes .include Index: head/textproc/py-sphinx/Makefile =================================================================== --- head/textproc/py-sphinx/Makefile (revision 503132) +++ head/textproc/py-sphinx/Makefile (revision 503133) @@ -1,53 +1,48 @@ # Created by: Li-Wen Hsu # $FreeBSD$ PORTNAME= sphinx PORTVERSION= 1.6.5 PORTREVISION= 2 PORTEPOCH= 1 CATEGORIES= textproc python MASTER_SITES= CHEESESHOP PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} DISTNAME= Sphinx-${PORTVERSION} DIST_SUBDIR= python # NOTE: before committing to this port, contact portmgr to arrange for an # experimental ports run. Untested commits may be backed out at portmgr's # discretion. MAINTAINER= python@FreeBSD.org COMMENT= Python documentation generator LICENSE= BSD2CLAUSE LICENSE_FILE= ${WRKSRC}/LICENSE BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}Jinja2>=2.3:devel/py-Jinja2@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}docutils>=0.11:textproc/py-docutils@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}six>=1.4:devel/py-six@${PY_FLAVOR} RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}Babel>=1.3:devel/py-babel@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}Jinja2>=2.3:devel/py-Jinja2@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}docutils>=0.11:textproc/py-docutils@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}sphinxcontrib-websupport>=1.0.1:textproc/py-sphinxcontrib-websupport@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}pygments>=2.0:textproc/py-pygments@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}sphinx_rtd_theme>=0.1:textproc/py-sphinx_rtd_theme@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}alabaster>=0.7:textproc/py-alabaster@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}snowballstemmer>=1.1:textproc/py-snowballstemmer@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}six>=1.4:devel/py-six@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}requests>=2.18.1:www/py-requests@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}imagesize>=0.7.1:graphics/py-imagesize@${PY_FLAVOR} \ + ${PY_TYPING} \ ${LOCALBASE}/share/certs/ca-root-nss.crt:security/ca_root_nss TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}html5lib>=0:www/py-html5lib@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}mock>=0:devel/py-mock@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}pytest>=0:devel/py-pytest@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}simplejson>=0:devel/py-simplejson@${PY_FLAVOR} USES= python USE_PYTHON= autoplist distutils concurrent NO_ARCH= yes -.include - -.if ${PYTHON_REL} < 3500 -RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}typing>=0:devel/py-typing@${PY_FLAVOR} -.endif - -.include +.include Index: head/textproc/scancode-toolkit/Makefile =================================================================== --- head/textproc/scancode-toolkit/Makefile (revision 503132) +++ head/textproc/scancode-toolkit/Makefile (revision 503133) @@ -1,150 +1,150 @@ # $FreeBSD$ PORTNAME= scancode-toolkit DISTVERSIONPREFIX= v DISTVERSION= 3.0.2 PORTREVISION= 1 CATEGORIES= textproc python MAINTAINER= kai@FreeBSD.org COMMENT= Scans code for license, copyright, package and documented dependencies LICENSE= APACHE20 CC0-1.0 LICENSE_COMB= multi LICENSE_FILE_APACHE20= ${WRKSRC}/apache-2.0.LICENSE LICENSE_FILE_CC0-1.0= ${WRKSRC}/cc0-1.0.LICENSE RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}nltk>=3.2:textproc/py-nltk@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}url>=0.1.4:www/py-url@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}fingerprints>=0.5.4:textproc/py-fingerprints@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}patch>=1.15:devel/py-patch@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}bz2file>=0.98:archivers/py-bz2file@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}backports.os=0.1.1:devel/py-backports.os@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}future>=0.16.0:devel/py-future@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}text-unidecode>=1.0:converters/py-text-unidecode@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}bitarray>=0.8.1:devel/py-bitarray@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}intbitset>=2.3.0:devel/py-intbitset@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}boolean.py>=3.5:devel/py-boolean.py@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}license-expression>=0.99:textproc/py-license-expression@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}pyahocorasick>=1.1:textproc/py-pyahocorasick@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}yaml>=3.11:devel/py-yaml@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}saneyaml>=0:devel/py-saneyaml@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}lxml>=4.0.0:devel/py-lxml@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}beautifulsoup>=4.0.0:www/py-beautifulsoup@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}html5lib>=0:www/py-html5lib@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}six>=0:devel/py-six@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}pdfminer.six>=20170720:textproc/py-pdfminer.six@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}pycryptodome>=3.4:security/py-pycryptodome@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}binaryornot>=0.4.0:devel/py-binaryornot@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}chardet>=3.0.0:textproc/py-chardet@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}pygments>=2.2.0:textproc/py-pygments@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}pefile>=2018.8.8:devel/py-pefile@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}pymaven-patch>=0.2.4:devel/py-pymaven-patch@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}requests>=2.7.0:www/py-requests@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}packageurl-python>=0.7.0:textproc/py-packageurl-python@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}xmltodict>=0.11.0:devel/py-xmltodict@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}javaproperties>=0.5:devel/py-javaproperties@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}click6>=6.0.0:devel/py-click6@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}colorama>=0.3.9:devel/py-colorama@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}pluggy>=0.4.0:devel/py-pluggy@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}attrs>=17.4:devel/py-attrs@${PY_FLAVOR} \ - ${PYTHON_PKGNAMEPREFIX}typing>=3.6:devel/py-typing@${PY_FLAVOR} \ + ${PY_TYPING} \ ${PYTHON_PKGNAMEPREFIX}Jinja2>=2.7.0:devel/py-Jinja2@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}MarkupSafe>=0.23:textproc/py-MarkupSafe@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}simplejson>=0:devel/py-simplejson@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}spdx-tools>=0.5.4:misc/py-spdx-tools@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}unicodecsv>=0:devel/py-unicodecsv@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}yg.lockfile>=2.0.1:devel/py-yg.lockfile@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}zclockfile>=1.0.0:devel/py-zclockfile@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}contextlib2>=0:devel/py-contextlib2@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}pytz>=0:devel/py-pytz@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}tempora>=0:devel/py-tempora@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}jaraco.timing>=0:devel/py-jaraco.timing@${PY_FLAVOR} \ ${PY_IPADDRESS} \ ${LOCALBASE}/bin/7z:archivers/p7zip \ ${LOCALBASE}/bin/file:sysutils/file \ ${LOCALBASE}/lib/libarchive.so:archivers/libarchive USES= python:2.7 USE_PYTHON= distutils autoplist noflavors USE_GITHUB= yes GH_ACCOUNT= nexB NO_ARCH= yes # The upstream package comes with several Python packages of libmagic, p7zip # and zlib that include precompiled binaries for different architectures: # # - plugins/extractcode-7z-ARCH # bin/ # - plugins/extractcode-libarchive-ARCH # lib/ # - plugins/typecode-libmagic-ARCH # /data # /lib # # We use as ARCH the "manylinux_1_x86_64" architecture to get the directory # structure. The binary files will be overwritten in the post-install target # when the relative symlinks are created. BOGUSLNKS= ${LOCALBASE}/bin/7z \ ${LOCALBASE}/libexec/p7zip/7z.so \ ${LOCALBASE}/lib/libarchive.so \ ${LOCALBASE}/lib/libmagic.so \ ${LOCALBASE}/share/file/magic.mgc .for _b in ${BOGUSLNKS} BOGUSDIR_${_b}= `${DIRNAME} ${_b}` .endfor post-patch: @${FIND} ${WRKSRC} -name "*.orig" -or -name "*.bak" -delete do-build: # Build the port and the plugin packages @(cd ${BUILD_WRKSRC}; ${SETENV} ${MAKE_ENV} ${PYTHON_CMD} ${PYDISTUTILS_SETUP} ${PYDISTUTILS_BUILD_TARGET} ${PYDISTUTILS_BUILDARGS}) @(cd ${BUILD_WRKSRC}/plugins/extractcode-7z-manylinux1_x86_64; ${SETENV} ${MAKE_ENV} ${PYTHON_CMD} ${PYDISTUTILS_SETUP} ${PYDISTUTILS_BUILD_TARGET} ${PYDISTUTILS_BUILDARGS}) @(cd ${BUILD_WRKSRC}/plugins/extractcode-libarchive-manylinux1_x86_64; ${SETENV} ${MAKE_ENV} ${PYTHON_CMD} ${PYDISTUTILS_SETUP} ${PYDISTUTILS_BUILD_TARGET} ${PYDISTUTILS_BUILDARGS}) @(cd ${BUILD_WRKSRC}/plugins/typecode-libmagic-manylinux1_x86_64; ${SETENV} ${MAKE_ENV} ${PYTHON_CMD} ${PYDISTUTILS_SETUP} ${PYDISTUTILS_BUILD_TARGET} ${PYDISTUTILS_BUILDARGS}) do-install: # Install scancode and the plugin packages. After each installation run # the newly created ${_PYTHONPKGLIST} is renamed for later processing. (cd ${INSTALL_WRKSRC}; ${SETENV} ${MAKE_ENV} ${PYTHON_CMD} ${PYDISTUTILS_SETUP} ${PYDISTUTILS_INSTALL_TARGET} ${PYDISTUTILS_INSTALLARGS}) @${MV} ${_PYTHONPKGLIST} ${_PYTHONPKGLIST}.scancode (cd ${INSTALL_WRKSRC}/plugins/extractcode-7z-manylinux1_x86_64; ${SETENV} ${MAKE_ENV} ${PYTHON_CMD} ${PYDISTUTILS_SETUP} ${PYDISTUTILS_INSTALL_TARGET} ${PYDISTUTILS_INSTALLARGS}) @${MV} ${_PYTHONPKGLIST} ${_PYTHONPKGLIST}.extractcode-7z (cd ${INSTALL_WRKSRC}/plugins/extractcode-libarchive-manylinux1_x86_64; ${SETENV} ${MAKE_ENV} ${PYTHON_CMD} ${PYDISTUTILS_SETUP} ${PYDISTUTILS_INSTALL_TARGET} ${PYDISTUTILS_INSTALLARGS}) @${MV} ${_PYTHONPKGLIST} ${_PYTHONPKGLIST}.extractcode-libarchive (cd ${INSTALL_WRKSRC}/plugins/typecode-libmagic-manylinux1_x86_64; ${SETENV} ${MAKE_ENV} ${PYTHON_CMD} ${PYDISTUTILS_SETUP} ${PYDISTUTILS_INSTALL_TARGET} ${PYDISTUTILS_INSTALLARGS}) @${MV} ${_PYTHONPKGLIST} ${_PYTHONPKGLIST}.typecode-libmagic # Merge the package lists from the previous install steps into one # ${_PYTHONPKGLIST} @${CAT} ${_PYTHONPKGLIST}.scancode ${_PYTHONPKGLIST}.extractcode-7z ${_PYTHONPKGLIST}.extractcode-libarchive ${_PYTHONPKGLIST}.typecode-libmagic > ${_PYTHONPKGLIST} post-install: # Create bogus directories and files that will be used as sources for # the relative symlinks in the stagedir. Also keep track of the # files/directory that need to be created for later removal. .for _f in ${BOGUSLNKS} @if ! ${TEST} -d ${STAGEDIR}${BOGUSDIR_${_f}}; then \ ${MKDIR} ${STAGEDIR}${BOGUSDIR_${_f}} && \ ${ECHO} ${STAGEDIR}${BOGUSDIR_${_f}} >> ${WRKDIR}/.bogusdirs ; \ fi @${ECHO} DUMMY > ${STAGEDIR}${_f} @${ECHO} ${STAGEDIR}${_f} >> ${WRKDIR}/.bogusdirs .endfor # Create the relative symlinks using the bogus libmagic, p7zip and zlib # as sources to overwrite the placeholder that were created with the # post-extract target. @${RLN} ${STAGEDIR}${LOCALBASE}/bin/7z ${STAGEDIR}${PYTHONPREFIX_SITELIBDIR}/extractcode_7z/bin/ @${RLN} ${STAGEDIR}${LOCALBASE}/libexec/p7zip/7z.so ${STAGEDIR}${PYTHONPREFIX_SITELIBDIR}/extractcode_7z/bin/ @${RLN} ${STAGEDIR}${LOCALBASE}/lib/libarchive.so ${STAGEDIR}${PYTHONPREFIX_SITELIBDIR}/extractcode_libarchive/lib/ @${RLN} ${STAGEDIR}${LOCALBASE}/share/file/magic.mgc ${STAGEDIR}${PYTHONPREFIX_SITELIBDIR}/typecode_libmagic/data/ @${RLN} ${STAGEDIR}${LOCALBASE}/lib/libmagic.so ${STAGEDIR}${PYTHONPREFIX_SITELIBDIR}/typecode_libmagic/lib/ # Remove all bogus source files/directories to pass stage qa @${RM} -r `${CAT} ${WRKDIR}/.bogusdirs` .include Index: head/www/py-django-extensions/Makefile =================================================================== --- head/www/py-django-extensions/Makefile (revision 503132) +++ head/www/py-django-extensions/Makefile (revision 503133) @@ -1,32 +1,27 @@ # Created by: Kevin Golding # $FreeBSD$ PORTNAME= django-extensions PORTVERSION= 2.1.7 CATEGORIES= www python MASTER_SITES= CHEESESHOP PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} MAINTAINER= ports@caomhin.org COMMENT= Global custom management extensions for the Django Framework LICENSE= MIT LICENSE_FILE= ${WRKSRC}/LICENSE RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django111>=1.11:www/py-django111@${PY_FLAVOR} \ - ${PYTHON_PKGNAMEPREFIX}six>=1.2:devel/py-six@${PY_FLAVOR} + ${PYTHON_PKGNAMEPREFIX}six>=1.2:devel/py-six@${PY_FLAVOR} \ + ${PY_TYPING} USES= python USE_PYTHON= autoplist distutils NO_ARCH= yes CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}dj21-django-extensions -.include - -.if ${PYTHON_REL} < 3500 -RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}typing>=0:devel/py-typing@${PY_FLAVOR} -.endif - -.include +.include Index: head/www/py-python-dotenv/Makefile =================================================================== --- head/www/py-python-dotenv/Makefile (revision 503132) +++ head/www/py-python-dotenv/Makefile (revision 503133) @@ -1,29 +1,24 @@ # Created by: Po-Chuan Hsieh # $FreeBSD$ PORTNAME= python-dotenv PORTVERSION= 0.10.2 CATEGORIES= www python MASTER_SITES= CHEESESHOP PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} MAINTAINER= sunpoet@FreeBSD.org COMMENT= Add .env support to your django/flask apps LICENSE= BSD3CLAUSE LICENSE_FILE= ${WRKSRC}/LICENSE -RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}click>=5.0:devel/py-click@${PY_FLAVOR} +RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}click>=5.0:devel/py-click@${PY_FLAVOR} \ + ${PY_TYPING} USES= python USE_PYTHON= autoplist concurrent distutils NO_ARCH= yes -.include - -.if ${PYTHON_VER} < 3.5 -RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}typing>=0:devel/py-typing@${PY_FLAVOR} -.endif - -.include +.include