@@ -648,7 +648,6 @@ const GLOBAL_EXTENSIONS: &[&str] = &[
648
648
"_weakref" ,
649
649
"array" ,
650
650
"atexit" ,
651
- "audioop" ,
652
651
"binascii" ,
653
652
"builtins" ,
654
653
"cmath" ,
@@ -675,13 +674,15 @@ const GLOBAL_EXTENSIONS: &[&str] = &[
675
674
// _testsinglephase added in 3.12.
676
675
// _sha256 and _sha512 merged into _sha2 in 3.12.
677
676
// _xxinterpchannels added in 3.12.
677
+ // audioop removed in 3.13.
678
678
679
679
// We didn't build ctypes_test until 3.9.
680
680
// We didn't build some test extensions until 3.9.
681
681
682
- const GLOBAL_EXTENSIONS_PYTHON_3_8 : & [ & str ] = & [ "_sha256" , "_sha512" , "parser" ] ;
682
+ const GLOBAL_EXTENSIONS_PYTHON_3_8 : & [ & str ] = & [ "audioop" , " _sha256", "_sha512" , "parser" ] ;
683
683
684
684
const GLOBAL_EXTENSIONS_PYTHON_3_9 : & [ & str ] = & [
685
+ "audioop" ,
685
686
"_peg_parser" ,
686
687
"_sha256" ,
687
688
"_sha512" ,
@@ -692,6 +693,7 @@ const GLOBAL_EXTENSIONS_PYTHON_3_9: &[&str] = &[
692
693
] ;
693
694
694
695
const GLOBAL_EXTENSIONS_PYTHON_3_10 : & [ & str ] = & [
696
+ "audioop" ,
695
697
"_sha256" ,
696
698
"_sha512" ,
697
699
"_uuid" ,
@@ -700,6 +702,7 @@ const GLOBAL_EXTENSIONS_PYTHON_3_10: &[&str] = &[
700
702
] ;
701
703
702
704
const GLOBAL_EXTENSIONS_PYTHON_3_11 : & [ & str ] = & [
705
+ "audioop" ,
703
706
"_sha256" ,
704
707
"_sha512" ,
705
708
"_tokenize" ,
@@ -710,6 +713,7 @@ const GLOBAL_EXTENSIONS_PYTHON_3_11: &[&str] = &[
710
713
] ;
711
714
712
715
const GLOBAL_EXTENSIONS_PYTHON_3_12 : & [ & str ] = & [
716
+ "audioop" ,
713
717
"_sha2" ,
714
718
"_tokenize" ,
715
719
"_typing" ,
@@ -718,13 +722,16 @@ const GLOBAL_EXTENSIONS_PYTHON_3_12: &[&str] = &[
718
722
"_zoneinfo" ,
719
723
] ;
720
724
721
- // FIXME: ensure that this list is correct for 3.13
722
725
const GLOBAL_EXTENSIONS_PYTHON_3_13 : & [ & str ] = & [
726
+ "_interpchannels" ,
727
+ "_interpqueues" ,
728
+ "_interpreters" ,
723
729
"_sha2" ,
730
+ "_suggestions" ,
731
+ "_sysconfig" ,
732
+ "_testexternalinspection" ,
724
733
"_tokenize" ,
725
734
"_typing" ,
726
- "_xxinterpchannels" ,
727
- "_xxsubinterpreters" ,
728
735
"_zoneinfo" ,
729
736
] ;
730
737
@@ -749,7 +756,7 @@ const GLOBAL_EXTENSIONS_POSIX: &[&str] = &[
749
756
"termios" ,
750
757
] ;
751
758
752
- const GLOBAL_EXTENSIONS_LINUX : & [ & str ] = & [ "spwd" ] ;
759
+ const GLOBAL_EXTENSIONS_LINUX_PRE_3_13 : & [ & str ] = & [ "spwd" ] ;
753
760
754
761
const GLOBAL_EXTENSIONS_WINDOWS : & [ & str ] = & [
755
762
"_msi" ,
@@ -1478,6 +1485,9 @@ fn validate_extension_modules(
1478
1485
1479
1486
if is_macos {
1480
1487
wanted. extend ( GLOBAL_EXTENSIONS_POSIX ) ;
1488
+ if python_major_minor == "3.13" {
1489
+ wanted. remove ( "_crypt" ) ;
1490
+ }
1481
1491
wanted. extend ( GLOBAL_EXTENSIONS_MACOS ) ;
1482
1492
}
1483
1493
@@ -1493,14 +1503,25 @@ fn validate_extension_modules(
1493
1503
1494
1504
if is_linux {
1495
1505
wanted. extend ( GLOBAL_EXTENSIONS_POSIX ) ;
1496
- wanted. extend ( GLOBAL_EXTENSIONS_LINUX ) ;
1506
+ if python_major_minor == "3.13" {
1507
+ wanted. remove ( "_crypt" ) ;
1508
+ }
1509
+ if matches ! ( python_major_minor, "3.8" | "3.9" | "3.10" | "3.11" | "3.12" ) {
1510
+ wanted. extend ( GLOBAL_EXTENSIONS_LINUX_PRE_3_13 ) ;
1511
+ }
1497
1512
1498
- if !is_linux_musl {
1513
+ if !is_linux_musl && matches ! ( python_major_minor, "3.8" | "3.9" | "3.10" | "3.11" | "3.12" )
1514
+ {
1499
1515
wanted. insert ( "ossaudiodev" ) ;
1500
1516
}
1501
1517
}
1502
1518
1503
- if ( is_linux || is_macos) && matches ! ( python_major_minor, "3.9" | "3.10" | "3.11" | "3.12" | "3.13" ) {
1519
+ if ( is_linux || is_macos)
1520
+ && matches ! (
1521
+ python_major_minor,
1522
+ "3.9" | "3.10" | "3.11" | "3.12" | "3.13"
1523
+ )
1524
+ {
1504
1525
wanted. extend ( [
1505
1526
"_testbuffer" ,
1506
1527
"_testimportmultiple" ,
0 commit comments