From: Mitchell Dorrell <mwd@psc.edu>
To: gentoo-dev@lists.gentoo.org
Cc: python@gentoo.org
Subject: Re: [gentoo-dev] [RFC] Splitting dev-lang/python into per-slot packages, starting with 3.14
Date: Sat, 12 Oct 2024 18:57:40 -0400 [thread overview]
Message-ID: <CAHqckJ1r+rdKaweotD7p1+r6yWCCSS1LPdkaqQcOF_ebCP3nUg@mail.gmail.com> (raw)
In-Reply-To: <0f17e747ba8a7d740439e7a5bbd3cb00ab814960.camel@gentoo.org>
[-- Attachment #1: Type: text/plain, Size: 2994 bytes --]
On Sat, Oct 12, 2024, 14:03 Michał Górny <mgorny@gentoo.org> wrote:
> On Sat, 2024-10-12 at 10:12 +0200, Michał Górny wrote:
> > This naturally means that only the specific version requested (e.g. via
> > targets) would be installed, and no cross-slot autoupgrades would
> > happen. Ideally, I'd like to start doing that with Python 3.14 whose
> > first alpha is expected next week. Depending on how they handle
> > freethreading, we'd end up having the first or both of:
> >
> > dev-lang/python3_14
> > dev-lang/python3_14t
> >
> > (Alternatives: python-3_14, python-freethreading-3_14? Though I think
> > following PYTHON_TARGETS is cleaner here.)
> >
> > As a side notice, the existing versions would probably remain as-is
> > until removal, since there's really no gain in splitting them, given
> > we'd have to retain compatibility with existing depstrings.
> >
> > Comments?
>
> Given all the opposition, I retract this.
I hope my questions weren't interpreted as opposition. I'm mostly neutral,
perhaps leaning a bit in favor.
When someone complains that Portage suddenly installs Python 3.13
> freethreading or Python 3.14 on their systems, it's on you.
>
> --
> Best regards,
> Michał Górny
I like slots for saying "these are different versions of the same
fundamental package, which you might want to install simultaneously,
because dependent packages may or may not need a specific version.", so
yes, on paper I agree that slots feel correct for different Python
versions. However, if there's another aspect of compatibility
(freethreading vs. non-freethreading), then I understand that slots don't
handle that well, and neither do USE flags.
I would _love_ to have something in between slots and USE flags -- perhaps
call them VARIANT flags, where differing combinations of VARIANT flags can
be installed simultaneously, but without carrying any implication of one
VARIANT combination being "newer" than another. This would be fantastic for
multilib systems that want different USE flags for x86 and amd64 builds (my
64-bit software stack GREATLY inflates my otherwise-minimal 32-bit stack).
As another example, sci-chemistry/gromacs offers MPI support for clustering
capabilities, but this actually impairs performance when running on a
single machine, so there's good reason to desire installing both
simultaneously (the ebuild already handles simultaneous single-precision
and double-precision builds).
This would be a major change to Portage, however, and I imagine we still
need a short-term solution even if the VARIANT idea is embraced and
implemented rapidly.
Perhaps a pair of USE flags could control the compiling/installation of
freethreading and non-freethreading builds, with a REQUIRED_USE mandating
at least one of them? If not, I think separate packages might be the best
(interim) solution unless/until a new Portage feature is implemented to
handle it all more elegantly.
-MD
[-- Attachment #2: Type: text/html, Size: 3916 bytes --]
next prev parent reply other threads:[~2024-10-12 23:02 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-10-12 8:12 [gentoo-dev] [RFC] Splitting dev-lang/python into per-slot packages, starting with 3.14 Michał Górny
2024-10-12 8:50 ` [gentoo-dev] " Luca Barbato
2024-10-12 9:13 ` Michał Górny
2024-10-12 12:30 ` Anna (cybertailor) Vyalkova
2024-10-12 13:07 ` Michał Górny
2024-10-12 13:00 ` Luca Barbato
2024-10-12 13:03 ` Michał Górny
2024-10-12 17:36 ` Luca Barbato
2024-10-12 13:12 ` Sam James
2024-10-12 9:49 ` [gentoo-dev] " Eray Aslan
2024-10-12 9:51 ` Michał Górny
2024-10-12 9:59 ` Ulrich Mueller
2024-10-12 10:03 ` Ulrich Mueller
2024-10-12 10:06 ` Michał Górny
2024-10-12 10:05 ` Michał Górny
2024-10-12 10:13 ` Ulrich Mueller
2024-10-12 10:22 ` Michał Górny
2024-10-12 11:23 ` Mitchell Dorrell
2024-10-12 11:49 ` Michał Górny
2024-10-12 15:01 ` Mitchell Dorrell
2024-10-12 15:10 ` Sam James
2024-10-12 17:21 ` Anna (navi) Figueiredo Gomes
2024-10-12 13:52 ` orbea
2024-10-12 14:32 ` Andreas Sturmlechner
2024-10-12 17:37 ` Nowa Ammerlaan
2024-10-12 18:03 ` Michał Górny
2024-10-12 22:57 ` Mitchell Dorrell [this message]
2024-10-14 0:43 ` Sam James
2024-10-14 3:49 ` Michał Górny
2024-10-14 4:09 ` Sam James
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=CAHqckJ1r+rdKaweotD7p1+r6yWCCSS1LPdkaqQcOF_ebCP3nUg@mail.gmail.com \
--to=mwd@psc.edu \
--cc=gentoo-dev@lists.gentoo.org \
--cc=python@gentoo.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox