Latest matplotlib needs an updated py-certifi.

Here's an update to the minimum version that matplotlib needs.

All direct consumers of this port were built on amd64.

ok?

Index: Makefile
===================================================================
RCS file: /cvs/ports/devel/py-certifi/Makefile,v
retrieving revision 1.25
diff -u -p -u -r1.25 Makefile
--- Makefile    21 May 2021 19:50:24 -0000      1.25
+++ Makefile    6 Oct 2021 03:36:47 -0000
@@ -2,11 +2,10 @@
 
 COMMENT =              Python package to check certificates using the OpenBSD 
CA
 
-MODPY_EGG_VERSION =    2020.4.5.1
+MODPY_EGG_VERSION =    2020.6.20
 DISTNAME =             certifi-${MODPY_EGG_VERSION}
 PKGNAME =              py-${DISTNAME}
 CATEGORIES =           devel security
-REVISION =             1
 
 HOMEPAGE =             https://certifi.io/
 
Index: distinfo
===================================================================
RCS file: /cvs/ports/devel/py-certifi/distinfo,v
retrieving revision 1.14
diff -u -p -u -r1.14 distinfo
--- distinfo    14 May 2020 11:44:48 -0000      1.14
+++ distinfo    6 Oct 2021 03:36:47 -0000
@@ -1,2 +1,2 @@
-SHA256 (certifi-2020.4.5.1.tar.gz) = 
UfyzEXS+bmZkxfaePhaRotcqGhLpD4csvbFWfrR7ZRk=
-SIZE (certifi-2020.4.5.1.tar.gz) = 158038
+SHA256 (certifi-2020.6.20.tar.gz) = 
WTBZWBdJbdIbuNw12tCQ8cLNCt+vISBL9nMspdjuNNM=
+SIZE (certifi-2020.6.20.tar.gz) = 157997
Index: patches/patch-certifi_core_py
===================================================================
RCS file: /cvs/ports/devel/py-certifi/patches/patch-certifi_core_py,v
retrieving revision 1.7
diff -u -p -u -r1.7 patch-certifi_core_py
--- patches/patch-certifi_core_py       14 May 2020 11:44:48 -0000      1.7
+++ patches/patch-certifi_core_py       6 Oct 2021 03:36:47 -0000
@@ -3,13 +3,55 @@ $OpenBSD: patch-certifi_core_py,v 1.7 20
 Index: certifi/core.py
 --- certifi/core.py.orig
 +++ certifi/core.py
-@@ -21,9 +21,7 @@ except ImportError:
+@@ -9,36 +9,7 @@ This module returns the installation location of cacer
+ import os
  
- 
- def where():
--    f = os.path.dirname(__file__)
+ try:
+-    from importlib.resources import path as get_path, read_text
+-
+-    _CACERT_CTX = None
+-    _CACERT_PATH = None
+-
+-    def where():
+-        # This is slightly terrible, but we want to delay extracting the file
+-        # in cases where we're inside of a zipimport situation until someone
+-        # actually calls where(), but we don't want to re-extract the file
+-        # on every call of where(), so we'll do it once then store it in a
+-        # global variable.
+-        global _CACERT_CTX
+-        global _CACERT_PATH
+-        if _CACERT_PATH is None:
+-            # This is slightly janky, the importlib.resources API wants you to
+-            # manage the cleanup of this file, so it doesn't actually return a
+-            # path, it returns a context manager that will give you the path
+-            # when you enter it and will do any cleanup when you leave it. In
+-            # the common case of not needing a temporary file, it will just
+-            # return the file system location and the __exit__() is a no-op.
+-            #
+-            # We also have to hold onto the actual context manager, because
+-            # it will do the cleanup whenever it gets garbage collected, so
+-            # we will also store that at the global level as well.
+-            _CACERT_CTX = get_path("certifi", "cacert.pem")
+-            _CACERT_PATH = str(_CACERT_CTX.__enter__())
+-
+-        return _CACERT_PATH
 -
--    return os.path.join(f, "cacert.pem")
+-
++    from importlib.resources import read_text
+ except ImportError:
+     # This fallback will work for Python versions prior to 3.7 that lack the
+     # importlib.resources module but relies on the existing `where` function
+@@ -48,12 +19,9 @@ except ImportError:
+         with open(where(), "r", encoding=encoding) as data:
+             return data.read()
+ 
+-    # If we don't have importlib.resources, then we will just do the old logic
+-    # of assuming we're on the filesystem and munge the path directly.
+-    def where():
+-        f = os.path.dirname(__file__)
+ 
+-        return os.path.join(f, "cacert.pem")
++def where():
 +    return '/etc/ssl/cert.pem'
  
  

Reply via email to