-
Notifications
You must be signed in to change notification settings - Fork 414
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
install
subcommand design
#680
Comments
The main goals are:
So the design is:
@Andily (for debian), @AltGr (for opam), @dra27 (for windows) what do |
/cc @nojb @alainfrisch as well for the Windows part. I remember we talked about jbuilder and installation on Windows in the past |
Thanks @dra27 for pointing me to this place. I would like to give you some real world inspiration to the problem. Here here two projects, which were ported to dune lately: The spec files define typical rpm package builds. An attempt to use
which isn't as straight forward as one would wish for... Probably I've missed some opportunities to optimize this, but in order to make this more manageable, the DESTDIR feature is crucial, and creating any missing directories another. |
Thanks @frispete for this post-mortem analysis and the pointers. Do you think the current proposition will work for rpm package? |
As a packager, the DESTDIR feature is most important. As you can see from the snippet above, all used paths have to be specified in order to get opam-installer to install into another destination. Hence, a packager needs to determine, which paths are needed. Most useful would be an install command like:
or variations thereof. The rest of the proposition looks reasonable from my POV, but beware, I'm not that deep into the ocaml specific installation details, sorry. |
I'm closing this ticket as diml already implemented most of this. The only thing that remains is the |
@rgrinberg I believe that the scope of this feature is broader than what I did + support for |
Okay. It would still be helpful to spec out dune configure separately I think however. It doesn't look as nice when open proposals are partially implemented. |
Hi @glondu, since you packaged dune for debian do you have any comment on this proposition which could touch the way packages that use dune are packaged? |
The proposal is not even fully respected currently, e.g:
But we have great progress now with |
It seems to me that most of this is solved by various advances in the codebase, I propose we close this issue and keep #3978 open for now. |
Yes, this ticket is quite confusing and I'm not sure which parts are still relevant. I also vote to close and create a new issue with the relevant points |
Actually I was wrong on my analysis, this issue is still pretty much relevant, as of today some of the ideas here are needed, otherwise |
Note that we committed a quick fix for 2.9 in #4744 , by adding support for
This wasn't done as in the PR as backporting to 2.9 would have been tricky. |
We've had more recent changes in this department so it's worth revisiting where we stand with the rest of the team. @bobot could you let us know where things stand at the next meeting? |
If anybody would have a problem with bringing up dune on the system where there no exept working compiler (like loongarch64), here the commands which allow install dune globaly.
I can submit PR to README, but if this would be implemented, that's would be no-op, since command lines would work. |
This issue doesn't seem to get more traction anymore. According to the comments above and the changes made, we consider it as done. Feel free to reopen if you think this is relevant 👍 |
The current state of the
install
subcommand is currentlyunsatisfactory (cf. #250, #372, #202). I promised to improve it, but I
have not delivered the code due to lack of time, and the time needed for understanding the current usage. I perhaps found someone willing to do it, but the design must be set
first. I'm going to edit this comment with the current state of the
design once something is agreed on.
The text was updated successfully, but these errors were encountered: