Skip to content

DRAFT: remove dependency on deprecated libcxxabi package #2172

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

Closed
wants to merge 1 commit into from

Conversation

mklca
Copy link
Contributor

@mklca mklca commented Mar 25, 2024

Since NixOS/nixpkgs#292043 the libcxxabi package was functionally integrated into libcxx and is no longer required―indeed, using it now throws.

  • Remove all uses of libcxxabi from the compiler build (which already references libcxx in all the same places.)

  • Update the package alias to forward c++abi to cxxabi rather than libcxxabi

@mklca
Copy link
Contributor Author

mklca commented Mar 25, 2024

Since I didn't update flake.lock the nixpkgs dependencies likely won't have the required changes and the CI checks will probably fail. So this patch needs to go in with a resync of nixpkgs.

As far as how we handle some of the “legacy” nixpkgs versions which will probably never see this change to libcxx backported, I have no ideas beyond adding some sort of conditional logic to use libcxxabi.

@mklca mklca force-pushed the delete-libcxxabi branch from a1f5af9 to a9bade6 Compare March 26, 2024 15:47
@ghost
Copy link

ghost commented Mar 26, 2024

Since I didn't update flake.lock the nixpkgs dependencies likely won't have the required changes and the CI checks will probably fail. So this patch needs to go in with a resync of nixpkgs.

As far as how we handle some of the “legacy” nixpkgs versions which will probably never see this change to libcxx backported, I have no ideas beyond adding some sort of conditional logic to use libcxxabi.

something like:

${toString (map (l: "${lib.getLib l}/lib") ([ libcxx ] ++ lib.optional (libcxx ? cxxabi) libcxx.cxxabi))}

and then

libcxx.cxxabi or libcxx

might work for the conditional logic to work with old nixpkgs.

@angerman
Copy link
Collaborator

Thank you @a-n-n-a-l-e-e for jumping in with the suggestion.
@mklca thank you for the PR! We will need some form of backwards compatibility though as we target multiple nixpkgs revisions.

@mklca mklca changed the title remove dependency on deprecated libcxxabi package DRAFT: remove dependency on deprecated libcxxabi package Mar 27, 2024
@mklca
Copy link
Contributor Author

mklca commented Mar 27, 2024

Obviously this is a draft of what needs to happen. @a-n-n-a-l-e-e's idea seems like a good way to handle the backwards compatibility. I'll iterate on that this week.

While I'm at it, how would you like to address the removal of gtkpod from nixpkgs that breaks lib/pkgconf-nixpkgs-map.nix? This is an implicit point of coupling to different releases of nixpkgs and it seems like that should be reified somehow.

@angerman
Copy link
Collaborator

angerman commented Apr 5, 2024

Obviously this is a draft of what needs to happen. @a-n-n-a-l-e-e's idea seems like a good way to handle the backwards compatibility. I'll iterate on that this week.

While I'm at it, how would you like to address the removal of gtkpod from nixpkgs that breaks lib/pkgconf-nixpkgs-map.nix? This is an implicit point of coupling to different releases of nixpkgs and it seems like that should be reified somehow.

I think we'll want to conditionally map that to null.

@angerman
Copy link
Collaborator

angerman commented Apr 5, 2024

@mklca ohh! That gtkpod thing is trickier than I thought. I'm trying d3570f0 to be a bit more robust against throws in nixpkgs.

Copy link

stale bot commented Aug 3, 2024

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

@stale stale bot added the wontfix label Aug 3, 2024
@stale stale bot closed this Oct 4, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants