@@ -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" ,
@@ -1479,6 +1486,9 @@ fn validate_extension_modules(
1479
1486
1480
1487
if is_macos {
1481
1488
wanted. extend ( GLOBAL_EXTENSIONS_POSIX ) ;
1489
+ if python_major_minor == "3.13" {
1490
+ wanted. remove ( "_crypt" ) ;
1491
+ }
1482
1492
wanted. extend ( GLOBAL_EXTENSIONS_MACOS ) ;
1483
1493
}
1484
1494
@@ -1494,14 +1504,25 @@ fn validate_extension_modules(
1494
1504
1495
1505
if is_linux {
1496
1506
wanted. extend ( GLOBAL_EXTENSIONS_POSIX ) ;
1497
- wanted. extend ( GLOBAL_EXTENSIONS_LINUX ) ;
1507
+ if python_major_minor == "3.13" {
1508
+ wanted. remove ( "_crypt" ) ;
1509
+ }
1510
+ if matches ! ( python_major_minor, "3.8" | "3.9" | "3.10" | "3.11" | "3.12" ) {
1511
+ wanted. extend ( GLOBAL_EXTENSIONS_LINUX_PRE_3_13 ) ;
1512
+ }
1498
1513
1499
- if !is_linux_musl {
1514
+ if !is_linux_musl && matches ! ( python_major_minor, "3.8" | "3.9" | "3.10" | "3.11" | "3.12" )
1515
+ {
1500
1516
wanted. insert ( "ossaudiodev" ) ;
1501
1517
}
1502
1518
}
1503
1519
1504
- if ( is_linux || is_macos) && matches ! ( python_major_minor, "3.9" | "3.10" | "3.11" | "3.12" | "3.13" ) {
1520
+ if ( is_linux || is_macos)
1521
+ && matches ! (
1522
+ python_major_minor,
1523
+ "3.9" | "3.10" | "3.11" | "3.12" | "3.13"
1524
+ )
1525
+ {
1505
1526
wanted. extend ( [
1506
1527
"_testbuffer" ,
1507
1528
"_testimportmultiple" ,
0 commit comments