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
modernization effort #88
Conversation
and remove all of it from this source tree since this might be useful to some other packages
closer to the one in opam-repository
because there is not any more bit of C code in there. :)
since all the doc is in parmap.mli
thanks to the opam mmap package, we don't have to introduce some preprocessor into our build. :)
If this is accepted, I will try to switch the build to dune in the next step. |
On Mon, 19 Aug 2019, Francois Berenger wrote:
this is compatible with OCaml 4.02.3 and 4.08.0
Thanks!
julia
…
sorry for the many commits into a single PR.
However, each commit should be quite simple and self-explanatory.
I regenerated the configure file; I can revert this if needed.
Cc: @JuliaLawall @glondu
PS: it feels so_good to remove ocamlbuild's boilerplate...
____________________________________________________________________________
You can view, comment on, or merge this pull request online at:
#88
Commit Summary
* rm compilation warning with 4.02.3
* rely on the opam setcore package
* rm bytearray things
* rely on the opam bytearray package
* update opam file
* rely on the mmap opam package
* no more need to generate config.h
* no more need to generate config.h
* rm trailing whitespaces
* I don't think ocamldoc needs to look into parmap.ml
* 4.08.0 compatiblity fix
* I forgot to mention mmap in the META file
File Changes
* M META (3)
* M Makefile.in (2)
* M _tags (4)
* D bytearray.ml (126)
* D bytearray.mli (46)
* D bytearray_stubs.c (73)
* D config.h.in (63)
* M configure (14)
* M configure.ac (4)
* M example/_tags (2)
* D libparmap_stubs.clib (2)
* D myocamlbuild.ml (17)
* M opam (25)
* M parmap.ml (18)
* D setcore.ml (6)
* D setcore_stubs.c (62)
* M tests/_tags (4)
Patch Links:
* https://github.com/rdicosmo/parmap/pull/88.patch
* https://github.com/rdicosmo/parmap/pull/88.diff
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute thethread.[AAD2ZGSYU4ROJETZQYEH7VDQFNTK3A5CNFSM4INNKRK2YY3PNVWWK3TUL52HS4DFUVE
XG43VMWVGG33NNVSW45C7NFSM4HGELPEA.gif]
|
using opam package stdlib-shims note that this still compiles with OCaml 4.02.3
I pushed some more things, so that we don't have compilation warnings with 4.08.0 (but still compile with 4.02.3). |
I am worried by all these new dependencies. Maintaining many tiny packages like those really hurts. |
The new dependencies (setcore, bytearray, mmap) are all using dune. |
I am aware of that. That's partly why I complained.
The maintenance cost is rather constant no matter how big the package is. Even if that cost is small, it feels more important for small packages. bytearray and setcore (and mmap, but that's not your fault) are ridiculously small. It feels less "profitable" to package them. (I'm talking with my Debian hat here.)
This feels so wrong...
If they are useful to other programs, maybe they should be made part of some bigger third-party library (extlib and/or extunix come to mind... maybe batteries?). My fear is that we end up with tons of 1-line (or 1-function) packages like in the NPM world, which is not sustainable. |
Concerning Debian, isn't there a tool which allows dune packages to be turned automatically into Debian packages? |
No, but creating the Debian package per se is not what takes most of the time and energy. It is reviewing, which cannot be automated; especially of licensing/copyright issues, which is done by people who process all Debian package additions (not just OCaml-related ones).
No. I think making too many small packages is not sustainable, no matter how easy or cost-less it is to add/maintain them. Even in opam, where there is no reviewing, there is the cost of additional metadata in the repository, the additional burden on constraint solving, the additional burden put on downstream users that need to review their dependencies (and I expect any serious organization does that)... |
If this PR is not accepted, this is fine with me. Of course, not accepting parts of this PR will make my future contributions much less likely, because PS: package managers should just scale. |
@glondu concerning setcore and bytearray being part of other libraries, feel free to ride that horse. This is open source, no one prevents you from doing it. Maybe setcore could interest extunix, maybe bytearray could interest the stdlib. Once there are merged in there (or anywhere else), I will happily remove those micro packages and stop relying on them. |
Looking at the discussion in this thread, I thing there are three different issues mixed up in a single PR:
The priority is to have a release of Parmap with the minimal changes needed to make it compile on recent OCaml now that the decision is taken, and push it to opam+Debian, so let's focus on this first, and leave the two other issues for further discussion/testing. @UnixJunkie : I'll close this for the moment, may you create a new PR with the minimal changes needed for (1) ? |
@rdicosmo @UnixJunkie: |
autotools and configure.ac are still very much a standard in 2019; the OCaml compiler itself recently (and finally) migrated to it (ocaml/ocaml#2139). I'm not sure what you are proposing to use instead @olafhering. |
Well, ocaml itself must be built with "UNIX tools" in some way, that hardly counts. Fortunately, I think Well, I will take a look at how it needs to be done. |
@olafhering a PR to switch to dune would be very welcome. I would be happy to review and test it. |
|
this is compatible with OCaml 4.02.3 and 4.08.0
sorry for the many commits into a single PR.
However, each commit should be quite simple and self-explanatory.
I regenerated the configure file; I can revert this if needed.
Cc: @JuliaLawall @glondu
PS: it feels so_good to remove ocamlbuild's boilerplate...