diff --git a/lang/python-doc-html/distinfo b/lang/python-doc-html/distinfo
index 941c23874143..cbf63bfac3ea 100644
--- a/lang/python-doc-html/distinfo
+++ b/lang/python-doc-html/distinfo
@@ -1,49 +1,49 @@
-TIMESTAMP = 1680858268
+TIMESTAMP = 1680874018
SHA256 (python/python-2.7.18-docs-html.tar.bz2) = 20445e9a571cacdd350f702f0980e4dc559b6ff81f1d69affe9b0a862fef2f0e
SIZE (python/python-2.7.18-docs-html.tar.bz2) = 4634932
SHA256 (python/python-2.7.18-docs-pdf-a4.tar.bz2) = dbac6953e48aac341351067ba0938393e415b10bf48ac8cbbc7247deaf13ab67
SIZE (python/python-2.7.18-docs-pdf-a4.tar.bz2) = 11486967
SHA256 (python/python-2.7.18-docs-pdf-letter.tar.bz2) = 565971040db8994630fd5c2447e45c38428cfb22a7845cd2620160daf2c60b1e
SIZE (python/python-2.7.18-docs-pdf-letter.tar.bz2) = 11486126
SHA256 (python/python-2.7.18-docs-text.tar.bz2) = c86f5b5a2bd8f90158523efd350198d6cde7353965ef5a6ca5e54e5174af47f2
SIZE (python/python-2.7.18-docs-text.tar.bz2) = 1631043
SHA256 (python/python-3.10.11-docs-html.tar.bz2) = a311c58b38e33210f6a8bd02d79e00c7900c3dabc87d4adef16aeb41a9cf1d7b
SIZE (python/python-3.10.11-docs-html.tar.bz2) = 7390187
SHA256 (python/python-3.10.11-docs-pdf-a4.tar.bz2) = 40a45ad990b8670cd43904a47a559dd86919424bc84240549818109e272ec6c0
SIZE (python/python-3.10.11-docs-pdf-a4.tar.bz2) = 16495515
SHA256 (python/python-3.10.11-docs-pdf-letter.tar.bz2) = 4d617688e675aea1df0c887fd9dac22f36cd17015b6cef9f5d6e5b49cd9f977b
SIZE (python/python-3.10.11-docs-pdf-letter.tar.bz2) = 16598008
SHA256 (python/python-3.10.11-docs-text.tar.bz2) = 273326608e16bff58aec93c359a582bf8bcaea2178b984b29042e3f0c60779e6
SIZE (python/python-3.10.11-docs-text.tar.bz2) = 2676761
-SHA256 (python/python-3.11.2-docs-html.tar.bz2) = 705f31d7bd47804c07f11cc018c7ce8468433bd0f03ffcb8d27f8437dbe32ec1
-SIZE (python/python-3.11.2-docs-html.tar.bz2) = 7779519
-SHA256 (python/python-3.11.2-docs-pdf-a4.tar.bz2) = d4263c439ac21bc34382bd242ea5ae776e80e14e8906b8b77671aca4ef0286c8
-SIZE (python/python-3.11.2-docs-pdf-a4.tar.bz2) = 17015990
-SHA256 (python/python-3.11.2-docs-pdf-letter.tar.bz2) = cab324e38a2c8b2c0931d35bd1a48f59cdff98fdef01f46ddb90ee9ecbffea3e
-SIZE (python/python-3.11.2-docs-pdf-letter.tar.bz2) = 17134802
-SHA256 (python/python-3.11.2-docs-text.tar.bz2) = e081a3c6497654cb91af75f8d61ccf61b81bce105d23cb7da3b389bc2afbb952
-SIZE (python/python-3.11.2-docs-text.tar.bz2) = 2790111
+SHA256 (python/python-3.11.3-docs-html.tar.bz2) = 175d8fe269d540fb40c3bc84a06f965558fd7af432941c80a37bb4f4a32aef6e
+SIZE (python/python-3.11.3-docs-html.tar.bz2) = 7779259
+SHA256 (python/python-3.11.3-docs-pdf-a4.tar.bz2) = 6589203d3ed25a587f68026aa9938e23fac20010efa5a431d4c22d231214ec2a
+SIZE (python/python-3.11.3-docs-pdf-a4.tar.bz2) = 17029211
+SHA256 (python/python-3.11.3-docs-pdf-letter.tar.bz2) = 30a0c11ae45a499a52056e400add85290b63fd019f24a04981fcee53771a297e
+SIZE (python/python-3.11.3-docs-pdf-letter.tar.bz2) = 17147529
+SHA256 (python/python-3.11.3-docs-text.tar.bz2) = 40ec70133cf3aa7ade3d31e297110d34dbec860c96d14b2db8d4c5378603fda3
+SIZE (python/python-3.11.3-docs-text.tar.bz2) = 2793566
SHA256 (python/python-3.7.16-docs-html.tar.bz2) = 13653ed816e963eb6d7e3f44b8e130abc7abd28005be2743e00514b0dc581ed5
SIZE (python/python-3.7.16-docs-html.tar.bz2) = 6293918
SHA256 (python/python-3.7.16-docs-pdf-a4.tar.bz2) = 402b9af419567b881e7ec902f5a1be030a4f496dfee922f25e008a028363417a
SIZE (python/python-3.7.16-docs-pdf-a4.tar.bz2) = 14563209
SHA256 (python/python-3.7.16-docs-pdf-letter.tar.bz2) = f60d3f931d76119517a1996104807c2da984d3bf66b76ee86ec0d459e4f62bdd
SIZE (python/python-3.7.16-docs-pdf-letter.tar.bz2) = 14642985
SHA256 (python/python-3.7.16-docs-text.tar.bz2) = f66540aca1e8933bc4aee79fd1407b4aa6a8601e9e961300604c3144ce2b949f
SIZE (python/python-3.7.16-docs-text.tar.bz2) = 2288014
SHA256 (python/python-3.8.16-docs-html.tar.bz2) = cdd07f5c29401976fb899e02a1e133b448bc13c05de15db4ca260e0b933ce33b
SIZE (python/python-3.8.16-docs-html.tar.bz2) = 6697934
SHA256 (python/python-3.8.16-docs-pdf-a4.tar.bz2) = 2fdb892a32f263a5229c7f7387fbbcd2181b1ce570402abf081cf73874c3158c
SIZE (python/python-3.8.16-docs-pdf-a4.tar.bz2) = 15078075
SHA256 (python/python-3.8.16-docs-pdf-letter.tar.bz2) = 4e01f1964df8cc224db752393a4b202064b828356a789bf4dbe8ad9125054208
SIZE (python/python-3.8.16-docs-pdf-letter.tar.bz2) = 15191740
SHA256 (python/python-3.8.16-docs-text.tar.bz2) = 2f2609090fdae758e4978525d645a6776598109ffcc2cb6f69d53d3ed6662c37
SIZE (python/python-3.8.16-docs-text.tar.bz2) = 2439494
SHA256 (python/python-3.9.16-docs-html.tar.bz2) = fc2ae76fba5ee872d9216e6a8b75608a547b29f8d59b1925b1d39a74d9a1aff7
SIZE (python/python-3.9.16-docs-html.tar.bz2) = 6965048
SHA256 (python/python-3.9.16-docs-pdf-a4.tar.bz2) = 37799960b40e9a9084ea9a3bc773e94436e1aa4f6cc0e8d43463fdb9520ff1f0
SIZE (python/python-3.9.16-docs-pdf-a4.tar.bz2) = 15702378
SHA256 (python/python-3.9.16-docs-pdf-letter.tar.bz2) = 30fa8972d55ba5a221fe4243e2ccdf62f6a6525a9c1923088a92c0b852aef43e
SIZE (python/python-3.9.16-docs-pdf-letter.tar.bz2) = 15811612
SHA256 (python/python-3.9.16-docs-text.tar.bz2) = 713ee7de55b89947773cb970a43a2f1c1af17b94a9c50e6af7cf20f0326bb137
SIZE (python/python-3.9.16-docs-text.tar.bz2) = 2545722
diff --git a/lang/python311/Makefile b/lang/python311/Makefile
index 294fd5ecc414..2ce279dbef2c 100644
--- a/lang/python311/Makefile
+++ b/lang/python311/Makefile
@@ -1,158 +1,157 @@
PORTNAME= python
DISTVERSION= ${PYTHON_DISTVERSION}
-PORTREVISION= 2
CATEGORIES= lang python
MASTER_SITES= PYTHON/ftp/python/${DISTVERSION:C/[a-z].*//}
PKGNAMESUFFIX= ${PYTHON_SUFFIX}
DISTNAME= Python-${DISTVERSION}
DIST_SUBDIR= python
MAINTAINER= python@FreeBSD.org
COMMENT= Interpreted object-oriented programming language
WWW= https://www.python.org/
LICENSE= PSFL
LIB_DEPENDS= libffi.so:devel/libffi
USES= compiler:c11 cpe ncurses pathfix pkgconfig \
python:${PYTHON_DISTVERSION:R},env readline shebangfix ssl tar:xz
PATHFIX_MAKEFILEIN= Makefile.pre.in
USE_LDCONFIG= yes
GNU_CONFIGURE= yes
python_CMD= ${PREFIX}/bin/python${PYTHON_DISTVERSION:R}
SHEBANG_FILES= Lib/*.py Lib/*/*.py Lib/*/*/*.py Lib/*/*/*/*.py
SHEBANG_FILES+= Lib/test/ziptestdata/exe_with_z64 \
Lib/test/ziptestdata/exe_with_zip \
Lib/test/ziptestdata/header.sh
DISABLED_EXTENSIONS= _sqlite3 _tkinter _gdbm
CONFIGURE_ARGS+= --enable-shared --without-ensurepip \
--with-system-ffi
CONFIGURE_ENV+= OPT="" # Null out OPT to respect user CFLAGS and remove optimizations
INSTALL_TARGET= altinstall # Don't want cloberring of unprefixed files
TEST_TARGET= buildbottest
TEST_ARGS= TESTOPTS=-j${MAKE_JOBS_NUMBER}
MAKE_ARGS+= INSTALL_SHARED="${INSTALL_LIB}" # Strip shared library
SUB_FILES= pkg-message
SUB_LIST= PYTHON_SUFFIX=${PYTHON_SUFFIX}
PLIST_SUB= ABI=${ABIFLAGS} \
XY=${PYTHON_SUFFIX} \
XYDOT=${PYTHON_VER} \
XYZDOT=${DISTVERSION:C/[a-z].*//} \
OSMAJOR=${OSVERSION:C/([0-9]*)[0-9]{5}/\1/} # For plat-freebsd* in pkg-plist. https://bugs.python.org/issue19554
OPTIONS_DEFINE= DEBUG IPV6 LIBMPDEC LTO NLS PYMALLOC
OPTIONS_DEFAULT= LIBMPDEC LTO PYMALLOC
OPTIONS_EXCLUDE_riscv64= LTO
OPTIONS_RADIO= HASH
OPTIONS_RADIO_HASH= FNV SIPHASH
OPTIONS_SUB= yes
LIBMPDEC_DESC= Use libmpdec from ports instead of bundled version
NLS_DESC= Enable gettext support for the locale module
PYMALLOC_DESC= Enable specialized mallocs
HASH_DESC= Hash Algorithm (PEP-456)
FNV_DESC= Modified Fowler-Noll-Vo Algorithm
SIPHASH_DESC= SipHash24 Algorithm
FNV_CONFIGURE_ON= --with-hash-algorithm=fnv
SIPHASH_CONFIGURE_ON= --with-hash-algorithm=siphash24
DEBUG_CONFIGURE_WITH= pydebug
IPV6_CONFIGURE_ENABLE= ipv6
LIBMPDEC_CONFIGURE_ON= --with-system-libmpdec
LIBMPDEC_LIB_DEPENDS= libmpdec.so:math/mpdecimal
LTO_CONFIGURE_ON= --with-lto=thin
# Use CPPFLAGS over CFLAGS due to -I ordering, causing elementtree and pyexpat
# to break in Python 2.7, or preprocessor complaints in Python >= 3.3
# Upstream Issue: https://bugs.python.org/issue6299
NLS_USES= gettext
NLS_CPPFLAGS= -I${LOCALBASE}/include
NLS_LIBS= -L${LOCALBASE}/lib -lintl
NLS_CONFIGURE_ENV_OFF= ac_cv_lib_intl_textdomain=no ac_cv_header_libintl_h=no
PYMALLOC_CONFIGURE_WITH= pymalloc
.include "${.CURDIR}/Makefile.version"
.include
.if ${PORT_OPTIONS:MDEBUG}
ABIFLAGS:= d${ABIFLAGS}
.endif
.if !empty(ABIFLAGS)
PLIST_FILES+= bin/python${PYTHON_VER}${ABIFLAGS} \
bin/python${PYTHON_VER}${ABIFLAGS}-config \
libdata/pkgconfig/python-${PYTHON_VER}${ABIFLAGS}.pc \
libdata/pkgconfig/python-${PYTHON_VER}${ABIFLAGS}-embed.pc
.endif
.if ${ARCH} == sparc64
CFLAGS+= -DPYTHON_DEFAULT_RECURSION_LIMIT=900
.endif
# See https://bugs.freebsd.org/115940 and https://bugs.freebsd.org/193650
.if !exists(/usr/bin/ypcat) || defined(WITHOUT_NIS)
PLIST_SUB+= NO_NIS="@comment "
DISABLED_EXTENSIONS+= nis
.else
PLIST_SUB+= NO_NIS=""
.endif
.if ${SSL_DEFAULT:Mlibressl*}
EXTRA_PATCHES+= ${PATCHDIR}/libressl
CONFIGURE_ENV+= ac_cv_working_openssl_hashlib=yes
.endif
post-patch:
# disable the detection of includes and library from e2fsprogs-libuuid,
# which introduces hidden dependency and breaks build
@${REINPLACE_CMD} -e 's|uuid/uuid.h|ignore_&|' ${WRKSRC}/configure
# disable detection of multiarch as it breaks with clang >= 13, which adds a
# major.minor version number in -print-multiarch output, confusing Python
@${REINPLACE_CMD} -e 's|^\( *MULTIARCH=\).*--print-multiarch.*|\1|' ${WRKSRC}/configure
# Apply DISABLED_EXTENSIONS
@${ECHO_CMD} '*disabled*' > ${WRKSRC}/Modules/Setup.local
. for _module in ${DISABLED_EXTENSIONS}
@${ECHO_CMD} ${_module} >> ${WRKSRC}/Modules/Setup.local
. endfor
post-install:
.if ! ${PORT_OPTIONS:MDEBUG}
${RM} ${STAGEDIR}${PREFIX}/lib/libpython3.so # Upstream Issue: https://bugs.python.org/issue17975
.endif
${LN} -sf libpython${PYTHON_VER}${ABIFLAGS}.so.1.0 ${STAGEDIR}${PREFIX}/lib/libpython${PYTHON_VER}${ABIFLAGS}.so.1
# This code block exists for the qemu-user enabled cross build environment.
# When using this environment in poudriere, CC is not set to the default
# of /usr/bin/cc and a cross-compile toolchain is used. We need to hand
# edit this so that the run time configuration for python matches what the
# FreeBSD base system provides. sbruno 02Aug2017
.if ${CC} == /nxb-bin/usr/bin/cc
@${REINPLACE_CMD} -e 's=/nxb-bin==' \
${STAGEDIR}${PREFIX}/lib/python${PYTHON_VER}/_sysconfigdata_${ABIFLAGS}_freebsd${OSREL:R}_.py
@cd ${WRKSRC} && ${SETENV} LD_LIBRARY_PATH=${WRKSRC} \
./python -E -m compileall -d ${PREFIX}/lib/python${PYTHON_VER} \
${STAGEDIR}${PREFIX}/lib/python${PYTHON_VER}/_sysconfigdata_${ABIFLAGS}_freebsd${OSREL:R}_.py
@cd ${WRKSRC} && ${SETENV} LD_LIBRARY_PATH=${WRKSRC} \
./python -E -O -m compileall -d ${PREFIX}/lib/python${PYTHON_VER} \
${STAGEDIR}${PREFIX}/lib/python${PYTHON_VER}/_sysconfigdata_${ABIFLAGS}_freebsd${OSREL:R}_.py
@${REINPLACE_CMD} -e 's=/nxb-bin==' \
${STAGEDIR}${PREFIX}/lib/python${PYTHON_VER}/config-${PYTHON_VER}${ABIFLAGS}/Makefile
.endif
for i in ${STAGEDIR}${PREFIX}/lib/python${PYTHON_VER}/lib-dynload/*.so; do \
${STRIP_CMD} $$i; done # Strip shared extensions
${INSTALL_DATA} ${WRKSRC}/Tools/gdb/libpython.py \
${STAGEDIR}${PREFIX}/lib/libpython${PYTHON_VER}${ABIFLAGS}.so.1.0-gdb.py
.include
diff --git a/lang/python311/Makefile.version b/lang/python311/Makefile.version
index cc3194de681b..e5986f1f448f 100644
--- a/lang/python311/Makefile.version
+++ b/lang/python311/Makefile.version
@@ -1,7 +1,7 @@
# Mk/Uses/python.mk includes this file, don't remove it!
# Do not forget to
# 1. Update python documentation (lang/python-doc-*)
# Run "make -C lang/python-doc-html makesum"
# 2. Remove PORTREVISION in Makefile
-PYTHON_DISTVERSION= 3.11.2
+PYTHON_DISTVERSION= 3.11.3
diff --git a/lang/python311/distinfo b/lang/python311/distinfo
index c8c3de0d7b96..30ff2c455eda 100644
--- a/lang/python311/distinfo
+++ b/lang/python311/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1675944240
-SHA256 (python/Python-3.11.2.tar.xz) = 29e4b8f5f1658542a8c13e2dd277358c9c48f2b2f7318652ef1675e402b9d2af
-SIZE (python/Python-3.11.2.tar.xz) = 19893284
+TIMESTAMP = 1680873920
+SHA256 (python/Python-3.11.3.tar.xz) = 8a5db99c961a7ecf27c75956189c9602c968751f11dbeae2b900dbff1c085b5e
+SIZE (python/Python-3.11.3.tar.xz) = 19906156