www.delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2018/01/11/07:51:18

X-Recipient: archive-cygwin AT delorie DOT com
DomainKey-Signature: a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id
:list-unsubscribe:list-subscribe:list-archive:list-post
:list-help:sender:from:to:subject:date:message-id:mime-version
:content-type:content-transfer-encoding; q=dns; s=default; b=H+O
3KQ6tfBdVs0oqQnZeSktbTWjiVwdDR2+IvuLasVsTumvIhAhKCVJ3T2nfWhwRifD
fnJnXm/PnEyUI08KuLGC0571GAHpfiUKYdbPbhWO9h19pqTpCvJPbZdD6L8c0Nbb
2aaSAla4HvP6lgDOuSGQblDsPXRbjX43iF9b1V/k=
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id
:list-unsubscribe:list-subscribe:list-archive:list-post
:list-help:sender:from:to:subject:date:message-id:mime-version
:content-type:content-transfer-encoding; s=default; bh=CCn0nbjeP
3Sx8Gl8+Id95l04Sdk=; b=A3CBbeBvCisySmC2S5ATxoOeGBWxpYrA7AWBqgfiG
bFm7P7xrtd30dsvS9Q8OvMAl42pldPDX/rtZbIHQ5FpEPkRvprMHkkmCF8Bnii/r
tLzfeMHxNYol0maYs1ylDyvvDhYZSxTvu2YuDkPMN/Kl8BLiqvX+CiLW+r+bJo3H
ow=
Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Id: <cygwin.cygwin.com>
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT com
Authentication-Results: sourceware.org; auth=none
X-Virus-Found: No
X-Spam-SWARE-Status: No, score=-1.9 required=5.0 tests=BAYES_00,SPF_HELO_PASS,SPF_PASS,T_RP_MATCHES_RCVD autolearn=ham version=3.3.2 spammy=Therefore, compulsory, subtly, H*UA:Outlook
X-HELO: ppsw-31.csi.cam.ac.uk
From: "David Allsopp" <David DOT Allsopp AT cl DOT cam DOT ac DOT uk>
To: <cygwin AT cygwin DOT com>
Subject: Missing dependencies for opam package
Date: Thu, 11 Jan 2018 12:50:46 -0000
Message-ID: <000701d38ada$cd016280$67042780$@cl.cam.ac.uk>
MIME-Version: 1.0
X-IsSubscribed: yes

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

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019