Compare commits
12 Commits
Author | SHA256 | Date | |
---|---|---|---|
1a86b1a497 | |||
e8a3528d84 | |||
62f99a9dcb | |||
015462fb60 | |||
f2294de958 | |||
f112787ed1 | |||
26daac085c | |||
2c3685b54c | |||
db0909612f | |||
eff87545df | |||
66f9d3324c | |||
a49c912101 |
@@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:55b22bf25b4f84218fe6dd7ddc348d8b11126dd455d249ed9188314c66fc992e
|
|
||||||
size 1892501
|
|
3
8.0.0.tar.gz
Normal file
3
8.0.0.tar.gz
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:9d9f70542cd78a366bbca8357b172bb9bed6d9f177a1cc4e89c030996465ead7
|
||||||
|
size 3278876
|
@@ -1,3 +1,132 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Jul 8 08:26:51 UTC 2025 - Markéta Machová <mmachova@suse.com>
|
||||||
|
|
||||||
|
- Convert to libalternatives
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Apr 3 01:23:28 UTC 2025 - Steve Kowalik <steven.kowalik@suse.com>
|
||||||
|
|
||||||
|
- Update to 8.0.0:
|
||||||
|
* Python 3.13 support.
|
||||||
|
* Python 3.13 free-threaded support for Linux and macOS.
|
||||||
|
* Download and extract the MSVC Redistributable files.
|
||||||
|
* Implement bases using PEP587 - Python Initialization Configuration.
|
||||||
|
* Drop Python 3.8 support.
|
||||||
|
* New and Improved hooks.
|
||||||
|
* Bug fixes and improvements.
|
||||||
|
- Add patch use-only-console-on-python-313.patch:
|
||||||
|
* Only build legacy console for Python 3.12 and earlier.
|
||||||
|
- Stop skipping Python 3.13, it's supported upstream.
|
||||||
|
- Normalize metadata directory name.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Mar 20 07:52:59 UTC 2025 - John Paul Adrian Glaubitz <adrian.glaubitz@suse.com>
|
||||||
|
|
||||||
|
- Update to 7.2.10
|
||||||
|
* doc: improve documentation on using pyproject.toml [ci skip] (#2792)
|
||||||
|
* doc: fix typo [ci skip] (#2793)
|
||||||
|
* tests: fix msi test (#2796)
|
||||||
|
* build(deps): update lief requirement from <=0.16.2,>=0.13.2
|
||||||
|
to >=0.13.2,<=0.16.3 (#2795)
|
||||||
|
* hooks: fix shapely [windows] (#2797)
|
||||||
|
* fix: missing dlls in top directory [mingw] (#2799)
|
||||||
|
* build-wheel: use ubuntu 22.04 emulator to build ppc64le (#2805)
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Feb 3 13:40:37 UTC 2025 - Dirk Müller <dmueller@suse.com>
|
||||||
|
|
||||||
|
- update to 7.2.9:
|
||||||
|
* Bugfix release.
|
||||||
|
|
||||||
|
- update to 7.2.8:
|
||||||
|
* Bugfix release.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Dec 11 00:13:31 UTC 2024 - Steve Kowalik <steven.kowalik@suse.com>
|
||||||
|
|
||||||
|
- Update to 7.2.7:
|
||||||
|
* bdist_rpm: drop rpm2_mode and refactor spec_file
|
||||||
|
* hooks: the optimized mode is the default for pip installations
|
||||||
|
* hooks: support numpy 2.0
|
||||||
|
* Exit with non-zero exit code on exception
|
||||||
|
* hooks: improve scipy hooks
|
||||||
|
* hooks: fix matplotlib hooks used in zip_include_packages
|
||||||
|
* hooks: fix scipy hooks used in zip_include_packages
|
||||||
|
* linux: bdist_rpm depends on rpmbuild being installed
|
||||||
|
* chore: use pytest-datafiles to run tests in temporary path
|
||||||
|
* fix: zip_include_packages/zip_exclude_packages regression
|
||||||
|
* chore: use pytest-xdist to speed up the tests
|
||||||
|
* chore: drop support for python 3.7
|
||||||
|
* parser: support for lief 0.14 ParserConfig
|
||||||
|
* chore: add basic support for Python 3.12
|
||||||
|
* fix: bdist_rpm should generate only binaries [linux]
|
||||||
|
* samples: fix pydantic sample to work python < 3.10
|
||||||
|
* hooks: fix the sentry_sdk hook
|
||||||
|
* hooks: move sklearn hook to a submodule
|
||||||
|
* hooks: add boto3
|
||||||
|
* fix: bdist_rpm to pass tests in python 3.12b4
|
||||||
|
* hooks: multiprocessing support for forkserver and spawn
|
||||||
|
* hooks: update sysconfig hook
|
||||||
|
* hooks: PySide2/6 - shiboken2/6 in zip_include_packages
|
||||||
|
* finder: add base modules at the end to simplify tests
|
||||||
|
* hooks: fix for pyqt [conda linux]
|
||||||
|
* hooks: move ssl hook to a submodule
|
||||||
|
* hooks: fix pyside2 webengine [conda linux]
|
||||||
|
* hooks: fix pyqt5 webengine [conda linux]
|
||||||
|
* module: ModuleHook class to support inheritance
|
||||||
|
* finder: improve scan code to detect packages using import call
|
||||||
|
* finder: cache_path holds where distribution data is saved
|
||||||
|
* module: propagate cache_path from the finder
|
||||||
|
* module: get the implicit imports of extensions in a stub file
|
||||||
|
* module: add a importshed for parsed stubs
|
||||||
|
* hooks: qt extension modules are detected using stubs
|
||||||
|
* module: search for the stub file already parsed in the distribution
|
||||||
|
* hooks: improve tzdata/zoneinfo/pytz hooks a bit for use in zip
|
||||||
|
* hooks: use module.exclude_names to filter missing modules
|
||||||
|
* build-wheel: add support for ppc64le binary wheels for py310+
|
||||||
|
* hooks: add pycryptodomex and update pycryptodome
|
||||||
|
* hooks: add support for pandas 2.1.0
|
||||||
|
* hooks: improve numpy and pandas hooks
|
||||||
|
* samples: small tweaks to demonstrate independent options
|
||||||
|
* hooks: fix numpy/scipy dylibs are included twice
|
||||||
|
* hooks: add RNS (Reticulum)
|
||||||
|
* hooks: add numpy 1.26
|
||||||
|
* hooks: move tkinter and tz data to share folder
|
||||||
|
* fix: avoid false builtin modules developing in multi-environment
|
||||||
|
* parser: use the internal path instead of sys.path
|
||||||
|
* hooks: add tidylib
|
||||||
|
* parser: exclude LD_PRELOAD to not include triggered dependencies
|
||||||
|
* hooks: initialize blas [numpy conda-forge]
|
||||||
|
* bdist_deb: create an DEB distribution [new feature]
|
||||||
|
* chore: rewrite some imports as absolute
|
||||||
|
* hooks: add triton and support for pytorch 2.1
|
||||||
|
* hooks: tweaks to the debugging of qt hooks
|
||||||
|
* hooks: adds anyio, pyarrow and tiktoken
|
||||||
|
* hooks: add yt_dlp
|
||||||
|
* hooks: add AV and PyAV
|
||||||
|
* bdist_appimage: build Linux AppImage format [new feature]
|
||||||
|
* setup script: extend executables keyword to support more types
|
||||||
|
* setup script: pre-defined values for base are valid in all OS
|
||||||
|
* setup script: add an extension to executable icon that is valid across OS
|
||||||
|
* freezer: improve/fixes validate_executable
|
||||||
|
* hooks: opencv-python - minor fixes
|
||||||
|
* hooks: add pyproj
|
||||||
|
* parser: minor fix to support lief 0.14
|
||||||
|
* fix: incorrect metadata usage in install/install_exe
|
||||||
|
* freezer: remove dead code (not used in py38+)
|
||||||
|
* hooks: add easyocr and torchvision (also update skickit-image and pytorch)
|
||||||
|
* hooks: support tensorflow plugins
|
||||||
|
* chore: refactor internal modules
|
||||||
|
* chore: move License to the project root dir
|
||||||
|
* chore: generate multiple files for requirements
|
||||||
|
* test: add a linux binary wheel test in ci
|
||||||
|
* fix: coverage report usage and omit option
|
||||||
|
* initscripts: use of loader is deprecated
|
||||||
|
* parser: show what patchelf is doing if silent is off
|
||||||
|
* fix: regression in _pre_copy_hook (Linux)
|
||||||
|
* hooks: support numpy in python 3.12
|
||||||
|
- Drop patch python312.patch, included upstream.
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Fri Mar 22 19:36:23 UTC 2024 - Dirk Müller <dmueller@suse.com>
|
Fri Mar 22 19:36:23 UTC 2024 - Dirk Müller <dmueller@suse.com>
|
||||||
|
|
||||||
|
@@ -1,7 +1,7 @@
|
|||||||
#
|
#
|
||||||
# spec file for package python-cx_Freeze
|
# spec file for package python-cx_Freeze
|
||||||
#
|
#
|
||||||
# Copyright (c) 2024 SUSE LLC
|
# Copyright (c) 2025 SUSE LLC and contributors
|
||||||
#
|
#
|
||||||
# All modifications and additions to the file contributed by third parties
|
# All modifications and additions to the file contributed by third parties
|
||||||
# remain the property of their copyright owners, unless otherwise agreed
|
# remain the property of their copyright owners, unless otherwise agreed
|
||||||
@@ -17,32 +17,43 @@
|
|||||||
|
|
||||||
|
|
||||||
%define oldpython python
|
%define oldpython python
|
||||||
|
%bcond_without libalternatives
|
||||||
Name: python-cx_Freeze
|
Name: python-cx_Freeze
|
||||||
Version: 6.15.16
|
Version: 8.0.0
|
||||||
Release: 0
|
Release: 0
|
||||||
Summary: Scripts to create standalone executables from Python scripts
|
Summary: Scripts to create standalone executables from Python scripts
|
||||||
License: Python-2.0
|
License: Python-2.0
|
||||||
URL: https://github.com/anthony-tuininga/cx_Freeze
|
URL: https://github.com/anthony-tuininga/cx_Freeze
|
||||||
Source: https://github.com/anthony-tuininga/cx_Freeze/archive/%{version}.tar.gz
|
Source: https://github.com/anthony-tuininga/cx_Freeze/archive/%{version}.tar.gz
|
||||||
# PATCH-FIX-UPSTREAM python312.patch gh#marcelotduarte/cx_Freeze#1925
|
# PATCH-FIX-UPSTREAM gh#marcelotduarte/cx_Freeze#2842
|
||||||
Patch1: python312.patch
|
Patch0: use-only-console-on-python-313.patch
|
||||||
BuildRequires: %{python_module base >= 3.7}
|
BuildRequires: %{python_module base >= 3.9}
|
||||||
BuildRequires: %{python_module devel}
|
BuildRequires: %{python_module devel}
|
||||||
|
BuildRequires: %{python_module filelock >= 3.12.3}
|
||||||
BuildRequires: %{python_module hatchling}
|
BuildRequires: %{python_module hatchling}
|
||||||
BuildRequires: %{python_module openpyxl}
|
BuildRequires: %{python_module packaging >= 24}
|
||||||
BuildRequires: %{python_module pip}
|
BuildRequires: %{python_module pip}
|
||||||
|
BuildRequires: %{python_module pytest-datafiles}
|
||||||
BuildRequires: %{python_module pytest-mock}
|
BuildRequires: %{python_module pytest-mock}
|
||||||
BuildRequires: %{python_module pytest}
|
BuildRequires: %{python_module pytest}
|
||||||
BuildRequires: %{python_module setuptools}
|
BuildRequires: %{python_module setuptools >= 65}
|
||||||
|
BuildRequires: %{python_module tomli >= 2.0.1 if %python-base < 3.11}
|
||||||
BuildRequires: %{python_module wheel}
|
BuildRequires: %{python_module wheel}
|
||||||
|
BuildRequires: alts
|
||||||
BuildRequires: chrpath
|
BuildRequires: chrpath
|
||||||
BuildRequires: fdupes
|
BuildRequires: fdupes
|
||||||
BuildRequires: patchelf
|
BuildRequires: patchelf
|
||||||
BuildRequires: python-rpm-macros
|
BuildRequires: python-rpm-macros
|
||||||
Requires(post): update-alternatives
|
Requires: alts
|
||||||
Requires(postun): update-alternatives
|
Requires: patchelf
|
||||||
|
Requires: python-filelock >= 3.12
|
||||||
|
Requires: python-packaging >= 24
|
||||||
|
Requires: python-setuptools >= 65
|
||||||
# we provide same binary like the deprecated py2 variant
|
# we provide same binary like the deprecated py2 variant
|
||||||
Conflicts: %{oldpython}-cx_Freeze
|
Conflicts: %{oldpython}-cx_Freeze
|
||||||
|
%if 0%{python_version_nodots} < 311
|
||||||
|
Requires: python-tomli >= 2.0.1
|
||||||
|
%endif
|
||||||
%python_subpackages
|
%python_subpackages
|
||||||
|
|
||||||
%description
|
%description
|
||||||
@@ -75,15 +86,12 @@ export CFLAGS="%{optflags}"
|
|||||||
|
|
||||||
%check
|
%check
|
||||||
# bdist_rpm is not long for this world, and it always execs the default Python
|
# bdist_rpm is not long for this world, and it always execs the default Python
|
||||||
%pytest_arch -k 'not (test_command_bdist_rpm or test_command_build_exe or test_command_build)'
|
# test_bdist_deb_simple_pyproject runs the binary, which is currently complicated with libalternatives: https://github.com/openSUSE/python-rpm-macros/pull/196
|
||||||
|
%pytest_arch -k 'not (test_command_bdist_rpm or test_command_build_exe or test_command_build or test_bdist_appimage or test_bdist_deb_simple_pyproject)'
|
||||||
|
|
||||||
%post
|
%pre
|
||||||
%python_install_alternative cxfreeze-quickstart
|
%python_libalternatives_reset_alternative cxfreeze-quickstart
|
||||||
%python_install_alternative cxfreeze
|
%python_libalternatives_reset_alternative cxfreeze
|
||||||
|
|
||||||
%postun
|
|
||||||
%python_uninstall_alternative cxfreeze-quickstart
|
|
||||||
%python_uninstall_alternative cxfreeze
|
|
||||||
|
|
||||||
%files %{python_files}
|
%files %{python_files}
|
||||||
%doc README.md
|
%doc README.md
|
||||||
@@ -91,6 +99,6 @@ export CFLAGS="%{optflags}"
|
|||||||
%python_alternative %{_bindir}/cxfreeze
|
%python_alternative %{_bindir}/cxfreeze
|
||||||
%python_alternative %{_bindir}/cxfreeze-quickstart
|
%python_alternative %{_bindir}/cxfreeze-quickstart
|
||||||
%{python_sitearch}/cx_Freeze
|
%{python_sitearch}/cx_Freeze
|
||||||
%{python_sitearch}/cx_Freeze-%{version}*info
|
%{python_sitearch}/cx_[Ff]reeze-%{version}.dist-info
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
@@ -1,36 +0,0 @@
|
|||||||
Index: cx_Freeze-6.15.15/cx_Freeze/finder.py
|
|
||||||
===================================================================
|
|
||||||
--- cx_Freeze-6.15.15.orig/cx_Freeze/finder.py
|
|
||||||
+++ cx_Freeze-6.15.15/cx_Freeze/finder.py
|
|
||||||
@@ -30,7 +30,10 @@ EXTENDED_ARG = opcode.opmap["EXTENDED_AR
|
|
||||||
LOAD_CONST = opcode.opmap["LOAD_CONST"]
|
|
||||||
IMPORT_NAME = opcode.opmap["IMPORT_NAME"]
|
|
||||||
IMPORT_FROM = opcode.opmap["IMPORT_FROM"]
|
|
||||||
-IMPORT_STAR = opcode.opmap["IMPORT_STAR"]
|
|
||||||
+# Python 3.12+ uses CALL_INTRINSIC_1 with argument 2
|
|
||||||
+IMPORT_STAR = (
|
|
||||||
+ opcode.opmap.get("IMPORT_STAR") or opcode.opmap["CALL_INTRINSIC_1"]
|
|
||||||
+)
|
|
||||||
STORE_FAST = opcode.opmap["STORE_FAST"]
|
|
||||||
STORE_NAME = opcode.opmap["STORE_NAME"]
|
|
||||||
STORE_GLOBAL = opcode.opmap["STORE_GLOBAL"]
|
|
||||||
@@ -637,6 +640,7 @@ class ModuleFinder:
|
|
||||||
# import * statement: copy all global names
|
|
||||||
elif (
|
|
||||||
opc == IMPORT_STAR
|
|
||||||
+ and (arg == 2 if opc > HAVE_ARGUMENT else None)
|
|
||||||
and top_level
|
|
||||||
and imported_module is not None
|
|
||||||
):
|
|
||||||
Index: cx_Freeze-6.15.15/pyproject.toml
|
|
||||||
===================================================================
|
|
||||||
--- cx_Freeze-6.15.15.orig/pyproject.toml
|
|
||||||
+++ cx_Freeze-6.15.15/pyproject.toml
|
|
||||||
@@ -31,6 +31,7 @@ classifiers = [
|
|
||||||
"Programming Language :: Python :: 3.9",
|
|
||||||
"Programming Language :: Python :: 3.10",
|
|
||||||
"Programming Language :: Python :: 3.11",
|
|
||||||
+ "Programming Language :: Python :: 3.12",
|
|
||||||
"Topic :: Software Development :: Build Tools",
|
|
||||||
"Topic :: Software Development :: Libraries :: Python Modules",
|
|
||||||
"Topic :: System :: Software Distribution",
|
|
86
use-only-console-on-python-313.patch
Normal file
86
use-only-console-on-python-313.patch
Normal file
@@ -0,0 +1,86 @@
|
|||||||
|
From 4d1325fedc01defcc5053672fc8eeb47ef81db57 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Marcelo Duarte <marcelotduarte@users.noreply.github.com>
|
||||||
|
Date: Fri, 21 Mar 2025 18:27:46 -0300
|
||||||
|
Subject: [PATCH] fix: use only console based on PEP587 on Python 3.13
|
||||||
|
|
||||||
|
---
|
||||||
|
cx_Freeze/executable.py | 11 +++--------
|
||||||
|
setup.py | 6 +-----
|
||||||
|
tests/test_executables.py | 8 +-------
|
||||||
|
3 files changed, 5 insertions(+), 20 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/cx_Freeze/executable.py b/cx_Freeze/executable.py
|
||||||
|
index b19b50555..56cc0f041 100644
|
||||||
|
--- a/cx_Freeze/executable.py
|
||||||
|
+++ b/cx_Freeze/executable.py
|
||||||
|
@@ -11,7 +11,6 @@
|
||||||
|
from typing import TYPE_CHECKING
|
||||||
|
|
||||||
|
from cx_Freeze._compat import (
|
||||||
|
- ABI_THREAD,
|
||||||
|
EXE_SUFFIX,
|
||||||
|
IS_MACOS,
|
||||||
|
IS_MINGW,
|
||||||
|
@@ -75,14 +74,10 @@ def base(self) -> Path:
|
||||||
|
|
||||||
|
@base.setter
|
||||||
|
def base(self, name: str | Path | None) -> None:
|
||||||
|
- # The default base is the legacy console, except for Python 3.13t and
|
||||||
|
- # Python 3.13 on macOS, that supports only the new console
|
||||||
|
+ # The default base is the legacy console, except for
|
||||||
|
+ # Python 3.13, that supports only the new console
|
||||||
|
version = sys.version_info[:2]
|
||||||
|
- if (
|
||||||
|
- version <= (3, 13)
|
||||||
|
- and ABI_THREAD == ""
|
||||||
|
- and not (IS_MACOS and version == (3, 13))
|
||||||
|
- ):
|
||||||
|
+ if version < (3, 13):
|
||||||
|
name = name or "console_legacy"
|
||||||
|
else:
|
||||||
|
name = name or "console"
|
||||||
|
diff --git a/setup.py b/setup.py
|
||||||
|
index 7185a255a..8278a42f4 100644
|
||||||
|
--- a/setup.py
|
||||||
|
+++ b/setup.py
|
||||||
|
@@ -285,11 +285,7 @@ def get_extensions() -> list[Extension]:
|
||||||
|
optional=optional,
|
||||||
|
)
|
||||||
|
]
|
||||||
|
- if (
|
||||||
|
- version <= (3, 13)
|
||||||
|
- and abi_thread == ""
|
||||||
|
- and not (IS_MACOS and version == (3, 13))
|
||||||
|
- ):
|
||||||
|
+ if version < (3, 13):
|
||||||
|
extensions += [
|
||||||
|
Extension(
|
||||||
|
"cx_Freeze.bases.console_legacy",
|
||||||
|
diff --git a/tests/test_executables.py b/tests/test_executables.py
|
||||||
|
index cdba2c9de..7e95bf161 100644
|
||||||
|
--- a/tests/test_executables.py
|
||||||
|
+++ b/tests/test_executables.py
|
||||||
|
@@ -12,10 +12,8 @@
|
||||||
|
|
||||||
|
from cx_Freeze import Executable
|
||||||
|
from cx_Freeze._compat import (
|
||||||
|
- ABI_THREAD,
|
||||||
|
BUILD_EXE_DIR,
|
||||||
|
EXE_SUFFIX,
|
||||||
|
- IS_MACOS,
|
||||||
|
IS_MINGW,
|
||||||
|
IS_WINDOWS,
|
||||||
|
)
|
||||||
|
@@ -242,11 +240,7 @@ def test_executables(
|
||||||
|
("icon.ico", "icon.icns", "icon.png", "icon.svg"),
|
||||||
|
),
|
||||||
|
]
|
||||||
|
-if (
|
||||||
|
- sys.version_info[:2] <= (3, 13)
|
||||||
|
- and ABI_THREAD == ""
|
||||||
|
- and not (IS_MACOS and sys.version_info[:2] == (3, 13))
|
||||||
|
-):
|
||||||
|
+if sys.version_info[:2] < (3, 13):
|
||||||
|
TEST_VALID_PARAMETERS += [
|
||||||
|
("base", None, "console_legacy-"),
|
||||||
|
("base", "console_legacy", "console_legacy-"),
|
Reference in New Issue
Block a user