Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

dev-python/snakemake: add version 8 #1278

Closed
wants to merge 17 commits into from
Closed

Conversation

mschubert
Copy link
Contributor

  • add new dependencies
  • add python 3.12 compatibility for packages known to work on Arch
  • add version 8 of snakemake

Signed-off-by: Michael Schubert <mschu.dev@gmail.com>
Signed-off-by: Michael Schubert <mschu.dev@gmail.com>
Signed-off-by: Michael Schubert <mschu.dev@gmail.com>
@mschubert
Copy link
Contributor Author

mschubert commented Jun 17, 2024

dev-python/smart-open
  NonsolvableDepsInStable: version 6.3.0: nonsolvable depset(bdepend) keyword(~amd64) stable profile (default/linux/amd64/23.0) (62 total): solutions: [ dev-python/google-cloud-storage[python_targets_python3_10(-),python_targets_python3_11(-),python_targets_python3_12(-)] ]
  NonsolvableDepsInStable: version 6.3.0: nonsolvable depset(rdepend) keyword(~amd64) stable profile (default/linux/amd64/23.0) (62 total): solutions: [ dev-python/google-cloud-storage[python_targets_python3_10(-),python_targets_python3_11(-),python_targets_python3_12(-)] ]

I'm not sure why dev-python/smart-open depends on dev-python/google-cloud-storage, this should not be a dependency seems that optional deps are required

@Nowa-Ammerlaan
Copy link
Member

add python 3.12 compatibility for packages known to work on Arch

This is a very bad reason to add python compat targets, Arch is known to break python packages every year.

To test if a package supports python3.12, enable that python target and emerge te ebuild with FEATURES=test USE=test. If there is a failure, then check if this is a regression with respect to the earlier python version.

Please also bump these packages to the latest version when adding new python compat targets, this increases the chance that the test suite will pass with the new target.

mschubert added 12 commits June 17, 2024 21:45
Signed-off-by: Michael Schubert <mschu.dev@gmail.com>
Signed-off-by: Michael Schubert <mschu.dev@gmail.com>
Signed-off-by: Michael Schubert <mschu.dev@gmail.com>
Signed-off-by: Michael Schubert <mschu.dev@gmail.com>
Signed-off-by: Michael Schubert <mschu.dev@gmail.com>
Signed-off-by: Michael Schubert <mschu.dev@gmail.com>
Signed-off-by: Michael Schubert <mschu.dev@gmail.com>
Signed-off-by: Michael Schubert <mschu.dev@gmail.com>
Signed-off-by: Michael Schubert <mschu.dev@gmail.com>
Signed-off-by: Michael Schubert <mschu.dev@gmail.com>
upstream URL update is automatic forward

Signed-off-by: Michael Schubert <mschu.dev@gmail.com>
Signed-off-by: Michael Schubert <mschu.dev@gmail.com>
@mschubert
Copy link
Contributor Author

mschubert commented Jun 17, 2024

This is a very bad reason to add python compat targets, Arch is known to break python packages every year.

With "known to work on Arch" I didn't mean that the packages are present in the repositories, but that I'm using them as a depdency of snakemake running under python 3.12. That setup is working.

Nonetheless, I've checked all packages explicitly for python 3.12 compatibility:

  • dev-python/connection_pool: no tests present but import works; is already latest version
  • dev-python/reretry: tests successful; already latest version
  • dev-python/stopit: tests successful; already latest version
  • dev-python/throttler: tests successful; already latest version
  • dev-python/datrie: tests successful; already latest version
  • dev-python/google-cloud-storage: version bump 2.17.0 is explicitly compatible with python 3.12; tests broken in python 3.11 (2.7.0) and 3.12 -> bumped and disabled tests
  • dev-python/smart-open: one failed test (azure) already in python 3.11 after fixing moto<5 dep + version update needs more packages without ebuilds -> disabled tests

Signed-off-by: Michael Schubert <mschu.dev@gmail.com>
Signed-off-by: Michael Schubert <mschu.dev@gmail.com>
# dev-python/responses[${PYTHON_USEDEP}]
# dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
# )
#"
Copy link
Member

Choose a reason for hiding this comment

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

We don't have to comment out the deps, restricting the test phase is sufficient.

@Nowa-Ammerlaan
Copy link
Member

dev-python/smart-open: one failed test (azure) already in python 3.11 after fixing moto<5 dep + version update needs more packages without ebuilds -> disabled tests

Alright, but sooner or later it will have to be bumped anyway, we can't keep this version forever.


EAPI=8

DISTUTILS_USE_PEP517=setuptools
Copy link
Member

@Nowa-Ammerlaan Nowa-Ammerlaan Jun 19, 2024

Choose a reason for hiding this comment

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

* The directory immutables occludes package installed for python3.12.
* The installed package includes additional files:
*
*     immutables/_map.cpython-312-x86_64-linux-gnu.so
*
* For more information on occluded packages, please see:
* https://projects.gentoo.org/python/guide/test.html#importerrors-for-c-extensions
* Python extension modules (*.so) found installed. Please set:
*   DISTUTILS_EXT=1
*

@@ -3,7 +3,7 @@

EAPI=8

PYTHON_COMPAT=( python3_{10..11} )
PYTHON_COMPAT=( python3_{10..12} )
Copy link
Member

Choose a reason for hiding this comment

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

datrie fails to compile with gcc-14

sci-mathematics/pulp[${PYTHON_USEDEP}]
"

distutils_enable_sphinx docs \
Copy link
Member

Choose a reason for hiding this comment

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

python3.12 -m sphinx.cmd.build -b html -d docs/_build/doctrees docs docs/_build/html
Running Sphinx v7.3.7

Configuration error:
There is a programmable error in your configuration file:

Traceback (most recent call last):
File "/usr/lib/python3.12/site-packages/sphinx/config.py", line 509, in eval_config_file
exec(code, namespace)  # NoQA: S102
^^^^^^^^^^^^^^^^^^^^^
File "/tmp/portage/dev-python/snakemake-8.14.0/work/snakemake-8.14.0/docs/conf.py", line 19, in <module>
from sphinxawesome_theme.postprocess import Icons
ModuleNotFoundError: No module named 'sphinxawesome_theme'

@Nowa-Ammerlaan
Copy link
Member

Merged with some minor fixes. Thanks 👍

@mschubert mschubert deleted the snakemake branch July 4, 2024 09:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants