It will happen eventually. The point of this bug is to determine what are the conditions on doing the transition.
AFAICT this is a matter of needing to support LTS releases and such. Some distros and their versions:
I don't have a good grasp on what people actually need to support and for how long. Please write your requirements below so we can make an informed decision (as opposed to me saying "Debian Sid should be stable enough for everybody").
NOTE: the last version of meson that supported Python 3.4 was 0.44.1. You can install it from pip by using pip3 install --user meson==0.44.1
Neither RHEL 6 or 7 come with Python 3, RHEL 7 users commonly can get it from EPEL which has 3.4 or they could use software collections which has up to 3.5.
RHEL 6 and 7 can use a Software Collection to get Python 3.3, Python 3.4 and Python 3.5.
I would be happy moving to 3.6, because we will get type annotations, but F25 ships 3.5 (will be supported for ~10 months from now), EPEL7 ships 3.4 and you can get scl with 3.5,,
So I think 3.5 would be sanest option.
I guess the relevant question is who are the people who need to compile their projects with Meson versions newer than, say, what is in current Git trunk on platforms such as RHEL 7 _without_ having access to scl & co.
Well, as it is, RHEL 7 is basically screwed on Meson, since they don't have Python 3 in the base. EPEL includes 3.4, but the EPEL Python 3 stack is designed to be able to easily rebootstrap to new Python version.
Fedora ships multiple versions of Python 3 in F24+ for tox, and if stdlib is all you use, then that should work across the board.
SLE 12 / openSUSE Leap 42.x ships Python 3.4 in the base.
SLE 11 probably doesn't ship Python 3 at all in the base.
However, OBS repos are available to offer versions of Python 3 to SLE 11 and SLE 12 / Leap 42.x, so that's not really an issue.
Raspbian (aka Raspberry Pi OS/PIXEL OS) only has Python 3.4 available. Raspbian is currently the most popular distribution for IoT projects as well as being many people's first experience of Linux based systems.
That is a good point. The next Debian release is this summer (one hopes 😄). Are there estimates on how quickly Raspbian updates once the release is out?
Not involved in Raspbian releases so @spl237, @XECDesign or @bennuttall would be better people to ask.
Remembering the Wheezy -> Jessie switch I would expect about ~ 4-month delay for new Raspbian but without the ability to upgrade an existing system I would imagine it taking significantly longer before most people are on the newer platform.
Some schools are still using Wheezy.
It's a "when it's ready" kind of deal, but it shouldn't take anywhere near as long as the wheezy->jessie upgrade took. No promises about any dates though.
Red Hat's recommendation to get 3.5 on RHEL 6/7 is to use RHSCL, and that's also available for CentOS via softwarecollections.org. Newer versions of gcc (et al) are also delivered that way, so it seems like a reasonable dependency for running newer versions of Meson.
@ncoghlan Except for... well, you know, the fact that no one in EPEL can use those as dependencies.
I think this can be summed up as:
Good idea but maybe wait for 18 months
We should also list the benefits of moving to 3.5 and 3.6. I suspect that a move to 3.6 will be much more useful to us, so we might want to aim for that (even if it takes longer).
@Conan-Kudo meson is not in EPEL (nor will be there)
Just to chime-in from a medium-sized distro:
Gentoo Linux has a continuous, rolling release model with effectively two branches (stable/testing).
We currently have Python 3.4 in our stable branch, and Python 3.5/3.6 in our testing branch. I am hoping to move our stable branch onto Python 3.5 soon, but we are not quite there yet.
For mesa (and I assume Xorg as well, maybe @whot can chime in for them?) We need to build on whatever RHEL versions are getting updates from Red Hat, currently that's 6 and 7.
Are you allowed to depend on anything outside the base packages? RHEL 7 does not ship Python 3 at all so will you need to support Autotools build on it until it goes EOL?
xorg and mesa have the same build requirements, so assume they always come together. Software collections are meaningless for core packages, we can't rely on them during build so will likely have to support autotools for the time being.
That said, RHEL does add new packages over its lifetime, so there's a possibility that python3 may be added in a future version (or at least would be made available for builds) but it's unclear at this point. Very unlikely for RHEL6 given its age.
I'd still advise to be conservative unless there's a clear use-case for new features. Besides the type annotations in 3.6 I haven't seen any actual requirements, are these in some other bug?
Gathering up some facts thus far (not decisions).
Based on this it seems like we should stick to 3.4 for now and consider going to 3.5 at the earliest at the end of this year.
In general, (new versions of) dependencies should not be introduced before the oldest still-supported Enterprise and LTS distributions have moved to that (versions of) dependencies. Otherwise it will be hard to serve new software to said Enterprise and LTS distributions.
Closing this since we are now at 3.5. Will open a new bug for 3.6.
@jpakkane Don't forget to bump the README and associated docs for the upgraded Python requirement.
What does this mean for Ubuntu Trusty now?
It would be unfortunate if this still-supported LTS release would be cut off from builds.
@probonopd It was already cut off a while back since the version of ninja it has is too old.
Does this mean it's just _harder_ to build for Trusty using current meson or outright _impossible_?
If you can build your own version of Python that is new enough, that is sufficient.
Using Debian 8.9 Jessie LTS. Unable to install or use current meson!
Output at pip install: python 3.5.0 required !
Tried to get and install python 3.5 at some standard user ways: but no success :-(
Get stuck with 3.4 !
Is there any way to install meson with python 3.4.2 ??
Help required.
Please seek help from your distribution.
I see no chance to get it on that way.
Debian 8 (Jessie LTS) uses Python 3.4 and Debian 9 (Strech) uses Python 3.5.
As any effort possibly makes more work than a distro upgrade I think that's the way for me now.
But for the developers: I want to recommend for future meson versions please don't use newer Python versions if not really really required!
LTS versions of the big distro's should work out of the box (See comment from Jul 20, 2017 too). For example Debian 8 LTS is supported until 2020!
Meson is available in Debian backports. The current version there is 0.47.2.
Thanks for this hint. I installed jessie-backports but unfortunately I
only found 0.21.0 meson version in the repos :-(
Will it come soon or are You only refering to strech backport?
Best Regards
Am 15.10.2018 um 00:53 schrieb Jussi Pakkanen:
Meson is available in Debian backports. The current version there is
0.47.2 https://tracker.debian.org/pkg/meson.—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/mesonbuild/meson/issues/1790#issuecomment-429670293, or
mute the thread
https://github.com/notifications/unsubscribe-auth/AdJRzD8MSIXLFBBnYaLDP-2dgUFZtzdWks5uk8BdgaJpZM4NZ2qS.
@csb0730 Please stop asking about this here. But for reference, @jpakkane was referring to Debian 9 backports (aka stretch-backports).
You should just upgrade your distribution if you need to build with projects that need a newer Meson.
The last version of meson that supported Python 3.4 was 0.44.1. You can always install that from pip. I have edited the topmost comment to say this. Hopefully no one else will reiterate the same questions again and again now. :smile:
Most helpful comment
In general, (new versions of) dependencies should not be introduced before the oldest still-supported Enterprise and LTS distributions have moved to that (versions of) dependencies. Otherwise it will be hard to serve new software to said Enterprise and LTS distributions.