>>> Building on exopi-6 under devel/py-certifi
BDEPENDS = [devel/py-installer;devel/py-setuptools;devel/py-wheel;devel/py-build;lang/python/3]
DIST = [devel/py-certifi:certifi-2026.7.22.tar.gz]
FULLPKGNAME = py3-certifi-2026.7.22
RDEPENDS = [lang/python/3]
Avoided depends for py3-build-1.5.1 py3-installer-1.0.1 python-3.14.6p0 py3-setuptools-80.9.0v0 py3-wheel-0.48.0
distfiles size=138112
>>> Running extract in devel/py-certifi at 1787344118.94
===> devel/py-certifi
===> Building from scratch py3-certifi-2026.7.22
===> Checking files for py3-certifi-2026.7.22
`/exopi-cvs/ports/distfiles/certifi-2026.7.22.tar.gz' is up to date.
>> (SHA256) all files: OK
===> py3-certifi-2026.7.22 depends on: python->=3.14 -> python-3.14.6p0
===> py3-certifi-2026.7.22 depends on: py3-build-* -> py3-build-1.5.1
===> py3-certifi-2026.7.22 depends on: py3-installer-* -> py3-installer-1.0.1
===> py3-certifi-2026.7.22 depends on: py3-setuptools->=79v0 -> py3-setuptools-80.9.0v0
===> py3-certifi-2026.7.22 depends on: py3-wheel-* -> py3-wheel-0.48.0
===> Extracting for py3-certifi-2026.7.22
>>> Running build in devel/py-certifi at 1787344120.80
===> devel/py-certifi
===> Patching for py3-certifi-2026.7.22
===> Applying OpenBSD patch patch-certifi_core_py
Hmm... Looks like a unified diff to me...
The text leading up to this was:
--------------------------
|Index: certifi/core.py
|--- certifi/core.py.orig
|+++ certifi/core.py
--------------------------
Patching file certifi/core.py using Plan A...
Hunk #1 succeeded at 11.
done
===> Compiler link: clang -> /usr/bin/clang
===> Compiler link: clang++ -> /usr/bin/clang++
===> Compiler link: cc -> /usr/bin/cc
===> Compiler link: c++ -> /usr/bin/c++
===> Generating configure for py3-certifi-2026.7.22
===> Configuring for py3-certifi-2026.7.22
===> Building for py3-certifi-2026.7.22
* Getting build dependencies for wheel...
toml section missing PosixPath('pyproject.toml') does not contain a tool.setuptools_scm section
/usr/local/lib/python3.14/site-packages/setuptools/dist.py:332: InformationOnly: Normalizing '2026.07.22' to '2026.7.22'
self.metadata.version = self._normalize_version(self.metadata.version)
/usr/local/lib/python3.14/site-packages/setuptools/dist.py:759: SetuptoolsDeprecationWarning: License classifiers are deprecated.
!!
********************************************************************************
Please consider removing the following classifiers in favor of a SPDX license expression:
License :: OSI Approved :: Mozilla Public License 2.0 (MPL 2.0)
See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details.
********************************************************************************
!!
self._finalize_license_expression()
running egg_info
writing certifi.egg-info/PKG-INFO
writing dependency_links to certifi.egg-info/dependency_links.txt
writing top-level names to certifi.egg-info/top_level.txt
reading manifest file 'certifi.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
warning: no previously-included files found matching '.github'
warning: manifest_maker: MANIFEST.in, line 5: 'recursive-exclude' expects
...
warning: no previously-included files matching '*.py[cod]' found anywhere in distribution
warning: no previously-included files matching '__pycache__' found anywhere in distribution
warning: no previously-included files matching '.DS_Store' found anywhere in distribution
adding license file 'LICENSE'
writing manifest file 'certifi.egg-info/SOURCES.txt'
* Building wheel...
toml section missing PosixPath('pyproject.toml') does not contain a tool.setuptools_scm section
/usr/local/lib/python3.14/site-packages/setuptools/dist.py:332: InformationOnly: Normalizing '2026.07.22' to '2026.7.22'
self.metadata.version = self._normalize_version(self.metadata.version)
/usr/local/lib/python3.14/site-packages/setuptools/dist.py:759: SetuptoolsDeprecationWarning: License classifiers are deprecated.
!!
********************************************************************************
Please consider removing the following classifiers in favor of a SPDX license expression:
License :: OSI Approved :: Mozilla Public License 2.0 (MPL 2.0)
See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details.
********************************************************************************
!!
self._finalize_license_expression()
running bdist_wheel
running build
running build_py
creating build/lib/certifi
copying certifi/__init__.py -> build/lib/certifi
copying certifi/__main__.py -> build/lib/certifi
copying certifi/core.py -> build/lib/certifi
running egg_info
writing certifi.egg-info/PKG-INFO
writing dependency_links to certifi.egg-info/dependency_links.txt
writing top-level names to certifi.egg-info/top_level.txt
reading manifest file 'certifi.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
warning: no previously-included files found matching '.github'
warning: manifest_maker: MANIFEST.in, line 5: 'recursive-exclude' expects ...
warning: no previously-included files matching '*.py[cod]' found anywhere in distribution
warning: no previously-included files matching '__pycache__' found anywhere in distribution
warning: no previously-included files matching '.DS_Store' found anywhere in distribution
adding license file 'LICENSE'
writing manifest file 'certifi.egg-info/SOURCES.txt'
/usr/local/lib/python3.14/site-packages/setuptools/command/build_py.py:212: _Warning: Package 'certifi.tests' is absent from the `packages` configuration.
!!
********************************************************************************
############################
# Package would be ignored #
############################
Python recognizes 'certifi.tests' as an importable package[^1],
but it is absent from setuptools' `packages` configuration.
This leads to an ambiguous overall configuration. If you want to distribute this
package, please make sure that 'certifi.tests' is explicitly added
to the `packages` configuration field.
Alternatively, you can also rely on setuptools' discovery methods
(for example by using `find_namespace_packages(...)`/`find_namespace:`
instead of `find_packages(...)`/`find:`).
You can read more about "package discovery" on setuptools documentation page:
- https://setuptools.pypa.io/en/latest/userguide/package_discovery.html
If you don't want 'certifi.tests' to be distributed and are
already explicitly excluding 'certifi.tests' via
`find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,
you can try to use `exclude_package_data`, or `include-package-data=False` in
combination with a more fine grained `package-data` configuration.
You can read more about "package data files" on setuptools documentation page:
- https://setuptools.pypa.io/en/latest/userguide/datafiles.html
[^1]: For Python, any directory (with suitable naming) can be imported,
even if it does not contain any `.py` files.
On the other hand, currently there is no concept of package data
directory, all directories are treated like packages.
********************************************************************************
!!
check.warn(importable)
copying certifi/cacert.pem -> build/lib/certifi
copying certifi/py.typed -> build/lib/certifi
creating build/lib/certifi/tests
copying certifi/tests/__init__.py -> build/lib/certifi/tests
copying certifi/tests/test_certify.py -> build/lib/certifi/tests
installing to build/bdist.openbsd-8.0-amd64/wheel
running install
running install_lib
creating build/bdist.openbsd-8.0-amd64/wheel
creating build/bdist.openbsd-8.0-amd64/wheel/certifi
copying build/lib/certifi/__init__.py -> build/bdist.openbsd-8.0-amd64/wheel/./certifi
copying build/lib/certifi/__main__.py -> build/bdist.openbsd-8.0-amd64/wheel/./certifi
copying build/lib/certifi/core.py -> build/bdist.openbsd-8.0-amd64/wheel/./certifi
copying build/lib/certifi/cacert.pem -> build/bdist.openbsd-8.0-amd64/wheel/./certifi
copying build/lib/certifi/py.typed -> build/bdist.openbsd-8.0-amd64/wheel/./certifi
creating build/bdist.openbsd-8.0-amd64/wheel/certifi/tests
copying build/lib/certifi/tests/__init__.py -> build/bdist.openbsd-8.0-amd64/wheel/./certifi/tests
copying build/lib/certifi/tests/test_certify.py -> build/bdist.openbsd-8.0-amd64/wheel/./certifi/tests
running install_egg_info
Copying certifi.egg-info to build/bdist.openbsd-8.0-amd64/wheel/./certifi-2026.7.22-py3.14.egg-info
running install_scripts
creating build/bdist.openbsd-8.0-amd64/wheel/certifi-2026.7.22.dist-info/WHEEL
creating '/exopi-obj/pobj/py-certifi-2026.7.22/certifi-2026.7.22/dist/.tmp-1vmd47s1/certifi-2026.7.22-py3-none-any.whl' and adding 'build/bdist.openbsd-8.0-amd64/wheel' to it
adding 'certifi/__init__.py'
adding 'certifi/__main__.py'
adding 'certifi/cacert.pem'
adding 'certifi/core.py'
adding 'certifi/py.typed'
adding 'certifi/tests/__init__.py'
adding 'certifi/tests/test_certify.py'
adding 'certifi-2026.7.22.dist-info/licenses/LICENSE'
adding 'certifi-2026.7.22.dist-info/METADATA'
adding 'certifi-2026.7.22.dist-info/WHEEL'
adding 'certifi-2026.7.22.dist-info/top_level.txt'
adding 'certifi-2026.7.22.dist-info/RECORD'
removing build/bdist.openbsd-8.0-amd64/wheel
Successfully built certifi-2026.7.22-py3-none-any.whl
>>> Running package in devel/py-certifi at 1787344123.57
===> devel/py-certifi
===> Faking installation for py3-certifi-2026.7.22
===> Building package for py3-certifi-2026.7.22
Create /exopi-cvs/ports/packages/amd64/all/py3-certifi-2026.7.22.tgz
Creating package py3-certifi-2026.7.22
reading plist|
checking dependencies|
checking dependencies|lang/python/3,-main
checksumming|
checksumming| | 0%
checksumming|** | 3%
checksumming|*** | 5%
checksumming|***** | 8%
checksumming|******* | 11%
checksumming|******** | 14%
checksumming|********** | 16%
checksumming|************ | 19%
checksumming|************* | 22%
checksumming|*************** | 24%
checksumming|**************** | 27%
checksumming|****************** | 30%
checksumming|******************** | 32%
checksumming|********************* | 35%
checksumming|*********************** | 38%
checksumming|************************* | 41%
checksumming|************************** | 43%
checksumming|**************************** | 46%
checksumming|****************************** | 49%
checksumming|******************************* | 51%
checksumming|********************************* | 54%
checksumming|*********************************** | 57%
checksumming|************************************ | 59%
checksumming|************************************** | 62%
checksumming|**************************************** | 65%
checksumming|***************************************** | 68%
checksumming|******************************************* | 70%
checksumming|********************************************* | 73%
checksumming|********************************************** | 76%
checksumming|************************************************ | 78%
checksumming|************************************************* | 81%
checksumming|*************************************************** | 84%
checksumming|***************************************************** | 86%
checksumming|****************************************************** | 89%
checksumming|******************************************************** | 92%
checksumming|********************************************************** | 95%
checksumming|*********************************************************** | 97%
checksumming|*************************************************************|100%
archiving|
archiving| | 0%
archiving|* | 2%
archiving|******** | 13%
archiving|*********** | 17%
archiving|*********** | 18%
archiving|************ | 19%
archiving|************* | 20%
archiving|*************** | 23%
archiving|***************** | 26%
archiving|*************************** | 42%
archiving|************************************ | 57%
archiving|************************************* | 58%
archiving|************************************* | 59%
archiving|****************************************** | 66%
archiving|************************************************ | 75%
archiving|************************************************** | 78%
archiving|************************************************************ | 94%
archiving|*************************************************************** | 99%
archiving|****************************************************************|100%
Link to /exopi-cvs/ports/packages/amd64/ftp/py3-certifi-2026.7.22.tgz
>>> Running clean in devel/py-certifi at 1787344135.46
===> devel/py-certifi
===> Cleaning for py3-certifi-2026.7.22
>>> Ended at 1787344135.69
max_stuck=10.22/extract=1.83/build=2.77/package=11.92/clean=0.26