Conversation
|
Cc: me |
|
I'm not a maintainer, so the following is just a personal opinion. |
|
@Yuras the idea is that we swap all of these libraries over in one go. NB: I wanted to get memory maintainership preferably, but that doesn't seem possible right now, so this is the next best thing. |
@jappeace OK, but then it makes sense to update
Probably I'm misunderstanding what's going on here, but won't it be better if |
yes it will allow cabal to make better plans. by default it'll pick "as high as possible". Someone would have to go trough all these http-client-tls hackage releases and add upperbounds to tls for example. (I think hackage maintainers allow bound changes for this exact reason).
it's not trivial to do. ram exposes the same api as memory (it's a little different because we rely on base and ghc-prim instead of basement), For this reason by default cabal doesn't allow you to install multiple versions of the same library. But this rename has caused this situation to occur anyway. 😔 if you're interested there is a discussion on all this: https://discourse.haskell.org/t/fork-basement-as-baseplate/12415/77 |
|
I have an impression we are talking past each other. I guess a typo in my previous comment contributed to the confusion, sorry for that.
OK, if you say so. Though I don't see why it won't work. Just to make sure we are talking about the same thing, by "hiding it behind a flag" I meant adding cabal flag in flag memory
default: false
manual: true -- or even false to let cabal decide?
-- <..>
library
if flag(memory)
build-depends: memory
else
build-depends: ramThat way someone can e.g. temporary set
I didn't find any discussion of how to avoid ripple effect there. Though the thread is quite long, I could've missed it. ADDED: flag memory
default: false
manual: false
-- <..>
library
if flag(memory)
build-depends: memory, tls < 2.3.0
else
build-depends: ram, tls >= 2.3.0 |
|
@Yuras @jappeace I did not read the whole discussion, nor do I intend to, but:
|
tls 2.3.0 is the first version using ram instead of memory. Older tls versions (< 2.3.0) use memory and will cause type errors when combined with this package which now depends on ram. The upper bound ensures compatibility with the current tls API. Prompt: add bounds to the PR such that this branch has a tls with the ram change already included, but also a tls with a tight upper bound Tokens used: ~200k Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Tighten tls bounds to >= 2.3.0 && < 2.4
|
We've a tight bound on tls now for the next release in this PR. it doesn't solve the issue where previous versions don't have upper bounds and I don't have permissions to change that either. |
See: * #640 * #641 * snoyberg/http-client#573 The immediate problem is that direct dependency `http-client-tls <= 0.3.6.4` does not support newly-released `crypton-1.1.0` (an indirect dependency of `hpack`) but does not, itself, specify an upper bound on `crypton`.
|
My intention is:
The boundaries in |
|
@Yuras Do you still see the problem? |
@kazu-yamamoto Sorry, I'm not sure which problem you are referring too. If it's about the lower bound on |
|
I'm not going to be able to do any uploads myself for a bit. I'll be happy to add you as a maintainer on Hackage, but for some reason I'm not able to load any pages on Hackage at the moment. I'll try again later. In the meanwhile, I've invited you as a maintainer on this repo as well. |
|
@kazu-yamamoto I've made you a maintainer on Hackage for all four packages in the repo. |
|
@snoyberg Thanks! Hackage is unstable recently: haskell/hackage-server#1467 May I ask to give me the Write permission of this repository to merge this PR? |
@kazu-yamamoto Just to make sure you didn't miss it: the CI is failing because Also I think technically I have right to merge into this repository, though I'd prefer to avoid doing this without maintainer's approval. |
|
@Yuras I did not notice this. I think that relaxing the boundary of |
|
I should do the same thing for |
|
@Yuras I think that this problem has been fixed. |
|
@kazu-yamamoto Indeed the code compiles now, but we have another problem. Tests are failing with the following error: I managed to pin the issue down to As a maintainer of |
|
|
|
@kazu-yamamoto it's just waiting on you accepting the invite |
|
Oh. I just found your invitation! Thanks. |
|
yes that's better, thanks |
|
Closing. |

attempt to get rid of basement
we can't modify memory but I can replace it with a copy which no longer uses basement.
for context: https://discourse.haskell.org/t/fork-basement-as-baseplate/12415/72
cf: kazu-yamamoto/crypton#67
my little worker bee asserted the tests pass and it builds: jappeace#1