Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package python-pyinstaller-hooks-contrib for 
openSUSE:Factory checked in at 2026-07-07 21:03:31
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-pyinstaller-hooks-contrib (Old)
 and      /work/SRC/openSUSE:Factory/.python-pyinstaller-hooks-contrib.new.1982 
(New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-pyinstaller-hooks-contrib"

Tue Jul  7 21:03:31 2026 rev:14 rq:1364128 version:2026.6

Changes:
--------
--- 
/work/SRC/openSUSE:Factory/python-pyinstaller-hooks-contrib/python-pyinstaller-hooks-contrib.changes
        2026-04-26 21:14:02.916126751 +0200
+++ 
/work/SRC/openSUSE:Factory/.python-pyinstaller-hooks-contrib.new.1982/python-pyinstaller-hooks-contrib.changes
      2026-07-07 21:06:00.436085503 +0200
@@ -1,0 +2,10 @@
+Mon Jul  6 20:46:51 UTC 2026 - Dirk Müller <[email protected]>
+
+- update to 2026.6:
+  * Fix bug in pyi_rth_osgeo.py where the "GDAL_DATA" environment
+    variable would not get set on Windows when building from a
+    conda environment. (#1021)
+  * Update dash hook for compatibility with dash 4.2.0. (#1026)
+  * Update toga hooks for compatibility with toga 0.5.4. (#1016)
+
+-------------------------------------------------------------------

Old:
----
  pyinstaller_hooks_contrib-2026.4.tar.gz

New:
----
  pyinstaller_hooks_contrib-2026.6.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python-pyinstaller-hooks-contrib.spec ++++++
--- /var/tmp/diff_new_pack.W09xOG/_old  2026-07-07 21:06:01.148110427 +0200
+++ /var/tmp/diff_new_pack.W09xOG/_new  2026-07-07 21:06:01.152110567 +0200
@@ -26,7 +26,7 @@
 %endif
 %{?sle15_python_module_pythons}
 Name:           python-pyinstaller-hooks-contrib%{psuffix}
-Version:        2026.4
+Version:        2026.6
 Release:        0
 Summary:        Community maintained hooks for PyInstaller
 License:        Apache-2.0 OR GPL-2.0-only

++++++ pyinstaller_hooks_contrib-2026.4.tar.gz -> 
pyinstaller_hooks_contrib-2026.6.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pyinstaller_hooks_contrib-2026.4/MANIFEST.in 
new/pyinstaller_hooks_contrib-2026.6/MANIFEST.in
--- old/pyinstaller_hooks_contrib-2026.4/MANIFEST.in    2026-03-31 
16:10:38.000000000 +0200
+++ new/pyinstaller_hooks_contrib-2026.6/MANIFEST.in    2026-06-09 
00:37:02.000000000 +0200
@@ -1,2 +1,3 @@
 graft _pyinstaller_hooks_contrib
+global-exclude *.pyc
 include LICENSE
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pyinstaller_hooks_contrib-2026.4/PKG-INFO 
new/pyinstaller_hooks_contrib-2026.6/PKG-INFO
--- old/pyinstaller_hooks_contrib-2026.4/PKG-INFO       2026-03-31 
16:10:46.997615800 +0200
+++ new/pyinstaller_hooks_contrib-2026.6/PKG-INFO       2026-06-09 
00:37:12.324273300 +0200
@@ -1,6 +1,6 @@
 Metadata-Version: 2.4
 Name: pyinstaller-hooks-contrib
-Version: 2026.4
+Version: 2026.6
 Summary: Community maintained hooks for PyInstaller
 Home-page: https://github.com/pyinstaller/pyinstaller-hooks-contrib
 Download-URL: https://pypi.org/project/pyinstaller-hooks-contrib
@@ -18,7 +18,6 @@
 Requires-Python: >=3.8
 Description-Content-Type: text/markdown
 License-File: LICENSE
-Requires-Dist: setuptools>=42.0.0
 Requires-Dist: importlib_metadata>=4.6; python_version < "3.10"
 Requires-Dist: packaging>=22.0
 Dynamic: description-content-type
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/pyinstaller_hooks_contrib-2026.4/_pyinstaller_hooks_contrib/__init__.py 
new/pyinstaller_hooks_contrib-2026.6/_pyinstaller_hooks_contrib/__init__.py
--- old/pyinstaller_hooks_contrib-2026.4/_pyinstaller_hooks_contrib/__init__.py 
2026-03-31 16:10:46.000000000 +0200
+++ new/pyinstaller_hooks_contrib-2026.6/_pyinstaller_hooks_contrib/__init__.py 
2026-06-09 00:37:11.000000000 +0200
@@ -12,7 +12,7 @@
 
 import sys
 
-__version__ = '2026.4'
+__version__ = '2026.6'
 __maintainer__ = 'Legorooj, bwoodsend'
 __uri__ = 'https://github.com/pyinstaller/pyinstaller-hooks-contrib'
 
Binary files 
old/pyinstaller_hooks_contrib-2026.4/_pyinstaller_hooks_contrib/__pycache__/__init__.cpython-314.pyc
 and 
new/pyinstaller_hooks_contrib-2026.6/_pyinstaller_hooks_contrib/__pycache__/__init__.cpython-314.pyc
 differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/pyinstaller_hooks_contrib-2026.4/_pyinstaller_hooks_contrib/rthooks/pyi_rth_findlibs.py
 
new/pyinstaller_hooks_contrib-2026.6/_pyinstaller_hooks_contrib/rthooks/pyi_rth_findlibs.py
--- 
old/pyinstaller_hooks_contrib-2026.4/_pyinstaller_hooks_contrib/rthooks/pyi_rth_findlibs.py
 2026-03-31 16:10:38.000000000 +0200
+++ 
new/pyinstaller_hooks_contrib-2026.6/_pyinstaller_hooks_contrib/rthooks/pyi_rth_findlibs.py
 2026-06-09 00:37:02.000000000 +0200
@@ -9,16 +9,15 @@
 # SPDX-License-Identifier: Apache-2.0
 #-----------------------------------------------------------------------------
 
-# Override the findlibs.find() function to give precedence to sys._MEIPASS, 
followed by `ctypes.util.find_library`,
-# and only then the hard-coded paths from the original implementation. The 
main aim here is to avoid loading libraries
-# from Homebrew environment on macOS when it happens to be present at run-time 
and we have a bundled copy collected from
-# the build system. This happens because we (try not to) modify 
`DYLD_LIBRARY_PATH`, and the original `findlibs.find()`
-# implementation gives precedence to environment variables and several 
fixed/hard-coded locations, and uses
-# `ctypes.util.find_library` as the final fallback...
+# Override the `findlibs.find()` function with custom implementation that 
checks whether the original implementation
+# resolves the copy of a library that is bundled with the frozen application. 
If the original implementation fails to
+# resolve the shared library or resolves a system copy, explicitly check if a 
copy exists in the top-level application
+# directory and if it does, return it instead. This aims to mitigate issues 
with older versions of `findlibs` (< 0.1.0)
+# that failed to pick up bundled copy from top-level application directory due 
to hard-coded search paths.
 def _pyi_rthook():
     import sys
     import os
-    import ctypes.util
+    import pathlib
 
     # findlibs v0.1.0 broke compatibility with python < 3.10; due to 
incompatible typing annotation, attempting to
     # import the package raises `TypeError: unsupported operand type(s) for |: 
'type' and 'NoneType'`. Gracefully
@@ -30,26 +29,26 @@
         return
 
     _orig_find = getattr(findlibs, 'find', None)
+    if _orig_find is None:
+        return
 
     def _pyi_find(lib_name, *args, **kwargs):
-        extension = findlibs.EXTENSIONS.get(sys.platform, ".so")
+        # Try resolving with the original implementation. If resolved, check 
that a bundled copy was resolved.
+        orig_lib = _orig_find(lib_name, *args, **kwargs)
+        if orig_lib is not None:
+            application_dir = pathlib.Path(sys._MEIPASS).resolve()
+            lib_path = pathlib.Path(orig_lib).resolve()
+            if application_dir in lib_path.parents:
+                return orig_lib
 
-        # First check sys._MEIPASS
-        fullname = os.path.join(sys._MEIPASS, "lib{}{}".format(lib_name, 
extension))
+        # Look for a copy in top-level application directory.
+        extension = findlibs.EXTENSIONS.get(sys.platform, ".so")
+        fullname = os.path.join(sys._MEIPASS, f"lib{lib_name}{extension}")
         if os.path.isfile(fullname):
             return fullname
 
-        # Fall back to `ctypes.util.find_library` (to give it precedence over 
hard-coded paths from original
-        # implementation).
-        lib = ctypes.util.find_library(lib_name)
-        if lib is not None:
-            return lib
-
-        # Finally, fall back to original implementation
-        if _orig_find is not None:
-            return _orig_find(lib_name, *args, **kwargs)
-
-        return None
+        # As a last resort, return the result of original resolution attempt.
+        return orig_lib
 
     findlibs.find = _pyi_find
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/pyinstaller_hooks_contrib-2026.4/_pyinstaller_hooks_contrib/rthooks/pyi_rth_osgeo.py
 
new/pyinstaller_hooks_contrib-2026.6/_pyinstaller_hooks_contrib/rthooks/pyi_rth_osgeo.py
--- 
old/pyinstaller_hooks_contrib-2026.4/_pyinstaller_hooks_contrib/rthooks/pyi_rth_osgeo.py
    2026-03-31 16:10:38.000000000 +0200
+++ 
new/pyinstaller_hooks_contrib-2026.6/_pyinstaller_hooks_contrib/rthooks/pyi_rth_osgeo.py
    2026-06-09 00:37:02.000000000 +0200
@@ -21,9 +21,15 @@
     if not os.path.exists(gdal_data):
 
         gdal_data = os.path.join(sys._MEIPASS, 'Library', 'share', 'gdal')
-        # last attempt, check if one of the required file is in the generic 
folder Library/data
-        if not os.path.exists(os.path.join(gdal_data, 'gcs.csv')):
-            gdal_data = os.path.join(sys._MEIPASS, 'Library', 'data')
+        if not os.path.exists(gdal_data):
+            # last attempt, check if one of the required files is in the
+            # generic folder Library/data.
+            generic_folder = os.path.join(sys._MEIPASS, 'Library', 'data')
+            # 'gcs.csv' is included by gdal <= 2.4.4
+            # 'gdalicon.png' is included by gdal >= 2.4.4 (and presumeably 
earlier)
+            if os.path.exists(os.path.join(generic_folder, 'gcs.csv')) or \
+                    os.path.exists(os.path.join(generic_folder, 
'gdalicon.png')):
+                gdal_data = generic_folder
 
 else:
     gdal_data = os.path.join(sys._MEIPASS, 'share', 'gdal')
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/pyinstaller_hooks_contrib-2026.4/_pyinstaller_hooks_contrib/stdhooks/hook-dash.py
 
new/pyinstaller_hooks_contrib-2026.6/_pyinstaller_hooks_contrib/stdhooks/hook-dash.py
--- 
old/pyinstaller_hooks_contrib-2026.4/_pyinstaller_hooks_contrib/stdhooks/hook-dash.py
       2026-03-31 16:10:38.000000000 +0200
+++ 
new/pyinstaller_hooks_contrib-2026.6/_pyinstaller_hooks_contrib/stdhooks/hook-dash.py
       2026-06-09 00:37:02.000000000 +0200
@@ -10,6 +10,11 @@
 # SPDX-License-Identifier: GPL-2.0-or-later
 # ------------------------------------------------------------------
 
-from PyInstaller.utils.hooks import collect_data_files
+from PyInstaller.utils.hooks import collect_data_files, collect_submodules, 
is_module_satisfies
 
 datas = collect_data_files('dash')
+
+# dash 4.2.0 introduced `dash.backends` with programmatically imported backend 
modules.
+hiddenimports = []
+if is_module_satisfies('dash>=4.2.0'):
+    hiddenimports += collect_submodules('dash.backends')
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/pyinstaller_hooks_contrib-2026.4/_pyinstaller_hooks_contrib/stdhooks/hook-plum.py
 
new/pyinstaller_hooks_contrib-2026.6/_pyinstaller_hooks_contrib/stdhooks/hook-plum.py
--- 
old/pyinstaller_hooks_contrib-2026.4/_pyinstaller_hooks_contrib/stdhooks/hook-plum.py
       1970-01-01 01:00:00.000000000 +0100
+++ 
new/pyinstaller_hooks_contrib-2026.6/_pyinstaller_hooks_contrib/stdhooks/hook-plum.py
       2026-06-09 00:37:02.000000000 +0200
@@ -0,0 +1,16 @@
+# ------------------------------------------------------------------
+# Copyright (c) 2025 PyInstaller Development Team.
+#
+# This file is distributed under the terms of the GNU General Public
+# License (version 2.0 or later).
+#
+# The full license is available in LICENSE, distributed with
+# this software.
+#
+# SPDX-License-Identifier: GPL-2.0-or-later
+# ------------------------------------------------------------------
+from _pyinstaller_hooks_contrib.utils.mypy import find_mypyc_module_for_dist
+
+# plum-dispatch uses `mypyc`, and includes a top-level module with
+# dynamically-generated name prefix; e.g., `ddc459050edb75a05942__mypyc`.
+hiddenimports = find_mypyc_module_for_dist('plum-dispatch')
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/pyinstaller_hooks_contrib-2026.4/_pyinstaller_hooks_contrib/stdhooks/hook-psycopg_c.py
 
new/pyinstaller_hooks_contrib-2026.6/_pyinstaller_hooks_contrib/stdhooks/hook-psycopg_c.py
--- 
old/pyinstaller_hooks_contrib-2026.4/_pyinstaller_hooks_contrib/stdhooks/hook-psycopg_c.py
  1970-01-01 01:00:00.000000000 +0100
+++ 
new/pyinstaller_hooks_contrib-2026.6/_pyinstaller_hooks_contrib/stdhooks/hook-psycopg_c.py
  2026-06-09 00:37:02.000000000 +0200
@@ -0,0 +1,15 @@
+# ------------------------------------------------------------------
+# Copyright (c) 2026 PyInstaller Development Team.
+#
+# This file is distributed under the terms of the GNU General Public
+# License (version 2.0 or later).
+#
+# The full license is available in LICENSE, distributed with
+# this software.
+#
+# SPDX-License-Identifier: GPL-2.0-or-later
+# ------------------------------------------------------------------
+
+# The `psycopg_c._uuid` module is imported from the `psycopg_c._psycopg` 
binary extension when working with
+# data of UUID data type.
+hiddenimports = ['psycopg_c._uuid']
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/pyinstaller_hooks_contrib-2026.4/_pyinstaller_hooks_contrib/stdhooks/hook-tensorrt_libs.py
 
new/pyinstaller_hooks_contrib-2026.6/_pyinstaller_hooks_contrib/stdhooks/hook-tensorrt_libs.py
--- 
old/pyinstaller_hooks_contrib-2026.4/_pyinstaller_hooks_contrib/stdhooks/hook-tensorrt_libs.py
      1970-01-01 01:00:00.000000000 +0100
+++ 
new/pyinstaller_hooks_contrib-2026.6/_pyinstaller_hooks_contrib/stdhooks/hook-tensorrt_libs.py
      2026-06-09 00:37:02.000000000 +0200
@@ -0,0 +1,20 @@
+# ------------------------------------------------------------------
+# Copyright (c) 2026 PyInstaller Development Team.
+#
+# This file is distributed under the terms of the GNU General Public
+# License (version 2.0 or later).
+#
+# The full license is available in LICENSE, distributed with
+# this software.
+#
+# SPDX-License-Identifier: GPL-2.0-or-later
+# ------------------------------------------------------------------
+
+from PyInstaller.utils.hooks import PY_DYLIB_PATTERNS, collect_dynamic_libs
+from PyInstaller.compat import is_linux
+
+_search_patterns = list(PY_DYLIB_PATTERNS)
+if is_linux:
+    _search_patterns.append("*.so.*")
+
+binaries = collect_dynamic_libs("tensorrt_libs", 
search_patterns=_search_patterns)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/pyinstaller_hooks_contrib-2026.4/_pyinstaller_hooks_contrib/stdhooks/hook-toga_cocoa.py
 
new/pyinstaller_hooks_contrib-2026.6/_pyinstaller_hooks_contrib/stdhooks/hook-toga_cocoa.py
--- 
old/pyinstaller_hooks_contrib-2026.4/_pyinstaller_hooks_contrib/stdhooks/hook-toga_cocoa.py
 2026-03-31 16:10:38.000000000 +0200
+++ 
new/pyinstaller_hooks_contrib-2026.6/_pyinstaller_hooks_contrib/stdhooks/hook-toga_cocoa.py
 2026-06-09 00:37:02.000000000 +0200
@@ -17,3 +17,9 @@
 
 # Collect metadata so that the backend can be discovered via `toga.backends` 
entry-point.
 datas += copy_metadata("toga-cocoa")
+
+# Starting with version 0.5.4, toga tries to determine the path to "resources" 
directory directly from the `__file__`
+# attribute of the `resources` submodule of a given factory module, whereas 
previous versions used the `__file__`
+# attribute of the factory module itself. Therefore, we now need a hidden 
import for the `resources` submodule, to
+# ensure that it is collected and treated as a regular package (rather than a 
namespace one) at run-time.
+hiddenimports = ['toga_cocoa.resources']
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/pyinstaller_hooks_contrib-2026.4/_pyinstaller_hooks_contrib/stdhooks/hook-toga_gtk.py
 
new/pyinstaller_hooks_contrib-2026.6/_pyinstaller_hooks_contrib/stdhooks/hook-toga_gtk.py
--- 
old/pyinstaller_hooks_contrib-2026.4/_pyinstaller_hooks_contrib/stdhooks/hook-toga_gtk.py
   2026-03-31 16:10:38.000000000 +0200
+++ 
new/pyinstaller_hooks_contrib-2026.6/_pyinstaller_hooks_contrib/stdhooks/hook-toga_gtk.py
   2026-06-09 00:37:02.000000000 +0200
@@ -17,3 +17,9 @@
 
 # Collect metadata so that the backend can be discovered via `toga.backends` 
entry-point.
 datas += copy_metadata("toga-gtk")
+
+# Starting with version 0.5.4, toga tries to determine the path to "resources" 
directory directly from the `__file__`
+# attribute of the `resources` submodule of a given factory module, whereas 
previous versions used the `__file__`
+# attribute of the factory module itself. Therefore, we now need a hidden 
import for the `resources` submodule, to
+# ensure that it is collected and treated as a regular package (rather than a 
namespace one) at run-time.
+hiddenimports = ['toga_gtk.resources']
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/pyinstaller_hooks_contrib-2026.4/_pyinstaller_hooks_contrib/stdhooks/hook-toga_winforms.py
 
new/pyinstaller_hooks_contrib-2026.6/_pyinstaller_hooks_contrib/stdhooks/hook-toga_winforms.py
--- 
old/pyinstaller_hooks_contrib-2026.4/_pyinstaller_hooks_contrib/stdhooks/hook-toga_winforms.py
      2026-03-31 16:10:38.000000000 +0200
+++ 
new/pyinstaller_hooks_contrib-2026.6/_pyinstaller_hooks_contrib/stdhooks/hook-toga_winforms.py
      2026-06-09 00:37:02.000000000 +0200
@@ -38,3 +38,9 @@
 
 # Collect metadata so that the backend can be discovered via `toga.backends` 
entry-point.
 datas += copy_metadata("toga-winforms")
+
+# Starting with version 0.5.4, toga tries to determine the path to "resources" 
directory directly from the `__file__`
+# attribute of the `resources` submodule of a given factory module, whereas 
previous versions used the `__file__`
+# attribute of the factory module itself. Therefore, we now need a hidden 
import for the `resources` submodule, to
+# ensure that it is collected and treated as a regular package (rather than a 
namespace one) at run-time.
+hiddenimports = ['toga_winforms.resources']
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/pyinstaller_hooks_contrib-2026.4/_pyinstaller_hooks_contrib/stdhooks/hook-trame_client.py
 
new/pyinstaller_hooks_contrib-2026.6/_pyinstaller_hooks_contrib/stdhooks/hook-trame_client.py
--- 
old/pyinstaller_hooks_contrib-2026.4/_pyinstaller_hooks_contrib/stdhooks/hook-trame_client.py
       2026-03-31 16:10:38.000000000 +0200
+++ 
new/pyinstaller_hooks_contrib-2026.6/_pyinstaller_hooks_contrib/stdhooks/hook-trame_client.py
       2026-06-09 00:37:02.000000000 +0200
@@ -10,6 +10,10 @@
 # SPDX-License-Identifier: GPL-2.0-or-later
 # ------------------------------------------------------------------
 
-from PyInstaller.utils.hooks import collect_data_files
+from PyInstaller.utils.hooks import collect_data_files, copy_metadata, 
is_module_satisfies
 
 datas = collect_data_files("trame_client", subdir="module")
+
+# Starting with trame-client v3.12.0, version information (obtained from 
metadata) is required.
+if is_module_satisfies("trame-client >= 3.12.0"):
+    datas += copy_metadata("trame-client")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/pyinstaller_hooks_contrib-2026.4/pyinstaller_hooks_contrib.egg-info/PKG-INFO
 
new/pyinstaller_hooks_contrib-2026.6/pyinstaller_hooks_contrib.egg-info/PKG-INFO
--- 
old/pyinstaller_hooks_contrib-2026.4/pyinstaller_hooks_contrib.egg-info/PKG-INFO
    2026-03-31 16:10:46.000000000 +0200
+++ 
new/pyinstaller_hooks_contrib-2026.6/pyinstaller_hooks_contrib.egg-info/PKG-INFO
    2026-06-09 00:37:12.000000000 +0200
@@ -1,6 +1,6 @@
 Metadata-Version: 2.4
 Name: pyinstaller-hooks-contrib
-Version: 2026.4
+Version: 2026.6
 Summary: Community maintained hooks for PyInstaller
 Home-page: https://github.com/pyinstaller/pyinstaller-hooks-contrib
 Download-URL: https://pypi.org/project/pyinstaller-hooks-contrib
@@ -18,7 +18,6 @@
 Requires-Python: >=3.8
 Description-Content-Type: text/markdown
 License-File: LICENSE
-Requires-Dist: setuptools>=42.0.0
 Requires-Dist: importlib_metadata>=4.6; python_version < "3.10"
 Requires-Dist: packaging>=22.0
 Dynamic: description-content-type
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/pyinstaller_hooks_contrib-2026.4/pyinstaller_hooks_contrib.egg-info/SOURCES.txt
 
new/pyinstaller_hooks_contrib-2026.6/pyinstaller_hooks_contrib.egg-info/SOURCES.txt
--- 
old/pyinstaller_hooks_contrib-2026.4/pyinstaller_hooks_contrib.egg-info/SOURCES.txt
 2026-03-31 16:10:46.000000000 +0200
+++ 
new/pyinstaller_hooks_contrib-2026.6/pyinstaller_hooks_contrib.egg-info/SOURCES.txt
 2026-06-09 00:37:12.000000000 +0200
@@ -7,7 +7,6 @@
 _pyinstaller_hooks_contrib/__init__.py
 _pyinstaller_hooks_contrib/compat.py
 _pyinstaller_hooks_contrib/rthooks.dat
-_pyinstaller_hooks_contrib/__pycache__/__init__.cpython-314.pyc
 _pyinstaller_hooks_contrib/pre_find_module_path/__init__.py
 _pyinstaller_hooks_contrib/pre_safe_import_module/__init__.py
 _pyinstaller_hooks_contrib/pre_safe_import_module/hook-tensorflow.py
@@ -310,6 +309,7 @@
 _pyinstaller_hooks_contrib/stdhooks/hook-pinyin.py
 _pyinstaller_hooks_contrib/stdhooks/hook-platformdirs.py
 _pyinstaller_hooks_contrib/stdhooks/hook-plotly.py
+_pyinstaller_hooks_contrib/stdhooks/hook-plum.py
 _pyinstaller_hooks_contrib/stdhooks/hook-pointcept.py
 _pyinstaller_hooks_contrib/stdhooks/hook-pptx.py
 _pyinstaller_hooks_contrib/stdhooks/hook-prettytable.py
@@ -317,6 +317,7 @@
 _pyinstaller_hooks_contrib/stdhooks/hook-psychopy.py
 _pyinstaller_hooks_contrib/stdhooks/hook-psycopg2.py
 _pyinstaller_hooks_contrib/stdhooks/hook-psycopg_binary.py
+_pyinstaller_hooks_contrib/stdhooks/hook-psycopg_c.py
 _pyinstaller_hooks_contrib/stdhooks/hook-publicsuffix2.py
 _pyinstaller_hooks_contrib/stdhooks/hook-pubsub.core.py
 _pyinstaller_hooks_contrib/stdhooks/hook-puremagic.py
@@ -460,6 +461,7 @@
 _pyinstaller_hooks_contrib/stdhooks/hook-tables.py
 _pyinstaller_hooks_contrib/stdhooks/hook-tcod.py
 _pyinstaller_hooks_contrib/stdhooks/hook-tensorflow.py
+_pyinstaller_hooks_contrib/stdhooks/hook-tensorrt_libs.py
 _pyinstaller_hooks_contrib/stdhooks/hook-text_unidecode.py
 _pyinstaller_hooks_contrib/stdhooks/hook-textdistance.py
 _pyinstaller_hooks_contrib/stdhooks/hook-thinc.backends.numpy_ops.py
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/pyinstaller_hooks_contrib-2026.4/pyinstaller_hooks_contrib.egg-info/requires.txt
 
new/pyinstaller_hooks_contrib-2026.6/pyinstaller_hooks_contrib.egg-info/requires.txt
--- 
old/pyinstaller_hooks_contrib-2026.4/pyinstaller_hooks_contrib.egg-info/requires.txt
        2026-03-31 16:10:46.000000000 +0200
+++ 
new/pyinstaller_hooks_contrib-2026.6/pyinstaller_hooks_contrib.egg-info/requires.txt
        2026-06-09 00:37:12.000000000 +0200
@@ -1,4 +1,3 @@
-setuptools>=42.0.0
 packaging>=22.0
 
 [:python_version < "3.10"]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pyinstaller_hooks_contrib-2026.4/setup.cfg 
new/pyinstaller_hooks_contrib-2026.6/setup.cfg
--- old/pyinstaller_hooks_contrib-2026.4/setup.cfg      2026-03-31 
16:10:46.998375200 +0200
+++ new/pyinstaller_hooks_contrib-2026.6/setup.cfg      2026-06-09 
00:37:12.325089700 +0200
@@ -28,7 +28,6 @@
 packages = find:
 python_requires = >=3.8
 install_requires = 
-       setuptools >= 42.0.0
        importlib_metadata >= 4.6 ; python_version < "3.10"
        packaging >= 22.0
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/pyinstaller_hooks_contrib-2026.4/tests/test_libraries.py 
new/pyinstaller_hooks_contrib-2026.6/tests/test_libraries.py
--- old/pyinstaller_hooks_contrib-2026.4/tests/test_libraries.py        
2026-03-31 16:10:38.000000000 +0200
+++ new/pyinstaller_hooks_contrib-2026.6/tests/test_libraries.py        
2026-06-09 00:37:02.000000000 +0200
@@ -2092,11 +2092,13 @@
 
 @importorskip('osgeo')
 def test_osgeo(pyi_builder):
+    # Setting GDAL_DATA is the job of the rthook
     pyi_builder.test_source("""
-        from osgeo import osr
+        from osgeo import osr, gdal
         sr = osr.SpatialReference()
         sr.ImportFromEPSG(4326)
         assert(sr.EPSGTreatsAsLatLong())
+        assert(gdal.GetConfigOption('GDAL_DATA'))
     """)
 
 
@@ -2947,6 +2949,9 @@
 
 @importorskip('tkinterweb')
 def test_tkinterweb(pyi_builder):
+    if not _tkinter_fully_usable():
+        pytest.skip("tkinter is not fully usable.")
+
     # NOTE: run_from_path=True prevents `pyi_builder` from completely clearing 
the `PATH` environment variable. At the
     # time of writing, `tkinterweb_tkhtml` v1.1.2 raises error if `PATH` is 
missing from `os.environ`.
     pyi_builder.test_source("""
@@ -2967,6 +2972,9 @@
 
 @importorskip('tkinterweb_tkhtml')
 def test_tkinterweb_tkhtml(pyi_builder):
+    if not _tkinter_fully_usable():
+        pytest.skip("tkinter is not fully usable.")
+
     # See comment in `test_tkinterweb` as to why `run_from_path=True` is 
required.
     pyi_builder.test_source("""
         import tkinter
@@ -3315,3 +3323,35 @@
         # Will cause the library to load the dynamic libraries (and fail if 
they are not present)
         Library.init()
 """)
+
+
+# Run this test only in onedir mode; both to avoid running out of space on the 
CI runner (tesnorrt 11.0.0.114
+# installation in a clean virtual environment takes 4.3 GB; a onedir build is 
4.3 GB as well; onefile build
+# has 3.5 GB PKG in build directory , and 3.5 GB executable in dist directory) 
and also because onefile build
+# is pushing close to the 4 GB limit size on PyInstaller executables...
+@importorskip("tensorrt")
[email protected]('pyi_builder', ['onedir'], indirect=True)
+def test_tensorrt(pyi_builder):
+    pyi_builder.test_source("""
+        import tensorrt as trt
+
+        # Force TensorRT to load its shared libraries (and fail if they are 
not present).
+        logger = trt.Logger(trt.Logger.WARNING)
+        trt.init_libnvinfer_plugins(logger, "")
+""")
+
+
+@importorskip("plum")
+def test_plum(pyi_builder):
+    pyi_builder.test_source("""
+        from datetime import timedelta
+        from plum import dispatch
+
+        class Serializer:
+            @dispatch
+            def serialize(self, value: timedelta) -> str:
+                return str(value)
+
+        s = Serializer()
+        assert s.serialize(timedelta(seconds=90)) == "0:01:30"
+""")

Reply via email to