Your message dated Mon, 19 Oct 2026 17:04:37 +0000
with message-id <[email protected]>
and subject line Bug#1147119: fixed in python-atom 0.13.0-1
has caused the Debian Bug report #1147119,
regarding python-atom: FTBFS against python 3.15rc2
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)


-- 
1147119: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1147119
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Package: src:python-atom
Version: 0.12.1-2
User: [email protected]
Usertags: python3.15
Tags: patch, ftbfs, forky, sid
Severity: important

Hi!

While rebuilding the python related packages against the Python 3.15rc2
version we found that python-atom fails to build from source [1].
The error is:
error: ‘PyWeakref_GET_OBJECT’ was not declared in this scope

This is because the use of deprecated PyWeakref_GET_OBJECT needs to be
replaced with GetRef. I have created add patch to use PyWeakref_GetRef.
This should be forwarded upstream.

I've applied the fix in the sandbox [2] to verify that it builds
successfully, please consider applying the patch to support the upcoming
3.15 version.

Setting the severity to important for now. Once Python 3.15 is released,
it will be added to python3-defaults and this bug will become release
critical.

Happy hacking,

[1]: https://debusine.debian.net/debian/r-python-python3.15/artifact/4597822/
[2]: https://debusine.debian.net/debian/r-python-python3.15/

