Tessil / ordered-map

C++ hash map and hash set which preserve the order of insertion
MIT License
512 stars 66 forks source link

Packaging for conda #21

Closed JohanMabille closed 5 years ago

JohanMabille commented 5 years ago

Hi,

I just discovered this project (and the related ones) and find it really cool! We are considering adopting it for the xframe project, in order to do that I need to package it for conda.

ordered-map is a too much generic name, so I was thinking of tsl_ordered_map, are you ok with that? Or do you prefer a different name?

Tessil commented 5 years ago

Hello,

Thank you for the interest.

The tsl_ordered_map name is good. I generally use that name or tsl-ordered-map depending on the naming convention.

JohanMabille commented 5 years ago

Hi,

Now that #22 is merged, do you think it is possible to tag a release? That's the last requirement before I can package it for conda.

Tessil commented 5 years ago

Hi,

Done, I just released the v0.7.0.

Warn me if you have any other trouble where I can help for the packaging.

JohanMabille commented 5 years ago

Everything seems to be fine, see the conda recipe, many thanks for your help!

Tessil commented 5 years ago

Hi @JohanMabille

I'm considering adding ordered-map, and other libraries in the tsl namespace, to vcpkg (and conan eventually) but I'm facing a bit of a dilemma regarding the name. I'd like to adopt the convention used by vcpkg (and most Linux packages managers like apt, yum, pacman, ...) which uses the character '-' as separator. Unfortunately we went with the name tsl_ordered_map instead of tsl-ordered-map.

A rename would mean that the cmake configuration files would change of name and directory (tsl-ordered-map/tsl-ordered-mapConfig.cmake instead of tsl_ordered_map/tsl_ordered_mapConfig.cmake for example). I'm wondering how much trouble would it incurs to the conda package if I used tsl-ordered-map for new versions. Is it possible to rename a package in conda (and make the old one points to the new one)? We could also keep the name of the package, but users would still have to use find_package(tsl-ordered-map).

Another possibility would be to keep the compatibility with an extra CMake parameter which if present would export the target with the name tsl_ordered_map and tsl-ordered-map otherwise.

If it's too much trouble, I'll see if i can just keep the '_' as separator as I don't want to break too much the compatibility

Thanks, Tessil

JohanMabille commented 5 years ago

Hi @Tessil

Thanks for pinging me on this. A rename is fine, the name of the conda package can be slightly different from the name of the targets and directories.

However, for consistency with other package managers, I will probably make a new package, and update the current one so it emits a warning upon installation to inform the user about the change. That's not so much work, and it will be easier on the long term than maintaining conditional names.

Tessil commented 5 years ago

Hi,

Thank you very much.

I'll try to make a new release with the name change by next week.

Sorry for the caused inconvenience.

Tessil commented 5 years ago

Hi @JohanMabille ,

Just to inform you that I released the new versions of the three libraries present in conda. The hopscotch-map library was also added to vcpkg (other ones will follow when I have a bit of time).