From 19313340b76e85012f6f9e2ac86aea72c2ec9512 Mon Sep 17 00:00:00 2001 From: Joshua Root Date: Sat, 9 Aug 2025 16:28:32 +1000 Subject: [PATCH] python313: update to 3.13.6 --- lang/python313/Portfile | 43 ++++++++----------- .../files/configure-disable-libuuid.patch | 41 ++++++++++++------ python/py-gdbm/Portfile | 8 ++-- python/py-tkinter/Portfile | 8 ++-- 4 files changed, 53 insertions(+), 47 deletions(-) diff --git a/lang/python313/Portfile b/lang/python313/Portfile index 774e5b0379f..13bd1d747e2 100644 --- a/lang/python313/Portfile +++ b/lang/python313/Portfile @@ -5,7 +5,7 @@ PortSystem 1.0 name python313 # Remember to keep py313-tkinter and py313-gdbm's versions sync'd with this -version 3.13.5 +version 3.13.6 set branch [join [lrange [split ${version} .] 0 1] .] categories lang @@ -21,9 +21,9 @@ master_sites ${homepage}ftp/python/${version}/ distname Python-${version} use_xz yes -checksums md5 dbaa8833aa736eddbb18a6a6ae0c10fa \ - rmd160 f28fd984a09c4948413d4a92eedbf11314fc3adb \ - sha256 93e583f243454e6e9e4588ca2c2662206ad961659863277afcdb96801647d640 +checksums md5 4170b57e642c15a1dfed17313ec57cc2 \ + rmd160 55f602bf96f8aeccb660a8e181d32df5ecf45be6 \ + sha256 17ba5508819d8736a14fbfc47d36e184946a877851b2e9c4b6c43acb44a3b104 patchfiles patch-configure.diff \ Makefile.pre.in.patch \ @@ -33,11 +33,6 @@ patchfiles patch-configure.diff \ configure-disable-tkinter.patch \ configure-disable-system-libffi.patch -if {${os.platform} eq "darwin" && ${os.major} <= 10} { - # work around no pthread_threadid_np on older systems - patchfiles-append patch-threadid-older-systems.diff -} - depends_build path:bin/pkg-config:pkgconfig depends_lib port:bzip2 \ port:expat \ @@ -51,10 +46,17 @@ depends_lib port:bzip2 \ port:xz \ port:zlib -if {$subport ne "${name}-freethreading"} { +if {$subport eq $name} { set pythonVerNoDot [string map {. {}} $branch] depends_run port:python_select-${pythonVerNoDot} \ port:python3_select-${pythonVerNoDot} +notes-append " +To make this the default Python or Python 3 (i.e., the version run by\ +the 'python' or 'python3' commands), run one or both of: + + sudo port select --set python python$pythonVerNoDot + sudo port select --set python3 python$pythonVerNoDot +" } compiler.c_standard 2011 @@ -113,7 +115,7 @@ subport ${name}-freethreading { } } } -if {$subport ne "${name}-freethreading"} { +if {$subport eq $name} { set abiflags {} } @@ -122,6 +124,7 @@ platform darwin { configure.args-append --without-mimalloc } if {[vercmp $macosx_deployment_target <= 10.5]} { + patchfiles-append patch-threadid-older-systems.diff configure.cppflags-append -D_DARWIN_USE_64_BIT_INODE } @@ -142,7 +145,7 @@ platform darwin { file delete ${destroot}${framewpath}/${dir} } - if {$subport ne "${name}-freethreading"} { + if {$subport eq $name} { ln -s ${framewdir}/share/man/man1/python${branch}.1 ${destroot}${prefix}/share/man/man1/ } ln -s ${framewdir}/lib/pkgconfig/python-${branch}${abiflags}.pc ${destroot}${prefix}/lib/pkgconfig/ @@ -156,7 +159,7 @@ platform darwin { # how to link against python (see ticket #15099); instead we mirror # the behavior of `python-config --ldflags` here. set lfs_pattern {^([[:space:]]*'LINKFORSHARED':).*} - set lfs_replacement "\\1 '-L${framewdir}/lib/python${branch}/${confdir} -lpython${branch} -ldl -framework CoreFoundation'," + set lfs_replacement "\\1 '-L${framewdir}/lib/python${branch}${abiflags}/${confdir} -lpython${branch} -ldl -framework CoreFoundation'," reinplace -E s|${lfs_pattern}|${lfs_replacement}| \ ${libdir}/_sysconfigdata_${abiflags}_darwin_darwin.py @@ -174,7 +177,7 @@ platform darwin { if {![file exists ${worksrcpath}/${python_for_build}]} { set python_for_build python } - system -W ${worksrcpath} "env DYLD_FRAMEWORK_PATH=. ./${python_for_build} -E -m compileall -d [shellescape ${framewdir}/lib/python${branch}] -o 0 -o 1 -o 2 [shellescape ${libdir}/_sysconfigdata_${abiflags}_darwin_darwin.py]" + system -W ${worksrcpath} "env DYLD_FRAMEWORK_PATH=. ./${python_for_build} -E -m compileall -d [shellescape ${framewdir}/lib/python${branch}${abiflags}] -o 0 -o 1 -o 2 [shellescape ${libdir}/_sysconfigdata_${abiflags}_darwin_darwin.py]" # Also make the sysconfig changes in the Makefile reinplace {s|^\(LINKFORSHARED=\).*$|\1 -L$(LIBPL) -lpython$(VERSION)$(ABIFLAGS) $(LIBS) $(SYSLIBS)|} \ @@ -194,16 +197,6 @@ post-destroot { } } -if {$subport ne "${name}-freethreading"} { -notes-append " -To make this the default Python or Python 3 (i.e., the version run by\ -the 'python' or 'python3' commands), run one or both of: - - sudo port select --set python python$pythonVerNoDot - sudo port select --set python3 python$pythonVerNoDot -" -} - variant universal { post-patch { set universal_arch_flags {} @@ -271,7 +264,7 @@ variant lto description {enable Link-Time Optimization} { platform darwin { # Build failures on 10.10 and older if {${os.major} > 11} { - if {${os.major} > 14 || ((${os.major} == 14 || $subport ne "${name}-freethreading") + if {${os.major} > 14 || ((${os.major} == 14 || $subport eq $name) && !($universal_possible && [variant_isset universal])) } then { default_variants-append +lto diff --git a/lang/python313/files/configure-disable-libuuid.patch b/lang/python313/files/configure-disable-libuuid.patch index 1881066f822..e1dae194c79 100644 --- a/lang/python313/files/configure-disable-libuuid.patch +++ b/lang/python313/files/configure-disable-libuuid.patch @@ -1,6 +1,6 @@ ---- configure.orig 2025-02-08 19:33:55 -+++ configure 2025-02-08 19:40:16 -@@ -13389,364 +13389,9 @@ +--- configure.orig 2025-08-06 23:05:20 ++++ configure 2025-08-09 16:13:22 +@@ -13383,377 +13383,10 @@ have_uuid=missing @@ -12,6 +12,7 @@ -then : - printf "%s\n" "#define HAVE_UUID_H 1" >>confdefs.h - +- - for ac_func in uuid_create uuid_enc_be -do : - as_ac_var=`printf "%s\n" "ac_cv_func_$ac_func" | $as_tr_sh` @@ -21,7 +22,9 @@ - cat >>confdefs.h <<_ACEOF -#define `printf "%s\n" "HAVE_$ac_func" | $as_tr_cpp` 1 -_ACEOF -- have_uuid=yes + +- have_uuid=yes +- ac_cv_have_uuid_h=yes - LIBUUID_CFLAGS=${LIBUUID_CFLAGS-""} - LIBUUID_LIBS=${LIBUUID_LIBS-""} - @@ -35,7 +38,7 @@ - if test "x$have_uuid" = xmissing then : -- + - -pkg_failed=no -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for uuid >= 2.20" >&5 @@ -75,7 +78,7 @@ - else - pkg_failed=untried -fi - +- - - -if test $pkg_failed = yes; then @@ -111,6 +114,7 @@ -then : - printf "%s\n" "#define HAVE_UUID_UUID_H 1" >>confdefs.h - +- ac_cv_have_uuid_uuid_h=yes - py_check_lib_save_LIBS=$LIBS -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for uuid_generate_time in -luuid" >&5 -printf %s "checking for uuid_generate_time in -luuid... " >&6; } @@ -192,8 +196,9 @@ -printf "%s\n" "$ac_cv_lib_uuid_uuid_generate_time_safe" >&6; } -if test "x$ac_cv_lib_uuid_uuid_generate_time_safe" = xyes -then : -- have_uuid=yes -- printf "%s\n" "#define HAVE_UUID_GENERATE_TIME_SAFE 1" >>confdefs.h +- +- have_uuid=yes +- ac_cv_have_uuid_generate_time_safe=yes - -fi - @@ -237,6 +242,7 @@ -then : - printf "%s\n" "#define HAVE_UUID_UUID_H 1" >>confdefs.h - +- ac_cv_have_uuid_uuid_h=yes - py_check_lib_save_LIBS=$LIBS -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for uuid_generate_time in -luuid" >&5 -printf %s "checking for uuid_generate_time in -luuid... " >&6; } @@ -318,8 +324,9 @@ -printf "%s\n" "$ac_cv_lib_uuid_uuid_generate_time_safe" >&6; } -if test "x$ac_cv_lib_uuid_uuid_generate_time_safe" = xyes -then : -- have_uuid=yes -- printf "%s\n" "#define HAVE_UUID_GENERATE_TIME_SAFE 1" >>confdefs.h +- +- have_uuid=yes +- ac_cv_have_uuid_generate_time_safe=yes - -fi - @@ -350,10 +357,16 @@ - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -printf "%s\n" "yes" >&6; } - have_uuid=yes -- printf "%s\n" "#define HAVE_UUID_H 1" >>confdefs.h -- -- printf "%s\n" "#define HAVE_UUID_GENERATE_TIME_SAFE 1" >>confdefs.h -- +- ac_cv_have_uuid_generate_time_safe=yes +- # The uuid.h file to include may be *or* . +- # Since pkg-config --cflags uuid may return -I/usr/include/uuid, +- # it's possible to write '#include ' in _uuidmodule.c, +- # assuming that the compiler flags are properly updated. +- # +- # Ideally, we should have defined HAVE_UUID_H if and only if +- # #include can be written, *without* assuming extra +- # include path. +- ac_cv_have_uuid_h=yes - -fi - diff --git a/python/py-gdbm/Portfile b/python/py-gdbm/Portfile index 7b9d18804e6..d68c99e2cdc 100644 --- a/python/py-gdbm/Portfile +++ b/python/py-gdbm/Portfile @@ -154,12 +154,12 @@ subport py312-gdbm { } subport py313-gdbm { maintainers {jmr @jmroot} - version 3.13.5 + version 3.13.6 revision 0 homepage https://docs.python.org/release/${version}/library/dbm.html - checksums md5 dbaa8833aa736eddbb18a6a6ae0c10fa \ - rmd160 f28fd984a09c4948413d4a92eedbf11314fc3adb \ - sha256 93e583f243454e6e9e4588ca2c2662206ad961659863277afcdb96801647d640 + checksums md5 4170b57e642c15a1dfed17313ec57cc2 \ + rmd160 55f602bf96f8aeccb660a8e181d32df5ecf45be6 \ + sha256 17ba5508819d8736a14fbfc47d36e184946a877851b2e9c4b6c43acb44a3b104 livecheck.regex {Python (3\.13\.[0-9]+)} } diff --git a/python/py-tkinter/Portfile b/python/py-tkinter/Portfile index 1379b824053..0fca9174097 100644 --- a/python/py-tkinter/Portfile +++ b/python/py-tkinter/Portfile @@ -142,12 +142,12 @@ subport py312-tkinter { } subport py313-tkinter { maintainers {jmr @jmroot} - version 3.13.5 + version 3.13.6 revision 0 homepage https://docs.python.org/release/${version}/library/tkinter.html - checksums md5 dbaa8833aa736eddbb18a6a6ae0c10fa \ - rmd160 f28fd984a09c4948413d4a92eedbf11314fc3adb \ - sha256 93e583f243454e6e9e4588ca2c2662206ad961659863277afcdb96801647d640 + checksums md5 4170b57e642c15a1dfed17313ec57cc2 \ + rmd160 55f602bf96f8aeccb660a8e181d32df5ecf45be6 \ + sha256 17ba5508819d8736a14fbfc47d36e184946a877851b2e9c4b6c43acb44a3b104 } master_sites https://www.python.org/ftp/python/${version}/