rnpgp / sexpp

C++ Library for SEXP (S-expressions)
Other
7 stars 4 forks source link

name conflict libsexp (rnpgp/sexp and mjsottile/sfsexp) #45

Closed remicollet closed 1 year ago

remicollet commented 1 year ago

I just discover there is another project providing "libsexp"

=> https://github.com/mjsottile/sfsexp

So people won't be able to install both projects on the same computer.

I don't see any simple and good solution :(

remicollet commented 1 year ago

@mjsottile @ether42 for you information

dkg commented 1 year ago

I'm running into this collision as well, and I think the best solution would be to rename this one (e.g. to something like librnpsexp or just librsexp) . I can offer a PR to do that if you'd be ok with that.

There's also a larger question about whether the symbol names themselves should be updated to use a matching symbol prefix (that is, the C++ namespace). I think that is a distinct decision. The name clash of the library itself will prevent co-installation on the same system, even if no one program uses both libraries. @mjsottile's project exports a C API, not a C++ namespace, so there shouldn't even be a conflict if some program ends up linking to both libraries.

ronaldtse commented 1 year ago

In light of the name conflict, I suppose the best course of action is to change our library name to something else, such as librsexp.

Thoughts @maxirmx ?

mjsottile commented 1 year ago

Sorry about being the source of the name collision. Unfortunately, I'm not sure how much I can do to change it on my end - I adopted the libsexp naming convention when the project was created around 23 years ago (back when it lived on SourceForge), and I honestly have no idea how many projects have adopted it over that time period that would experience breakage if I changed it.

ronaldtse commented 1 year ago

@mjsottile no problem, 23 years is indeed a very long time!

maxirmx commented 1 year ago
  1. If rsexp means SExp library used in RNP lets keep it private, static and not pubished :) If we still want to publish it I suggest to name it libsexpxx or libsexpp to emphasize that it is C++ library as opposed to existing one

  2. it uses namespace sexp. We can change it to namespace rnp::sexp, but if it is internal rnp library why we are publishing it as as separate package so fiercly ?

ronaldtse commented 1 year ago

libsexpp sounds good. Let's do that? Then we change the name of the repo to sexpp too.

maxirmx commented 1 year ago

I will do libsexpp

ronaldtse commented 1 year ago

I've updated the repo name too sexpp in #49.