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

Name: use explicit ABI version of webkitgtk #629

Merged
merged 1 commit into from
Oct 17, 2024

Conversation

fabianhjr
Copy link
Member

Context / Related to: NixOS/nixpkgs#345611

@sternenseemann
Copy link
Member

I think the versions without a version specifier should always resolve to the generic attribute (which isn't being removed in nixpkgs, right?). We can still (semi-temporarily) pin it to a fixed version via configuration-common.nix for the affected packages in nixpkgs, but don't create an awkward situation where we generate references to 4.0 for downstream packages that actually use/support a later version.

@fabianhjr
Copy link
Member Author

but don't create an awkward situation where we generate references to 4.0 for downstream packages that actually use/support a later version

From my understanding the default version might be erroneous since it is not the webkitgtk version but the ABI version witch incompatibilities between them (gtk3 vs gtk4 between 4_0 and 6_0 and libsoup2 vs libsoup3 between 4_0 and 4_1/6_0)

And the idea would be to remove the default alias. :c

@maralorn
Copy link
Member

maralorn commented Oct 6, 2024

Removing the default alias and adding versioned names is kinda pointless. This is not an API which hackage packages adhere to, this is a map we maintain to react to whatever hackage packages do. Are there cabal files on hackage which use those versioned attributes? My guess is no.

The purpose of this map is imo, that the derivation expects a system library as input under the name which we use in nixpkgs. I agree with sterni, unless the version is already contained in the name used in the cabal file we should override the version in nixpkgs.

When we don't know the exact version from the cabal file, we still emit
the generic name that has recently been removed from nixpkgs safe for an
alias (NixOS/nixpkgs#345611) which we can't use
in hackage-packages.nix. This is still the best solution for downstream
expressions generated by cabal2nix, in nixpkgs we'll have to manually
specify the correct version (instead of hackage2nix picking the default
which may not always be correct).

Co-authored-by: sternenseemann <[email protected]>
@sternenseemann sternenseemann merged commit b8eb82f into NixOS:master Oct 17, 2024
5 checks passed
@maralorn
Copy link
Member

@sternenseemann Just out of curiosity, do you know whether there actually are cabal files which use the versioned package names?

@sternenseemann
Copy link
Member

@maralorn NixOS/nixpkgs@212b040. Any serious project should, frankly. If they use pkg-config, they are forced to (I think).

@maralorn
Copy link
Member

Ah, okay. Great, thank you!

@fabianhjr fabianhjr deleted the webkitgtk_explicit_abi branch October 17, 2024 15:01
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