Skip to content
This repository has been archived by the owner on May 30, 2023. It is now read-only.

Package updates, 2021 edition, part 2 - python update #329

Merged
merged 47 commits into from
May 25, 2022

Conversation

krnowak
Copy link
Contributor

@krnowak krnowak commented May 18, 2022

Python updated turned out to be quite a large update, mostly because Gentoo did an overhaul of the way python packages can be built and the overhaul became stable. It is done through distutils-r1.eclass, and it started pulling a bunch of packages. Those in turn had a lot of dependencies which in effect ballooned this PR. But, in essence, this PR is about updating dev-lang/python and dev-python packages, and syncing the relevant eclasses (basically python eclasses + eclasses that these python eclasses also inherit).

Contents of this PR:

  • dev-db/sqlite
    • 3.34.1 -> 3.38.1
    • JSON extension is not build, because it's built-in now
  • dev-lang/python
    • 3.9.8 -> 3.9.12
    • new IUSE flags which we don't enable - lto, pgo
  • dev-python/cython
    • 0.29.23 -> 0.29.28
    • use EAPI 8
    • use new python build infra (setuptools)
  • dev-python/docutils
    • 0.17.1 -> 0.18.1
    • EAPI 8
  • dev-python/flit_core
    • new package - 3.7.1
    • dependency of distutils eclass
  • dev-python/gpep517
    • new package - 3
    • pulls in dev-python/installer
    • dependency of distutils eclass
  • dev-python/importlib_metadata
    • new package - 4.11.3
    • dependency of dev-python/setuptools and dev-python/nspektr
    • pulls in dev-python/zipp
  • dev-python/installer
    • new package - 0.5.0
    • dependency of dev-python/gpep517
  • dev-python/jaraco-context
    • new package - 4.1.1-r2
    • dependency of dev-python/jaraco-text and dev-python/nspektr
  • dev-python/jaraco-functools
    • new package - 3.5.0-r2
    • dependency of dev-python/jaraco-text and dev-python/nspektr
    • pulls in dev-python/more-itertools
  • dev-python/jaraco-text
    • new package - 3.7.0-r2
    • dependency of dev-python/setuptools
    • pulls in dev-python/jaraco-context, dev-python/jaraco-functools
  • dev-python/jinja
    • 2.11.2-r1 -> 3.1.1
    • use EAPI 8
    • use new python build infra (setuptools)
  • dev-python/lazy-object-proxy
    • 1.5.0 -> 1.7.1
    • use EAPI 8
  • dev-python/lxml
    • 4.6.3-r1 -> 4.8.0-r1
    • use EAPI 8
    • use new python build infra (setuptools)
  • dev-python/mako
    • 1.1.4 -> 1.2.0
    • use EAPI 8
    • use new python build infra (setuptools)
  • dev-python/markupsafe
    • 2.0.1 -> 2.1.1
    • use EAPI 8
    • use new python build infra (setuptools)
  • dev-python/more-itertools
    • new package - 8.12.0-r1
    • dependency of dev-python/setuptools and dev-python/jaraco-functools
  • dev-python/nspektr
    • new package - 0.3.0
    • dependency of dev-python/setuptools
    • pulls in dev-python/jaraco-context, dev-python/jaraco-functools, dev-python/more-itertools and dev-python/importlib_metadata
  • dev-python/ordered-set
    • new package - 4.1.0
    • dependency of dev-python/setuptools
  • dev-python/packaging
    • 21.0 -> 21.3-r2
    • use new python build infra (flit)
  • dev-python/pygments
    • 2.10.0 -> 2.11.2
    • use EAPI 8
    • some new dependencies, but only for testing, which we disable
  • dev-python/pyparsing
    • 2.4.7-r1 -> 3.0.7-r1
    • use new python build infra (flit)
  • dev-python/setuptools
    • 57.5.0 -> 62.1.0
    • use new python build infra (standalone)
    • new dependencies: dev-python/appdirs (new), dev-python/jaraco-text (new), dev-python/more-itertools (new), dev-python/nspektr (new), dev-python/ordered-set (new), dev-python/importlib_metadata (new) and dev-python/wheel (new)
      • very likely those deps come from the fact that the ebuild stopped using bundled stuff
  • dev-python/setuptools_scm
    • 6.3.2 -> 6.4.1
    • use new python build infra (setuptools)
  • dev-python/six
    • still at 1.16.0
    • no changes actually (new unstable version of the ebuild got pulled in)
  • dev-python/snakeoil
    • 0.9.5 -> 0.9.10
    • use EAPI 8
  • dev-python/tomli
    • 1.2.1 -> 2.0.1
    • added dependency on app-arch/unzip
    • dependency of dev-python/gpep517
  • dev-python/wheel
    • new package - 0.37.1-r1
    • dependency of dev-python/setuptools and distutils eclass
  • dev-python/zipp
    • new package - 3.8.0
    • dependency of dev-python/importlib_metadata
  • sys-libs/gdbm
    • 1.20 -> 1.22
    • just a version update
  • sys-libs/readline
    • 8.1_p1-r1 -> 8.1_p2
    • just a suffix update
  • eclass/distutils-r1.eclass
    • seems to bring in some new way of building python packages (DISTUTILS_USE_PEP517), which may require a bunch of new packages (dev-python/{setuptools,flit-core,installer,…})
    • not pulling every package listed in the eclass - most seem to be not used in portage-stable
  • eclass/eutils.eclass
    • this only drops flatcar modification that added support for old EAPIs
  • eclass/multibuild.eclass
    • drops support for old EAPIs
    • drops deprecated stuff
    • simplifications around cp - assumes that --reflink parameter is understood by cp
  • eclass/multilib.eclass
    • drop flatcar modification that added support for old EAPIs
    • some loongarch64 and riscv stuff
  • eclass/multiprocessing.eclass
    • drop flatcar modification that added support for old EAPIs
    • defaults to nproc if no number is passed to -j
  • eclass/preserve-libs.eclass
    • drop flatcar modification that added support for old EAPIs
    • some cleanups (no need to handle old EAPIs)
  • eclass/python-any-r1.eclass
    • some simplifications around checking supported python impls
  • eclass/python-r1.eclass
    • drops deprecated stuff
    • some simplification in checking deps
  • eclass/python-single-r1.eclass
    • simplifications around replacing PYTHON_SINGLE_USEDEP
  • eclass/python-utils-r1.eclass
    • obsoletes some python versions we are not using anyway
    • drops some private API
    • PYTHON_PKG_DEP for python3.9 seems to be bumped to dev-lang/python-3.9.9-r1:3.9
    • some refactoring of shebang replacements, sphinx-build calling, pytest invoking
    • adds support for python 3.11
  • eclass/strip-linguas.eclass
    • drop flatcar modification that added support for old EAPIs
  • eclass/toolchain-funcs.eclass
    • drop flatcar modification that added support for old EAPIs
  • eclass/vcs-clean.eclass
    • drop flatcar modification that added support for old EAPIs
  • eclass/xdg-utils.eclss
    • drop flatcar modification that added support for old EAPIs

