Skip to content
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

Was the renaming of the ocp-indent library intentional? #214

Open
josch opened this issue Jan 26, 2016 · 5 comments
Open

Was the renaming of the ocp-indent library intentional? #214

josch opened this issue Jan 26, 2016 · 5 comments

Comments

@josch
Copy link

josch commented Jan 26, 2016

Hi,

I'm currently packaging ocp-indent 1.5.2 for Debian and noticed that Makefile.simple is now executing:

ocamlfind install $(NAME)

instead of the earlier

ocamlfind install $(LIB)

Since $(NAME) is ocp-indent while $(LIB) is ocp-indent-lib the files are now installed to /usr/lib/ocaml/ocp-indent instead of /usr/lib/ocaml/ocp-indent-lib/ as they were earlier.

Since the installation path influences the Debian package name, I wanted to know whether this change was intentional or not.

Thanks!

@josch
Copy link
Author

josch commented Jan 26, 2016

Also, if the renaming was intentional, then why are ocp-indent-lib.cma and ocp-indent-lib.cmxs still named as they are and were not renamed to ocp-indent.cma and ocp-indent.cmxs, respectively?

@lefessan
Copy link
Member

For what it matters, at OCamlPro, the convention is to use ocp-XXX for tools and ocplib-XXX for corresponding libraries. This naming scheme makes depending on the tool or on the library clearer.

@josch
Copy link
Author

josch commented Jan 26, 2016

That still doesn't answer my question. Is the XXX in your last message supposed to be ocp-indent or ocp-indent-lib?

Is the change of the install path in Makefile.simple intentional or accidental?

Why do the names of the cma and cmxs differ from the otherwise chosen naming scheme?

@AltGr
Copy link
Member

AltGr commented Jan 28, 2016

The change is part of 7817a13 and I don't believe it was intentional.
The situation is kind of a mess, though, as the "canonical" way of building ocp-indent is through ocp-build, and in this case we generate 4 sub-libraries: ocp-indent.lexer, ocp-indent.utils, ocp-indent.dynlink and... ocp-indent.lib.
I am not aware of projects using the all-in-one library layout as generated by Makefile.simple, so it would be best to fix it to use the same 4-sub-libraries layout. Failing that, having a library named ocp-indent-lib at least avoided some of the possible confusion.

@josch
Copy link
Author

josch commented Jan 28, 2016

Thank you!

The reasons why we don't use ocp-build to build ocp-indent in Debian are:

  • ocp-build is not packaged
  • ocp-indent provides Makefile.simple which allows one to build ocp-indent without ocp-build

To keep compatibility with earlier releases, I will create a patch for Makefile.simple which restores the behaviour of the version before commit 7817a13 and uses ocp-indent-lib again. I'll post a link here once I'm done.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants