public inbox for git-commits@fedoraproject.org
help / color / mirror / Atom feed
* [rpms/spyder] rawhide: Update to 6.1.6
@ 2026-08-06 12:14 Filipe Rosset
0 siblings, 0 replies; only message in thread
From: Filipe Rosset @ 2026-08-06 12:14 UTC (permalink / raw)
To: git-commits
A new commit has been pushed.
Repo : rpms/spyder
Branch : rawhide
Commit : e0cd4c1f469aa8a8005a02d058163582f5243f9e
Author : Filipe Rosset <rosset.filipe@gmail.com>
Date : 2026-08-06T09:12:31-03:00
Stats : +26/-295 in 4 file(s)
URL : https://src.fedoraproject.org/rpms/spyder/c/e0cd4c1f469aa8a8005a02d058163582f5243f9e?branch=rawhide
Log:
Update to 6.1.6
Resolves: rhbz#2414008 - Spyder debugger doesn't run with python 3.14
Resolves: rhbz#2416898 - spyder-6.1.5 is available
Resolves: rhbz#2477818 - F45FailsToInstall: python3-spyder
Resolves: rhbz#2504686 - spyder: FTBFS in Fedora rawhide/f45
---
diff --git a/.gitignore b/.gitignore
index 744d568..fbea604 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,55 +1 @@
-/spyder-2.1.13.zip
-/spyder-2.2.0.zip
-/spyder-2.2.1.zip
-/spyder-2.2.2.zip
-/spyder-2.2.4.zip
-/v2.3.7.tar.gz
-/v2.3.8.tar.gz
-/v2.3.9.tar.gz
-/v3.1.3.tar.gz
-/v3.1.4.tar.gz
-/v3.2.1.tar.gz
-/v3.2.2.tar.gz
-/v3.2.3.tar.gz
-/v3.2.4.tar.gz
-/v3.2.5.tar.gz
-/v3.2.6.tar.gz
-/v3.2.7.tar.gz
-/v3.2.8.tar.gz
-/v3.3.0.tar.gz
-/v3.3.1.tar.gz
-/v3.3.2.tar.gz
-/v3.3.3.tar.gz
-/v3.3.4.tar.gz
-/v3.3.6.tar.gz
-/v4.1.3.tar.gz
-/v4.1.4.tar.gz
-/spyder-4.1.5-1.fc32.src.rpm
-/v4.1.5.tar.gz
-/v4.2.1.tar.gz
-/v4.2.5.tar.gz
-/v5.1.1.tar.gz
-/v5.1.3.tar.gz
-/v5.1.4.tar.gz
-/v5.1.5.tar.gz
-/v5.2.1.tar.gz
-/v5.3.0.tar.gz
-/v5.3.1.tar.gz
-/spyder-5.3.1.tar.gz
-/spyder-5.4.5.tar.gz
-/spyder-6.0.0a1.tar.gz
-/spyder-6.0.0a4.tar.gz
-/spyder-6.0.0a5.tar.gz
-/spyder-6.0.0b1.tar.gz
-/spyder-6.0.0b3.tar.gz
-/spyder-6.0.0rc1.tar.gz
-/spyder-6.0.0rc2.tar.gz
-/spyder-6.0.0.tar.gz
-/spyder-6.0.1.tar.gz
-/spyder-6.0.2.tar.gz
-/spyder-6.0.3.tar.gz
-/spyder-6.0.4.tar.gz
-/spyder-6.0.5.tar.gz
-/spyder-6.0.7.tar.gz
-/spyder-6.0.8.tar.gz
-/spyder-6.1.0.tar.gz
+/spyder-*.tar.gz
diff --git a/24698.patch b/24698.patch
deleted file mode 100644
index 4e1be5c..0000000
--- a/24698.patch
+++ /dev/null
@@ -1,219 +0,0 @@
-From e3d0d5afad6c6c2b04cf889c5b2087c63923e777 Mon Sep 17 00:00:00 2001
-From: Ben Boeckel <mathstuf@gmail.com>
-Date: Wed, 9 Jul 2025 22:39:00 -0400
-Subject: [PATCH] atomicwrites: remove dependency
-
-The package has been deprecated. Replace usage with open-coded
-replacement. Also copy the test suite for the function.
-
-Lifted from pimutils/khal#1393 (which I also authored).
-
-Fixes: #24689
-
-diff --git a/binder/environment.yml b/binder/environment.yml
-index 08af5a71a..ad87c8a29 100644
---- a/binder/environment.yml
-+++ b/binder/environment.yml
-@@ -11,7 +11,6 @@ dependencies:
- # to requirements/main.yml, and copy it here.
- - aiohttp >=3.11.2
- - asyncssh >=2.14.0,<3.0.0
--- atomicwrites >=1.2.0
- - bcrypt >=4.3.0
- - chardet >=2.0.0
- - cloudpickle >=0.5.0
-diff --git a/requirements/main.yml b/requirements/main.yml
-index 0331a7b12..559e71e61 100644
---- a/requirements/main.yml
-+++ b/requirements/main.yml
-@@ -9,7 +9,6 @@ channels:
- dependencies:
- - aiohttp >=3.11.2
- - asyncssh >=2.14.0,<3.0.0
-- - atomicwrites >=1.2.0
- - bcrypt >=4.3.0
- - chardet >=2.0.0
- - cloudpickle >=0.5.0
-diff --git a/setup.py b/setup.py
-index 687f27237..4dbb888c5 100644
---- a/setup.py
-+++ b/setup.py
-@@ -270,7 +270,6 @@ def run(self):
- 'aiohttp>=3.11.2',
- 'applaunchservices>=0.3.0;platform_system=="Darwin"',
- 'asyncssh>=2.14.0,<3.0.0',
-- 'atomicwrites>=1.2.0',
- 'bcrypt>=4.3.0',
- 'chardet>=2.0.0',
- 'cloudpickle>=0.5.0',
-diff --git a/spyder/dependencies.py b/spyder/dependencies.py
-index a44c78354..745362008 100644
---- a/spyder/dependencies.py
-+++ b/spyder/dependencies.py
-@@ -33,7 +33,6 @@
- AIOHTTP_REQVER = '>=3.11.2'
- APPLAUNCHSERVICES_REQVER = '>=0.3.0'
- ASYNCSSH_REQVER = '>=2.14.0,<3.0.0'
--ATOMICWRITES_REQVER = '>=1.2.0'
- BCRYPT_REQVER = ">=4.3.0"
- CHARDET_REQVER = '>=2.0.0'
- CLOUDPICKLE_REQVER = '>=0.5.0'
-@@ -109,10 +108,6 @@
- 'package_name': 'asyncssh',
- 'features': _('Connect to remote kernels through SSH'),
- 'required_version': ASYNCSSH_REQVER},
-- {'modname': "atomicwrites",
-- 'package_name': "atomicwrites",
-- 'features': _("Atomic file writes in the Editor"),
-- 'required_version': ATOMICWRITES_REQVER},
- {'modname': "bcrypt",
- 'package_name': "bcrypt",
- 'features': _("Decrypt passphrase of SSH key files"),
-diff --git a/spyder/tests/test_atomic_write.py b/spyder/tests/test_atomic_write.py
-new file mode 100644
-index 000000000..a1dc02d47
---- /dev/null
-+++ b/spyder/tests/test_atomic_write.py
-@@ -0,0 +1,93 @@
-+# From https://github.com/untitaker/python-atomicwrites/blob/4183999d9b7e81af85dee070d5311299bdf5164c/tests/test_atomicwrites.py
-+
-+import errno
-+import os
-+
-+from spyder.utils.encoding import atomic_write
-+
-+import pytest
-+
-+
-+def test_atomic_write(tmpdir):
-+ fname = tmpdir.join('ha')
-+ for i in range(2):
-+ with atomic_write(str(fname), overwrite=True, dir=tmpdir, mode='w') as f:
-+ f.write('hoho')
-+
-+ with pytest.raises(OSError) as excinfo:
-+ with atomic_write(str(fname), overwrite=False, dir=tmpdir, mode='w') as f:
-+ f.write('haha')
-+
-+ assert excinfo.value.errno == errno.EEXIST
-+
-+ assert fname.read() == 'hoho'
-+ assert len(tmpdir.listdir()) == 1
-+
-+
-+def test_teardown(tmpdir):
-+ fname = tmpdir.join('ha')
-+ with pytest.raises(AssertionError):
-+ with atomic_write(str(fname), overwrite=True, dir=tmpdir, mode='w'):
-+ assert False
-+
-+ assert not tmpdir.listdir()
-+
-+
-+def test_replace_simultaneously_created_file(tmpdir):
-+ fname = tmpdir.join('ha')
-+ with atomic_write(str(fname), overwrite=True, dir=tmpdir, mode='w') as f:
-+ f.write('hoho')
-+ fname.write('harhar')
-+ assert fname.read() == 'harhar'
-+ assert fname.read() == 'hoho'
-+ assert len(tmpdir.listdir()) == 1
-+
-+
-+def test_dont_remove_simultaneously_created_file(tmpdir):
-+ fname = tmpdir.join('ha')
-+ with pytest.raises(OSError) as excinfo:
-+ with atomic_write(str(fname), overwrite=False, dir=tmpdir, mode='w') as f:
-+ f.write('hoho')
-+ fname.write('harhar')
-+ assert fname.read() == 'harhar'
-+
-+ assert excinfo.value.errno == errno.EEXIST
-+ assert fname.read() == 'harhar'
-+ assert len(tmpdir.listdir()) == 1
-+
-+
-+# Verify that nested exceptions during rollback do not overwrite the initial
-+# exception that triggered a rollback.
-+def test_open_reraise(tmpdir):
-+ fname = tmpdir.join('ha')
-+ with pytest.raises(AssertionError):
-+ aw = atomic_write(str(fname), overwrite=False, dir=tmpdir, mode='w')
-+ with aw:
-+ # Mess with internals, so commit will trigger a ValueError. We're
-+ # testing that the initial AssertionError triggered below is
-+ # propagated up the stack, not the second exception triggered
-+ # during commit.
-+ aw.rollback = lambda: 1 / 0
-+ # Now trigger our own exception.
-+ assert False, "Intentional failure for testing purposes"
-+
-+
-+def test_atomic_write_in_pwd(tmpdir):
-+ orig_curdir = os.getcwd()
-+ try:
-+ os.chdir(str(tmpdir))
-+ fname = 'ha'
-+ for i in range(2):
-+ with atomic_write(str(fname), overwrite=True, dir=tmpdir, mode='w') as f:
-+ f.write('hoho')
-+
-+ with pytest.raises(OSError) as excinfo:
-+ with atomic_write(str(fname), overwrite=False, dir=tmpdir, mode='w') as f:
-+ f.write('haha')
-+
-+ assert excinfo.value.errno == errno.EEXIST
-+
-+ assert open(fname).read() == 'hoho'
-+ assert len(tmpdir.listdir()) == 1
-+ finally:
-+ os.chdir(orig_curdir)
-diff --git a/spyder/utils/encoding.py b/spyder/utils/encoding.py
-index 97ef43d24..de5a45acd 100644
---- a/spyder/utils/encoding.py
-+++ b/spyder/utils/encoding.py
-@@ -13,6 +13,7 @@
-
- # Standard library imports
- from codecs import BOM_UTF8, BOM_UTF16, BOM_UTF32
-+import contextlib
- import tempfile
- import locale
- import re
-@@ -25,7 +26,6 @@
-
- # Third-party imports
- from chardet.universaldetector import UniversalDetector
--from atomicwrites import atomic_write
-
- # Local imports
- from spyder.utils.external.binaryornot.check import is_binary
-@@ -245,6 +245,28 @@ def to_unicode(string):
- return string
-
-
-+@contextlib.contextmanager
-+def atomic_write(dest, overwrite, dir, mode):
-+ """Atomically write a file"""
-+ fd, src = tempfile.mkstemp(prefix=os.path.basename(dest), dir=dir)
-+ file = os.fdopen(fd, mode=mode)
-+
-+ try:
-+ yield file
-+ except Exception:
-+ os.unlink(src)
-+ raise
-+ else:
-+ file.flush()
-+ file.close()
-+
-+ if overwrite:
-+ os.rename(src, dest)
-+ else:
-+ os.link(src, dest)
-+ os.unlink(src)
-+
-+
- def write(text, filename, encoding='utf-8', mode='wb'):
- """
- Write 'text' to file ('filename') assuming 'encoding' in an atomic way
diff --git a/sources b/sources
index b6e4c04..05a7cbd 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (spyder-6.1.0.tar.gz) = 0db05cde6968f4a9b34f20777f87884b19dd007bcd35e3b6a5255e6f77837cfea9ebeb4213afff270056120f067975ad1b3ac6f347d927d5d06ed48f3d7c698e
+SHA512 (spyder-6.1.6.tar.gz) = 0159bcd0b7ea1f4b9bbc428cd5d154d199a8ec9c71d15f431e10a5000418343fea4ece9fd65c8ba19800bde7a9861f2fef0dfa391397bca6b420a1ee2d8ac7f7
diff --git a/spyder.spec b/spyder.spec
index 4f34b63..dacd709 100644
--- a/spyder.spec
+++ b/spyder.spec
@@ -1,12 +1,12 @@
+%global forgeurl https://github.com/spyder-ide/spyder
+%global tag v%{version}
+Version: 6.1.6
+%forgemeta
+
Name: spyder
-Version: 6.1.0
Release: %autorelease
Summary: Scientific Python Development Environment
-%global forgeurl https://github.com/spyder-ide/spyder/
-%global tag v%{version_no_tilde %{quote:%nil}}
-%forgemeta
-
# Spyder is licensed under MIT with the exception of the following
# code, which is licensed BSD-3-Clause.
#
@@ -19,9 +19,7 @@ Summary: Scientific Python Development Environment
License: MIT AND BSD-3-Clause
URL: https://www.spyder-ide.org/
Source: %forgesource
-# Drop dependency on atomicwrites (deprecated and retired)
-# https://github.com/spyder-ide/spyder/pull/24698
-Patch: %{forgeurl}/pull/24698.patch
+
BuildArch: noarch
# https://fedoraproject.org/wiki/Changes/EncourageI686LeafRemoval
@@ -32,16 +30,11 @@ ExcludeArch: %{ix86}
# https://docs.fedoraproject.org/en-US/packaging-guidelines/#_noarch_with_unported_dependencies
ExclusiveArch: %{qt5_qtwebengine_arches} noarch
-BuildRequires: python3-devel
-
-BuildRequires: dos2unix
-
+BuildRequires: appstream
BuildRequires: desktop-file-utils
-# Still required by guidelines for now since Fedora uses appstream-builder
-# (https://pagure.io/packaging-committee/issue/1053):
+BuildRequires: dos2unix
BuildRequires: libappstream-glib
-# Matches what gnome-software and others use:
-BuildRequires: appstream
+BuildRequires: python3-devel
%global appname org.spyder_ide.spyder
@@ -64,13 +57,14 @@ components, such as the interactive console, in your own software.}
%package -n python3-spyder
Summary: %{summary}
-# For %%{_datadir}/icons
Requires: hicolor-icon-theme
-# Unbundled from spyder/plugins/help/utils/js/mathjax
Requires: mathjax
-# Required for the plugins (but not for building Spyder)
Requires: python3-pylint
Requires: python3-pylint-venv
+Requires: python3dist(python-lsp-black) >= 2
+Requires: python3dist(python-lsp-ruff) >= 2.3
+Requires: python3dist(python-lsp-server) >= 1.13
+Requires: python3dist(spyder-kernels) >= 3.1
%description -n python3-spyder %_description
@@ -94,6 +88,16 @@ sed -i \
-e '/pylint>.*/d' \
-e '/pylint-venv>.*/d' setup.py
+# Drop runtime requirements from setup.py to avoid build-time dependency issues
+sed -i \
+ -e '/python-lsp-black/d' \
+ -e '/python-lsp-ruff/d' \
+ -e '/python-lsp-server/d' \
+ -e '/spyder-kernels/d' setup.py
+sed -i -e "s/PYLSP_REQVER = .*/PYLSP_REQVER = '>=1.13.0'/g" spyder/dependencies.py
+sed -i -e "s/SPYDER_KERNELS_REQVER = .*/SPYDER_KERNELS_REQVER = '>=3.1.0'/g" spyder/dependencies.py
+
+
# Don't show warning regarding newer version
sed -r -i "s|(PYLINT_REQVER.*),<.*'|\1'|" spyder/dependencies.py
@@ -139,7 +143,7 @@ appstreamcli validate --no-net --explain \
# A backed-up bundled mathjax directory from a previous upgrade (from Fedora 34
# or older) may be present; if so, we should continue to own it.
-%ghost %{python3_sitelib}/spyder/plugins/help/utils/js/mathjax.rpmmoved
+%ghost %attr(0644,root,root) %{python3_sitelib}/spyder/plugins/help/utils/js/mathjax.rpmmoved
%{python3_sitelib}/spyder/plugins/help/utils/js/mathjax
%{_bindir}/spyder
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2026-08-06 12:14 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-08-06 12:14 [rpms/spyder] rawhide: Update to 6.1.6 Filipe Rosset
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox