Re: git: a9d9d3a42723 - main - lang/python: Revert "add bytecode trigger"
- In reply to: Matthias Andree : "git: a9d9d3a42723 - main - lang/python: Revert "add bytecode trigger""
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Tue, 28 Feb 2023 05:44:50 UTC
Moin moin
So you reverted the first major change to the python framework in ages
due to a leaf-port breakin non-fatally?
This looks a little bit like overstepping the bounds of good taste a bit to me.
mfg Tobias
On Mon, 27 Feb 2023 at 22:05, Matthias Andree <mandree@freebsd.org> wrote:
>
> The branch main has been updated by mandree:
>
> URL: https://cgit.FreeBSD.org/ports/commit/?id=a9d9d3a4272303bf226b9deb55c42303e4fcebdc
>
> commit a9d9d3a4272303bf226b9deb55c42303e4fcebdc
> Author: Matthias Andree <mandree@FreeBSD.org>
> AuthorDate: 2023-02-27 21:01:32 +0000
> Commit: Matthias Andree <mandree@FreeBSD.org>
> CommitDate: 2023-02-27 21:04:52 +0000
>
> lang/python: Revert "add bytecode trigger"
>
> This reverts commit c17ddfbf66e2801ec620d49979aca3d7077d7002.
>
> This causes breakage on several ports, and the next iteration
> requires a full exp-run. See:
>
> Differential Revision: https://reviews.freebsd.org/D34739
> ---
> CHANGES | 8 -------
> Mk/Uses/python.mk | 25 ++++----------------
> UPDATING | 17 --------------
> lang/python310/Makefile | 12 ++++++----
> lang/python310/files/python3.10.ucl.in | 40 --------------------------------
> lang/python311/Makefile | 12 ++++++----
> lang/python311/files/python3.11.ucl.in | 40 --------------------------------
> lang/python37/Makefile | 11 +++++----
> lang/python37/files/python3.7.ucl.in | 42 ----------------------------------
> lang/python38/Makefile | 11 +++++----
> lang/python38/files/python3.8.ucl.in | 42 ----------------------------------
> lang/python39/Makefile | 12 ++++++----
> lang/python39/files/python3.9.ucl.in | 40 --------------------------------
> 13 files changed, 43 insertions(+), 269 deletions(-)
>
> diff --git a/CHANGES b/CHANGES
> index a8736d2217ea..2c65d5dbbe11 100644
> --- a/CHANGES
> +++ b/CHANGES
> @@ -10,14 +10,6 @@ in the release notes and/or placed into UPDATING.
>
> All ports committers are allowed to commit to this file.
>
> -20230215:
> -AUTHOR: vishwin@FreeBSD.org
> -
> - USES=python now includes SUB_LIST entries to facilitate common
> - substitutions for python.mk variables other than in ${PLIST}.
> - They are the same as PLIST_SUB, except PYTHON_INCLUDEDIR,
> - PYTHON_LIBDIR and PYTHON_SITELIBDIR include ${PREFIX}.
> -
> 20230111:
> AUTHOR: vishwin@FreeBSD.org
>
> diff --git a/Mk/Uses/python.mk b/Mk/Uses/python.mk
> index 2da705f42be1..e8b9d2b59343 100644
> --- a/Mk/Uses/python.mk
> +++ b/Mk/Uses/python.mk
> @@ -257,20 +257,17 @@
> # packages for different Python versions.
> # default: -py${PYTHON_SUFFIX}
> #
> -# Using USES=python also will add some useful entries to SUB_LIST and PLIST_SUB:
> +# Using USES=python also will add some useful entries to PLIST_SUB:
> #
> -# PYTHON_INCLUDEDIR=${PYTHONPREFIX_INCLUDEDIR}
> -# PYTHON_LIBDIR=${PYTHONPREFIX_LIBDIR}
> +# PYTHON_INCLUDEDIR=${PYTHONPREFIX_INCLUDEDIR:S;${PREFIX}/;;}
> +# PYTHON_LIBDIR=${PYTHONPREFIX_LIBDIR:S;${PREFIX}/;;}
> # PYTHON_PLATFORM=${PYTHON_PLATFORM}
> -# PYTHON_SITELIBDIR=${PYTHONPREFIX_SITELIBDIR}
> +# PYTHON_SITELIBDIR=${PYTHONPREFIX_SITELIBDIR:S;${PREFIX}/;;}
> # PYTHON_SUFFIX=${PYTHON_SUFFIX}
> # PYTHON_VER=${PYTHON_VER}
> # PYTHON_VERSION=${PYTHON_VERSION}
> #
> -# where PYTHON_INCLUDEDIR, PYTHON_LIBDIR and PYTHON_SITELIBDIR have their PREFIX
> -# stripped for PLIST_SUB.
> -#
> -# PYTHON2 and PYTHON3 will also be set according to the Python version:
> +# and PYTHON2 and PYTHON3 will be set according to the Python version:
> #
> # PYTHON2="" PYTHON3="@comment " for Python 2.x
> # PYTHON2="@comment " PYTHON3="" for Python 3.x
> @@ -788,16 +785,6 @@ ${_stage}_DEPENDS+= ${PYTHON_CMD}:${PYTHON_PORTSDIR}
> PREFIX= ${PYTHONBASE}
> . endif
>
> -# Substitutions for SUB_FILES
> -SUB_LIST+= PYTHON_INCLUDEDIR=${PYTHONPREFIX_INCLUDEDIR} \
> - PYTHON_LIBDIR=${PYTHONPREFIX_LIBDIR} \
> - PYTHON_PLATFORM=${PYTHON_PLATFORM} \
> - PYTHON_SITELIBDIR=${PYTHONPREFIX_SITELIBDIR} \
> - PYTHON_SUFFIX=${PYTHON_SUFFIX} \
> - PYTHON_EXT_SUFFIX=${PYTHON_EXT_SUFFIX} \
> - PYTHON_VER=${PYTHON_VER} \
> - PYTHON_VERSION=${PYTHON_VERSION}
> -
> # Substitutions for pkg-plist
> # Use a short form of the PYTHONPREFIX_*DIR variables; we don't need the
> # base directory in the plist file.
> @@ -810,10 +797,8 @@ PLIST_SUB+= PYTHON_INCLUDEDIR=${PYTHONPREFIX_INCLUDEDIR:S;${PREFIX}/;;} \
> PYTHON_VER=${PYTHON_VER} \
> PYTHON_VERSION=${PYTHON_VERSION}
> . if ${PYTHON_REL} < 30000
> -SUB_LIST+= PYTHON2="" PYTHON3="@comment "
> PLIST_SUB+= PYTHON2="" PYTHON3="@comment "
> . else
> -SUB_LIST+= PYTHON2="@comment " PYTHON3=""
> PLIST_SUB+= PYTHON2="@comment " PYTHON3=""
> . endif
>
> diff --git a/UPDATING b/UPDATING
> index 3f599f6b93bf..8b85cb1b5efc 100644
> --- a/UPDATING
> +++ b/UPDATING
> @@ -48,23 +48,6 @@ you update your ports collection, before attempting any port upgrades.
> # pkg set -o databases/mysql57-server:databases/mysql80-server
> # pkg upgrade
>
> -20230215:
> - AFFECTS: users of python
> - AUTHOR: vishwin@FreeBSD.org
> -
> - A trigger has been added to the lang/python3* ports to compile,
> - write and remove bytecode files (.pyc) in site-packages after all
> - pkg transactions have been completed. pkg will no longer manage
> - such files directly, as they are meant to be generated after
> - installation.
> -
> - For those ports/packages that still package bytecode, some package
> - checksum mismatches on those files may occur. This is harmless
> - and will be rectified.
> -
> - Technical details available at:
> - https://wiki.freebsd.org/Python/CompiledPackages
> -
> 20230213:
> Affects: users of sysutils/nut*
> AUTHOR: cy@FreeBSD.org
> diff --git a/lang/python310/Makefile b/lang/python310/Makefile
> index 4b2aafa07a63..f3c13fc09ffd 100644
> --- a/lang/python310/Makefile
> +++ b/lang/python310/Makefile
> @@ -1,6 +1,6 @@
> PORTNAME= python
> DISTVERSION= ${PYTHON_DISTVERSION}
> -PORTREVISION= 1
> +PORTREVISION= 2
> CATEGORIES= lang python
> MASTER_SITES= PYTHON/ftp/python/${DISTVERSION:C/[a-z].*//}
> PKGNAMESUFFIX= ${PYTHON_SUFFIX}
> @@ -15,8 +15,8 @@ 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 trigger
> +USES= compiler:c11 cpe ncurses pathfix pkgconfig readline \
> + shebangfix ssl tar:xz
> PATHFIX_MAKEFILEIN= Makefile.pre.in
> USE_LDCONFIG= yes
> GNU_CONFIGURE= yes
> @@ -25,7 +25,11 @@ 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
> -TRIGGERS= ${PYTHON_VERSION}
> +
> +# Duplicate python.mk variables. TODO: Let lang/python?? ports use python.mk bits.
> +PYTHON_VER= ${PYTHON_DISTVERSION:R}
> +PYTHON_VERSION= python${PYTHON_VER}
> +PYTHON_SUFFIX= ${PYTHON_VER:S/.//g}
>
> DISABLED_EXTENSIONS= _sqlite3 _tkinter _gdbm
> CONFIGURE_ARGS+= --enable-shared --without-ensurepip \
> diff --git a/lang/python310/files/python3.10.ucl.in b/lang/python310/files/python3.10.ucl.in
> deleted file mode 100644
> index 63d455839549..000000000000
> --- a/lang/python310/files/python3.10.ucl.in
> +++ /dev/null
> @@ -1,40 +0,0 @@
> -path_glob: "%%PYTHON_SITELIBDIR%%/*"
> -trigger: {
> - type: lua
> - sandbox: false
> - script: <<EOS
> -function cleanup(directory)
> - for _,d in ipairs(pkg.readdir(directory)) do
> - local full_path = directory .. "/" .. d
> - local stat = pkg.stat(full_path)
> - if stat["type"] == "dir" then
> - if (d ~= "__pycache__") then
> - cleanup(full_path)
> - else
> - for _,bytecode_file in ipairs(pkg.readdir(full_path)) do
> - local file_origin = string.gsub(bytecode_file, "[.]cpython[-]%%PYTHON_SUFFIX%%[.].*pyc", ".py")
> - if file_origin then
> - local origin_path = directory .. "/" .. file_origin
> - if (not pkg.stat(origin_path)) then
> - --print(" >=> removed stale bytecode " .. bytecode_file)
> - os.remove(full_path .. "/" .. bytecode_file)
> - end
> - end
> - end
> - end
> - local res = pkg.readdir(full_path)
> - if #res == 0 then
> - --print(" >=> removed empty directory " .. full_path )
> - os.remove(full_path)
> - end
> - end
> - end
> -end
> -
> -print(">=> Cleaning stale bytecode files...")
> -cleanup("%%PYTHON_SITELIBDIR%%")
> -
> -print(">=> Byte-compiling Python source files...")
> -pkg.exec({"%%PYTHON_VERSION%%", "-m", "compileall", "-q", "-o", "0", "-o", "1", "-o", "2", "%%PYTHON_SITELIBDIR%%"})
> -EOS
> -}
> diff --git a/lang/python311/Makefile b/lang/python311/Makefile
> index c1bbfa79002e..96c4215f8b0e 100644
> --- a/lang/python311/Makefile
> +++ b/lang/python311/Makefile
> @@ -1,6 +1,6 @@
> PORTNAME= python
> DISTVERSION= ${PYTHON_DISTVERSION}
> -PORTREVISION= 1
> +PORTREVISION= 2
> CATEGORIES= lang python
> MASTER_SITES= PYTHON/ftp/python/${DISTVERSION:C/[a-z].*//}
> PKGNAMESUFFIX= ${PYTHON_SUFFIX}
> @@ -15,8 +15,8 @@ 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 trigger
> +USES= compiler:c11 cpe ncurses pathfix pkgconfig readline \
> + shebangfix ssl tar:xz
> PATHFIX_MAKEFILEIN= Makefile.pre.in
> USE_LDCONFIG= yes
> GNU_CONFIGURE= yes
> @@ -25,7 +25,11 @@ 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
> -TRIGGERS= ${PYTHON_VERSION}
> +
> +# Duplicate python.mk variables. TODO: Let lang/python?? ports use python.mk bits.
> +PYTHON_VER= ${PYTHON_DISTVERSION:R}
> +PYTHON_VERSION= python${PYTHON_VER}
> +PYTHON_SUFFIX= ${PYTHON_VER:S/.//g}
>
> DISABLED_EXTENSIONS= _sqlite3 _tkinter _gdbm
> CONFIGURE_ARGS+= --enable-shared --without-ensurepip \
> diff --git a/lang/python311/files/python3.11.ucl.in b/lang/python311/files/python3.11.ucl.in
> deleted file mode 100644
> index 63d455839549..000000000000
> --- a/lang/python311/files/python3.11.ucl.in
> +++ /dev/null
> @@ -1,40 +0,0 @@
> -path_glob: "%%PYTHON_SITELIBDIR%%/*"
> -trigger: {
> - type: lua
> - sandbox: false
> - script: <<EOS
> -function cleanup(directory)
> - for _,d in ipairs(pkg.readdir(directory)) do
> - local full_path = directory .. "/" .. d
> - local stat = pkg.stat(full_path)
> - if stat["type"] == "dir" then
> - if (d ~= "__pycache__") then
> - cleanup(full_path)
> - else
> - for _,bytecode_file in ipairs(pkg.readdir(full_path)) do
> - local file_origin = string.gsub(bytecode_file, "[.]cpython[-]%%PYTHON_SUFFIX%%[.].*pyc", ".py")
> - if file_origin then
> - local origin_path = directory .. "/" .. file_origin
> - if (not pkg.stat(origin_path)) then
> - --print(" >=> removed stale bytecode " .. bytecode_file)
> - os.remove(full_path .. "/" .. bytecode_file)
> - end
> - end
> - end
> - end
> - local res = pkg.readdir(full_path)
> - if #res == 0 then
> - --print(" >=> removed empty directory " .. full_path )
> - os.remove(full_path)
> - end
> - end
> - end
> -end
> -
> -print(">=> Cleaning stale bytecode files...")
> -cleanup("%%PYTHON_SITELIBDIR%%")
> -
> -print(">=> Byte-compiling Python source files...")
> -pkg.exec({"%%PYTHON_VERSION%%", "-m", "compileall", "-q", "-o", "0", "-o", "1", "-o", "2", "%%PYTHON_SITELIBDIR%%"})
> -EOS
> -}
> diff --git a/lang/python37/Makefile b/lang/python37/Makefile
> index 459ebdfd771b..ec98e226f309 100644
> --- a/lang/python37/Makefile
> +++ b/lang/python37/Makefile
> @@ -1,6 +1,6 @@
> PORTNAME= python
> DISTVERSION= ${PYTHON_DISTVERSION}
> -PORTREVISION= 1
> +PORTREVISION= 2
> CATEGORIES= lang python
> MASTER_SITES= PYTHON/ftp/python/${DISTVERSION}
> PKGNAMESUFFIX= ${PYTHON_SUFFIX}
> @@ -19,14 +19,17 @@ EXPIRATION_DATE= 2023-06-27
> LIB_DEPENDS= libffi.so:devel/libffi \
> libmpdec.so:math/mpdecimal
>
> -USES= cpe ncurses pathfix pkgconfig python:${PYTHON_DISTVERSION:R},env readline \
> - shebangfix ssl tar:xz trigger
> +USES= cpe ncurses pathfix pkgconfig 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
> -TRIGGERS= ${PYTHON_VERSION}
> +
> +# Duplicate python.mk variables. TODO: Let lang/python?? ports use python.mk bits.
> +PYTHON_VER= ${PYTHON_DISTVERSION:R}
> +PYTHON_VERSION= python${PYTHON_VER}
> +PYTHON_SUFFIX= ${PYTHON_VER:S/.//g}
>
> DISABLED_EXTENSIONS= _sqlite3 _tkinter _gdbm
> CONFIGURE_ARGS+= --enable-shared --with-system-ffi --with-system-libmpdec --without-ensurepip
> diff --git a/lang/python37/files/python3.7.ucl.in b/lang/python37/files/python3.7.ucl.in
> deleted file mode 100644
> index a9ebb18f9c27..000000000000
> --- a/lang/python37/files/python3.7.ucl.in
> +++ /dev/null
> @@ -1,42 +0,0 @@
> -path_glob: "%%PYTHON_SITELIBDIR%%/*"
> -trigger: {
> - type: lua
> - sandbox: false
> - script: <<EOS
> -function cleanup(directory)
> - for _,d in ipairs(pkg.readdir(directory)) do
> - local full_path = directory .. "/" .. d
> - local stat = pkg.stat(full_path)
> - if stat["type"] == "dir" then
> - if (d ~= "__pycache__") then
> - cleanup(full_path)
> - else
> - for _,bytecode_file in ipairs(pkg.readdir(full_path)) do
> - local file_origin = string.gsub(bytecode_file, "[.]cpython[-]%%PYTHON_SUFFIX%%[.].*pyc", ".py")
> - if file_origin then
> - local origin_path = directory .. "/" .. file_origin
> - if (not pkg.stat(origin_path)) then
> - --print(" >=> removed stale bytecode " .. bytecode_file)
> - os.remove(full_path .. "/" .. bytecode_file)
> - end
> - end
> - end
> - end
> - local res = pkg.readdir(full_path)
> - if #res == 0 then
> - --print(" >=> removed empty directory " .. full_path )
> - os.remove(full_path)
> - end
> - end
> - end
> -end
> -
> -print(">=> Cleaning stale bytecode files...")
> -cleanup("%%PYTHON_SITELIBDIR%%")
> -
> -print(">=> Byte-compiling Python source files...")
> -pkg.exec({"%%PYTHON_VERSION%%", "-m", "compileall", "-q", "%%PYTHON_SITELIBDIR%%"})
> -pkg.exec({"%%PYTHON_VERSION%%", "-O", "-m", "compileall", "-q", "%%PYTHON_SITELIBDIR%%"})
> -pkg.exec({"%%PYTHON_VERSION%%", "-OO", "-m", "compileall", "-q", "%%PYTHON_SITELIBDIR%%"})
> -EOS
> -}
> diff --git a/lang/python38/Makefile b/lang/python38/Makefile
> index 056ff45a8f98..07d227c23956 100644
> --- a/lang/python38/Makefile
> +++ b/lang/python38/Makefile
> @@ -1,6 +1,6 @@
> PORTNAME= python
> DISTVERSION= ${PYTHON_DISTVERSION}
> -PORTREVISION= 1
> +PORTREVISION= 2
> CATEGORIES= lang python
> MASTER_SITES= PYTHON/ftp/python/${DISTVERSION}
> PKGNAMESUFFIX= ${PYTHON_SUFFIX}
> @@ -15,8 +15,7 @@ LICENSE= PSFL
>
> LIB_DEPENDS= libffi.so:devel/libffi
>
> -USES= cpe ncurses pathfix pkgconfig python:${PYTHON_DISTVERSION:R},env readline \
> - shebangfix ssl tar:xz trigger
> +USES= cpe ncurses pathfix pkgconfig readline shebangfix ssl tar:xz
> PATHFIX_MAKEFILEIN= Makefile.pre.in
> USE_LDCONFIG= yes
> GNU_CONFIGURE= yes
> @@ -25,7 +24,11 @@ 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
> -TRIGGERS= ${PYTHON_VERSION}
> +
> +# Duplicate python.mk variables. TODO: Let lang/python?? ports use python.mk bits.
> +PYTHON_VER= ${PYTHON_DISTVERSION:R}
> +PYTHON_VERSION= python${PYTHON_VER}
> +PYTHON_SUFFIX= ${PYTHON_VER:S/.//g}
>
> DISABLED_EXTENSIONS= _sqlite3 _tkinter _gdbm
> CONFIGURE_ARGS+= --enable-shared --without-ensurepip \
> diff --git a/lang/python38/files/python3.8.ucl.in b/lang/python38/files/python3.8.ucl.in
> deleted file mode 100644
> index a9ebb18f9c27..000000000000
> --- a/lang/python38/files/python3.8.ucl.in
> +++ /dev/null
> @@ -1,42 +0,0 @@
> -path_glob: "%%PYTHON_SITELIBDIR%%/*"
> -trigger: {
> - type: lua
> - sandbox: false
> - script: <<EOS
> -function cleanup(directory)
> - for _,d in ipairs(pkg.readdir(directory)) do
> - local full_path = directory .. "/" .. d
> - local stat = pkg.stat(full_path)
> - if stat["type"] == "dir" then
> - if (d ~= "__pycache__") then
> - cleanup(full_path)
> - else
> - for _,bytecode_file in ipairs(pkg.readdir(full_path)) do
> - local file_origin = string.gsub(bytecode_file, "[.]cpython[-]%%PYTHON_SUFFIX%%[.].*pyc", ".py")
> - if file_origin then
> - local origin_path = directory .. "/" .. file_origin
> - if (not pkg.stat(origin_path)) then
> - --print(" >=> removed stale bytecode " .. bytecode_file)
> - os.remove(full_path .. "/" .. bytecode_file)
> - end
> - end
> - end
> - end
> - local res = pkg.readdir(full_path)
> - if #res == 0 then
> - --print(" >=> removed empty directory " .. full_path )
> - os.remove(full_path)
> - end
> - end
> - end
> -end
> -
> -print(">=> Cleaning stale bytecode files...")
> -cleanup("%%PYTHON_SITELIBDIR%%")
> -
> -print(">=> Byte-compiling Python source files...")
> -pkg.exec({"%%PYTHON_VERSION%%", "-m", "compileall", "-q", "%%PYTHON_SITELIBDIR%%"})
> -pkg.exec({"%%PYTHON_VERSION%%", "-O", "-m", "compileall", "-q", "%%PYTHON_SITELIBDIR%%"})
> -pkg.exec({"%%PYTHON_VERSION%%", "-OO", "-m", "compileall", "-q", "%%PYTHON_SITELIBDIR%%"})
> -EOS
> -}
> diff --git a/lang/python39/Makefile b/lang/python39/Makefile
> index a577ab3e0b2e..c93a47e69fc3 100644
> --- a/lang/python39/Makefile
> +++ b/lang/python39/Makefile
> @@ -1,6 +1,6 @@
> PORTNAME= python
> DISTVERSION= ${PYTHON_DISTVERSION}
> -PORTREVISION= 1
> +PORTREVISION= 2
> CATEGORIES= lang python
> MASTER_SITES= PYTHON/ftp/python/${DISTVERSION}
> PKGNAMESUFFIX= ${PYTHON_SUFFIX}
> @@ -15,8 +15,8 @@ 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 trigger
> +USES= compiler:c11 cpe ncurses pathfix pkgconfig readline \
> + shebangfix ssl tar:xz
> PATHFIX_MAKEFILEIN= Makefile.pre.in
> USE_LDCONFIG= yes
> GNU_CONFIGURE= yes
> @@ -25,7 +25,11 @@ 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
> -TRIGGERS= ${PYTHON_VERSION}
> +
> +# Duplicate python.mk variables. TODO: Let lang/python?? ports use python.mk bits.
> +PYTHON_VER= ${PYTHON_DISTVERSION:R}
> +PYTHON_VERSION= python${PYTHON_VER}
> +PYTHON_SUFFIX= ${PYTHON_VER:S/.//g}
>
> DISABLED_EXTENSIONS= _sqlite3 _tkinter _gdbm
> CONFIGURE_ARGS+= --enable-shared --without-ensurepip \
> diff --git a/lang/python39/files/python3.9.ucl.in b/lang/python39/files/python3.9.ucl.in
> deleted file mode 100644
> index 63d455839549..000000000000
> --- a/lang/python39/files/python3.9.ucl.in
> +++ /dev/null
> @@ -1,40 +0,0 @@
> -path_glob: "%%PYTHON_SITELIBDIR%%/*"
> -trigger: {
> - type: lua
> - sandbox: false
> - script: <<EOS
> -function cleanup(directory)
> - for _,d in ipairs(pkg.readdir(directory)) do
> - local full_path = directory .. "/" .. d
> - local stat = pkg.stat(full_path)
> - if stat["type"] == "dir" then
> - if (d ~= "__pycache__") then
> - cleanup(full_path)
> - else
> - for _,bytecode_file in ipairs(pkg.readdir(full_path)) do
> - local file_origin = string.gsub(bytecode_file, "[.]cpython[-]%%PYTHON_SUFFIX%%[.].*pyc", ".py")
> - if file_origin then
> - local origin_path = directory .. "/" .. file_origin
> - if (not pkg.stat(origin_path)) then
> - --print(" >=> removed stale bytecode " .. bytecode_file)
> - os.remove(full_path .. "/" .. bytecode_file)
> - end
> - end
> - end
> - end
> - local res = pkg.readdir(full_path)
> - if #res == 0 then
> - --print(" >=> removed empty directory " .. full_path )
> - os.remove(full_path)
> - end
> - end
> - end
> -end
> -
> -print(">=> Cleaning stale bytecode files...")
> -cleanup("%%PYTHON_SITELIBDIR%%")
> -
> -print(">=> Byte-compiling Python source files...")
> -pkg.exec({"%%PYTHON_VERSION%%", "-m", "compileall", "-q", "-o", "0", "-o", "1", "-o", "2", "%%PYTHON_SITELIBDIR%%"})
> -EOS
> -}