Skip to content
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

imv: fix build with strictDeps = true; #281042

Merged
merged 1 commit into from
Jan 16, 2024
Merged

imv: fix build with strictDeps = true; #281042

merged 1 commit into from
Jan 16, 2024

Conversation

eclairevoyant
Copy link
Contributor

@eclairevoyant eclairevoyant commented Jan 14, 2024

Description of changes

Fix build with strictDeps enabled. Tracking issue: #178468

Without change, the following error occurs:

Run-time dependency cmocka found: NO (tried pkgconfig)

meson.build:209:13: ERROR: Dependency "cmocka" not found, tried pkgconfig

Result of nixpkgs-review run on x86_64-linux 1

2 packages built:
  • imv
  • imv.man

Things done

  • Built on platform(s)
    • x86_64-linux
    • aarch64-linux
    • x86_64-darwin
    • aarch64-darwin
  • For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)
    • sandbox = relaxed
    • sandbox = true
  • Tested, as applicable:
  • Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
  • Tested basic functionality of all binary files (usually in ./result/bin/)
  • 24.05 Release Notes (or backporting 23.05 and 23.11 Release notes)
    • (Package updates) Added a release notes entry if the change is major or breaking
    • (Module updates) Added a release notes entry if the change is significant
    • (Module addition) Added a release notes entry if adding a new NixOS module
  • Fits CONTRIBUTING.md.

Add a 👍 reaction to pull requests you find important.

@ofborg ofborg bot requested review from markus1189 and rnhmjoj January 15, 2024 05:58
@ofborg ofborg bot added 10.rebuild-darwin: 0 This PR does not cause any packages to rebuild on Darwin 10.rebuild-linux: 1-10 10.rebuild-linux: 1 labels Jan 15, 2024
@rnhmjoj
Copy link
Contributor

rnhmjoj commented Jan 15, 2024

I don't understand this fix: pkg-config isn't a compiler, so, according to the Nixpkgs manual, whether it's in nativeBuildInputs == depsBuildHost or depsBuildBuild shouldn't matter. I checked the PATH with and without strictDeps and it's correctly added in either case.

The problem seems to be that with strictDeps the setup hook that collects the .pc files into PKG_CONFIG_PATH is not executed. I guess this is on purpose, but why?

Also, if this package is incorrect, then there are probably several thousands more: I've never seen pkg-config added to depsBuildBuild, but always to nativeBuildInputs.

@rnhmjoj
Copy link
Contributor

rnhmjoj commented Jan 15, 2024

As noted by Puna on matrix, the correct fix is to move cmocka to buildInputs: because it's a library, not a build tool.

@eclairevoyant
Copy link
Contributor Author

eclairevoyant commented Jan 15, 2024

Thanks, I must have misremembered that cmocka doesn't have a binary, or confused it with some other framework - I agree that it should moved to buildInputs. I do disagree with the first comment, though, in the general case.

@NickCao
Copy link
Member

NickCao commented Jan 15, 2024

pkg-config isn't a compiler

Actually it is in some sense, pkg-config wrapper does use targetPlatform to locate .pc files of the correct platform.

@delroth delroth added the 12.approvals: 1 This PR was reviewed and approved by one reputable person label Jan 15, 2024
@rnhmjoj rnhmjoj merged commit 91cec1e into NixOS:master Jan 16, 2024
22 of 23 checks passed
@eclairevoyant eclairevoyant deleted the imv-strict branch January 16, 2024 09:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
10.rebuild-darwin: 0 This PR does not cause any packages to rebuild on Darwin 10.rebuild-linux: 1-10 10.rebuild-linux: 1 12.approvals: 1 This PR was reviewed and approved by one reputable person
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants