14
0

Compare commits

12 Commits

Author SHA256 Message Date
33b55f18f4 Accepting request 1302465 from devel:languages:python
- Convert to libalternatives

OBS-URL: https://build.opensuse.org/request/show/1302465
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-cx_Freeze?expand=0&rev=20
2025-09-02 18:02:47 +00:00
a5b931808f skip the failing test
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-cx_Freeze?expand=0&rev=42
2025-09-02 15:40:04 +00:00
086ffd38f4 - Convert to libalternatives
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-cx_Freeze?expand=0&rev=41
2025-07-08 08:27:41 +00:00
587beb5f39 Accepting request 1266734 from devel:languages:python
- 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.

OBS-URL: https://build.opensuse.org/request/show/1266734
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-cx_Freeze?expand=0&rev=19
2025-04-10 19:59:48 +00:00
85e96587d0 Support both versions of setuptools.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-cx_Freeze?expand=0&rev=39
2025-04-03 01:24:04 +00:00
0d1196156e - 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.

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-cx_Freeze?expand=0&rev=38
2025-03-31 05:26:28 +00:00
2d35442704 Accepting request 1254702 from devel:languages:python
OBS-URL: https://build.opensuse.org/request/show/1254702
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-cx_Freeze?expand=0&rev=18
2025-03-20 18:26:00 +00:00
a0568e9808 - 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)

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-cx_Freeze?expand=0&rev=36
2025-03-20 11:39:58 +00:00
13d823a82f Accepting request 1244783 from devel:languages:python
Automatic submission by obs-autosubmit

OBS-URL: https://build.opensuse.org/request/show/1244783
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-cx_Freeze?expand=0&rev=17
2025-02-10 16:35:27 +00:00
3e08d8fcc3 - update to 7.2.9:
* Bugfix release.
- update to 7.2.8:
  * Bugfix release.

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-cx_Freeze?expand=0&rev=34
2025-02-03 13:41:03 +00:00
68889f8476 Accepting request 1229957 from devel:languages:python
- 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

OBS-URL: https://build.opensuse.org/request/show/1229957
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-cx_Freeze?expand=0&rev=16
2024-12-11 20:03:52 +00:00
5b565dfb87 - 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

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-cx_Freeze?expand=0&rev=32
2024-12-11 00:13:48 +00:00
6 changed files with 244 additions and 57 deletions

View File

@@ -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
View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:9d9f70542cd78a366bbca8357b172bb9bed6d9f177a1cc4e89c030996465ead7
size 3278876

View File

@@ -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>

View File

@@ -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

View File

@@ -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",

View 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-"),