File: python3.13.patch

package info (click to toggle)
boost1.90 1.90.0-1
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 593,120 kB
  • sloc: cpp: 4,190,908; xml: 196,648; python: 34,618; ansic: 23,145; asm: 5,468; sh: 3,774; makefile: 1,161; perl: 1,020; sql: 728; ruby: 676; yacc: 478; java: 77; lisp: 24; csh: 6
file content (44 lines) | stat: -rw-r--r-- 1,583 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
Description: Boost.Build: support Python 3.13 and 3.14
Author: Anton Gladky <gladk@debian.org>
Last-Update: 2025-10-04

--- boost1.89-1.89.0.orig/tools/build/src/tools/python.jam
+++ boost1.89-1.89.0/tools/build/src/tools/python.jam
@@ -409,14 +409,19 @@ local rule split-version ( version )
 }
 
 
-# Build a list of versions from 3.4 down to 1.5. Because bjam can not enumerate
+# Build a list of versions from 3.15 down to 1.5. Because bjam can not enumerate
 # registry sub-keys, we have no way of finding a version with a 2-digit minor
 # version, e.g. 2.10 -- let us hope that never happens.
 #
 .version-countdown = ;
-for local v in [ numbers.range 15 34 ]
+for local v in [ numbers.range 15 315 ]
 {
-    .version-countdown = [ SUBST $(v) (.)(.*) $1.$2 ] $(.version-countdown) ;
+    local version-str = [ SUBST $(v) (.)(.*) $1.$2 ] ;
+    # Skip versions like 1.10, 2.10, etc. that don't make sense
+    if $(v) <= 29 || $(v) >= 30
+    {
+        .version-countdown = $(version-str) $(.version-countdown) ;
+    }
 }
 
 
@@ -575,6 +580,14 @@ local rule compute-default-paths ( targe
 
 # The version of the python interpreter to use.
 feature.feature python : : propagated symmetric ;
+
+# Pre-populate with common Python versions to avoid "not a known value" errors
+# when specifying python=X.Y before the using python statement is processed
+for local v in 2.7 3.6 3.7 3.8 3.9 3.10 3.11 3.12 3.13 3.14 3.15
+{
+    feature.extend python : $(v) ;
+}
+
 feature.feature python.interpreter : : free ;
 
 toolset.flags python.capture-output PYTHON : <python.interpreter> ;