public inbox for cygwin@cygwin.com
 help / color / mirror / Atom feed
* Missing dependencies for opam package
@ 2018-01-11 12:50 David Allsopp
  2018-01-16  6:21 ` Andy Li
  0 siblings, 1 reply; 2+ messages in thread
From: David Allsopp @ 2018-01-11 12:50 UTC (permalink / raw)
  To: cygwin

The dependencies for the opam package in the Cygwin repository are
incomplete. Since setup.ini doesn't support "optional" or "advised"
dependencies (at least I don't think it does), there are choices for how
many dependencies are added, which I leave to the maintainer.

As a minimum, please could libX11-devel and flexdll be added as a dependency
for the opam package, as not having those packages installed creates subtle
issues for new users (and it turns out there are a few!).

The first command any opam user must run is `opam init` and this will fail
if any of diff, tar, patch, unzip and *either* wget *or* curl cannot be
found. I'd suggest therefore that diffutils, tar, patch, unzip and curl be
added as dependencies.

`opam init` will also complain, but not fail, if any of cc, make and m4 are
missing, so gcc-core, make and m4 would be good additional dependencies.

opam will either use a preinstalled ocaml or will compile a new one from
scratch. The ocaml package could be added as a dependency (this is certainly
what Ubuntu, and I believe several other Linux distributions do), although
it is not compulsory and indeed with our forthcoming opam 2.0 release,
unnecessary. If there is not a preinstalled ocaml, then `opam init` will
seek to compile one, which requires the gcc-core and make packages. OCaml's
configure script disables features if libX11-devel and flexdll are not
installed and builds a subtly different ocaml, which has caused surprise for
new users as the error message from subsequent build systems is slightly
obscure. Unlike other dependencies which cause errors if not present, these
do not and if subsequently installed then require the user to recompile
ocaml, which is time-consuming. Therefore, although they're not strictly
dependencies, it would very helpful if libX11-devel and flexdll were both
automatically installed with opam.

Finally, normal use of opam also interacts with source code repositories. It
would be advisable, though not compulsory, to depend on rsync and also the
git and mercurial packages.

So, in summary, the following dependencies would be good to have added to
the opam package, in descending order of importance:

  flexdll
  libX11-devel
  diffutils
  tar
  patch
  unzip
  curl (or wget, if preferred)
  gcc-core
  make
  m4
  rsync
  git
  mercurial
  ocaml

Thanks!


David


--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: Missing dependencies for opam package
  2018-01-11 12:50 Missing dependencies for opam package David Allsopp
@ 2018-01-16  6:21 ` Andy Li
  0 siblings, 0 replies; 2+ messages in thread
From: Andy Li @ 2018-01-16  6:21 UTC (permalink / raw)
  To: cygwin

On Thu, Jan 11, 2018 at 8:50 PM, David Allsopp <David.Allsopp@cl.cam.ac.uk>
wrote:
>
> So, in summary, the following dependencies would be good to have added to
> the opam package, in descending order of importance:
>
>   flexdll
>   libX11-devel
>   diffutils
>   tar
>   patch
>   unzip
>   curl (or wget, if preferred)
>   gcc-core
>   make
>   m4
>   rsync
>   git
>   mercurial
>   ocaml


Thanks for the detailed explanation!
I've just added those in the opam 1.2.2-2 package.

Best regards,
Andy

--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2018-01-16  6:21 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-01-11 12:50 Missing dependencies for opam package David Allsopp
2018-01-16  6:21 ` Andy Li

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).