[staging] autoconf: 2.70 -> 2.71#111431
Conversation
This is a newer version of autoconf that fixes a bunch of issues that occured since the last autoconf release and they also fixed one issue with clang that I ran into while trying out Nix on aarch64-darwin [1]. [1] http://git.savannah.gnu.org/gitweb/?p=autoconf.git;a=commit;h=de36ccf6637974f4faba3747813d38ee46e77d69
|
I've created #111472 to fix the eval error. |
|
@ofborg eval |
Tests are very flaky and depend on the exact execution environment. It
is weird that it has gone well so far but started causing issues across
many of my builders.
Also started rewording some of the comments in the expression so
hopefully the next person looking at this has an easier time to
understand it.
On systems where swap is available and fully used tests fail like this:
> def test_swap_memory(self):
> mem = psutil.swap_memory()
> self.assertEqual(
> mem._fields, ('total', 'used', 'free', 'percent', 'sin', 'sout'))
>
> assert mem.total >= 0, mem
> assert mem.used >= 0, mem
> if mem.total > 0:
> # likely a system with no swap partition
> > assert mem.free > 0, mem
> E AssertionError: sswap(total=1048567808, used=1048567808, free=0, percent=100.0, sin=50741248, sout=1316823040)
> E assert 0 > 0
> E + where 0 = sswap(total=1048567808, used=1048567808, free=0, percent=100.0, sin=50741248, sout=1316823040).free
Upstream bug report: giampaolo/psutil#1911
Systems where /proc/mounts doesn't expose any mount points to build the
tests fail like this:
> def test_disk_partitions(self):
> self.assertIsInstance(nt.device, str)
> def check_ntuple(nt):
> self.assertIsInstance(nt.mountpoint, str)
> self.assertIsInstance(nt.fstype, str)
> self.assertIsInstance(nt.opts, str)
> self.assertIsInstance(nt.maxfile, (int, type(None)))
> self.assertIsInstance(nt.maxpath, (int, type(None)))
> self.assertGreater(nt.maxfile, 0)
> if nt.maxfile is not None and not GITHUB_ACTIONS:
> if nt.maxpath is not None:
> self.assertGreater(nt.maxpath, 0)
>
> # all = False
> ls = psutil.disk_partitions(all=False)
> > self.assertTrue(ls, msg=ls)
> E AssertionError: [] is not true : []
Upstream bug report: giampaolo/psutil#1912
|
I added one commit that touches pythonPackages.psutil as otherwise the build wouldn't work on any of my systems anymore. See the commit message for details. Would appreciate a review from @jonringer. |
|
I'll start a review on my server.. might take a while |
|
I've started a full NixOS release job here https://hydra.h4ck.space/eval/1918#tabs-new (IPv6-only) and you can use my binary cache to ease the load on your machines: |
|
I really need to get https://github.com/jonringer/basinix going. Would make this a whole lot easier. |
|
I'd like to see this progress. Did those reviews complete, and were there any interesting failures? (polite bump) |
|
I only observed some flaky NixOS tests (due to timing etc..) but it didn't look like something major. I also only built all the nixos tests so there might be more ground to cover. |
|
Uh, I don't get the GitHub UI, as all those commits were contained in |
|
may want to do |
|
Uh, lots of random failures and timeouts, but after some restarts it's clearing up. Overall it looks good to me.
In any case, particular packages should be able to just switch to older autoconf anytime later. So I'm for merging to |
I can probably look into a ghcHEAD update PR for staging in the next days. |
|
I assume that could even go directly to master ("independently"). |
|
yea, last autoconf bump there was a lot of breakages. but I'm fine with adding a new top-level attr |
|
Anything holding this back? Looks like there aren't that many failures that are out of the ordinary. |
|
do you mind cleaning up the git histhory? |
|
@jonringer: you meant the mess shown in GitHub UI, right? I cleaned it by juggling the merge base. |
|
Anything else stopping this? I believe this is one of the blockers for #105026. |
Motivation for this change
This updates autoconf to 2.71. This version appears to be mostly a stable release handling some of the breakage of 2.70 and/or fixing compat with newer clang version (on e.g. the Apple M1 machines).
I kept the addition and the switch of the version separate so that we can just revert the switch in case this causes trouble without closing the door on packages (or platforms) requiring the newer version in the future.
Things done