nimgame2 icon indicating copy to clipboard operation
nimgame2 copied to clipboard

nimble file should avoid @#head versions

Open c-blake opened this issue 4 years ago • 4 comments

See https://github.com/c-blake/hldiff/issues/1#issuecomment-682113924 & subsequent.

Your requires sdl2_nim@#head seems to have been put in place and just stuck there since January 2017. 32f7b03e4001885346127b5e7e5d3deaedb2f834 seems to be the appropriate sdl2_nim git hash if you want that version, or else some release since then would likely be better.

c-blake avatar Aug 27 '20 19:08 c-blake

So how do I suppose to refer to the latest version of the sdl2_nim then if not with #head?

Changing ng2 nimble file each time I release a new bugfix for the sdl2_nim seems highly inefficient.

Vladar4 avatar Aug 30 '20 11:08 Vladar4

I sympathize with you not wanting to have frequent z releases in sdl2_nim-x.y.z, but since -- once installed -- nimble never updates an foo-#head install according to the nimble maintainers, this feature is not achieving what you actually want. Your end users need to always rm -rf .nimble/pkgs/sdl_nim-#head before installing nimgame2 (or anything else that depends on sdl2_nim@#head). If they don't they could be stuck in the distant past, and I think that is not common knowledge among nimble users. So, I think at least with the current nimble frequent z releases is your best bet. Tagging @genotrance for his recommendation. I was personally stunned that foo-#head is never updated as this is almost exactly the opposite of what is useful/expected (though it might become an expense end users would complain about).

c-blake avatar Aug 30 '20 11:08 c-blake

See https://github.com/nim-lang/nimble/issues/318. Nimble doesn't have lock files yet though an implementation is in the [works (https://github.com/nim-lang/nimble/issues/127). But who knows when that 5k diff will get merged.

Meanwhile, note that nimgame2 is also a library so it's lock file, if you decide to create one, will only apply to its tests, not to an end user who would need create their own lock file as well.

Nimble already installs the latest version of a package even if the required version is now old. #head just keeps your users stuck to one in the past.

genotrance avatar Aug 30 '20 12:08 genotrance

Yeah, that's kinda counter-intuitive behavior. I'll keep this open for now, will implement in the upcoming release.

Vladar4 avatar Aug 30 '20 16:08 Vladar4