Skip to content

feat: use 1.13.0 official release #302

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

Merged
merged 5 commits into from
Jun 19, 2025
Merged

feat: use 1.13.0 official release #302

merged 5 commits into from
Jun 19, 2025

Conversation

henryiii
Copy link
Contributor

Jobserver now upstreamed, so using upstream release!

henryiii and others added 3 commits June 18, 2025 11:32
Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com>
Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com>
@henryiii
Copy link
Contributor Author

s390x failure:

[ RUN      ] DepsLogTest.MalformedDepsLog
  /project/ninja-upstream/src/deps_log_test.cc:569: Failure
  Expected equality of these values:
    '\x04'
      Which is: '\x4' (4)
    original_contents[version_offset + 0]
      Which is: '\0'
  [  FAILED  ] DepsLogTest.MalformedDepsLog (3 ms)

@mayeut
Copy link
Contributor

mayeut commented Jun 18, 2025

s390x failure

This looks like a bug in the test that does not account for endianess: https://github.com/ninja-build/ninja/blob/656412538b6fc102b809a61e0efce422e5a20534/src/deps_log_test.cc#L569-L572

Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com>
@henryiii henryiii merged commit 020195e into master Jun 19, 2025
17 checks passed
@henryiii henryiii deleted the henryiii/feat/1.13.0 branch June 19, 2025 16:09
@henryiii henryiii mentioned this pull request Jun 19, 2025
@mayeut
Copy link
Contributor

mayeut commented Jun 19, 2025

thanks for filing the bug upstream henryiii, I was waiting for the week-end to do it.

@eli-schwartz
Copy link

Jobserver now upstreamed, so using upstream release!

This means dropping support for Debian Stable's GNU Make jobserver, right?

@henryiii
Copy link
Contributor Author

henryiii commented Jun 20, 2025

I hadn't realized make 4.4 was that new. Maybe we should go ahead and release 1.12.1, which was updated on the fork, then release 1.13.0.

@eli-schwartz
Copy link

eli-schwartz commented Jun 20, 2025

The issue is that if your goal is to provide a ninja binary that retains the same workflow usefulness as the historic "ninja-python-distributions" which people are sometimes intentionally downloading, it's difficult to drop support for a feature you released. And it's especially problematic even if you provide both 1.12.1 and 1.13.0, since people installing the project by default will get the latter, so the former doesn't accomplish much of anything.

(Of course this isn't a problem for "real" ninja, since they never supported the Make 4.3 jobserver at all, and 1.13.0's support for the Make 4.4 jobserver is solely additive in functionality.)

IMO, either you:

  • re-integrate the Make 4.3 jobserver at your own expense in time and effort
  • pull 1.13.0 entirely
  • declare defeat and state that this project does NOT fully support Debian Stable, "and people should just resign themselves to that, this is a FOSS project that comes without warranty, and moments like this are when we remember that the lack of warranty is in fact extremely relevant"

@eli-schwartz
Copy link

eli-schwartz commented Jun 20, 2025

Note that earlier versions of the patch set that integrated the Make 4.4 jobserver support, included support for the 4.3 jobserver as well. But jhasse insisted that because anonymous pipes are morally deficient compared to named ones, ninja should be "forward thinking, and just do not support users stuck on old Make. That's your fault for using garbage distros like Debian". Therefore the contributor who provided those patches was forced to delete the Make 4.3 support as a precondition of merging.

You may be able to simply acquire that older version of the code and apply it on top of the 1.13.0 release. Which will make it much simpler to choose option 1 above.

@henryiii
Copy link
Contributor Author

We've got a potential second problem: the 1.12.1 fork now contains a new feature branch, msvc-depfile.

This will be a talking point at the scikit-build community meeting coming up in half an hour. :)

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.

3 participants