Skip to content

Build nix-store with Meson, adjust Perl bindings deps to integrate with other meson builds#10908

Merged
Ericson2314 merged 2 commits intomasterfrom
meson-libstore
Jun 14, 2024
Merged

Build nix-store with Meson, adjust Perl bindings deps to integrate with other meson builds#10908
Ericson2314 merged 2 commits intomasterfrom
meson-libstore

Conversation

@Ericson2314
Copy link
Member

Motivation

More progress on #2503

Context

Following up to #10855

Priorities and Process

Add 👍 to pull requests you find important.

The Nix maintainer team uses a GitHub project board to schedule and track reviews.

@Ericson2314 Ericson2314 changed the title Build nix-store1 with Meson, adjust Perl bindings deps Build nix-store with Meson, adjust Perl bindings deps to integrate with other meson builds Jun 13, 2024
@Ericson2314
Copy link
Member Author

Ericson2314 commented Jun 13, 2024

@eli-schwartz Any idea why it might be hanging in the generate SQL steps on Linux only? It didn't happen for me doing similar cross builds locally.

@eli-schwartz
Copy link
Contributor

I'm looking and I'm seeing a CI error, but it doesn't have anything to do with generating SQL.

The hosted runner: GitHub Actions 5 lost communication with the server. Anything in your workflow that terminates the runner process, starves it for CPU/Memory, or blocks its network access can cause this error.

@eli-schwartz
Copy link
Contributor

It says it failed in 47 minutes but the job stages with logs are only a couple seconds long total. This is unquestionably a GitHub-level bug in GitHub's own infrastructure, because something broke on their end mid-run.

Restarting probably helps.

@Ericson2314
Copy link
Member Author

Ericson2314 commented Jun 14, 2024

@eli-schwartz Sorry. Yes there is a bug that makes the logs go away. Very frustrating. But I did restart it with the logs kept open after a few times of this to see that it was consistently stalling when building the SQL-processing steps.

I don't think there is much interesting in the logs but I'll leave the tab open after restarting to then paste it here.

Ericson2314 and others added 2 commits June 14, 2024 10:25
This is more robust, and match's Nixpkgs policy to force enable flags
statically by default (a common distro thing).
Special thanks to everyone that has worked on a Meson port so far,
@p01arst0rm and @Qyriad in particular.

Co-Authored-By: p01arst0rm <[email protected]>
Co-Authored-By: Artemis Tosini <[email protected]>
Co-Authored-By: Artemis Tosini <[email protected]>
Co-Authored-By: Felix Uhl <[email protected]>
Co-Authored-By: Jade Lovelace <[email protected]>
Co-Authored-By: Lunaphied <[email protected]>
Co-Authored-By: Maximilian Bosch <[email protected]>
Co-Authored-By: Pierre Bourdon <[email protected]>
Co-Authored-By: Qyriad <[email protected]>
Co-Authored-By: Rebecca Turner <[email protected]>
Co-Authored-By: Winter <[email protected]>
Co-Authored-By: eldritch horrors <[email protected]>
Co-Authored-By: jade <[email protected]>
Co-Authored-By: julia <[email protected]>
Co-Authored-By: rebecca “wiggles” turner <[email protected]>
Co-Authored-By: wiggles dog <[email protected]>
Co-Authored-By: fricklerhandwerk <[email protected]>
Co-authored-by: Eli Schwartz <[email protected]>
@Ericson2314
Copy link
Member Author

(#10855 was approved with this a part of it. I pulled it out just for purposes of debugging CI failures.)

@Ericson2314 Ericson2314 merged commit 4728840 into master Jun 14, 2024
@Ericson2314 Ericson2314 deleted the meson-libstore branch June 14, 2024 16:16
@Ericson2314
Copy link
Member Author

(I went to restart a timed out macOS job, and then that briefly caused all checks to pass, which resulted in an auto merge. Yay GitHub Action...)

# TODO rename, because it will conflict with downstream projects
configdata.set_quoted('PACKAGE_VERSION', meson.project_version())

configdata.set_quoted('SYSTEM', host_machine.system())
Copy link
Member

Choose a reason for hiding this comment

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

This is probably wrong. host_machine.system() is expected to have e.g. 'linux' in other places.

I don't know how to get the right value, reliably, and we've defined it to be based on autoconf, which I don't think we want to continue doing, or do we? Alternatively, we could leave it to the packager, and pass stdenv.hostPlatform.system in our own packaging?

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