--
"Can you imagine what I would do if I could do all I can?" -- Sun Tzu
Saludos /\/\ /\ >< `/
Description: Use PyWeakref_GetRef on Python 3.13+
 PyWeakref_GET_OBJECT was removed in Python 3.15.
Author: Maximiliano Curia <[email protected]>
Forwarded: no

Index: python-atom/atom/src/methodwrapper.cpp
===================================================================
--- python-atom.orig/atom/src/methodwrapper.cpp
+++ python-atom/atom/src/methodwrapper.cpp
@@ -36,6 +36,19 @@ MethodWrapper_dealloc( MethodWrapper* se
 PyObject*
 MethodWrapper__call__( MethodWrapper* self, PyObject* args, PyObject* kwargs )
 {
+#if PY_VERSION_HEX >= 0x030D0000
+    PyObject* raw_im_self = 0;
+    if( PyWeakref_GetRef( self->im_selfref, &raw_im_self ) < 0 )
+        return 0;
+    cppy::ptr im_self( raw_im_self );
+    if( im_self )
+    {
+        cppy::ptr method( PyMethod_New( self->im_func, im_self.get() ) );
+        if( !method )
+            return 0;
+        return PyObject_Call( method.get(), args, kwargs );
+    }
+#else
     PyObject* im_self = PyWeakref_GET_OBJECT( self->im_selfref );
     if( im_self != Py_None )
     {
@@ -44,6 +57,7 @@ MethodWrapper__call__( MethodWrapper* se
             return 0;
         return PyObject_Call( method.get(), args, kwargs );
     }
+#endif
     Py_RETURN_NONE;
 }
 
@@ -55,10 +69,23 @@ MethodWrapper_richcompare( MethodWrapper
     {
         if( PyMethod_Check( other ) && PyMethod_GET_SELF( other ) )
         {
+#if PY_VERSION_HEX >= 0x030D0000
+            if( self->im_func == PyMethod_GET_FUNCTION( other ) )
+            {
+                PyObject* raw_im_self = 0;
+                if( PyWeakref_GetRef( self->im_selfref, &raw_im_self ) < 0 )
+                    return 0;
+                cppy::ptr im_self( raw_im_self );
+                if( im_self.get() == PyMethod_GET_SELF( other ) )
+                    Py_RETURN_TRUE;
+            }
+            Py_RETURN_FALSE;
+#else
             if( ( self->im_func == PyMethod_GET_FUNCTION( other ) ) &&
                 ( PyWeakref_GET_OBJECT( self->im_selfref ) == PyMethod_GET_SELF( other ) ) )
                 Py_RETURN_TRUE;
             Py_RETURN_FALSE;
+#endif
         }
         else if( MethodWrapper::TypeCheck( other ) )
         {
@@ -78,9 +105,17 @@ MethodWrapper_richcompare( MethodWrapper
 int
 MethodWrapper__bool__( MethodWrapper* self )
 {
+#if PY_VERSION_HEX >= 0x030D0000
+    PyObject* raw_im_self = 0;
+    if( PyWeakref_GetRef( self->im_selfref, &raw_im_self ) < 0 )
+        return -1;
+    Py_XDECREF( raw_im_self );
+    return raw_im_self != 0;
+#else
     if( PyWeakref_GET_OBJECT( self->im_selfref ) != Py_None )
         return 1;
     return 0;
+#endif
 }
 
 

--- End Message ---
--- Begin Message ---
Source: python-atom
Source-Version: 0.13.0-1
Done: Margarita Manterola <[email protected]>

We believe that the bug you reported is fixed in the latest version of
python-atom, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to [email protected],
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Margarita Manterola <[email protected]> (supplier of updated python-atom package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing [email protected])


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

Format: 1.8
Date: Mon, 19 Oct 2026 18:25:52 +0200
Source: python-atom
Architecture: source
Version: 0.13.0-1
Distribution: unstable
Urgency: medium
Maintainer: Debian Python Team <[email protected]>
Changed-By: Margarita Manterola <[email protected]>
Closes: 1147119
Changes:
 python-atom (0.13.0-1) unstable; urgency=medium
 .
   * Team Upload
   * New upstream version 0.13.0
     - Includes patch to move to PyWeakref_GetRef (Closes: #1147119)
   * Update Standards-Version to 4.7.4: drop Priority field from
     debian/control.
Checksums-Sha1:
 57fe70e85e722fed11647f501da263fdb59d964b 2493 python-atom_0.13.0-1.dsc
 c971505c1175f46ecb3aad73e25feed11d97f8ad 165711 python-atom_0.13.0.orig.tar.gz
 8137a45a8c447b928a291c5e04f83cde1c3d13c1 4032 
python-atom_0.13.0-1.debian.tar.xz
 b7c7ac6e79af61fb07fa92b16681e63183b01857 10853 
python-atom_0.13.0-1_amd64.buildinfo
Checksums-Sha256:
 377184d572527043006bc094908a7a992e5eaed4dfe50512ffab0372214381ce 2493 
python-atom_0.13.0-1.dsc
 b74e9512139463e9ee874e6c45ea40ef2f3faa66a0081f3d6be497dc57d81f2f 165711 
python-atom_0.13.0.orig.tar.gz
 99328dede5bec844c8b2f94bc14d4fe0eac352c0d4580a4d17f9ec24af3a5ba0 4032 
python-atom_0.13.0-1.debian.tar.xz
 61e958d40988ad252bea3e688327c186fee12feed779e0730d62925e417e1d73 10853 
python-atom_0.13.0-1_amd64.buildinfo
Files:
 de1c5f4d7d1b08286f9812e51af1d596 2493 python optional python-atom_0.13.0-1.dsc
 908422d8a2e4a058cd1fc44057f0cd1f 165711 python optional 
python-atom_0.13.0.orig.tar.gz
 7fd3fc66ac219ef06710fb49a23beaf9 4032 python optional 
python-atom_0.13.0-1.debian.tar.xz
 913a42a6fa0044fd29358a90352b1bf4 10853 python optional 
python-atom_0.13.0-1_amd64.buildinfo

-----BEGIN PGP SIGNATURE-----

iQJFBAEBCgAvFiEEAMPhhOivEnEYVt/SgNCkL/LIUMoFAmrWR2cRHG1hcmdhQGRl
Ymlhbi5vcmcACgkQgNCkL/LIUMoLAhAApp0Lve15A0whvEleeTTpyPd3GyG4qBrC
8GJM/uQ99AiHQn/60QRo0CCOE8Xp1+qracDPFWk9Uu3yU/bK1bB1yiQkK98tUAKX
xsClcEIpOD7hsKo+/dgQV5Dk3mUTZ75wWV7P674rhOe6eRwvMdfUoeYBDlYGMrog
JsKA1dQxJMTX6qSh85qFzRMW8KT0VbhzvKoSG+mF6u+ShNqQU+qWCf1SaKQfp54a
h/2wGLAa8977Kw6xPtzy2lg6p3ZUokrezXyjVKoxf64sYSrjTk30NPfmFchGZtgb
ZyP1zg3b27/PTUS2EafE1gHptsujURAQpA/ZmZKHHZ/cWIougsdDUPoSH7gi7lF/
lmqDXckZf3YQ4A+aPMKN/HjIkP6ry4SWUdXlwHizUNuTjJU49YsG/FV9E1dC+9Do
QWKkO6v0WH5KToVFS78UYITBNAkKpsiylTfWZnMYkNjcyD8bIzbgQ1mfxlmaBKjV
8aE3o6UZEuTu2AICndSyOvP8RIZRp1sGaTllbDFid1T51jbzc0V9WkgXyAeA+qsv
pYMR2ayZpFVq2NDEB93otDatMHHXHD5pVWultYtbuoeVzYwIamfceSkSYl9NkAep
jUqUE6LZlTIrk6LhmJ/z1tDVRFzSQxg1ucQaOyrm8jdyX43F3ZLjNVzNVimOxFv2
PvA8aIwJRDc=
=J8vt
-----END PGP SIGNATURE-----

Attachment: pgp2G49IoytaT.pgp
Description: PGP signature


--- End Message ---

Reply via email to