Index: head/Mk/Uses/python.mk =================================================================== --- head/Mk/Uses/python.mk (revision 547797) +++ head/Mk/Uses/python.mk (revision 547798) @@ -1,731 +1,737 @@ # $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[:version-spec][,arg,...] # Valid ARGS: , patch, build, run, test # # 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.5+ # Supports Python 3.5 or later # USES=python:3.5-3.7 # Supports Python 3.5 to 3.7 # USES=python:-3.6 # Supports Python up to 3.6 # USES=python # Supports any/all Python versions # # NOTE: should be as specific as possible, matching the versions # upstream declares support for, without being incorrect. In particular, # USES=python *without* a means any and all past or future # versions, 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.4-3.6, but even in this case, X.Y+ (2.7+), or -X.Y (-3.6) # 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.5, 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, 36, ... # 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.6, ... # # 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.7 3.8 3.6 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.7 DEV_WARNING+= "lang/python27 reached End of Life and will be removed on 2020-12-31, consider converting 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.5+ or an appropriate version range" .endif # ${_PYTHON_ARGS} == 2.7 _PYTHON_VERSION:= ${PYTHON_DEFAULT} # 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) .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.5+), 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 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 .elif ${PYTHON_REL} < 3800 # Default ABI flags for lang/python3[567] ports PYTHON_ABIVER= m .endif .endif .if ${PYTHON_MAJOR_VER} == 2 DEPRECATED?= Uses Python 2.7 which is EOLed upstream EXPIRATION_DATE?= 2020-12-31 .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_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 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|^"\(.*\)"$$|\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} >= 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>=1.16,1<1.20,1:math/py-numpy@${PY_FLAVOR} # Common Python modules that can be needed but only for some versions of Python. .if ${PYTHON_REL} < 3500 PY_PILLOW= ${PYTHON_PKGNAMEPREFIX}pillow6>=6.0.0:graphics/py-pillow6@${PY_FLAVOR} PY_SPHINX= ${PYTHON_PKGNAMEPREFIX}sphinx18>=0:textproc/py-sphinx18@${PY_FLAVOR} PY_TYPING= ${PYTHON_PKGNAMEPREFIX}typing>=3.7.4.1:devel/py-typing@${PY_FLAVOR} .else PY_PILLOW= ${PYTHON_PKGNAMEPREFIX}pillow>=7.0.0:graphics/py-pillow@${PY_FLAVOR} PY_SPHINX= ${PYTHON_PKGNAMEPREFIX}sphinx>=0:textproc/py-sphinx@${PY_FLAVOR} PY_TYPING= .endif .if ${PYTHON_REL} < 3400 PY_ENUM34= ${PYTHON_PKGNAMEPREFIX}enum34>=1.1<2.0:devel/py-enum34@${PY_FLAVOR} PY_PATHLIB= ${PYTHON_PKGNAMEPREFIX}pathlib>0:devel/py-pathlib@${PY_FLAVOR} .else PY_ENUM34= -PY_PATHLIB= +PY_PATHLIB= .endif .if ${PYTHON_REL} < 3300 PY_IPADDRESS= ${PYTHON_PKGNAMEPREFIX}ipaddress>=1.0.23:net/py-ipaddress@${PY_FLAVOR} .else PY_IPADDRESS= .endif .if ${PYTHON_REL} < 3200 PY_FUTURES= ${PYTHON_PKGNAMEPREFIX}futures>=3.2:devel/py-futures@${PY_FLAVOR} .else PY_FUTURES= +.endif + +.if ${PYTHON_VER} != ${PYTHON_DEFAULT} +PY_MERCURIAL= ${PYTHON_PKGNAMEPREFIX}mercurial>=5.5:devel/mercurial@${PY_FLAVOR} +.else +PY_MERCURIAL= mercurial>=5.5: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 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/deskutils/zim/Makefile =================================================================== --- head/deskutils/zim/Makefile (revision 547797) +++ head/deskutils/zim/Makefile (revision 547798) @@ -1,53 +1,54 @@ # Created by: Jose Alonso Cardenas Marquez # $FreeBSD$ PORTNAME= zim DISTVERSION= 0.73.2 +PORTREVISION= 1 CATEGORIES= deskutils python MASTER_SITES= https://www.zim-wiki.org/downloads/ MAINTAINER= rm@FreeBSD.org COMMENT= Desktop wiki editor LICENSE= GPLv2 LICENSE_FILE= ${WRKSRC}/LICENSE BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}sqlite3>0:databases/py-sqlite3@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}xdg>0:devel/py-xdg@${PY_FLAVOR} RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}xdg>0:devel/py-xdg@${PY_FLAVOR} \ xdg-open:devel/xdg-utils \ ${PYTHON_PKGNAMEPREFIX}sqlite3>0:databases/py-sqlite3@${PY_FLAVOR} USES= desktop-file-utils gettext gnome python:3.3+ shared-mime-info USE_GNOME= gtk30 pygobject3 USE_PYTHON= autoplist distutils noflavors INSTALLS_ICONS= yes NO_ARCH= yes OPTIONS_DEFINE= BZR DITAA GIT GNUPLOT GNUR GRAPHVIZ LATEX \ MERCURIAL SCROT DITAA_DESC= Diagram editor support DITAA_RUN_DEPENDS= ditaa:graphics/ditaa BZR_DESC= Version control for notebooks using bzr BZR_RUN_DEPENDS= bzr:devel/bzr GIT_DESC= Version control for notebooks using git GIT_RUN_DEPENDS= git:devel/git GNUPLOT_RUN_DEPENDS= gnuplot:math/gnuplot GNUR_DESC= Support of plot editor based on GNU R GNUR_RUN_DEPENDS= R:math/R GRAPHVIZ_RUN_DEPENDS= fdp:graphics/graphviz LATEX_USE= tex=latex:run MERCURIAL_DESC= Version control for notebooks using hg -MERCURIAL_RUN_DEPENDS= hg:devel/mercurial +MERCURIAL_RUN_DEPENDS= ${PY_MERCURIAL} SCROT_DESC= Screenshot taking and inserting support SCROT_RUN_DEPENDS= scrot:graphics/scrot post-patch: @${REINPLACE_CMD} -e \ '/.command.install /s|distutils|setuptools| ; \ s|share/man|man|' \ ${WRKSRC}/setup.py .include Index: head/devel/git-cinnabar/Makefile =================================================================== --- head/devel/git-cinnabar/Makefile (revision 547797) +++ head/devel/git-cinnabar/Makefile (revision 547798) @@ -1,52 +1,52 @@ # $FreeBSD$ PORTNAME= git-cinnabar DISTVERSION= 0.5.5 -PORTREVISION= 3 +PORTREVISION= 4 CATEGORIES= devel PKGNAMESUFFIX= ${PYTHON_PKGNAMESUFFIX:N-py27} MAINTAINER= jbeich@FreeBSD.org COMMENT= Git remote helper to interact with Mercurial repositories LICENSE= GPLv2 BUILD_DEPENDS= ${NONEXISTENT}:devel/git:configure RUN_DEPENDS= git:devel/git -py27_RUN_DEPENDS= hg:devel/mercurial # XXX bug 242463 +py27_RUN_DEPENDS= ${PY_MERCURIAL} # XXX bug 242463 USE_GITHUB= yes GH_ACCOUNT= glandium USES= gmake python:run shebangfix USE_PYTHON= flavors TARGET_ORDER_OVERRIDE= 510:fix-shebang # after do-patch SHEBANG_FILES= ${PORTNAME} git-remote-hg ALL_TARGET= ${PORTNAME}-helper MAKE_ENV= ${:!${MAKE} -V MAKE_ENV -C ${.CURDIR:H}/git!} MAKE_ARGS= SUBMODULE_STATUS=dummy ${:!${MAKE} -V MAKE_ARGS -C ${.CURDIR:H}/git!} CFLAGS+= -ffunction-sections -fdata-sections LDFLAGS+= -Wl,--gc-sections .export CPPFLAGS CFLAGS CXXFLAGS LDFLAGS # :configure DATADIR= ${PREFIX}/libexec/git-core PORTDATA= * PORTDOCS= README.md OPTIONS_DEFINE= DOCS post-configure: @${TAR} cf - -C$$(${SETENV} -u FLAVOR ${MAKE} -V WRKSRC -C ${PORTSDIR}/devel/git) . | \ ${TAR} xof - -C${WRKSRC}/git-core do-install: ${MKDIR} ${STAGEDIR}${DATADIR} ${INSTALL_SCRIPT} ${WRKSRC}/${PORTNAME} ${WRKSRC}/git-remote-hg \ ${STAGEDIR}${DATADIR} ${INSTALL_PROGRAM} ${WRKSRC}/git-core/${PORTNAME}-helper \ ${STAGEDIR}${DATADIR} (cd ${WRKSRC} && ${COPYTREE_SHARE} "${PORTNAME:S/git-//}" \ ${STAGEDIR}${DATADIR}/pythonlib) (cd ${WRKSRC} && ${COPYTREE_SHARE} \ "${PORTDOCS}" ${STAGEDIR}${DOCSDIR}) .include Index: head/devel/git-remote-hg/Makefile =================================================================== --- head/devel/git-remote-hg/Makefile (revision 547797) +++ head/devel/git-remote-hg/Makefile (revision 547798) @@ -1,31 +1,32 @@ # $FreeBSD$ PORTNAME= git-remote-hg PORTVERSION= 1.0.0 +PORTREVISION= 1 DISTVERSIONPREFIX= v CATEGORIES= devel python MAINTAINER= numisemis@yahoo.com COMMENT= Transparent bidirectional bridge between Git and Mercurial for Git LICENSE= GPLv2 LICENSE_FILE= ${WRKSRC}/LICENSE DEPRECATED= Uses deprecated version of python EXPIRATION_DATE= 2020-09-15 BUILD_DEPENDS= a2x:textproc/asciidoc -RUN_DEPENDS= hg:devel/mercurial +RUN_DEPENDS= ${PY_MERCURIAL} USES= gmake python:2.7 shebangfix USE_GITHUB= yes GH_ACCOUNT= mnauw MAKE_ENV= prefix="${PREFIX}" SHEBANG_FILES= git-remote-hg INSTALL_TARGET= install install-doc PLIST_FILES= bin/git-remote-hg man/man1/git-remote-hg.1.gz .include Index: head/devel/hg-git/Makefile =================================================================== --- head/devel/hg-git/Makefile (revision 547797) +++ head/devel/hg-git/Makefile (revision 547798) @@ -1,36 +1,37 @@ # Created by: Marco Broeder # $FreeBSD$ PORTNAME= hg-git DISTVERSION= 0.8.12 +PORTREVISION= 1 CATEGORIES= devel python MASTER_SITES= http://bitbucket.org/durin42/${PORTNAME}/get/ PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} DISTNAME= ${PORTVERSION} DIST_SUBDIR= ${PORTNAME} MAINTAINER= marco.broeder@posteo.eu COMMENT= Mercurial extension to pull from or push to a Git repository LICENSE= GPLv2 DEPRECATED= Uses deprecated version of python EXPIRATION_DATE= 2020-09-15 RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}dulwich>=*:devel/dulwich@${PY_FLAVOR} \ - mercurial>=*:devel/mercurial + ${PY_MERCURIAL} PORTDOCS= README.md NO_ARCH= yes WRKSRC= ${WRKDIR}/durin42-${PORTNAME}-c651bb6fcf33 USES= python:2.7 USE_PYTHON= distutils autoplist OPTIONS_DEFINE= DOCS post-install-DOCS-on: @${MKDIR} ${STAGEDIR}${DOCSDIR} (cd ${WRKSRC} && ${INSTALL_DATA} ${PORTDOCS} ${STAGEDIR}${DOCSDIR}/) .include Index: head/devel/hgreviewboard/Makefile =================================================================== --- head/devel/hgreviewboard/Makefile (revision 547797) +++ head/devel/hgreviewboard/Makefile (revision 547798) @@ -1,38 +1,38 @@ # $FreeBSD$ PORTNAME= hgreviewboard PORTVERSION= 1.0 -PORTREVISION= 1 +PORTREVISION= 2 CATEGORIES= devel python MASTER_SITES= https://bitbucket.org/ccaughie/hgreviewboard/get/ PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} DISTNAME= ${PORTVERSION} DIST_SUBDIR= hgreviewboard MAINTAINER= ports@FreeBSD.org COMMENT= Mercurial reviewboard extension LICENSE= MIT LICENSE_FILE= ${WRKSRC}/COPYING -RUN_DEPENDS= hg:devel/mercurial \ +RUN_DEPENDS= ${PY_MERCURIAL} \ rbt:devel/rbtools WRKSRC= ${WRKDIR}/ccaughie-hgreviewboard-e461a0baf62d USES= python NO_BUILD= yes NO_ARCH= yes post-patch: @${REINPLACE_CMD} -e 's/import simplejson/import json as simplejson/' \ ${WRKSRC}/reviewboard.py do-install: @${MKDIR} ${STAGEDIR}${PYTHONPREFIX_SITELIBDIR}/reviewboard ${INSTALL_DATA} ${WRKSRC}/__init__.py \ ${STAGEDIR}${PYTHONPREFIX_SITELIBDIR}/reviewboard ${INSTALL_DATA} ${WRKSRC}/reviewboard.py \ ${STAGEDIR}${PYTHONPREFIX_SITELIBDIR}/reviewboard .include Index: head/devel/hgsvn/Makefile =================================================================== --- head/devel/hgsvn/Makefile (revision 547797) +++ head/devel/hgsvn/Makefile (revision 547798) @@ -1,26 +1,26 @@ # Created by: Xin LI # $FreeBSD$ PORTNAME= hgsvn PORTVERSION= 0.5.2 -PORTREVISION= 1 +PORTREVISION= 2 CATEGORIES= devel python MASTER_SITES= CHEESESHOP PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} MAINTAINER= delphij@FreeBSD.org COMMENT= Scripts to work locally on Subversion checkouts using Mercurial LICENSE= GPLv3 RUN_DEPENDS= svn:devel/subversion \ - hg:devel/mercurial \ + ${PY_MERCURIAL} \ ${PYTHON_PKGNAMEPREFIX}hglib>0:devel/py-hglib@${PY_FLAVOR} USES= python USE_PYTHON= distutils autoplist PLIST_SUB= VERSION=${PORTVERSION} PYVER=${PYTHON_VERSION:S/python//} NO_ARCH= YES .include Index: head/devel/mercurial/Makefile =================================================================== --- head/devel/mercurial/Makefile (revision 547797) +++ head/devel/mercurial/Makefile (revision 547798) @@ -1,77 +1,84 @@ # Created by: Andreas Kohn # $FreeBSD$ PORTNAME= mercurial -PORTVERSION= 5.1.2 +PORTVERSION= 5.5 CATEGORIES= devel python MASTER_SITES= https://www.mercurial-scm.org/release/ MAINTAINER= python@FreeBSD.org COMMENT= Fast, lightweight source control management system LICENSE= GPLv2 LICENSE_FILE= ${WRKSRC}/COPYING -USES= cpe python:2.7 -USE_PYTHON= distutils +USES= cpe python shebangfix +SHEBANG_FILES= contrib/hgweb.fcgi hgweb.cgi +USE_PYTHON= autoplist distutils -OPTIONS_DEFINE= CA_BUNDLE DATA DOCS NLS FREEBSD -OPTIONS_DEFAULT=CA_BUNDLE DATA -OPTIONS_SUB= yes +OPTIONS_DEFINE= CA_BUNDLE DATA DOCS NLS FREEBSD +OPTIONS_DEFAULT= CA_BUNDLE DATA +OPTIONS_SUB= yes CA_BUNDLE_DESC= Install CA Certificates CA_BUNDLE_RUN_DEPENDS= ${LOCALBASE}/share/certs/ca-root-nss.crt:security/ca_root_nss DATA_SUB_FILES= pkg-message FREEBSD_DESC= Patches used internally by the FreeBSD Project FREEBSD_EXTRA_PATCHES= ${FILESDIR}/extra-patch-authormapsuffix NLS_EXTRA_PATCHES_OFF= ${FILESDIR}/extra-patch-setup.py NLS_USES= gettext CONTRIB_FILES= bash_completion \ casesmash.py \ check-code.py \ debugcmdserver.py \ debugshell.py \ dumprevlog \ hg-ssh \ hgk \ hgsh/Makefile \ hgsh/hgsh.c \ mercurial.el \ mq.el \ pylintrc \ python-hook-examples.py \ simplemerge \ tcsh_completion \ tcsh_completion_build.sh \ undumprevlog \ zsh_completion \ vim/HGAnnotate.vim \ vim/hg-menu.vim \ vim/hgcommand.vim \ vim/hgtest.vim \ vim/patchreview.txt \ vim/patchreview.vim PORTDOCS= CONTRIBUTORS README.rst +.include + +.if ${PYTHON_VER} != ${PYTHON_DEFAULT} +PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} +.endif + post-install: ${INSTALL_MAN} ${WRKSRC}/doc/*.1 ${STAGEDIR}${PREFIX}/man/man1/ ${INSTALL_MAN} ${WRKSRC}/doc/*.5 ${STAGEDIR}${PREFIX}/man/man5/ ${FIND} ${STAGEDIR}${PYTHON_SITELIBDIR}/ -name '*.so' -exec ${STRIP_CMD} {} + post-install-DATA-on: .for d in hgsh vim ${MKDIR} ${STAGEDIR}${DATADIR}/contrib/${d} .endfor ${MKDIR} ${STAGEDIR}${DATADIR}/www .for f in ${CONTRIB_FILES} ${INSTALL_DATA} ${WRKSRC}/contrib/${f} \ ${STAGEDIR}${DATADIR}/contrib/${f} .endfor ${INSTALL_DATA} ${WRKSRC}/hgweb.cgi ${WRKSRC}/contrib/hgweb.* ${STAGEDIR}${DATADIR}/www post-install-DOCS-on: ${MKDIR} ${STAGEDIR}${DOCSDIR} cd ${WRKSRC} && ${INSTALL_DATA} ${PORTDOCS} ${STAGEDIR}${DOCSDIR} -.include +.include Index: head/devel/mercurial/distinfo =================================================================== --- head/devel/mercurial/distinfo (revision 547797) +++ head/devel/mercurial/distinfo (revision 547798) @@ -1,3 +1,3 @@ -TIMESTAMP = 1570127396 -SHA256 (mercurial-5.1.2.tar.gz) = 15af0b090b23649e0e53621a88dde97b55a734d7cb08b77d3df284db70d44e2e -SIZE (mercurial-5.1.2.tar.gz) = 7286238 +TIMESTAMP = 1598899848 +SHA256 (mercurial-5.5.tar.gz) = c1ed28e1534304a7a4981ed59905286d1c56acd5b75755eedd184171a4a782b4 +SIZE (mercurial-5.5.tar.gz) = 7757631 Index: head/devel/mercurial/files/extra-patch-authormapsuffix =================================================================== --- head/devel/mercurial/files/extra-patch-authormapsuffix (revision 547797) +++ head/devel/mercurial/files/extra-patch-authormapsuffix (revision 547798) @@ -1,47 +1,37 @@ ---- hgext/convert/__init__.py.orig 2015-07-18 22:33:53 UTC -+++ hgext/convert/__init__.py -@@ -31,6 +31,7 @@ testedwith = 'internal' - ('d', 'dest-type', '', _('destination repository type'), _('TYPE')), - ('r', 'rev', [], _('import up to source revision REV'), _('REV')), - ('A', 'authormap', '', _('remap usernames using this file'), _('FILE')), -+ ('', 'authormapsuffix', '', _('append this suffix to remapped author names'), _('SUFFIX')), - ('', 'filemap', '', _('remap file names using contents of file'), - _('FILE')), - ('', 'full', None, ---- hgext/convert/convcmd.py.orig 2015-07-18 22:33:53 UTC -+++ hgext/convert/convcmd.py -@@ -136,12 +136,16 @@ class converter(object): +--- hgext/convert/convcmd.py.orig 2020-06-05 21:21:27.000000000 +0200 ++++ hgext/convert/convcmd.py 2020-06-06 17:13:20.086884000 +0200 +@@ -74,7 +74,7 @@ + continue + + srcauthor = srcauthor.strip() +- dstauthor = dstauthor.strip() ++ dstauthor = dstauthor.strip() + self.authormapsuffix + if authors.get(srcauthor) in (None, dstauthor): + msg = _(b'mapping author %s to %s\n') + ui.debug(msg % (srcauthor, dstauthor)) +@@ -209,12 +209,16 @@ self.commitcache = {} self.authors = {} self.authorfile = None -+ self.authormapsuffix = '' ++ self.authormapsuffix = b'' # Record converted revisions persistently: maps source revision # ID to target revision ID (both strings). (This is how # incremental conversions work.) self.map = mapfile(ui, revmapfile) + if opts.get('authormapsuffix'): + self.authormapsuffix = opts.get('authormapsuffix') + # Read first the dst author map if any authorfile = self.dest.authorfile() if authorfile and os.path.exists(authorfile): -@@ -395,7 +399,7 @@ class converter(object): - continue - - srcauthor = srcauthor.strip() -- dstauthor = dstauthor.strip() -+ dstauthor = dstauthor.strip() + self.authormapsuffix - if self.authors.get(srcauthor) in (None, dstauthor): - msg = _('mapping author %s to %s\n') - self.ui.debug(msg % (srcauthor, dstauthor)) -@@ -409,7 +413,7 @@ class converter(object): +@@ -482,7 +486,7 @@ def cachecommit(self, rev): commit = self.source.getcommit(rev) - commit.author = self.authors.get(commit.author, commit.author) + commit.author = self.authors.get(commit.author, commit.author + self.authormapsuffix) commit.branch = mapbranch(commit.branch, self.branchmap) self.commitcache[rev] = commit return commit Index: head/devel/mercurial/files/extra-patch-setup.py =================================================================== --- head/devel/mercurial/files/extra-patch-setup.py (revision 547797) +++ head/devel/mercurial/files/extra-patch-setup.py (revision 547798) @@ -1,34 +1,36 @@ ---- setup.py.orig 2016-09-01 19:01:36 UTC +--- setup.py.orig 2020-08-03 17:43:51 UTC +++ setup.py -@@ -235,30 +235,7 @@ class hgbuildmo(build): +@@ -477,32 +477,7 @@ class hgbuildmo(build): description = "build translations (.mo files)" def run(self): - if not find_executable('msgfmt'): -- self.warn("could not find msgfmt executable, no translations " -- "will be built") +- self.warn( +- "could not find msgfmt executable, no translations " +- "will be built" +- ) - return - - podir = 'i18n' - if not os.path.isdir(podir): - self.warn("could not find %s/ directory" % podir) - return - - join = os.path.join - for po in os.listdir(podir): - if not po.endswith('.po'): - continue - pofile = join(podir, po) - modir = join('locale', po[:-3], 'LC_MESSAGES') - mofile = join(modir, 'hg.mo') - mobuildfile = join('mercurial', mofile) - cmd = ['msgfmt', '-v', '-o', mobuildfile, pofile] - if sys.platform != 'sunos5': - # msgfmt on Solaris does not know about -c - cmd.append('-c') - self.mkpath(join('mercurial', modir)) - self.make_file([pofile], mobuildfile, spawn, (cmd,)) + pass class hgdist(Distribution): Index: head/devel/mercurial/files/pkg-message.in =================================================================== --- head/devel/mercurial/files/pkg-message.in (revision 547797) +++ head/devel/mercurial/files/pkg-message.in (revision 547798) @@ -1,11 +1,16 @@ [ { type: install message: < Index: head/devel/py-hglib/Makefile =================================================================== --- head/devel/py-hglib/Makefile (revision 547797) +++ head/devel/py-hglib/Makefile (revision 547798) @@ -1,22 +1,23 @@ # $FreeBSD$ PORTNAME= hglib PORTVERSION= 2.6.1 +PORTREVISION= 1 CATEGORIES= devel python MASTER_SITES= CHEESESHOP PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} DISTNAME= python-${PORTNAME}-${PORTVERSION} MAINTAINER= delphij@FreeBSD.org COMMENT= Library with a fast, convenient interface to Mercurial LICENSE= MIT -RUN_DEPENDS+= hg:devel/mercurial +RUN_DEPENDS+= ${PY_MERCURIAL} USES= python USE_PYTHON= distutils autoplist NO_ARCH= yes .include Index: head/devel/py-setuptools_scm/Makefile =================================================================== --- head/devel/py-setuptools_scm/Makefile (revision 547797) +++ head/devel/py-setuptools_scm/Makefile (revision 547798) @@ -1,34 +1,35 @@ # $FreeBSD$ PORTNAME= setuptools_scm PORTVERSION= 3.4.3 +PORTREVISION= 1 CATEGORIES= devel python MASTER_SITES= CHEESESHOP PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} MAINTAINER= kai@FreeBSD.org COMMENT= Setuptools plugin to manage your versions by scm tags LICENSE= MIT LICENSE_FILE= ${WRKSRC}/LICENSE TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pytest>0:devel/py-pytest@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}pip>0:devel/py-pip@${PY_FLAVOR} \ git:devel/git \ - hg:devel/mercurial + ${PY_MERCURIAL} USES= python USE_PYTHON= autoplist distutils NO_ARCH= yes OPTIONS_DEFINE= TOML OPTIONS_DEFAULT= TOML TOML_DESC= Support for parsing pyproject.toml files [PEP 517/518] TOML_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}toml>0:textproc/py-toml@${PY_FLAVOR} do-test: @cd ${WRKSRC} && ${PYTHON_CMD} -m pytest -v -rs .include Index: head/devel/tortoisehg/Makefile =================================================================== --- head/devel/tortoisehg/Makefile (revision 547797) +++ head/devel/tortoisehg/Makefile (revision 547798) @@ -1,66 +1,64 @@ # $FreeBSD$ PORTNAME= tortoisehg -DISTVERSION= 5.3.2 -PORTREVISION= 1 +DISTVERSION= 5.5 CATEGORIES= devel -MASTER_SITES= https://bitbucket.org/tortoisehg/thg/get/ -DISTNAME= ${DISTVERSION} MAINTAINER= arrowd@FreeBSD.org COMMENT= GUI for Mercurial VCS LICENSE= GPLv2 LICENSE_FILE= ${WRKSRC}/COPYING.txt DEPRECATED= Uses deprecated version of python EXPIRATION_DATE= 2020-09-15 -BUILD_DEPENDS= hg:devel/mercurial -RUN_DEPENDS= hg:devel/mercurial \ +BUILD_DEPENDS= ${PY_MERCURIAL} +RUN_DEPENDS= ${PY_MERCURIAL} \ ${PYTHON_PKGNAMEPREFIX}iniparse>=0.4:devel/py-iniparse@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}pygments>=0:textproc/py-pygments@${PY_FLAVOR} USES= pyqt:5 python:2.7 USE_PYQT= core gui network qscintilla2 xml USE_PYTHON= distutils +USE_GITLAB= yes +GL_SITE= https://foss.heptapod.net +GL_ACCOUNT= mercurial/tortoisehg +GL_PROJECT= thg +GL_COMMIT= 1605d6fba195f02c0c689fe4aff5d7160aa2b15d + OPTIONS_DEFINE= NAUTILUS NLS NAUTILUS_DESC= Install TortoiseHG Nautilus extension OPTIONS_SUB= yes NLS_USES= gettext NO_ARCH= yes SUB_FILES= pkg-message -DIST_SUBDIR= ${PORTNAME} -WRKSRC= ${WRKDIR}/${PORTNAME}-thg-${TAGNAME} -TAGNAME= 0d5a8de069c5 # Do not conflict with devel/mercurial, which also installs hgext3rd/__init__.py -EXTRACT_AFTER_ARGS= --exclude ${PORTNAME}-thg-${TAGNAME}/hgext3rd/__init__.py +EXTRACT_AFTER_ARGS= --exclude thg-${GL_COMMIT}-${GL_COMMIT}/hgext3rd/__init__.py post-patch: - @${REINPLACE_CMD} -e '/_path/ s|/usr|${PREFIX}|' ${WRKSRC}/${PYSETUP} @${REINPLACE_CMD} -e 's|%%PREFIX%%|${PREFIX}|' ${WRKSRC}/contrib/tortoisehg.desktop - @${REINPLACE_CMD} -e 's|%%LOCALBASE%%|${LOCALBASE}|' ${WRKSRC}/thg post-patch-NLS-on: @${REINPLACE_CMD} -e 's/^%%NLS%%//' ${WRKSRC}/${PYSETUP} post-patch-NLS-off: @${REINPLACE_CMD} -e 's/^%%NLS%%/# /' ${WRKSRC}/${PYSETUP} post-patch-NAUTILUS-on: @${REINPLACE_CMD} -e 's/^%%NAUTILUS%%//' ${WRKSRC}/${PYSETUP} @${REINPLACE_CMD} -e 's|%%PREFIX%%|${PREFIX}|' ${WRKSRC}/${PYSETUP} post-patch-NAUTILUS-off: @${REINPLACE_CMD} -e 's/^%%NAUTILUS%%/# /' ${WRKSRC}/${PYSETUP} post-install: @${MKDIR} ${STAGEDIR}${PREFIX}/share/tortoisehg ${INSTALL_DATA} ${WRKSRC}/contrib/mergetools.rc ${STAGEDIR}${PREFIX}/share/tortoisehg/ ${INSTALL_DATA} ${WRKSRC}/contrib/tortoisehg.desktop ${STAGEDIR}${PREFIX}/share/applications/ .include Index: head/devel/tortoisehg/distinfo =================================================================== --- head/devel/tortoisehg/distinfo (revision 547797) +++ head/devel/tortoisehg/distinfo (revision 547798) @@ -1,3 +1,3 @@ -TIMESTAMP = 1586604799 -SHA256 (tortoisehg/5.3.2.tar.gz) = 4e4c974945cdec0b9db05c206f283f8f1eccb180758889adfb4c0225cfea66d1 -SIZE (tortoisehg/5.3.2.tar.gz) = 8576605 +TIMESTAMP = 1597922152 +SHA256 (mercurial/tortoisehg-thg-1605d6fba195f02c0c689fe4aff5d7160aa2b15d_GL0.tar.gz) = 67cf4c30f9df7f84877da553e9f5332b27f25e7ee102e21cf48d82a61313d481 +SIZE (mercurial/tortoisehg-thg-1605d6fba195f02c0c689fe4aff5d7160aa2b15d_GL0.tar.gz) = 8623598 Index: head/devel/tortoisehg/pkg-plist =================================================================== --- head/devel/tortoisehg/pkg-plist (revision 547797) +++ head/devel/tortoisehg/pkg-plist (revision 547798) @@ -1,609 +1,616 @@ bin/thg +%%PYTHON_SITELIBDIR%%/tortoisehg-unknown-py%%PYTHON_VER%%.egg-info/PKG-INFO +%%PYTHON_SITELIBDIR%%/tortoisehg-unknown-py%%PYTHON_VER%%.egg-info/SOURCES.txt +%%PYTHON_SITELIBDIR%%/tortoisehg-unknown-py%%PYTHON_VER%%.egg-info/dependency_links.txt +%%PYTHON_SITELIBDIR%%/tortoisehg-unknown-py%%PYTHON_VER%%.egg-info/top_level.txt %%PYTHON_SITELIBDIR%%/hgext3rd/thg.py %%PYTHON_SITELIBDIR%%/hgext3rd/thg.pyc %%PYTHON_SITELIBDIR%%/hgext3rd/thg.pyo %%PYTHON_SITELIBDIR%%/tortoisehg/__init__.py %%PYTHON_SITELIBDIR%%/tortoisehg/__init__.pyc %%PYTHON_SITELIBDIR%%/tortoisehg/__init__.pyo %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/__init__.py %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/__init__.pyc %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/__init__.pyo %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/about.py %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/about.pyc %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/about.pyo %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/archive.py %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/archive.pyc %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/archive.pyo %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/backout.py %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/backout.pyc %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/backout.pyo %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/bisect.py %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/bisect.pyc %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/bisect.pyo %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/blockmatcher.py %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/blockmatcher.pyc %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/blockmatcher.pyo %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/bookmark.py %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/bookmark.pyc %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/bookmark.pyo %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/branchop.py %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/branchop.pyc %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/branchop.pyo %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/bugreport.py %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/bugreport.pyc %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/bugreport.pyo %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/chunks.py %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/chunks.pyc %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/chunks.pyo %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/clone.py %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/clone.pyc %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/clone.pyo +%%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/close_branch.py +%%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/close_branch.pyc +%%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/close_branch.pyo %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/cmdcore.py %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/cmdcore.pyc %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/cmdcore.pyo %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/cmdui.py %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/cmdui.pyc %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/cmdui.pyo %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/commit.py %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/commit.pyc %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/commit.pyo %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/compress.py %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/compress.pyc %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/compress.pyo %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/csinfo.py %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/csinfo.pyc %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/csinfo.pyo %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/cslist.py %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/cslist.pyc %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/cslist.pyo %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/customtools.py %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/customtools.pyc %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/customtools.pyo %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/docklog.py %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/docklog.pyc %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/docklog.pyo %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/filectxactions.py %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/filectxactions.pyc %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/filectxactions.pyo %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/filedata.py %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/filedata.pyc %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/filedata.pyo %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/filedialogs.py %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/filedialogs.pyc %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/filedialogs.pyo %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/fileencoding.py %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/fileencoding.pyc %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/fileencoding.pyo %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/filelistview.py %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/filelistview.pyc %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/filelistview.pyo %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/fileview.py %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/fileview.pyc %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/fileview.pyo %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/graft.py %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/graft.pyc %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/graft.pyo %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/graph.py %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/graph.pyc %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/graph.pyo %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/graphopt.py %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/graphopt.pyc %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/graphopt.pyo %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/grep.py %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/grep.pyc %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/grep.pyo %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/guess.py %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/guess.pyc %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/guess.pyo %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/hgconfig.py %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/hgconfig.pyc %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/hgconfig.pyo %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/hgemail.py %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/hgemail.pyc %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/hgemail.pyo %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/hgemail_ui.py %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/hgemail_ui.pyc %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/hgemail_ui.pyo %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/hgignore.py %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/hgignore.pyc %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/hgignore.pyo %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/hginit.py %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/hginit.pyc %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/hginit.pyo %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/hgrcutil.py %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/hgrcutil.pyc %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/hgrcutil.pyo %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/htmldelegate.py %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/htmldelegate.pyc %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/htmldelegate.pyo %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/htmlui.py %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/htmlui.pyc %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/htmlui.pyo %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/infobar.py %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/infobar.pyc %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/infobar.pyo %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/lexers.py %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/lexers.pyc %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/lexers.pyo %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/lfprompt.py %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/lfprompt.pyc %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/lfprompt.pyo %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/locktool.py %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/locktool.pyc %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/locktool.pyo %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/manifestmodel.py %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/manifestmodel.pyc %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/manifestmodel.pyo %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/matching.py %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/matching.pyc %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/matching.pyo %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/merge.py %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/merge.pyc %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/merge.pyo %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/messageentry.py %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/messageentry.pyc %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/messageentry.pyo %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/mq.py %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/mq.pyc %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/mq.pyo %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/p4pending.py %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/p4pending.pyc %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/p4pending.pyo %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/phabreview.py %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/phabreview.pyc %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/phabreview.pyo %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/phabreview_ui.py %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/phabreview_ui.pyc %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/phabreview_ui.pyo +%%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/pick.py +%%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/pick.pyc +%%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/pick.pyo %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/postreview.py %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/postreview.pyc %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/postreview.pyo %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/postreview_ui.py %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/postreview_ui.pyc %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/postreview_ui.pyo %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/prune.py %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/prune.pyc %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/prune.pyo %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/purge.py %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/purge.pyc %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/purge.pyo %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/qdelete.py %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/qdelete.pyc %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/qdelete.pyo %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/qfold.py %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/qfold.pyc %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/qfold.pyo %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/qsci.py %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/qsci.pyc %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/qsci.pyo %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/qscilib.py %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/qscilib.pyc %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/qscilib.pyo %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/qtapp.py %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/qtapp.pyc %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/qtapp.pyo %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/qtcore.py %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/qtcore.pyc %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/qtcore.pyo %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/qtgui.py %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/qtgui.pyc %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/qtgui.pyo %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/qtlib.py %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/qtlib.pyc %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/qtlib.pyo %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/qtnetwork.py %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/qtnetwork.pyc %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/qtnetwork.pyo %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/quickop.py %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/quickop.pyc %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/quickop.pyo %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/rebase.py %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/rebase.pyc %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/rebase.pyo %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/rejects.py %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/rejects.pyc %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/rejects.pyo %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/rename.py %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/rename.pyc %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/rename.pyo %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/repofilter.py %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/repofilter.pyc %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/repofilter.pyo %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/repomodel.py %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/repomodel.pyc %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/repomodel.pyo %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/reporegistry.py %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/reporegistry.pyc %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/reporegistry.pyo %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/repotab.py %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/repotab.pyc %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/repotab.pyo %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/repotreeitem.py %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/repotreeitem.pyc %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/repotreeitem.pyo %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/repotreemodel.py %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/repotreemodel.pyc %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/repotreemodel.pyo %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/repoview.py %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/repoview.pyc %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/repoview.pyo %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/repowidget.py %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/repowidget.pyc %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/repowidget.pyo %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/resolve.py %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/resolve.pyc %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/resolve.pyo %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/revdetails.py %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/revdetails.pyc %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/revdetails.pyo %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/revert.py %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/revert.pyc %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/revert.pyo %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/revpanel.py %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/revpanel.pyc %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/revpanel.pyo %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/revset.py %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/revset.pyc %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/revset.pyo %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/run.py %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/run.pyc %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/run.pyo %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/serve.py %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/serve.pyc %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/serve.pyo %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/serve_ui.py %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/serve_ui.pyc %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/serve_ui.pyo %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/settings.py %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/settings.pyc %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/settings.pyo %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/shellconf.py %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/shellconf.pyc %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/shellconf.pyo %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/shelve.py %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/shelve.pyc %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/shelve.pyo %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/sign.py %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/sign.pyc %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/sign.pyo %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/status.py %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/status.pyc %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/status.pyo %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/sync.py %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/sync.pyc %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/sync.pyo %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/tag.py %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/tag.pyc %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/tag.pyo %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/thgimport.py %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/thgimport.pyc %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/thgimport.pyo %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/thgrepo.py %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/thgrepo.pyc %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/thgrepo.pyo %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/thgstrip.py %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/thgstrip.pyc %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/thgstrip.pyo -%%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/topics.py -%%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/topics.pyc -%%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/topics.pyo +%%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/topic.py +%%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/topic.pyc +%%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/topic.pyo %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/update.py %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/update.pyc %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/update.pyo %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/visdiff.py %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/visdiff.pyc %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/visdiff.pyo %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/wctxcleaner.py %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/wctxcleaner.pyc %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/wctxcleaner.pyo %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/webconf.py %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/webconf.pyc %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/webconf.pyo %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/webconf_ui.py %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/webconf_ui.pyc %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/webconf_ui.pyo %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/workbench.py %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/workbench.pyc %%PYTHON_SITELIBDIR%%/tortoisehg/hgqt/workbench.pyo %%PYTHON_SITELIBDIR%%/tortoisehg/util/__init__.py %%PYTHON_SITELIBDIR%%/tortoisehg/util/__init__.pyc %%PYTHON_SITELIBDIR%%/tortoisehg/util/__init__.pyo -%%PYTHON_SITELIBDIR%%/tortoisehg/util/__version__.py -%%PYTHON_SITELIBDIR%%/tortoisehg/util/__version__.pyc -%%PYTHON_SITELIBDIR%%/tortoisehg/util/__version__.pyo %%PYTHON_SITELIBDIR%%/tortoisehg/util/bugtraq.py %%PYTHON_SITELIBDIR%%/tortoisehg/util/bugtraq.pyc %%PYTHON_SITELIBDIR%%/tortoisehg/util/bugtraq.pyo %%PYTHON_SITELIBDIR%%/tortoisehg/util/cachethg.py %%PYTHON_SITELIBDIR%%/tortoisehg/util/cachethg.pyc %%PYTHON_SITELIBDIR%%/tortoisehg/util/cachethg.pyo %%PYTHON_SITELIBDIR%%/tortoisehg/util/colormap.py %%PYTHON_SITELIBDIR%%/tortoisehg/util/colormap.pyc %%PYTHON_SITELIBDIR%%/tortoisehg/util/colormap.pyo %%PYTHON_SITELIBDIR%%/tortoisehg/util/config.py %%PYTHON_SITELIBDIR%%/tortoisehg/util/config.pyc %%PYTHON_SITELIBDIR%%/tortoisehg/util/config.pyo %%PYTHON_SITELIBDIR%%/tortoisehg/util/configitems.py %%PYTHON_SITELIBDIR%%/tortoisehg/util/configitems.pyc %%PYTHON_SITELIBDIR%%/tortoisehg/util/configitems.pyo %%PYTHON_SITELIBDIR%%/tortoisehg/util/debugthg.py %%PYTHON_SITELIBDIR%%/tortoisehg/util/debugthg.pyc %%PYTHON_SITELIBDIR%%/tortoisehg/util/debugthg.pyo %%PYTHON_SITELIBDIR%%/tortoisehg/util/editor.py %%PYTHON_SITELIBDIR%%/tortoisehg/util/editor.pyc %%PYTHON_SITELIBDIR%%/tortoisehg/util/editor.pyo %%PYTHON_SITELIBDIR%%/tortoisehg/util/gpg.py %%PYTHON_SITELIBDIR%%/tortoisehg/util/gpg.pyc %%PYTHON_SITELIBDIR%%/tortoisehg/util/gpg.pyo %%PYTHON_SITELIBDIR%%/tortoisehg/util/hgcommands.py %%PYTHON_SITELIBDIR%%/tortoisehg/util/hgcommands.pyc %%PYTHON_SITELIBDIR%%/tortoisehg/util/hgcommands.pyo %%PYTHON_SITELIBDIR%%/tortoisehg/util/hgdispatch.py %%PYTHON_SITELIBDIR%%/tortoisehg/util/hgdispatch.pyc %%PYTHON_SITELIBDIR%%/tortoisehg/util/hgdispatch.pyo %%PYTHON_SITELIBDIR%%/tortoisehg/util/hglib.py %%PYTHON_SITELIBDIR%%/tortoisehg/util/hglib.pyc %%PYTHON_SITELIBDIR%%/tortoisehg/util/hglib.pyo %%PYTHON_SITELIBDIR%%/tortoisehg/util/hgversion.py %%PYTHON_SITELIBDIR%%/tortoisehg/util/hgversion.pyc %%PYTHON_SITELIBDIR%%/tortoisehg/util/hgversion.pyo %%PYTHON_SITELIBDIR%%/tortoisehg/util/i18n.py %%PYTHON_SITELIBDIR%%/tortoisehg/util/i18n.pyc %%PYTHON_SITELIBDIR%%/tortoisehg/util/i18n.pyo %%PYTHON_SITELIBDIR%%/tortoisehg/util/menuthg.py %%PYTHON_SITELIBDIR%%/tortoisehg/util/menuthg.pyc %%PYTHON_SITELIBDIR%%/tortoisehg/util/menuthg.pyo %%PYTHON_SITELIBDIR%%/tortoisehg/util/obsoleteutil.py %%PYTHON_SITELIBDIR%%/tortoisehg/util/obsoleteutil.pyc %%PYTHON_SITELIBDIR%%/tortoisehg/util/obsoleteutil.pyo %%PYTHON_SITELIBDIR%%/tortoisehg/util/partialcommit.py %%PYTHON_SITELIBDIR%%/tortoisehg/util/partialcommit.pyc %%PYTHON_SITELIBDIR%%/tortoisehg/util/partialcommit.pyo %%PYTHON_SITELIBDIR%%/tortoisehg/util/patchctx.py %%PYTHON_SITELIBDIR%%/tortoisehg/util/patchctx.pyc %%PYTHON_SITELIBDIR%%/tortoisehg/util/patchctx.pyo %%PYTHON_SITELIBDIR%%/tortoisehg/util/paths.py %%PYTHON_SITELIBDIR%%/tortoisehg/util/paths.pyc %%PYTHON_SITELIBDIR%%/tortoisehg/util/paths.pyo %%PYTHON_SITELIBDIR%%/tortoisehg/util/pipeui.py %%PYTHON_SITELIBDIR%%/tortoisehg/util/pipeui.pyc %%PYTHON_SITELIBDIR%%/tortoisehg/util/pipeui.pyo %%PYTHON_SITELIBDIR%%/tortoisehg/util/shlib.py %%PYTHON_SITELIBDIR%%/tortoisehg/util/shlib.pyc %%PYTHON_SITELIBDIR%%/tortoisehg/util/shlib.pyo %%PYTHON_SITELIBDIR%%/tortoisehg/util/terminal.py %%PYTHON_SITELIBDIR%%/tortoisehg/util/terminal.pyc %%PYTHON_SITELIBDIR%%/tortoisehg/util/terminal.pyo %%PYTHON_SITELIBDIR%%/tortoisehg/util/thgstatus.py %%PYTHON_SITELIBDIR%%/tortoisehg/util/thgstatus.pyc %%PYTHON_SITELIBDIR%%/tortoisehg/util/thgstatus.pyo %%PYTHON_SITELIBDIR%%/tortoisehg/util/thread2.py %%PYTHON_SITELIBDIR%%/tortoisehg/util/thread2.pyc %%PYTHON_SITELIBDIR%%/tortoisehg/util/thread2.pyo %%PYTHON_SITELIBDIR%%/tortoisehg/util/version.py %%PYTHON_SITELIBDIR%%/tortoisehg/util/version.pyc %%PYTHON_SITELIBDIR%%/tortoisehg/util/version.pyo %%PYTHON_SITELIBDIR%%/tortoisehg/util/wconfig.py %%PYTHON_SITELIBDIR%%/tortoisehg/util/wconfig.pyc %%PYTHON_SITELIBDIR%%/tortoisehg/util/wconfig.pyo %%PYTHON_SITELIBDIR%%/tortoisehg/util/win32ill.py %%PYTHON_SITELIBDIR%%/tortoisehg/util/win32ill.pyc %%PYTHON_SITELIBDIR%%/tortoisehg/util/win32ill.pyo share/applications/tortoisehg.desktop %%NLS%%share/locale/ar/LC_MESSAGES/tortoisehg.mo %%NLS%%share/locale/bg/LC_MESSAGES/tortoisehg.mo %%NLS%%share/locale/ca/LC_MESSAGES/tortoisehg.mo %%NLS%%share/locale/cs/LC_MESSAGES/tortoisehg.mo %%NLS%%share/locale/da/LC_MESSAGES/tortoisehg.mo %%NLS%%share/locale/de/LC_MESSAGES/tortoisehg.mo %%NLS%%share/locale/en_AU/LC_MESSAGES/tortoisehg.mo %%NLS%%share/locale/en_GB/LC_MESSAGES/tortoisehg.mo %%NLS%%share/locale/es/LC_MESSAGES/tortoisehg.mo %%NLS%%share/locale/et/LC_MESSAGES/tortoisehg.mo %%NLS%%share/locale/fa/LC_MESSAGES/tortoisehg.mo %%NLS%%share/locale/fi/LC_MESSAGES/tortoisehg.mo %%NLS%%share/locale/fr/LC_MESSAGES/tortoisehg.mo %%NLS%%share/locale/he/LC_MESSAGES/tortoisehg.mo %%NLS%%share/locale/hr/LC_MESSAGES/tortoisehg.mo %%NLS%%share/locale/hu/LC_MESSAGES/tortoisehg.mo %%NLS%%share/locale/id/LC_MESSAGES/tortoisehg.mo %%NLS%%share/locale/it/LC_MESSAGES/tortoisehg.mo %%NLS%%share/locale/ja/LC_MESSAGES/tortoisehg.mo %%NLS%%share/locale/jv/LC_MESSAGES/tortoisehg.mo %%NLS%%share/locale/ko/LC_MESSAGES/tortoisehg.mo %%NLS%%share/locale/lv/LC_MESSAGES/tortoisehg.mo %%NLS%%share/locale/nb/LC_MESSAGES/tortoisehg.mo %%NLS%%share/locale/nl/LC_MESSAGES/tortoisehg.mo %%NLS%%share/locale/nn/LC_MESSAGES/tortoisehg.mo %%NLS%%share/locale/oc/LC_MESSAGES/tortoisehg.mo %%NLS%%share/locale/pl/LC_MESSAGES/tortoisehg.mo %%NLS%%share/locale/pt/LC_MESSAGES/tortoisehg.mo %%NLS%%share/locale/pt_BR/LC_MESSAGES/tortoisehg.mo %%NLS%%share/locale/ru/LC_MESSAGES/tortoisehg.mo %%NLS%%share/locale/sr/LC_MESSAGES/tortoisehg.mo %%NLS%%share/locale/sv/LC_MESSAGES/tortoisehg.mo %%NLS%%share/locale/th/LC_MESSAGES/tortoisehg.mo %%NLS%%share/locale/tr/LC_MESSAGES/tortoisehg.mo %%NLS%%share/locale/uk/LC_MESSAGES/tortoisehg.mo %%NLS%%share/locale/zh_CN/LC_MESSAGES/tortoisehg.mo %%NLS%%share/locale/zh_TW/LC_MESSAGES/tortoisehg.mo %%NAUTILUS%%share/nautilus-python/extensions/nautilus-thg.py share/pixmaps/tortoisehg/icons/16x16/actions/hg-add.png share/pixmaps/tortoisehg/icons/16x16/actions/thg-repoconfig.png share/pixmaps/tortoisehg/icons/16x16/actions/thg-userconfig.png share/pixmaps/tortoisehg/icons/16x16/apps/gnupg.png share/pixmaps/tortoisehg/icons/16x16/apps/kiln.png share/pixmaps/tortoisehg/icons/16x16/apps/reviewboard.png share/pixmaps/tortoisehg/icons/16x16/mimetypes/text-x-generic.png share/pixmaps/tortoisehg/icons/16x16/status/hg-removed.png share/pixmaps/tortoisehg/icons/22x22/actions/window-close.png share/pixmaps/tortoisehg/icons/24x24/actions/hg-incoming.png share/pixmaps/tortoisehg/icons/24x24/actions/hg-outgoing.png share/pixmaps/tortoisehg/icons/24x24/actions/hg-pull.png share/pixmaps/tortoisehg/icons/24x24/actions/hg-push.png share/pixmaps/tortoisehg/icons/32x32/actions/hg-add.png share/pixmaps/tortoisehg/icons/32x32/actions/hg-branch.png share/pixmaps/tortoisehg/icons/32x32/actions/hg-sign.png share/pixmaps/tortoisehg/icons/32x32/actions/thg-repoconfig.png share/pixmaps/tortoisehg/icons/32x32/actions/thg-userconfig.png share/pixmaps/tortoisehg/icons/32x32/status/hg-removed.png share/pixmaps/tortoisehg/icons/README.txt share/pixmaps/tortoisehg/icons/TortoiseMerge.ico share/pixmaps/tortoisehg/icons/detect_rename.ico share/pixmaps/tortoisehg/icons/expander-close.png share/pixmaps/tortoisehg/icons/expander-open.png share/pixmaps/tortoisehg/icons/general.ico share/pixmaps/tortoisehg/icons/hg.ico share/pixmaps/tortoisehg/icons/hgB.ico share/pixmaps/tortoisehg/icons/ignore.ico share/pixmaps/tortoisehg/icons/menuabout.ico share/pixmaps/tortoisehg/icons/menuadd.ico share/pixmaps/tortoisehg/icons/menublame.ico share/pixmaps/tortoisehg/icons/menucheckout.ico share/pixmaps/tortoisehg/icons/menuclone.ico share/pixmaps/tortoisehg/icons/menucommit.ico share/pixmaps/tortoisehg/icons/menucreaterepos.ico share/pixmaps/tortoisehg/icons/menudelete.ico share/pixmaps/tortoisehg/icons/menulog.ico share/pixmaps/tortoisehg/icons/menurepobrowse.ico share/pixmaps/tortoisehg/icons/menurevert.ico share/pixmaps/tortoisehg/icons/menushowchanged.ico share/pixmaps/tortoisehg/icons/menusynch.ico share/pixmaps/tortoisehg/icons/proxy.ico share/pixmaps/tortoisehg/icons/refresh_overlays.ico share/pixmaps/tortoisehg/icons/scalable/actions/application-exit.svg share/pixmaps/tortoisehg/icons/scalable/actions/compare-files.svg share/pixmaps/tortoisehg/icons/scalable/actions/copy-hash.svg share/pixmaps/tortoisehg/icons/scalable/actions/copy-patch.svg share/pixmaps/tortoisehg/icons/scalable/actions/dialog-warning.svg share/pixmaps/tortoisehg/icons/scalable/actions/document-new.svg share/pixmaps/tortoisehg/icons/scalable/actions/edit-copy.svg share/pixmaps/tortoisehg/icons/scalable/actions/edit-cut.svg share/pixmaps/tortoisehg/icons/scalable/actions/edit-file.svg share/pixmaps/tortoisehg/icons/scalable/actions/edit-find.svg share/pixmaps/tortoisehg/icons/scalable/actions/go-down.svg share/pixmaps/tortoisehg/icons/scalable/actions/go-home.svg share/pixmaps/tortoisehg/icons/scalable/actions/go-jump.svg share/pixmaps/tortoisehg/icons/scalable/actions/go-next.svg share/pixmaps/tortoisehg/icons/scalable/actions/go-previous.svg share/pixmaps/tortoisehg/icons/scalable/actions/go-to-rev.svg share/pixmaps/tortoisehg/icons/scalable/actions/go-up.svg share/pixmaps/tortoisehg/icons/scalable/actions/hg-annotate.svg share/pixmaps/tortoisehg/icons/scalable/actions/hg-archive.svg share/pixmaps/tortoisehg/icons/scalable/actions/hg-bisect-bad-good.svg share/pixmaps/tortoisehg/icons/scalable/actions/hg-bisect-good-bad.svg share/pixmaps/tortoisehg/icons/scalable/actions/hg-bisect.svg share/pixmaps/tortoisehg/icons/scalable/actions/hg-bookmarks.svg share/pixmaps/tortoisehg/icons/scalable/actions/hg-bundle.svg share/pixmaps/tortoisehg/icons/scalable/actions/hg-clone.svg share/pixmaps/tortoisehg/icons/scalable/actions/hg-commit.svg share/pixmaps/tortoisehg/icons/scalable/actions/hg-compress.svg share/pixmaps/tortoisehg/icons/scalable/actions/hg-export.svg share/pixmaps/tortoisehg/icons/scalable/actions/hg-extensions.svg share/pixmaps/tortoisehg/icons/scalable/actions/hg-grep.svg share/pixmaps/tortoisehg/icons/scalable/actions/hg-import.svg share/pixmaps/tortoisehg/icons/scalable/actions/hg-incoming.svg share/pixmaps/tortoisehg/icons/scalable/actions/hg-init.svg share/pixmaps/tortoisehg/icons/scalable/actions/hg-log.svg share/pixmaps/tortoisehg/icons/scalable/actions/hg-merge.svg share/pixmaps/tortoisehg/icons/scalable/actions/hg-outgoing.svg share/pixmaps/tortoisehg/icons/scalable/actions/hg-pull-to-here.svg share/pixmaps/tortoisehg/icons/scalable/actions/hg-pull.svg share/pixmaps/tortoisehg/icons/scalable/actions/hg-purge.svg share/pixmaps/tortoisehg/icons/scalable/actions/hg-push.svg share/pixmaps/tortoisehg/icons/scalable/actions/hg-qdelete.svg share/pixmaps/tortoisehg/icons/scalable/actions/hg-qfold.svg share/pixmaps/tortoisehg/icons/scalable/actions/hg-qgoto.svg share/pixmaps/tortoisehg/icons/scalable/actions/hg-qguard.svg share/pixmaps/tortoisehg/icons/scalable/actions/hg-qpop-all.svg share/pixmaps/tortoisehg/icons/scalable/actions/hg-qpop.svg share/pixmaps/tortoisehg/icons/scalable/actions/hg-qpush-all.svg share/pixmaps/tortoisehg/icons/scalable/actions/hg-qpush-move.svg share/pixmaps/tortoisehg/icons/scalable/actions/hg-qpush.svg share/pixmaps/tortoisehg/icons/scalable/actions/hg-rebase.svg share/pixmaps/tortoisehg/icons/scalable/actions/hg-recover.svg share/pixmaps/tortoisehg/icons/scalable/actions/hg-remove.svg share/pixmaps/tortoisehg/icons/scalable/actions/hg-rename.svg share/pixmaps/tortoisehg/icons/scalable/actions/hg-revert.svg share/pixmaps/tortoisehg/icons/scalable/actions/hg-serve.svg share/pixmaps/tortoisehg/icons/scalable/actions/hg-shelve.svg share/pixmaps/tortoisehg/icons/scalable/actions/hg-status.svg share/pixmaps/tortoisehg/icons/scalable/actions/hg-strip.svg share/pixmaps/tortoisehg/icons/scalable/actions/hg-tag.svg share/pixmaps/tortoisehg/icons/scalable/actions/hg-topics.svg share/pixmaps/tortoisehg/icons/scalable/actions/hg-transplant.svg share/pixmaps/tortoisehg/icons/scalable/actions/hg-unbundle.svg share/pixmaps/tortoisehg/icons/scalable/actions/hg-undo.svg share/pixmaps/tortoisehg/icons/scalable/actions/hg-update.svg share/pixmaps/tortoisehg/icons/scalable/actions/hg-verify.svg share/pixmaps/tortoisehg/icons/scalable/actions/ldiff.svg share/pixmaps/tortoisehg/icons/scalable/actions/mail-forward.svg share/pixmaps/tortoisehg/icons/scalable/actions/new-group.svg share/pixmaps/tortoisehg/icons/scalable/actions/process-stop.svg share/pixmaps/tortoisehg/icons/scalable/actions/qfinish.svg share/pixmaps/tortoisehg/icons/scalable/actions/qimport.svg share/pixmaps/tortoisehg/icons/scalable/actions/settings_projrc.svg share/pixmaps/tortoisehg/icons/scalable/actions/status-check.svg share/pixmaps/tortoisehg/icons/scalable/actions/tasktab-refresh.svg share/pixmaps/tortoisehg/icons/scalable/actions/thg-add-subrepo.svg share/pixmaps/tortoisehg/icons/scalable/actions/thg-console.svg share/pixmaps/tortoisehg/icons/scalable/actions/thg-guess.svg share/pixmaps/tortoisehg/icons/scalable/actions/thg-ignore.svg share/pixmaps/tortoisehg/icons/scalable/actions/thg-log-load-all.svg share/pixmaps/tortoisehg/icons/scalable/actions/thg-mq.svg share/pixmaps/tortoisehg/icons/scalable/actions/thg-password.svg share/pixmaps/tortoisehg/icons/scalable/actions/thg-qrefresh.svg share/pixmaps/tortoisehg/icons/scalable/actions/thg-qreorder.svg share/pixmaps/tortoisehg/icons/scalable/actions/thg-reporegistry.svg share/pixmaps/tortoisehg/icons/scalable/actions/thg-repository-open.svg share/pixmaps/tortoisehg/icons/scalable/actions/thg-shelve-delete-left.svg share/pixmaps/tortoisehg/icons/scalable/actions/thg-shelve-delete-right.svg share/pixmaps/tortoisehg/icons/scalable/actions/thg-shelve-move-left-all.svg share/pixmaps/tortoisehg/icons/scalable/actions/thg-shelve-move-left-chunks.svg share/pixmaps/tortoisehg/icons/scalable/actions/thg-shelve-move-left-file.svg share/pixmaps/tortoisehg/icons/scalable/actions/thg-shelve-move-right-all.svg share/pixmaps/tortoisehg/icons/scalable/actions/thg-shelve-move-right-chunks.svg share/pixmaps/tortoisehg/icons/scalable/actions/thg-shelve-move-right-file.svg share/pixmaps/tortoisehg/icons/scalable/actions/thg-sync-bookmarks.svg share/pixmaps/tortoisehg/icons/scalable/actions/thg-sync.svg share/pixmaps/tortoisehg/icons/scalable/actions/view-annotate.svg share/pixmaps/tortoisehg/icons/scalable/actions/view-at-revision.svg share/pixmaps/tortoisehg/icons/scalable/actions/view-diff.svg share/pixmaps/tortoisehg/icons/scalable/actions/view-file.svg share/pixmaps/tortoisehg/icons/scalable/actions/view-filter.svg share/pixmaps/tortoisehg/icons/scalable/actions/view-hidden.svg share/pixmaps/tortoisehg/icons/scalable/actions/view-refresh.svg share/pixmaps/tortoisehg/icons/scalable/actions/visualdiff.svg share/pixmaps/tortoisehg/icons/scalable/apps/help-browser.svg share/pixmaps/tortoisehg/icons/scalable/apps/help-readme.svg share/pixmaps/tortoisehg/icons/scalable/apps/hg.svg share/pixmaps/tortoisehg/icons/scalable/apps/phabricator.svg share/pixmaps/tortoisehg/icons/scalable/apps/preferences-desktop-font.svg share/pixmaps/tortoisehg/icons/scalable/apps/system-file-manager.svg share/pixmaps/tortoisehg/icons/scalable/apps/thg.svg share/pixmaps/tortoisehg/icons/scalable/apps/tools-hooks.svg share/pixmaps/tortoisehg/icons/scalable/apps/tools-spanner-hammer.svg share/pixmaps/tortoisehg/icons/scalable/apps/utilities-terminal.svg share/pixmaps/tortoisehg/icons/scalable/status/hg-merged-both.svg share/pixmaps/tortoisehg/icons/scalable/status/hg-merged-p1.svg share/pixmaps/tortoisehg/icons/scalable/status/hg-merged-p2.svg share/pixmaps/tortoisehg/icons/scalable/status/hg-modified.svg share/pixmaps/tortoisehg/icons/scalable/status/hg-patch-applied.svg share/pixmaps/tortoisehg/icons/scalable/status/hg-patch-guarded.svg share/pixmaps/tortoisehg/icons/scalable/status/hg-patch-unguarded.svg share/pixmaps/tortoisehg/icons/scalable/status/hg-sharedrepo.svg share/pixmaps/tortoisehg/icons/scalable/status/thg-added-subrepo.svg share/pixmaps/tortoisehg/icons/scalable/status/thg-error.svg share/pixmaps/tortoisehg/icons/scalable/status/thg-git-subrepo.svg share/pixmaps/tortoisehg/icons/scalable/status/thg-remote-repo.svg share/pixmaps/tortoisehg/icons/scalable/status/thg-removed-subrepo.svg share/pixmaps/tortoisehg/icons/scalable/status/thg-subrepo.svg share/pixmaps/tortoisehg/icons/scalable/status/thg-success.svg share/pixmaps/tortoisehg/icons/scalable/status/thg-svn-subrepo.svg share/pixmaps/tortoisehg/icons/scalable/status/thg-warning.svg share/pixmaps/tortoisehg/icons/settings_repo.ico share/pixmaps/tortoisehg/icons/settings_user.ico share/pixmaps/tortoisehg/icons/shelve.ico share/pixmaps/tortoisehg/icons/thg_logo.ico share/pixmaps/tortoisehg/icons/thg_logo_92x50.png %%DATADIR%%/mergetools.rc Index: head/ports-mgmt/portshaker/Makefile =================================================================== --- head/ports-mgmt/portshaker/Makefile (revision 547797) +++ head/ports-mgmt/portshaker/Makefile (revision 547798) @@ -1,50 +1,50 @@ # Created by: Romain Tartiere # $FreeBSD$ PORTNAME?= portshaker PORTVERSION= 1.0.18 DISTVERSIONPREFIX= v -PORTREVISION?= 0 +PORTREVISION?= 1 CATEGORIES?= ports-mgmt MAINTAINER?= romain@FreeBSD.org COMMENT?= Maintain ports tree using multiple sources LICENSE= BSD2CLAUSE LICENSE_FILE= ${WRKSRC}/COPYING USES+= uidfix USE_GITHUB= yes GH_ACCOUNT= smortex GH_PROJECT= portshaker .if ${PORTNAME} == "portshaker" OPTIONS_DEFINE= RSYNC SVN GIT HG OPTIONS_DEFAULT= RSYNC SVN RSYNC_DESC= rsync support GIT_DESC= git support HG_DESC= mercurial support RSYNC_RUN_DEPENDS= rsync:net/rsync SVN_RUN_DEPENDS= svn:devel/subversion${WITH_SUBVERSION_VER} GIT_RUN_DEPENDS= git:devel/git -HG_RUN_DEPENDS= hg:devel/mercurial +HG_RUN_DEPENDS= ${PY_MERCURIAL} .else OPTIONS_DEFINE= BSDSHARP ENLIGHTENMENT GECKO HASKELL MARCUSCOM TEXLIVE XORG OPTIONS_DEFAULT= BSDSHARP BSDSHARP_DESC= Enable BSD-sharp ports ENLIGHTENMENT_DESC= Enable Enlightnement ports GECKO_DESC= Enable Gecko ports HASKELL_DESC= Enable Haskell ports MARCUSCOM_DESC= Enable GNOME development ports TEXLIVE_DESC= Enable TeXLive ports (Experimental) XORG_DESC= Enable Xorg development ports BSDSHARP_MAKE_ENV= WITH_BSDSHARP=1 ENLIGHTENMENT_MAKE_ENV= WITH_ENLIGHTENMENT=1 GECKO_MAKE_ENV= WITH_GECKO=1 HASKELL_MAKE_ENV= WITH_HASKELL=1 MARCUSCOM_MAKE_ENV= WITH_MARCUSCOM=1 TEXLIVE_MAKE_ENV= WITH_TEXLIVE=1 XORG_MAKE_ENV= WITH_XORG=1 .endif .include Index: head/www/trac-mercurial/Makefile =================================================================== --- head/www/trac-mercurial/Makefile (revision 547797) +++ head/www/trac-mercurial/Makefile (revision 547798) @@ -1,25 +1,25 @@ # $FreeBSD$ PORTNAME= mercurial PORTVERSION= 1.0.0.3 -PORTREVISION= 1 +PORTREVISION= 2 CATEGORIES= www devel python MASTER_SITES= LOCAL/rm PKGNAMEPREFIX= trac- DISTNAME= ${PORTNAME}plugin-${PORTVERSION} DIST_SUBDIR= trac MAINTAINER= joneum@FreeBSD.org COMMENT= Plugin to use Mercurial instead of Subversion in Trac LICENSE= GPLv2 LICENSE_FILE= ${WRKSRC}/COPYING -RUN_DEPENDS= hg:devel/mercurial \ +RUN_DEPENDS= ${PY_MERCURIAL} \ tracd:www/trac USES= python:2.7 USE_PYTHON= distutils autoplist NO_ARCH= yes .include