forked from pool/python-cx_Freeze
Compare commits
12 Commits
Author | SHA256 | Date | |
---|---|---|---|
33b55f18f4 | |||
a5b931808f | |||
086ffd38f4 | |||
587beb5f39 | |||
85e96587d0 | |||
0d1196156e | |||
2d35442704 | |||
a0568e9808 | |||
13d823a82f | |||
3e08d8fcc3 | |||
68889f8476 | |||
5b565dfb87 |
@@ -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>
|
||||
|
||||
|
@@ -1,7 +1,7 @@
|
||||
#
|
||||
# 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
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
@@ -17,32 +17,43 @@
|
||||
|
||||
|
||||
%define oldpython python
|
||||
%bcond_without libalternatives
|
||||
Name: python-cx_Freeze
|
||||
Version: 6.15.16
|
||||
Version: 8.0.0
|
||||
Release: 0
|
||||
Summary: Scripts to create standalone executables from Python scripts
|
||||
License: Python-2.0
|
||||
URL: https://github.com/anthony-tuininga/cx_Freeze
|
||||
Source: https://github.com/anthony-tuininga/cx_Freeze/archive/%{version}.tar.gz
|
||||
# PATCH-FIX-UPSTREAM python312.patch gh#marcelotduarte/cx_Freeze#1925
|
||||
Patch1: python312.patch
|
||||
BuildRequires: %{python_module base >= 3.7}
|
||||
# PATCH-FIX-UPSTREAM gh#marcelotduarte/cx_Freeze#2842
|
||||
Patch0: use-only-console-on-python-313.patch
|
||||
BuildRequires: %{python_module base >= 3.9}
|
||||
BuildRequires: %{python_module devel}
|
||||
BuildRequires: %{python_module filelock >= 3.12.3}
|
||||
BuildRequires: %{python_module hatchling}
|
||||
BuildRequires: %{python_module openpyxl}
|
||||
BuildRequires: %{python_module packaging >= 24}
|
||||
BuildRequires: %{python_module pip}
|
||||
BuildRequires: %{python_module pytest-datafiles}
|
||||
BuildRequires: %{python_module pytest-mock}
|
||||
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: alts
|
||||
BuildRequires: chrpath
|
||||
BuildRequires: fdupes
|
||||
BuildRequires: patchelf
|
||||
BuildRequires: python-rpm-macros
|
||||
Requires(post): update-alternatives
|
||||
Requires(postun): update-alternatives
|
||||
Requires: alts
|
||||
Requires: patchelf
|
||||
Requires: python-filelock >= 3.12
|
||||
Requires: python-packaging >= 24
|
||||
Requires: python-setuptools >= 65
|
||||
# we provide same binary like the deprecated py2 variant
|
||||
Conflicts: %{oldpython}-cx_Freeze
|
||||
%if 0%{python_version_nodots} < 311
|
||||
Requires: python-tomli >= 2.0.1
|
||||
%endif
|
||||
%python_subpackages
|
||||
|
||||
%description
|
||||
@@ -75,15 +86,12 @@ export CFLAGS="%{optflags}"
|
||||
|
||||
%check
|
||||
# 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
|
||||
%python_install_alternative cxfreeze-quickstart
|
||||
%python_install_alternative cxfreeze
|
||||
|
||||
%postun
|
||||
%python_uninstall_alternative cxfreeze-quickstart
|
||||
%python_uninstall_alternative cxfreeze
|
||||
%pre
|
||||
%python_libalternatives_reset_alternative cxfreeze-quickstart
|
||||
%python_libalternatives_reset_alternative cxfreeze
|
||||
|
||||
%files %{python_files}
|
||||
%doc README.md
|
||||
@@ -91,6 +99,6 @@ export CFLAGS="%{optflags}"
|
||||
%python_alternative %{_bindir}/cxfreeze
|
||||
%python_alternative %{_bindir}/cxfreeze-quickstart
|
||||
%{python_sitearch}/cx_Freeze
|
||||
%{python_sitearch}/cx_Freeze-%{version}*info
|
||||
%{python_sitearch}/cx_[Ff]reeze-%{version}.dist-info
|
||||
|
||||
%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