Should be merged together with flatcar-archive/coreos-overlay#1900.

CI passed: http://jenkins.infra.kinvolk.io:8080/job/os/job/manifest/5711/cldsv/

  • Changelog entries added in the respective changelog/ directory (user-facing change, bug fix, security fix, update)

Copy link
Contributor

@dongsupark dongsupark left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Changelog for dev-db/sqlite, dev-lang/python, sys-libs/gdbm would be great.

I am not sure I like adding 37 additional ebuilds, which result in a bigger SDK size.
Though I do not have a better idea.

sys-libs/timezone-data/timezone-data-2021a-r1.ebuild Outdated Show resolved Hide resolved
@krnowak
Copy link
Contributor Author

krnowak commented May 19, 2022

Changelog for dev-db/sqlite, dev-lang/python, sys-libs/gdbm would be great.

Right, will do.

I am not sure I like adding 37 additional ebuilds, which result in a bigger SDK size. Though I do not have a better idea.

Yeah, that stinks. I'm running a small experiment at the moment - I'm trying to drop dev-python/pylint from SDK. That allowed me to drop some packages, among those is dev-python/isort. The dev-python/isort package is the only package after the update that uses dev-python/poetry-core as its build system. The poetry stuff is pulling (directly or indirectly) a bunch of packages. Let's see what the reduction in new packages will be afterwards.

krnowak added 24 commits May 23, 2022 18:39
It's from Gentoo commit c19184d3fa2b7d6b2a0da7631085d2b46c14f1a6.
It's from Gentoo commit 07fb1103700af6440f5a9df8cee2eb32847d7c65.
It's from Gentoo commit 8b89c94f6f4a996057010f197cd06b18309dabe7.
It's from Gentoo commit c9f863c54ce231c34d6433ee6a030baaaa1fb167.
It's from Gentoo commit badad07fbd7d3b86bdb9fd9b7bf3242c6e4c7e4b.
It's from Gentoo commit 9e02735aeef9bdcf5548607f392e348c9b9bc0ef.
It's from Gentoo commit 896273c19146f20e7077796790787062bf29970f.
It's from Gentoo commit 1779c5dddbdb396aa84d3e2d06c0b9c9a6cd71a4.
It's from Gentoo commit 5a0ea1497f6dab19a26b56045b2931b988a468cf.
It's from Gentoo commit 90bce21732b6ff2e96755d36589da2b2dbfa5a87.
It's from Gentoo commit 3c435874bcdc80774cf028a632e99bd210a32947.
It's from Gentoo commit ad3d5c8f1296acbe8111bb320e45a79b7e9499c3.
It's from Gentoo commit fe2224d276bacc3181c94ed4161555ba8564916d.
It's from Gentoo commit 4daaf1ad23d7fcb5a702c5f3a10009048d3112db.

