-
Notifications
You must be signed in to change notification settings - Fork 696
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
Post-multilibs checklist #5660
Comments
Should solver be able to flip flags based on I don't know a good motivation, maybe e.g.
|
we will need |
Should visibility be recorded into Note: this change would need GHC support (as package database is |
re IPI: yeah, I came to the same conclusion but didn't know how to go at it :-/ Is it just a matter of updating the cabal submodule in the ghc repo? |
@fgaz essentially yes. |
I'm chaging the milestone to 3.2. @fgaz are you confident you can do this by the mid December (only two weeks!), or should we be waiting this only for 3.4? |
Moving to 3.4 |
The current output when pretty-printing a Dependency is to unconditionally include :{<sublibs>}, even when sub-libs is the singleton LMainLibName. This to begin with is an experimental syntax (haskell#5660) and issues a warning if cabal-version is <3.0. Since 'cabal format' and soon 'cabal init' use 'Dependency -> PrettyField a' this produces contents in the .cabal file which cannot be parsed for older config versions. Testing: - Verified that round-trip tests through parser/pretty pass - Unit tests for sublibs={} and sublibs={LMainLibName}
how can this be progressed? :) |
Hmm actually some of these may be done. Let me update it first |
not me, maybe @grayjay?
Well, there isn't any mention of the multilibs feature, despite it being implemented Cabal-side. Would it be ok to add it to the 3.0 changelog or is that frozen and the 3.4 one should be used? |
Duh, there's also distros' packages :-/ |
I don't agree. I have heard this argument before, and ended up fixing issues myself because someone run into them. I won't be spending any time arguing whether it's important or not. If it's not done and known issue, the feature is not ready. The Nix(pkgs) folks how install packages into global package database will run into this issue. |
I haven't had time to look into handling installed packages. |
For some projects (e.g. glean) that make wide use of colon specifiers or visibility, we get hundreds (thousands) of duplicating warnings about these language features, spamming our builds. Flatten this warning into a single instance per parse, and a count of others. Example: ``` Warning: glean.cabal:1674:15: colon specifier is experimental feature (issue Warning: glean.cabal:1625:24: visibility is experimental feature (issue haskell#5660) (and 32 more occurrences) ``` Test plan: - try on glean.cabal from https://github.com/facebookincubator/Glean and see it working as above - cabal test all
For some projects (e.g. glean) that make wide use of colon specifiers or visibility, we get hundreds (thousands) of duplicating warnings about these language features, spamming our builds. Flatten this warning into a single instance per parse, and a count of others. Example: ``` Warning: glean.cabal:1674:15: colon specifier is experimental feature (issue Warning: glean.cabal:1625:24: visibility is experimental feature (issue haskell#5660) (and 32 more occurrences) ``` With -v1 (or below), flattening occurs. At -v2 or above, all instances are shown. Test plan: - try on glean.cabal from https://github.com/facebookincubator/Glean and see it working as above - cabal test all
For some projects (e.g. glean) that make wide use of colon specifiers or visibility, we get hundreds (thousands) of duplicating warnings about these language features, spamming our builds. Flatten this warning into a single instance per parse, and a count of others. Example: ``` Warning: glean.cabal:1674:15: colon specifier is experimental feature (issue Warning: glean.cabal:1625:24: visibility is experimental feature (issue haskell#5660) (and 32 more occurrences) ``` With -v1 (or below), flattening occurs. At -v2 or above, all instances are shown. Test plan: - try on glean.cabal from https://github.com/facebookincubator/Glean and see it working as above - cabal test all
For some projects (e.g. glean) that make wide use of colon specifiers or visibility, we get hundreds (thousands) of duplicating warnings about these language features, spamming our builds. Flatten this warning into a single instance per parse, and a count of others. Example: ``` Warning: glean.cabal:1674:15: colon specifier is experimental feature (issue Warning: glean.cabal:1625:24: visibility is experimental feature (issue haskell#5660) (and 32 more occurrences) ``` With -v1 (or below), flattening occurs. At -v2 or above, all instances are shown. Test plan: - try on glean.cabal from https://github.com/facebookincubator/Glean and see it working as above - cabal test all
For some projects (e.g. glean) that make wide use of colon specifiers or visibility, we get hundreds (thousands) of duplicating warnings about these language features, spamming our builds. Flatten this warning into a single instance per parse, and a count of others. Example: ``` Warning: glean.cabal:1674:15: colon specifier is experimental feature (issue Warning: glean.cabal:1625:24: visibility is experimental feature (issue haskell#5660) (and 32 more occurrences) ``` With -v1 (or below), flattening occurs. At -v2 or above, all instances are shown. Test plan: - try on glean.cabal from https://github.com/facebookincubator/Glean and see it working as above - cabal test all
Is this still being worked on? |
@kokobd yes... when contributors have the time. Missing items are mostly nice-to-haves and edge cases though. The ongoing stuff is:
Help is appreciated of course! |
Another item on that list in the OP, perhaps: |
#5526 (multiple public libraries) is in, but there are still a few things to add and polish
Visibility enforcement
cabal-install integration
cabal init
to take into account sublibraries when populating build-dependsTests
Documentation
Bugfixes
Setup.hs
/Cabal
and installed packagesmylib:{ } ^>= 42
syntax is accepted, though docs say it is not (Cabal 3: in build-depends, package name gets treated as internal library name ("legacy" syntax) even when using the pkg:lib qualified syntaxΒ #6083 related, makes sense to fix at the same time?) - fixedin 9b3686flookupDependency
in favor oflookupInternalDependency
and maybe a newlookupPackageDependency
that looks up all libraries of a packageEcosystem changes
The text was updated successfully, but these errors were encountered: