From nobody Mon Dec 12 14:10:24 2022 X-Original-To: dev-commits-ports-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4NW3S11Xl1z4kTmM; Mon, 12 Dec 2022 14:10:25 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4NW3S112sWz4Gs1; Mon, 12 Dec 2022 14:10:25 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1670854225; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dyFj5phnvzdiHGv5Dg1gx6PHu/XY36XEwdj4uWpp3WU=; b=yYLGueX3BApfNXCY6HeZmPkLtSYsTPPPmsOBIYfDcLSyq+TPEKwxm5NRZsyFnPNOHq+9Nc 3GUOQnIZv82TIcPRYHOkuo6CizSiTgzh9jY0vm3fMfLYFXe4lAFzQAjIl7/D3N75/drWPr FSIcYP55J/SqFGHVI3RO9mVtFAHmNmJaGcntVzm5naUxzOSP1o5Q9KyA8mcMYbFCiC7X6s z4M1veVIsK/4Y2kHoXL3jBvra7zKC0WSYpkw7SRcXELz2oF5Djs8r7n5CEGAOt+XCYFyVg neFUq/d8BYhLHSgGNQANHgZVHRQvdO4hMLETO8bx4pQUgE3gJUXt5tGIAUMZoA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1670854225; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dyFj5phnvzdiHGv5Dg1gx6PHu/XY36XEwdj4uWpp3WU=; b=OTHurr6K7/OhrO2gb/iHUkV/zJmEyNnICL4YI6hu49sNu6zbBvW1q9mUjw1jUdZEgmrXj1 q+sT+YcwbDDGdfhU0k4NpLI3HinMnlUiemwhP3EkV9DsqDOJn5/fCtg1z9Qsvmcuc2DrhJ vb5nuInVS1gamEWpyAdLhQauqjifABgq4flBpPvOeWC0iu/9znGNtNcQxMnFkeMVCJwfKr DkkQdRyaRG2cC31jnYzeMyFwgI0F0/dwCcptXOcbuqBVsYAOSegMwue35E6BoLUZmq/G44 JsIxObTVTshA5Ho+nezh5T0DTDNXusCa9lSRz2Cjw8V18hvUJwpmxubMjzcqZQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1670854225; a=rsa-sha256; cv=none; b=E4Ivxe7piEAuitODUiofrOVX4AiNkB3tyu4qQ8LwZ+QwLvCOZQi0Ey58/nqB77KgldSENF hGRLjnAxTWapi3r9LevGJdTiYcaWCLeJuTAZipnrSF7s9ZH+KklMHKTtkNetRow8y+B1kR ANFI6JBKYu8cD0pZIRMSwef6kWDmwsZWy8gw9uW3/YP98g60kypIfthtRMCMeT11A2Zk3M 97HM+pd7sSX1YGPTk/JZ4d1uI8LwTup9RTPW77YOTTm0F8Q2nmCjA4YqssUin5dJj+OKRY 6coUyJ/0UaExI4dw4MIsf18UGT0nQ5DSTrwxUNk/3XySD8ItXUs8vJLpzGZ7RA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4NW3S105X0zcLq; Mon, 12 Dec 2022 14:10:25 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 2BCEAOFF038045; Mon, 12 Dec 2022 14:10:24 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 2BCEAORP038044; Mon, 12 Dec 2022 14:10:24 GMT (envelope-from git) Date: Mon, 12 Dec 2022 14:10:24 GMT Message-Id: <202212121410.2BCEAORP038044@gitrepo.freebsd.org> To: ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org From: Matthew Seaman Subject: git: d057cd7ccacd - main - textproc/py-wcmatch: update to 8.4.1 List-Id: Commit messages for all branches of the ports repository List-Archive: https://lists.freebsd.org/archives/dev-commits-ports-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-ports-all@freebsd.org X-BeenThere: dev-commits-ports-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: matthew X-Git-Repository: ports X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: d057cd7ccacdc1c055dc8dc53bc9d49d06e52d0f Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by matthew: URL: https://cgit.FreeBSD.org/ports/commit/?id=d057cd7ccacdc1c055dc8dc53bc9d49d06e52d0f commit d057cd7ccacdc1c055dc8dc53bc9d49d06e52d0f Author: Matthew Seaman AuthorDate: 2022-12-12 13:38:19 +0000 Commit: Matthew Seaman CommitDate: 2022-12-12 14:10:19 +0000 textproc/py-wcmatch: update to 8.4.1 The upstream package nolonger uses python setuptools, instead building a wheel using hatchling. There is no build target to install the python module directly -- the generated wheel has to be processed by pip. Indeed, with the PEP-517 support in recent versions of pip, the whole package can be built and installed in one commandline using pip. There are two approaches here: * maintain our own setup.py etc. to recreate the setuptools support from older versions -- an approach taken in textproc/py-pymdown-extensions, which is another package by the same upstream author with similar tooling. * alternatively, embrace the new python build system, using hatchling to create a python wheel and pip to install it to staging. I chose the latter, but it is trickier than it seems. pip is not really designed for installing to a staging location as required when building a port. pip options for manipulating the installation prefix (--root, --prefix) pollute the installed _pycache_ files with the staging directory path. In fact, this only works at all, because everything in this package is installed under PYTHON_SITELIBDIR and we can set the `--target` option to ${STAGING}${PYTHON_SITELIBDIR} to achive the desired effect. The PEP-517 ideal would be to use pip to build and install everything, and manage all the dependency resolution etc., but that's not compatible with port building. Fortunately, it is possible to turn off all of the unrequired functionality. It would be cleaner to implement a python module to directly convert wheels into FreeBSD pkgs, or vice-versa. Changes: https://github.com/facelessuser/wcmatch/releases/tag/8.4 Changes: https://github.com/facelessuser/wcmatch/releases/tag/8.4.1 --- textproc/py-wcmatch/Makefile | 24 ++++++++++++++++++++---- textproc/py-wcmatch/distinfo | 6 +++--- textproc/py-wcmatch/pkg-plist | 28 ++++++++++++++++++++++++++++ 3 files changed, 51 insertions(+), 7 deletions(-) diff --git a/textproc/py-wcmatch/Makefile b/textproc/py-wcmatch/Makefile index 9cb0f07b092e..9df8a0ea6e2b 100644 --- a/textproc/py-wcmatch/Makefile +++ b/textproc/py-wcmatch/Makefile @@ -1,6 +1,5 @@ PORTNAME= wcmatch -PORTVERSION= 8.3 -PORTREVISION= 1 +PORTVERSION= 8.4.1 CATEGORIES= textproc python MASTER_SITES= CHEESESHOP PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} @@ -12,17 +11,34 @@ WWW= https://pypi.org/project/wcmatch/ LICENSE= MIT LICENSE_FILE= ${WRKSRC}/LICENSE.md +BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}hatchling>=0.21.1:devel/py-hatchling@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}pip>=22.2:devel/py-pip@${PY_FLAVOR} RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}bracex>=2.1.1:textproc/py-bracex@${PY_FLAVOR} TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pytest>0:devel/py-pytest@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}pytest-cov>0:devel/py-pytest-cov@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}coverage>0:devel/py-coverage@${PY_FLAVOR} -USES= python:3.6+ -USE_PYTHON= autoplist distutils +USES= python:3.7+ +USE_PYTHON= flavors + + +# PYTHON_EXT_SUFFIX could be used here, except that it is +# special-cased for python3.7 which we don't want. +PYCACHE_SUFFIX= .cpython-${PYTHON_SUFFIX}.pyc + +PLIST_SUB+= PORTVERSION=${PORTVERSION} PYCACHE_SUFFIX=${PYCACHE_SUFFIX} NO_ARCH= yes +do-build: + cd ${WRKSRC} && ${PYTHON_CMD} -m hatchling build -t wheel + +do-install: + ${PYTHON_CMD} -m pip --no-cache-dir install --no-deps --ignore-installed \ + --disable-pip-version-check --target ${STAGEDIR}${PYTHON_SITELIBDIR} \ + ${WRKSRC}/dist/${PORTNAME}-${PORTVERSION}-py3-none-any.whl + do-test: @(cd ${TEST_WRKSRC} && ${SETENV} ${TEST_ENV} ${PYTHON_CMD} -m pytest) diff --git a/textproc/py-wcmatch/distinfo b/textproc/py-wcmatch/distinfo index ff8bf4e9ac12..8d36b0959c37 100644 --- a/textproc/py-wcmatch/distinfo +++ b/textproc/py-wcmatch/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1636198668 -SHA256 (wcmatch-8.3.tar.gz) = 371072912398af61d1e4e78609e18801c6faecd3cb36c54c82556a60abc965db -SIZE (wcmatch-8.3.tar.gz) = 118523 +TIMESTAMP = 1669241366 +SHA256 (wcmatch-8.4.1.tar.gz) = b1f042a899ea4c458b7321da1b5e3331e3e0ec781583434de1301946ceadb943 +SIZE (wcmatch-8.4.1.tar.gz) = 114362 diff --git a/textproc/py-wcmatch/pkg-plist b/textproc/py-wcmatch/pkg-plist new file mode 100644 index 000000000000..751f7c1af749 --- /dev/null +++ b/textproc/py-wcmatch/pkg-plist @@ -0,0 +1,28 @@ +%%PYTHON_LIBDIR%%/site-packages/wcmatch-%%PORTVERSION%%.dist-info/WHEEL +%%PYTHON_LIBDIR%%/site-packages/wcmatch-%%PORTVERSION%%.dist-info/REQUESTED +%%PYTHON_LIBDIR%%/site-packages/wcmatch-%%PORTVERSION%%.dist-info/RECORD +%%PYTHON_LIBDIR%%/site-packages/wcmatch-%%PORTVERSION%%.dist-info/INSTALLER +%%PYTHON_LIBDIR%%/site-packages/wcmatch-%%PORTVERSION%%.dist-info/direct_url.json +%%PYTHON_LIBDIR%%/site-packages/wcmatch-%%PORTVERSION%%.dist-info/METADATA +%%PYTHON_LIBDIR%%/site-packages/wcmatch-%%PORTVERSION%%.dist-info/licenses/LICENSE.md +%%PYTHON_LIBDIR%%/site-packages/wcmatch/fnmatch.py +%%PYTHON_LIBDIR%%/site-packages/wcmatch/_wcparse.py +%%PYTHON_LIBDIR%%/site-packages/wcmatch/posix.py +%%PYTHON_LIBDIR%%/site-packages/wcmatch/__pycache__/_wcparse%%PYCACHE_SUFFIX%% +%%PYTHON_LIBDIR%%/site-packages/wcmatch/__pycache__/glob%%PYCACHE_SUFFIX%% +%%PYTHON_LIBDIR%%/site-packages/wcmatch/__pycache__/fnmatch%%PYCACHE_SUFFIX%% +%%PYTHON_LIBDIR%%/site-packages/wcmatch/__pycache__/_wcmatch%%PYCACHE_SUFFIX%% +%%PYTHON_LIBDIR%%/site-packages/wcmatch/__pycache__/wcmatch%%PYCACHE_SUFFIX%% +%%PYTHON_LIBDIR%%/site-packages/wcmatch/__pycache__/pathlib%%PYCACHE_SUFFIX%% +%%PYTHON_LIBDIR%%/site-packages/wcmatch/__pycache__/__init__%%PYCACHE_SUFFIX%% +%%PYTHON_LIBDIR%%/site-packages/wcmatch/__pycache__/__meta__%%PYCACHE_SUFFIX%% +%%PYTHON_LIBDIR%%/site-packages/wcmatch/__pycache__/posix%%PYCACHE_SUFFIX%% +%%PYTHON_LIBDIR%%/site-packages/wcmatch/__pycache__/util%%PYCACHE_SUFFIX%% +%%PYTHON_LIBDIR%%/site-packages/wcmatch/glob.py +%%PYTHON_LIBDIR%%/site-packages/wcmatch/__init__.py +%%PYTHON_LIBDIR%%/site-packages/wcmatch/__meta__.py +%%PYTHON_LIBDIR%%/site-packages/wcmatch/util.py +%%PYTHON_LIBDIR%%/site-packages/wcmatch/_wcmatch.py +%%PYTHON_LIBDIR%%/site-packages/wcmatch/py.typed +%%PYTHON_LIBDIR%%/site-packages/wcmatch/pathlib.py +%%PYTHON_LIBDIR%%/site-packages/wcmatch/wcmatch.py