[gentoo-dev] Last rites: dev-python/astropy & revdeps (incl. sci-astronomy/astrometry, sci-astronomy/kapteyn)
# Michał Górny (2019-11-29) # Astronomy-related Python packages and their revdeps. They are # unmaintained. Most of them are outdated. None of them were tested # on Python 3.7, some even on 3.6. The leaf packages are 2.7-only. # All of them depend on astropy which has an unconditional dependency # on ipython, which in turn dropped py2 support. # Bug #701454. Removal in 30 days. dev-python/aplpy dev-python/asdf dev-python/astlib dev-python/astrodendro dev-python/astroml-addons dev-python/astroml dev-python/astroplan dev-python/astropy-helpers dev-python/astropy dev-python/astroquery dev-python/astroscrappy dev-python/atpy dev-python/ccdproc dev-python/gammapy dev-python/ginga dev-python/glue-vispy-viewers dev-python/glueviz dev-python/gwcs dev-python/healpy dev-python/imexam dev-python/montage-wrapper dev-python/naima dev-python/photutils dev-python/pyavm dev-python/pydl dev-python/pyfits dev-python/pymoc dev-python/pyregion dev-python/regions dev-python/reproject dev-python/spectral-cube dev-python/specutils dev-python/stsci-distutils dev-python/stsci-sphinxext dev-python/sunpy dev-python/wcsaxes sci-astronomy/astrometry sci-astronomy/kapteyn -- Best regards, Michał Górny signature.asc Description: This is a digitally signed message part
[gentoo-dev] Packages up for grabs: app-admin/ngxtop, media-gfx/opencsg
Hello, Due to the inactivity of their maintainer, the following packages are now up for grabs: app-admin/ngxtop media-gfx/opencsg The former has no bugs open, the latter has one bug and a potentially interested proxied maintainer. -- Best regards, Michał Górny signature.asc Description: This is a digitally signed message part
[gentoo-dev] Packages up for grabs due to dev-zero's inactivity
Hello, The following packages are looking for a new maintainer due to dev- zero's inactivity: [ v] app-admin/authbind [ v] app-backup/ccollect [ ] app-emulation/libvirt-snmp [ ] app-misc/scrub [ ] dev-libs/faxpp [ ] dev-libs/ossp-uuid [s ] dev-python/restkit [ ] dev-util/cflow [bv] dev-util/source-highlight [ v] dev-vcs/git-cola [b ] net-dns/pdns-ldap-backend [b ] net-fs/wdfs [b ] sys-apps/edac-utils [ ] sys-apps/renameutils [ v] sys-devel/dwz [ v] www-misc/nx_util [ ] x11-misc/seetxt Legend: v - version bump pending b - bugs open s - security bugs open -- Best regards, Michał Górny signature.asc Description: This is a digitally signed message part
[gentoo-dev] Packages up for grabs due to alonbl's inactivity
Hello, The following packages are up for grabs now: [ v] app-arch/deltarpm [bv] app-laptop/laptop-mode-tools [bv] net-dns/openresolv [ ] net-firewall/firehol [b ] net-misc/iprange [b ] sys-apps/fakechroot [b ] sys-apps/fakeroot-ng [ ] sys-power/hibernate-script [ ] virtual/resolvconf Legend: b - bugs open v - version bump pending -- Best regards, Michał Górny signature.asc Description: This is a digitally signed message part
[gentoo-dev] [PATCH 1/3] distutils-r1.eclass: Depend on setuptools by default
Add a new DISTUTILS_USE_SETUPTOOLS top variable, and make it default to BDEPEND-ing on dev-python/setuptools (which should be correct for the majority of packages). Packages that either need RDEPEND or no dependency at all can override it. Also add a check for correct value in esetup.py. This should make it easy for developers to adjust the new variable in their packages. Signed-off-by: Michał Górny --- eclass/distutils-r1.eclass | 82 +++--- 1 file changed, 76 insertions(+), 6 deletions(-) diff --git a/eclass/distutils-r1.eclass b/eclass/distutils-r1.eclass index f44f0aee9c21..083a72bd0589 100644 --- a/eclass/distutils-r1.eclass +++ b/eclass/distutils-r1.eclass @@ -77,9 +77,23 @@ esac # to be exported. It must be run in order for the eclass functions # to function properly. +# @ECLASS-VARIABLE: DISTUTILS_USE_SETUPTOOLS +# @PRE_INHERIT +# @DESCRIPTION: +# Controls adding dev-python/setuptools dependency. The allowed values +# are: +# +# - no -- do not add the dependency (pure distutils package) +# - bdepend -- add it to BDEPEND (the default) +# - rdepend -- add it to BDEPEND+RDEPEND (when using entry_points) +# +# This variable is effective only if DISTUTILS_OPTIONAL is disabled. +# It needs to be set before the inherit line. +: ${DISTUTILS_USE_SETUPTOOLS:=bdepend} + if [[ ! ${_DISTUTILS_R1} ]]; then -[[ ${EAPI} == [45] ]] && inherit eutils +[[ ${EAPI} == [456] ]] && inherit eutils [[ ${EAPI} == [56] ]] && inherit xdg-utils inherit multiprocessing toolchain-funcs @@ -97,15 +111,35 @@ fi if [[ ! ${_DISTUTILS_R1} ]]; then -if [[ ! ${DISTUTILS_OPTIONAL} ]]; then - RDEPEND=${PYTHON_DEPS} +_distutils_set_globals() { + local rdep=${PYTHON_DEPS} + local bdep=${rdep} + + case ${DISTUTILS_USE_SETUPTOOLS} in + no) + ;; + bdepend) + bdep+=" dev-python/setuptools[${PYTHON_USEDEP}]" + ;; + rdepend) + bdep+=" dev-python/setuptools[${PYTHON_USEDEP}]" + rdep+=" dev-python/setuptools[${PYTHON_USEDEP}]" + ;; + *) + die "Invalid DISTUTILS_USE_SETUPTOOLS=${DISTUTILS_USE_SETUPTOOLS}" + ;; + esac + + RDEPEND=${rdep} if [[ ${EAPI} != [56] ]]; then - BDEPEND=${PYTHON_DEPS} + BDEPEND=${bdep} else - DEPEND=${PYTHON_DEPS} + DEPEND=${bdep} fi REQUIRED_USE=${PYTHON_REQUIRED_USE} -fi +} +[[ ! ${DISTUTILS_OPTIONAL} ]] && _distutils_set_globals +unset -f _distutils_set_globals # @ECLASS-VARIABLE: PATCHES # @DEFAULT_UNSET @@ -395,6 +429,41 @@ distutils_enable_tests() { return 0 } +# @FUNCTION: _distutils-r1_verify_use_setuptools +# @INTERNAL +# @DESCRIPTION: +# Check setup.py for signs that DISTUTILS_USE_SETUPTOOLS have been set +# incorrectly. +_distutils_verify_use_setuptools() { + [[ ${DISTUTILS_OPTIONAL} ]] && return + + # ok, those are cheap greps. we can try toimprove them if we hit + # false positives. + local expected=no + if [[ ${CATEGORY}/${PN} == dev-python/setuptools ]]; then + # as a special case, setuptools provides itself ;-) + : + elif grep -E -q -s '(from|import)\s+setuptools' setup.py; then + if grep -E -q -s 'entry_points\s+=' setup.py; then + expected=rdepend + else + expected=bdepend + fi + fi + + if [[ ${DISTUTILS_USE_SETUPTOOLS} != ${expected} ]]; then + if [[ ! ${_DISTUTILS_SETUPTOOLS_WARNED} ]]; then + _DISTUTILS_SETUPTOOLS_WARNED=1 + local def= + [[ ${DISTUTILS_USE_SETUPTOOLS} == bdepend ]] && def=' (default?)' + + eqawarn "DISTUTILS_USE_SETUPTOOLS value is probably incorrect" + eqawarn " value: DISTUTILS_USE_SETUPTOOLS=${DISTUTILS_USE_SETUPTOOLS}${def}" + eqawarn " expected: DISTUTILS_USE_SETUPTOOLS=${expected}" + fi + fi +} + # @FUNCTION: esetup.py # @USAGE: [...] # @DESCRIPTION: @@ -417,6 +486,7 @@ esetup.py() { [[ ${EAPI} != [45] ]] && die_args+=( -n ) [[ ${BUILD_DIR} ]] && _distutils-r1_create_setup_cfg + _distutils_verify_use_setuptools set -- "${EPYTHON:-python}" setup.py "${mydistutilsargs[@]}" "${@}" -- 2.24.0
[gentoo-dev] [PATCH 2/3] dev-python/setuptools: Disable setuptools self-dependency
Signed-off-by: Michał Górny --- dev-python/setuptools/setuptools-40.6.3.ebuild | 1 + dev-python/setuptools/setuptools-41.5.1.ebuild | 1 + dev-python/setuptools/setuptools-42.0.0.ebuild | 1 + dev-python/setuptools/setuptools-42.0.1.ebuild | 1 + dev-python/setuptools/setuptools-.ebuild | 1 + 5 files changed, 5 insertions(+) diff --git a/dev-python/setuptools/setuptools-40.6.3.ebuild b/dev-python/setuptools/setuptools-40.6.3.ebuild index d5d482efd58e..a21883a89f89 100644 --- a/dev-python/setuptools/setuptools-40.6.3.ebuild +++ b/dev-python/setuptools/setuptools-40.6.3.ebuild @@ -2,6 +2,7 @@ # Distributed under the terms of the GNU General Public License v2 EAPI=6 +DISTUTILS_USE_SETUPTOOLS=no PYTHON_COMPAT=( python2_7 python3_{5,6,7} pypy{,3} ) PYTHON_REQ_USE="xml(+)" diff --git a/dev-python/setuptools/setuptools-41.5.1.ebuild b/dev-python/setuptools/setuptools-41.5.1.ebuild index ff4a7aa54630..a7b9022b6a0c 100644 --- a/dev-python/setuptools/setuptools-41.5.1.ebuild +++ b/dev-python/setuptools/setuptools-41.5.1.ebuild @@ -2,6 +2,7 @@ # Distributed under the terms of the GNU General Public License v2 EAPI=7 +DISTUTILS_USE_SETUPTOOLS=no PYTHON_COMPAT=( python2_7 python3_{5,6,7,8} pypy{,3} ) PYTHON_REQ_USE="xml(+)" diff --git a/dev-python/setuptools/setuptools-42.0.0.ebuild b/dev-python/setuptools/setuptools-42.0.0.ebuild index e7aa7c945a85..8c33401e75bd 100644 --- a/dev-python/setuptools/setuptools-42.0.0.ebuild +++ b/dev-python/setuptools/setuptools-42.0.0.ebuild @@ -2,6 +2,7 @@ # Distributed under the terms of the GNU General Public License v2 EAPI=7 +DISTUTILS_USE_SETUPTOOLS=no PYTHON_COMPAT=( python2_7 python3_{5,6,7,8} pypy{,3} ) PYTHON_REQ_USE="xml(+)" diff --git a/dev-python/setuptools/setuptools-42.0.1.ebuild b/dev-python/setuptools/setuptools-42.0.1.ebuild index 0c293d1ea950..58369bab16cb 100644 --- a/dev-python/setuptools/setuptools-42.0.1.ebuild +++ b/dev-python/setuptools/setuptools-42.0.1.ebuild @@ -2,6 +2,7 @@ # Distributed under the terms of the GNU General Public License v2 EAPI=7 +DISTUTILS_USE_SETUPTOOLS=no PYTHON_COMPAT=( python2_7 python3_{5,6,7,8} pypy{,3} ) PYTHON_REQ_USE="xml(+)" diff --git a/dev-python/setuptools/setuptools-.ebuild b/dev-python/setuptools/setuptools-.ebuild index 8d522c4213f5..34b0627c0728 100644 --- a/dev-python/setuptools/setuptools-.ebuild +++ b/dev-python/setuptools/setuptools-.ebuild @@ -2,6 +2,7 @@ # Distributed under the terms of the GNU General Public License v2 EAPI=7 +DISTUTILS_USE_SETUPTOOLS=no PYTHON_COMPAT=( python2_7 python3_{5,6,7,8} pypy{,3} ) PYTHON_REQ_USE="xml(+)" -- 2.24.0
[gentoo-dev] Packages up for grabs due to creffett's inactivity
Hi, The following packages are looking for a new maintainer: [b?] app-misc/xmind [ v] app-office/projectlibre-bin [ ] games-roguelike/dwarf-fortress [bv] sci-misc/netlogo-bin [ v] sys-apps/lnxhc Also he's the sole member of theology project, so that one might need help as well. -- Best regards, Michał Górny signature.asc Description: This is a digitally signed message part
[gentoo-dev] [PATCH 3/3] sys-apps/portage: Disable setuptools dependency
Signed-off-by: Michał Górny --- sys-apps/portage/portage-2.3.66-r1.ebuild | 1 + sys-apps/portage/portage-2.3.69.ebuild| 1 + sys-apps/portage/portage-2.3.76-r1.ebuild | 1 + sys-apps/portage/portage-2.3.79.ebuild| 1 + sys-apps/portage/portage-2.3.80-r1.ebuild | 1 + sys-apps/portage/portage-.ebuild | 1 + 6 files changed, 6 insertions(+) diff --git a/sys-apps/portage/portage-2.3.66-r1.ebuild b/sys-apps/portage/portage-2.3.66-r1.ebuild index b7031ec44e2f..7f5d996b6ab5 100644 --- a/sys-apps/portage/portage-2.3.66-r1.ebuild +++ b/sys-apps/portage/portage-2.3.66-r1.ebuild @@ -3,6 +3,7 @@ EAPI=5 +DISTUTILS_USE_SETUPTOOLS=no PYTHON_COMPAT=( pypy python3_5 python3_6 python3_7 diff --git a/sys-apps/portage/portage-2.3.69.ebuild b/sys-apps/portage/portage-2.3.69.ebuild index fbbb9c85705c..854c01cd6e53 100644 --- a/sys-apps/portage/portage-2.3.69.ebuild +++ b/sys-apps/portage/portage-2.3.69.ebuild @@ -3,6 +3,7 @@ EAPI=5 +DISTUTILS_USE_SETUPTOOLS=no PYTHON_COMPAT=( pypy python3_5 python3_6 python3_7 diff --git a/sys-apps/portage/portage-2.3.76-r1.ebuild b/sys-apps/portage/portage-2.3.76-r1.ebuild index ff8abf53e72d..28afff0ae724 100644 --- a/sys-apps/portage/portage-2.3.76-r1.ebuild +++ b/sys-apps/portage/portage-2.3.76-r1.ebuild @@ -3,6 +3,7 @@ EAPI=5 +DISTUTILS_USE_SETUPTOOLS=no PYTHON_COMPAT=( pypy python3_5 python3_6 python3_7 diff --git a/sys-apps/portage/portage-2.3.79.ebuild b/sys-apps/portage/portage-2.3.79.ebuild index 163dfbc60ec7..fef4b86a2498 100644 --- a/sys-apps/portage/portage-2.3.79.ebuild +++ b/sys-apps/portage/portage-2.3.79.ebuild @@ -3,6 +3,7 @@ EAPI=5 +DISTUTILS_USE_SETUPTOOLS=no PYTHON_COMPAT=( pypy python3_5 python3_6 python3_7 python3_8 diff --git a/sys-apps/portage/portage-2.3.80-r1.ebuild b/sys-apps/portage/portage-2.3.80-r1.ebuild index 6d384ab8fdd8..494eb2b43686 100644 --- a/sys-apps/portage/portage-2.3.80-r1.ebuild +++ b/sys-apps/portage/portage-2.3.80-r1.ebuild @@ -3,6 +3,7 @@ EAPI=5 +DISTUTILS_USE_SETUPTOOLS=no PYTHON_COMPAT=( pypy python3_5 python3_6 python3_7 python3_8 diff --git a/sys-apps/portage/portage-.ebuild b/sys-apps/portage/portage-.ebuild index 6401c40dee2a..04544afb66d4 100644 --- a/sys-apps/portage/portage-.ebuild +++ b/sys-apps/portage/portage-.ebuild @@ -3,6 +3,7 @@ EAPI=6 +DISTUTILS_USE_SETUPTOOLS=no PYTHON_COMPAT=( pypy python3_5 python3_6 python3_7 python3_8 -- 2.24.0
Re: [gentoo-dev] Migrate away from python-2 or not
> I tried removing python2 on a handful of test systems over the last week > ... it's back everywhere. > > I attempted the same over the last couple of days as I was thinking "It's going anyway, why not get a head start?". I had to do the following: * Remove metagen * Remove rr * Update kodi and related packages to (I know they are working on getting their 19.0 package out asap because of the 2.7 EOL) * Update clang and related packages to 9.0.0 * Remove python dependency in libdbusmenu (it's not needed, PR here: https://github.com/gentoo/gentoo/pull/13790) * Port gnome-doc-utils to python3 ( https://github.com/gentoo/gentoo/pull/13791) * Remove qt-creator as it depends on clang 8, changing USE to -clang would also work but not really using it anyway atm * Remove gconf dep from discord-bin ( https://github.com/gentoo/gentoo/pull/13793) * Remove gconf dep from spotify (https://github.com/gentoo/gentoo/pull/13794 ) * Update gcr to 3.34.0 (https://github.com/gentoo/gentoo/pull/13798) * Unmask a number of other packages that luckily did have updated versions available: samba, talloc, javatoolkit, tdb, tevent, ldb, itstool, dropbox-cli, nodejs * Unmerge typing (now provided by python package) * Reinstall m2crypto, python-typing, scons * Reinstall crda with patch in https://bugs.gentoo.org/693728 * Manually fix some packages that were not being selected for emerge by -N: m2crypto, virtual/python-typing, typing, scons Unfortunately I was not able to completely purge python2.7 from my system. The base package is still installed as it is required to build qtwebkit, qtwebengine, zziplib, firefox and spidermonkey. At least however I am now running with -python_targets_python2_7 so there's that. br, Mathy
Re: [gentoo-dev] Packages up for grabs due to dev-zero's inactivity
On 11/29/19 10:12 AM, Michał Górny wrote: Hello, The following packages are looking for a new maintainer due to dev- zero's inactivity: [ ] app-emulation/libvirt-snmp As an upstream maintainer of this package I'm also willing to maintain it in Gentoo. However, so far I'm not a maintainer of any Gentoo package although I have couple of patches merged in. Michal
[gentoo-dev] [PATCH] python*-r1.eclass: Deprecate python_gen_usedep
Deprecate python_gen_usedep() in favor of python_gen_cond_dep(). The latter is a newer API that generates full USE-conditional blocks rather than pure USE-dependency strings. As such, it can replace all uses of the former, and is safer to use in general. In particular: dev-python/foo[$(python_gen_usedep -2)] dev-python/bar[$(python_gen_usedep -2)] installs the dependency (with no implementation match enforced) even if there's no python2 implementation enabled, while: $(python_gen_cond_dep ' dev-python/foo[${PYTHON_USEDEP}] dev-python/bar[${PYTHON_USEDEP}] ' -2) installs it only if there's at least one implementation requiring it. Since the functions are used in global scope only, a deprecation warning is emitted only once, during the sourcing for pkg_setup phase. This avoids having it output during metadata cache regeneration. Signed-off-by: Michał Górny --- eclass/python-r1.eclass| 59 +- eclass/python-single-r1.eclass | 59 +- 2 files changed, 88 insertions(+), 30 deletions(-) diff --git a/eclass/python-r1.eclass b/eclass/python-r1.eclass index 7665edbd87e3..1d23cfa9177c 100644 --- a/eclass/python-r1.eclass +++ b/eclass/python-r1.eclass @@ -276,9 +276,47 @@ _python_validate_useflags() { die "No supported Python implementation in PYTHON_TARGETS." } +# @FUNCTION: _python_gen_usedep +# @INTERNAL +# @USAGE: [...] +# @DESCRIPTION: +# Output a USE dependency string for Python implementations which +# are both in PYTHON_COMPAT and match any of the patterns passed +# as parameters to the function. +# +# The patterns can be either fnmatch-style patterns (matched via bash +# == operator against PYTHON_COMPAT values) or '-2' / '-3' to indicate +# appropriately all enabled Python 2/3 implementations (alike +# python_is_python3). Remember to escape or quote the fnmatch patterns +# to prevent accidental shell filename expansion. +# +# This is an internal function used to implement python_gen_cond_dep +# and deprecated python_gen_usedep. +_python_gen_usedep() { + debug-print-function ${FUNCNAME} "${@}" + + local impl matches=() + + for impl in "${_PYTHON_SUPPORTED_IMPLS[@]}"; do + if _python_impl_matches "${impl}" "${@}"; then + matches+=( + "python_targets_${impl}(-)?" + "-python_single_target_${impl}(-)" + ) + fi + done + + [[ ${matches[@]} ]] || die "No supported implementations match python_gen_usedep patterns: ${@}" + + local out=${matches[@]} + echo "${out// /,}" +} + # @FUNCTION: python_gen_usedep # @USAGE: [...] # @DESCRIPTION: +# DEPRECATED. Please use python_gen_cond_dep instead. +# # Output a USE dependency string for Python implementations which # are both in PYTHON_COMPAT and match any of the patterns passed # as parameters to the function. @@ -306,21 +344,12 @@ _python_validate_useflags() { python_gen_usedep() { debug-print-function ${FUNCNAME} "${@}" - local impl matches=() - - for impl in "${_PYTHON_SUPPORTED_IMPLS[@]}"; do - if _python_impl_matches "${impl}" "${@}"; then - matches+=( - "python_targets_${impl}(-)?" - "-python_single_target_${impl}(-)" - ) - fi - done - - [[ ${matches[@]} ]] || die "No supported implementations match python_gen_usedep patterns: ${@}" - - local out=${matches[@]} - echo "${out// /,}" + # output only once, during some reasonable phase + # (avoid spamming cache regen runs) + if [[ ${EBUILD_PHASE} == setup ]]; then + eqawarn "python_gen_usedep() is deprecated. Please use python_gen_cond_dep instead." + fi + _python_gen_usedep "${@}" } # @FUNCTION: python_gen_useflags diff --git a/eclass/python-single-r1.eclass b/eclass/python-single-r1.eclass index 8ac17b7815e2..6abaf1923d20 100644 --- a/eclass/python-single-r1.eclass +++ b/eclass/python-single-r1.eclass @@ -265,9 +265,47 @@ unset -f _python_single_set_globals if [[ ! ${_PYTHON_SINGLE_R1} ]]; then +# @FUNCTION: _python_gen_usedep +# @INTERNAL +# @USAGE: [...] +# @DESCRIPTION: +# Output a USE dependency string for Python implementations which +# are both in PYTHON_COMPAT and match any of the patterns passed +# as parameters to the function. +# +# The patterns can be either fnmatch-style patterns (matched via bash +# == operator against PYTHON_COMPAT values) or '-2' / '-3' to indicate +# appropriately all enabled Python 2/3 implementations (alike +# python_is_python3). Remember to escape or quote the fnmatch patterns +# to prevent accidental shell filename expansion. +# +# This is an internal function used to implement python_gen_cond_dep +# and deprecated python_gen_usedep. +_python_gen_usedep() { +
Re: [gentoo-dev] Migrate away from python-2 or not
[2019-11-29 14:49:12+0100] Mathy Vanvoorden: > > I tried removing python2 on a handful of test systems over the last week > > ... it's back everywhere. > > > > > I attempted the same over the last couple of days as I was thinking "It's > going anyway, why not get a head start?". I had to do the following: > > * Remove metagen > * Remove rr > * Update kodi and related packages to (I know they are working on > getting their 19.0 package out asap because of the 2.7 EOL) > * Update clang and related packages to 9.0.0 > * Remove python dependency in libdbusmenu (it's not needed, PR here: > https://github.com/gentoo/gentoo/pull/13790) > * Port gnome-doc-utils to python3 ( > https://github.com/gentoo/gentoo/pull/13791) > * Remove qt-creator as it depends on clang 8, changing USE to -clang would > also work but not really using it anyway atm > * Remove gconf dep from discord-bin ( > https://github.com/gentoo/gentoo/pull/13793) > * Remove gconf dep from spotify (https://github.com/gentoo/gentoo/pull/13794 > ) > * Update gcr to 3.34.0 (https://github.com/gentoo/gentoo/pull/13798) > * Unmask a number of other packages that luckily did have updated versions > available: samba, talloc, javatoolkit, tdb, tevent, ldb, itstool, > dropbox-cli, nodejs > * Unmerge typing (now provided by python package) > * Reinstall m2crypto, python-typing, scons > * Reinstall crda with patch in https://bugs.gentoo.org/693728 > * Manually fix some packages that were not being selected for emerge by -N: > m2crypto, virtual/python-typing, typing, scons > > Unfortunately I was not able to completely purge python2.7 from my system. > The base package is still installed as it is required to build qtwebkit, > qtwebengine, zziplib, firefox and spidermonkey. At least however I am now > running with -python_targets_python2_7 so there's that. Been running my server without python2 since… 2019-11-16 I thought it was more than that but still quite a lot considering that I kept clang-8 for a while before switching to clang-9 on it. (I use clang as main compiler, I'm also deprecating gcc so prefer to play it safe) I still have a bunch of stuff on my desktop requiring python2, like nodejs or renpy but it's getting quite better in the last months, one I'm trully fearing about how it will go is dev-util/scons, I guess a lot of patches will be required on the releases. I think this kind of discussion might be better on the forums or a user list btw.