Skip to content

kdePackages.*: disable strictDeps#329822

Closed
paparodeo wants to merge 1 commit intoNixOS:stagingfrom
paparodeo:disable-kdePackages-strictDeps
Closed

kdePackages.*: disable strictDeps#329822
paparodeo wants to merge 1 commit intoNixOS:stagingfrom
paparodeo:disable-kdePackages-strictDeps

Conversation

@paparodeo
Copy link
Contributor

Description of changes

cmake strictDeps are broken and searches for binaries in both buildInputs and PATH. strictDeps will eventually be fixed via PR #318226 or a derivative of and when that happens many of the 400 packages in the kdePackages attribute set will break due to binaries missing from nativeBuildInputs (but in the buildInputs)

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.11 Release Notes (or backporting 23.11 and 24.05 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.

cmake strictDeps are broken and searches for binaries in both
buildInputs and PATH. strictDeps will eventually be fixed via PR
#318226 or a derivative of and when
that happens many of the 400 packages in the kdePackages attribute set
will break due to binaries missing from nativeBuildInputs (but in the
buildInputs)
@K900
Copy link
Contributor

K900 commented Jul 25, 2024

I don't mind this as a solution, but also, things really shouldn't break here really, and most if not all the inputs should be in their right places already. I can try rebuilding kdePackages with your patch applied, or we can do it in a staging cycle.

@paparodeo
Copy link
Contributor Author

paparodeo commented Jul 25, 2024

I don't mind this as a solution, but also, things really shouldn't break here really, and most if not all the inputs should be in their right places already. I can try rebuilding kdePackages with your patch applied, or we can do it in a staging cycle.

there are 400 packages and while not all of them break may of them do. i ran 112 of the packages. 41 passed, 71 failed and then i just skipped all of the rest of the kde packages.

[edit] though, looking at the logs 70 of them were failing due to Could NOT find Gettext (missing: GETTEXT_MSGMERGE_EXECUTABLE but there could be other failures beyond that one.

@K900
Copy link
Contributor

K900 commented Jul 25, 2024

That's very surprising. Were those individual failures or cascading from a single one? Either way, I can look into it later today.

@paparodeo
Copy link
Contributor Author

That's very surprising. Were those individual failures or cascading from a single one? Either way, I can look into it later today.

so i think i just built one package at a time and i was overrideing cmake to cmake2 (which was the one with strictDeps fixed) so it shouldn't have been a cascade of failures.

@paparodeo
Copy link
Contributor Author

paparodeo commented Jul 25, 2024

yeah, i hacked one kde package to get access to mkKdeDerivation with cmake overriden. there is probably a better way to do it but looped over all attribs with cmake in nativeBuildInputs and strictDeps set and then just tried to build with the fixed cmake.
eg:

    if [[ ${attr} == kdePackages.* ]]; then
        # hack for kdePackages becase mkKdeDerivation is not an accessible
        # attribute and provides cmake added a passthru for access.
        cmd=(nix-build --no-out-link -E "with import ./.{}; ${attr}.override { mkKdeDerivation = kdePackages.yakuake.passthru.dev.override { cmake = cmake2;}; }")
        # nix-build -E 'with import ./.{}; kdePackages.kdebugsettings.overrideAttrs { strictDeps = false; }'
    else
        cmd=(nix-build --no-out-link -E "with import ./. {}; ${attr}.override { cmake = cmake2; }")
    fi

@K900
Copy link
Contributor

K900 commented Jul 25, 2024

I've just applied your patch on top of master and am building it now. I'll see what the failures are.

@paparodeo
Copy link
Contributor Author

I've just applied your patch on top of master and am building it now. I'll see what the failures are.

these are the other PRs which are fixing packages with strictDeps -- if you're just building everything with the fixed cmake you might need them too:
#324545
#324951

@K900
Copy link
Contributor

K900 commented Jul 25, 2024

I'm only building kdePackages, but I'll keep that in mind.

@paparodeo
Copy link
Contributor Author

here is the failed logs tarball
kdefailed.tar.gz

@K900 K900 mentioned this pull request Jul 25, 2024
13 tasks
@K900
Copy link
Contributor

K900 commented Jul 25, 2024

Fixed everything: #329977

@K900 K900 closed this Jul 25, 2024
@paparodeo paparodeo deleted the disable-kdePackages-strictDeps branch July 25, 2024 21:11
@SomeoneSerge SomeoneSerge mentioned this pull request Jul 26, 2024
13 tasks
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.

2 participants