forked from pool/python-PyInstaller
Compare commits
8 Commits
| Author | SHA256 | Date | |
|---|---|---|---|
| 5633ee032e | |||
| 1b6d77dd9b | |||
| 880a719649 | |||
| 853a5b19c5 | |||
| 45044a0017 | |||
| 2bbb632967 | |||
| c3445c90a1 | |||
| eb7e3f814d |
@@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:4de951522be6501348a378a1a02f699e5697be973f8d3c2da39a90e7c88991b4
|
||||
size 3874599
|
||||
BIN
pyinstaller-6.16.0.tar.gz
LFS
Normal file
BIN
pyinstaller-6.16.0.tar.gz
LFS
Normal file
Binary file not shown.
@@ -1,3 +1,166 @@
|
||||
-------------------------------------------------------------------
|
||||
Tue Nov 18 16:06:04 UTC 2025 - Markéta Machová <mmachova@suse.com>
|
||||
|
||||
- update to 6.16.0
|
||||
* Fix behavior of --add-data and --add-binary when the given source
|
||||
path contains a glob that matches directories.
|
||||
* The Analysis() class now keeps track of pure-python modules that
|
||||
are not collected into PYZ archive
|
||||
* Add pre-safe-import-module hook for gi.overrides to properly handle
|
||||
cases where the gi.overrides package is split between /usr/lib64
|
||||
and /usr/lib
|
||||
* Add Python 3.14 support.
|
||||
* Adjust the destination directory for collected python’s standard
|
||||
extensions, from lib-dynload to python3.x/lib-dynload
|
||||
* Rework the anonymization of the co_filename attribute in collected
|
||||
code objects
|
||||
* Rework the search for python shared library in order to reduce
|
||||
amount of guess-work and better accommodate variations in naming
|
||||
across platforms
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Jun 11 05:49:29 UTC 2025 - Steve Kowalik <steven.kowalik@suse.com>
|
||||
|
||||
- Switch to pyproject macros.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Apr 28 16:40:42 UTC 2025 - Dirk Müller <dmueller@suse.com>
|
||||
|
||||
- update to 6.13.0:
|
||||
* Extend analysis code so that when extension module is
|
||||
encountered, it checks for the presence of an adjacent .py or
|
||||
.pyi file, and if present, attempt to perform import analysis
|
||||
on such accompanying source/interface file. (:issue:`9084`)
|
||||
* Fix detection of setuptools-vendored modules (i.e., not
|
||||
packages) in the
|
||||
PyInstaller.utils.hooks.setuptools.SetuptoolsInfo hook
|
||||
utility class; for example, the
|
||||
setuptools/_vendor/typing_extensions.py module.
|
||||
(:issue:`9102`)
|
||||
* Add hook for PyQt6.QtStateMachine that was introduced in
|
||||
PyQt6 v6.8.1. (:issue:`9019`)
|
||||
* Fix ModuleNotFoundError for scipy when provided by Debian's
|
||||
python3-scipy package. (:issue:`9069`)
|
||||
* Update hook for PyGObject (gi) and associated helper code to
|
||||
support changes made in PyGObject v3.52 (switch from
|
||||
girepository-1.0 to girepository-2.0). (:issue:`9055`)
|
||||
* On POSIX systems other than macOS, use POSIX semaphore API
|
||||
instead of SysV semaphore API to synchronize onefile parent
|
||||
and child process. This restores the ability to compile
|
||||
bootloader under Termux, where sys/sem.h (and the SysV
|
||||
semaphore API) is unavailable due to deliberate lack of
|
||||
support for it in the underlying Android base.
|
||||
(:issue:`9089`)
|
||||
* Extend the :ref:`module_collection_mode <package collection
|
||||
mode>` setting from :issue:`6945` to also apply to modules
|
||||
collected into base_library.zip archive. Implement discovery
|
||||
of source .py files for modules in base_library.zip at run-
|
||||
time. This allows collection and discovery of source .py
|
||||
files for modules in base_library.zip, which might be
|
||||
required by frameworks that perform aggressive recursive
|
||||
introspection all way down to standard library modules (for
|
||||
example, torch JIT in combination with certain model
|
||||
implementations). (:issue:`8971`)
|
||||
* Add exclude for libwayland*.so to prevent mismatches with
|
||||
system drivers. (:issue:`8963`)
|
||||
* Fix errors raised by setuptools hook utility class and
|
||||
various related hooks when building with completely de-
|
||||
vendored setuptools (for example, as packaged by Arch Linux).
|
||||
(:issue:`8947`)
|
||||
* Gracefully handle cases when _tkinter is a built-in instead
|
||||
of an extension module, and thus does not have a __file__
|
||||
attribute. Most notable example of this are indygreg's
|
||||
python-build-standalone CPython builds for macOS and Linux.
|
||||
This fixes collection of tkinter and associated Tcl/Tk
|
||||
resources when using such python builds. When trying to
|
||||
enable splash screen, a descriptive error is now raised,
|
||||
because splash screen requires shared Tcl/Tk libraries, while
|
||||
a built-in _tkinter seems to indicate that python was
|
||||
statically linked against Tcl/Tk libraries. (:issue:`9012`)
|
||||
* Rework the localpycs cache in the build directory to avoid
|
||||
relying on the source .py file timestamps. Some package
|
||||
managers (e.g., Anaconda) (re)set the file
|
||||
creation/modification time of installed files to the time of
|
||||
packaging rather than having them reflect the time of
|
||||
installation; therefore, the PyInstaller bootstrap script and
|
||||
modules would fail to be properly recompiled when switching
|
||||
between different versions of PyInstaller packaged by
|
||||
Anaconda. (:issue:`8909`)
|
||||
* When constructing PyiFrozenFinder for the given path and
|
||||
trying to compute the path that is relative to the top-level
|
||||
application directory, do not fully resolve the given path.
|
||||
Instead, try computing relative path using both the original
|
||||
and the fully resolved top-level application directory path.
|
||||
This change prevents us from potentially resolving symbolic
|
||||
links in parts of the given path that do not belong to the
|
||||
top-level application directory. (:issue:`8994`)
|
||||
* Add hook for gi.repository.Rsvg. (:issue:`8940`)
|
||||
* Add hooks for PyQt6.QtGraphs and PyQt6.QtGraphsWidgets that
|
||||
were introduced in PyQt6 v6.8.1 (via PyQt6-Graphs add-on
|
||||
package). (:issue:`8924`)
|
||||
* Split the PyiFrozenImporter (fused path based finder and
|
||||
loader) into separate finder (PyiFrozenFinder) and loader
|
||||
(PyiFrozenLoader). This better matches the separation between
|
||||
python's built-in finders and loaders, and thus accommodates
|
||||
3rd-party code that naively expects to encounter only
|
||||
python's built-in finders and loaders. (:issue:`8934`)
|
||||
* The stock Linux bootloaders are now built using generic
|
||||
Ubuntu 18.04 and Alpine 3.12 Docker images rather than
|
||||
manylinux/musllinux/dockcross. (:issue:`8881`)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Dec 6 12:46:11 UTC 2024 - Markéta Machová <mmachova@suse.com>
|
||||
|
||||
- Update to 6.11.1
|
||||
* Add automatic binary vs. data file (re)classification step to the
|
||||
analysis process.
|
||||
* Add support for specifying hash randomization seed via hash_seed=<value>
|
||||
run-time option when building the application.
|
||||
* Allow spec files to take custom command line parameters.
|
||||
* Implement pass-through for Python’s X-options via PyInstaller’s
|
||||
run-time options mechanism.
|
||||
* The PyInstaller.utils.hooks.collect_all() hook utility function now
|
||||
attempts to translate the given importable package name into
|
||||
distribution name before attempting to collect metadata.
|
||||
* Removed support for building LSB-compliant bootloader, due to lack of
|
||||
support for LSB (Linux Standard Base) in contemporary linux distributions.
|
||||
* All of onedir build’s contents except for the executable are now moved
|
||||
into a sub-directory (called _internal by default). sys._MEIPASS is
|
||||
adjusted to point to this _internal directory. Assumptions that
|
||||
os.path.dirname(sys.executable) == sys._MEIPASS will break.
|
||||
* PyInstaller-frozen applications are not affected by the PYTHONUTF8
|
||||
environment variable anymore. To permanently enable or disable the UTF8
|
||||
mode, use the X utf8_mode=1 or X utf_mode=0 run-time option when
|
||||
building the application.
|
||||
* Remove bytecode encryption (--key and cipher options).
|
||||
* Allow users to re-enable the old onedir layout (without contents
|
||||
directory) by settings the --contents-directory option
|
||||
* If the argcomplete Python module is installed, PyInstaller will use it
|
||||
enable tab completion for its CLI tools. PyInstaller CLIs can still be
|
||||
used without this optional dependency.
|
||||
* Optimize the automatic binary-vs-data classification by avoiding
|
||||
objdump based check on files that do not have ELF signature.
|
||||
* Collect .hmac files accompanying shared libraries, if such files are
|
||||
available. This allows frozen application to run on FIPS-enabled Red
|
||||
Hat Enterprise systems, where HMAC is required by self-check implemented
|
||||
by the OpenSSL crypto library.
|
||||
* Implement strict Qt dependency validation for collection of Qt plugins
|
||||
and QML components/plugins. We now perform preliminary binary dependency
|
||||
analysis of the plugins, and automatically exclude plugins that have
|
||||
at least one missing Qt dependency.
|
||||
* Implement an option to explicitly specify the bytecode optimization level
|
||||
for collected python code, independent of the optimization level in the
|
||||
python process under which PyInstaller is running.
|
||||
* Fix PyInstaller.depend.bindepend.resolve_library_path for cases when
|
||||
ldconfig cache is not available
|
||||
* Attempting to restart the application by spawning new process via
|
||||
sys.executable and exiting the current process now requires the
|
||||
PYINSTALLER_RESET_ENVIRONMENT environment variable to be set prior to
|
||||
spawning the process.
|
||||
* Add support for Python 3.13.
|
||||
* Many more changes, see https://pyinstaller.org/en/stable/CHANGES.html
|
||||
- Minor tweaks into the packaging
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Jul 11 12:38:14 UTC 2023 - Markéta Machová <mmachova@suse.com>
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
#
|
||||
# spec file for package python-PyInstaller
|
||||
#
|
||||
# Copyright (c) 2023 SUSE LLC
|
||||
# Copyright (c) 2025 SUSE LLC and contributors
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
@@ -17,46 +17,36 @@
|
||||
|
||||
|
||||
%{?sle15_python_module_pythons}
|
||||
%bcond_without python2
|
||||
%bcond_without test
|
||||
%define modname PyInstaller
|
||||
Name: python-PyInstaller
|
||||
Version: 5.13.0
|
||||
Version: 6.16.0
|
||||
Release: 0
|
||||
Summary: Bundle a Python application and all its dependencies into a single package
|
||||
License: GPL-2.0-only
|
||||
URL: https://www.pyinstaller.org
|
||||
Source: https://github.com/pyinstaller/pyinstaller/archive/refs/tags/v%{version}.tar.gz#/pyinstaller-%{version}.tar.gz
|
||||
BuildRequires: %{python_module devel}
|
||||
BuildRequires: %{python_module setuptools}
|
||||
BuildRequires: %{python_module hatchling}
|
||||
BuildRequires: %{python_module pip}
|
||||
BuildRequires: %{python_module wheel}
|
||||
BuildRequires: fdupes
|
||||
BuildRequires: pkgconfig
|
||||
BuildRequires: python-rpm-macros
|
||||
BuildRequires: pkgconfig(zlib)
|
||||
Requires: python-altgraph
|
||||
Requires: python-devel
|
||||
Requires: python-pyinstaller-hooks-contrib >= 2021.4
|
||||
Requires: python-packaging >= 22.0
|
||||
Requires: python-pyinstaller-hooks-contrib >= 2024.0
|
||||
Requires: python-setuptools >= 42.0.0
|
||||
Requires(post): update-alternatives
|
||||
Requires(postun):update-alternatives
|
||||
Requires(postun): update-alternatives
|
||||
Recommends: upx
|
||||
%if %{with test}
|
||||
BuildRequires: %{python_module Babel}
|
||||
BuildRequires: %{python_module Django}
|
||||
BuildRequires: %{python_module Pillow}
|
||||
BuildRequires: %{python_module QtAwesome}
|
||||
BuildRequires: %{python_module Sphinx}
|
||||
BuildRequires: %{python_module altgraph}
|
||||
BuildRequires: %{python_module cryptography}
|
||||
BuildRequires: %{python_module docutils}
|
||||
BuildRequires: %{python_module opengl}
|
||||
BuildRequires: %{python_module packaging >= 22.0}
|
||||
BuildRequires: %{python_module psutil}
|
||||
BuildRequires: %{python_module pycountry}
|
||||
BuildRequires: %{python_module pyinstaller-hooks-contrib >= 2021.4}
|
||||
BuildRequires: %{python_module pyinstaller-hooks-contrib >= 2024.0}
|
||||
BuildRequires: %{python_module pytest-xdist}
|
||||
BuildRequires: %{python_module pytest}
|
||||
BuildRequires: %{python_module qt5}
|
||||
BuildRequires: %{python_module wheel}
|
||||
BuildRequires: upx
|
||||
%endif
|
||||
%python_subpackages
|
||||
@@ -78,10 +68,10 @@ rm -r PyInstaller/bootloader
|
||||
%build
|
||||
# -Wno-stringop-overflow only needed on ppc64
|
||||
export CFLAGS="%{optflags} -Wno-stringop-truncation -Wno-unused-variable -Wno-unused-function -Wno-unused-but-set-variable -Wno-stringop-overflow"
|
||||
%python_build
|
||||
%pyproject_wheel
|
||||
|
||||
%install
|
||||
%python_install
|
||||
%pyproject_install
|
||||
%{python_expand # Relocate to sitearch
|
||||
if [ "%{$python_sitearch}" != "%{$python_sitelib}" ]; then
|
||||
mkdir -p %{buildroot}%{$python_sitearch}
|
||||
@@ -100,9 +90,7 @@ fi
|
||||
%if %{with test}
|
||||
%check
|
||||
export LANG=en_US.UTF-8
|
||||
# https://github.com/pyinstaller/pyinstaller/commit/2df8314ffaedd95ddc9e2871237e2f2188d3735e
|
||||
# the test is broken since 5.2
|
||||
%pytest_arch -n auto tests/unit -k "not test_normalize_icon"
|
||||
%pytest_arch -n auto tests/unit
|
||||
%endif
|
||||
|
||||
%post
|
||||
@@ -120,6 +108,7 @@ export LANG=en_US.UTF-8
|
||||
%python_alternative %{_bindir}/pyi-grab_version
|
||||
%python_alternative %{_bindir}/pyi-makespec
|
||||
%python_alternative %{_bindir}/pyi-set_version
|
||||
%{python_sitearch}/*
|
||||
%{python_sitearch}/PyInstaller
|
||||
%{python_sitearch}/pyinstaller-%{version}*info
|
||||
|
||||
%changelog
|
||||
|
||||
Reference in New Issue
Block a user