It's a dependency of dev-python/setuptools.
It's from Gentoo commit ad04b8e6d0e1c17bb879f74200c6a88754a034b0.

It's a dependency of dev-python/setuptools.
It's from Gentoo commit 953aaa6c14650b6129775085a1a79f4fe2eeedda.

It's a dependency of dev-python/setuptools.
It's from Gentoo commit 293c0419c5a5e7415927ebbc44be467a6e2b4603.

It's a dependency of dev-python/jaraco-text and dev-python/nspektr.
It's from Gentoo commit 82d10094d2c1d898047b03f7fafaa92e06f09ec1.

It's a dependency of dev-python/jaraco-text and dev-python/nspektr.
It's from Gentoo commit cada3bc03f3d12092931f8b3a61fd1ede7d5b510.

It's a dependency of dev-python/jaraco-functools and
dev-python/setuptools.
It's from Gentoo commit f5a1eba452c14af3aa650d17ba1fb3ee70cb6962.

It's a dependency of dev-python/setuptools.
It's from Gentoo commit 7dd70d4df2ab47848f37c46b7f98a9a29c2f07f8.

It's a dependency of dev-python/setuptools and dev-python/nspektr.
It's from Gentoo commit 38679f1de08fd0b87579439d5ad4aeee2ce1ef7e.

It's a dependency of dev-python/importlib_metadata.
It's from Gentoo commit e2568ea91124090069cc0074fd79a78bee0d9f76.
It's from Gentoo commit 1d027ba6b7ad89c64c8ca47fcf9df857b21161d2.
krnowak added 22 commits May 23, 2022 18:39
It's from Gentoo commit 63ef3df85dab9c5900e4ccf3420f5fb7ae34220c.
It's from Gentoo commit ddfc4366f3021b9d6191eb1e31ec91f8502a0211.
It's from Gentoo commit 43b3c47e091d4f247f15960fb8f1e6373fa9a876.
It's from Gentoo commit b30790dc30bed3063d72fc0a86a1743ef816c443.
It's from Gentoo commit 6d7945d316eb7ae1c6bd3e7eecfe1da8e392bfe0.

It's a dependency of distutils eclass.
It's from Gentoo commit 4038e79e0e91d2b3d44e71f9d22805456bc16ea9.

It's a dependency of dev-python/gpep517 and distutils eclass.
It's from Gentoo commit 9e8c586144011344296c45f23a10dd8ad7a12ddf.

It's a dependency of distutils eclass.
It's from Gentoo commit ec1121aedecaaba527f3645d7d083408bbc7034d.

It's a dependency of dev-python/setuptools and distutils eclass.
It's from Gentoo commit 48651ecc0d4444536ed15b06736e331238b6f92b.
It's from Gentoo commit d7317785d04e7de172de3bff05852fca3cd15af2.
It's from Gentoo commit 7f33a4d20fa0dc82c6e82c027e6d536a77a4d278.
It's from Gentoo commit a00223eb88742885325b8863ba080e7d94202d8f.
It's from Gentoo commit d6457c84c327b454d2da33a7e76e75258a906ba9.
It's from Gentoo commit d7317785d04e7de172de3bff05852fca3cd15af2.
It's from Gentoo commit d7317785d04e7de172de3bff05852fca3cd15af2.
It's from Gentoo commit d7317785d04e7de172de3bff05852fca3cd15af2.
It's from Gentoo commit 607b95b7a1245b02224486e6871b783c5e858500.
It's from Gentoo commit 48651ecc0d4444536ed15b06736e331238b6f92b.
It's from Gentoo commit 1010cde56c21432c19c2dd5fa2a901e6fe82329d.
It's from Gentoo commit 4894fba4c7869d2642986da360d41e5760facb9a.
It's from Gentoo commit d7317785d04e7de172de3bff05852fca3cd15af2.
@krnowak krnowak force-pushed the krnowak/pkg-updates-2021-part-2-python branch from c2ffa48 to 66ea7aa Compare May 23, 2022 18:45
@krnowak krnowak requested review from dongsupark and a team May 25, 2022 05:25
@krnowak
Copy link
Contributor Author

krnowak commented May 25, 2022

Changelog for dev-db/sqlite, dev-lang/python, sys-libs/gdbm would be great.

Changelog added.

I am not sure I like adding 37 additional ebuilds, which result in a bigger SDK size. Though I do not have a better idea.

By dropping pylint in other PR, the number of new packages shrunk to 12.

@krnowak krnowak merged commit 196aa89 into main May 25, 2022
@krnowak krnowak deleted the krnowak/pkg-updates-2021-part-2-python branch May 25, 2022 13:49
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants