delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2020/06/17/09:48:19

X-Recipient: archive-cygwin AT delorie DOT com
DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org C58A1383E802
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cygwin.com;
s=default; t=1592401641;
bh=KnpZkLi3kOL3iSUiIqE8ulxSKjTpa50EER+sQH4vuJk=;
h=To:Subject:Date:References:In-Reply-To:List-Id:List-Unsubscribe:
List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:
From;
b=ewXpe2U+DHEAgz3NNZL6tVh/uKEt/J8T4RdNAgVUeEjmSu5pewn1Gg24TwNVtF+4l
ZwEUJwzLLcwglXsQ6D2N1vltR4rHOTkTNt80z0DUBB+UeUr+aK10ardWUumvt1SqhJ
XBFv7BttHSt2+Qa/bERPchMqG4+hw3kponp/xc2c=
X-Original-To: cygwin AT cygwin DOT com
Delivered-To: cygwin AT cygwin DOT com
DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org BA51B3870867
To: ASSI <Stromeko AT nexgo DOT de>, "cygwin AT cygwin DOT com" <cygwin AT cygwin DOT com>
Subject: RE: opam package should depend on ocaml-compiler-libs
Thread-Topic: opam package should depend on ocaml-compiler-libs
Thread-Index: AdY0yWOIhYN460JrQFiXNopcR47fggFq/qoAAL+4vTAAEoqUgAAbKu82AaA5mPA=
Date: Wed, 17 Jun 2020 13:47:08 +0000
Message-ID: <eaa2a40bef6347dba456d320138126d7@metastack.com>
References: <000501d634d2$5ebc65f0$1c3531d0$@cl.cam.ac.uk>
<6331360f-ee38-d41e-ab30-cca991c3cf5c AT SystematicSw DOT ab DOT ca>
<b50f918022fc427ca575a57197fe5e79 AT metastack DOT com>
<5b92a927-8db6-5e2b-8a57-ce91a7681fe9 AT SystematicSw DOT ab DOT ca>
<87a71cenic DOT fsf AT Otto DOT invalid>
In-Reply-To: <87a71cenic.fsf@Otto.invalid>
Accept-Language: en-GB, en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [172.16.0.125]
MIME-Version: 1.0
X-Scanned-By: MIMEDefang 2.65 on 172.16.0.20
X-Server-Quench: 0bd18a0d-b0a1-11ea-80b3-84349711df28
X-AuthReport-Spam: If SPAM / abuse - report it at:
http://www.authsmtp.com/abuse
X-AuthRoute: OCd1ZAARAlZ5RRob BmUtCCtbTh09DhZI RxQKKE1TKxwUVhJU
L0JGL0JXPR1GBEcA BHlxHgpLUl1zWXN0 bwBVag9cYARHXBti WVZIQVZMFQFtHh4E
GR9QUhwKA1k0Bwlw bUVkW3MVXUR5fU4z QhwAFGVXZTN9OmBO UV1ZdlYFbQtKLBxY
YlR8UHoKYGRTMHho CTUebXg2JTxaYDxc SQIEIl9aWkYMAzow DxwPBTgpEQUCQW00
JBUjLhsXG0MJM0E/ Kx4lWFgDWwAC
X-Authentic-SMTP: 61633634383431.1021:7242
X-AuthFastPath: 0 (Was 255)
X-AuthSMTP-Origin: 93.89.134.145/25
X-AuthVirus-Status: No virus detected - but ensure you scan with your own
anti-virus system.
X-Spam-Status: No, score=-2.5 required=5.0 tests=BAYES_00, KAM_DMARC_STATUS,
KAM_LAZY_DOMAIN_SECURITY, RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H3,
RCVD_IN_MSPIKE_WL, SPF_HELO_NONE, SPF_NONE,
TXREP autolearn=no autolearn_force=no version=3.4.2
X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on
server2.sourceware.org
X-BeenThere: cygwin AT cygwin DOT com
X-Mailman-Version: 2.1.29
List-Id: General Cygwin discussions and problem reports <cygwin.cygwin.com>
List-Archive: <https://cygwin.com/pipermail/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-request AT cygwin DOT com?subject=help>
List-Subscribe: <http://cygwin.com/mailman/listinfo/cygwin>,
<mailto:cygwin-request AT cygwin DOT com?subject=subscribe>
From: David Allsopp via Cygwin <cygwin AT cygwin DOT com>
Reply-To: David Allsopp <David DOT Allsopp AT cl DOT cam DOT ac DOT uk>
Sender: "Cygwin" <cygwin-bounces AT cygwin DOT com>

Achim Gratz wrote:
> Brian Inglis writes:
> >>> Cygwin packages are granular and dependencies are functional: which
> >>> of the Cygwin packages opam and opam-installer uses Cygwin package
> >>> ocaml- compiler-libs, or does opam use another ocaml package to build?
> 
> >> I don't quite understand your question - opam is OCaml's package
> manager.
> 
> The question was if adding ocaml-compiler-libs to the opam requirements is
> sufficient or if there are other packages that need to be added as
> requirements for opam.  A second related question is if any of the
> existing ocaml packages are missing dependencies, especially to ocaml-
> compiler-libs.  Finally, since opam is split into two packages on Cygwin,
> which of these needs the requirement.

Indeed, adding ocaml-compiler-libs as a dependency of opam is sufficient (opam-installer does not in any way depend on it). The rest of opam's non-build dependencies were dealt with in 2018 (see https://github.com/andyli/opam-cygwin/blame/master/opam.cygport#L22-L23 and the linked https://sourceware.org/legacy-ml/cygwin/2018-01/msg00079.html).

> >> It can either compile OCaml itself from sources or use the OCaml
> >> installed by the system's package manager. In the second case, it
> >> quite reasonably assumes that the OCaml which has been installed is
> >> the one the OCaml developers intended which includes its
> >> compiler-libs package. Given that opam depends on ocaml, it should
> >> also depend on ocaml-compiler-libs, therefore.
> >
> > What you or the ocaml developers assume does not matter: what matters
> > is how the package works. If you do not understand the question and
> > can not provide the answer, I can see why the maintainer made his
> > choice: he probably never used the packages, just ran any tests
> included.
> 
> That sounds unnecessarily harsh to me.  It would however be helpful if the
> opam maintainer could have a look, since he is undoubtedly much more aware
> of the issues on both the OCaml and Cygwin sides than any one of us and
> could probably explain why the packages are built the way they are.

The dependencies were modified before so that `opam init` succeeds without it being:

- install Cygwin's opam package
- Run opam init
- <sigh>, re-run Cygwin setup and install a load more Cygwin packages
- Run opam init again

The additional dependency ensures that the next command many users would then run `opam install ocamlfind` also succeeds.

> > It appears that neither ocaml nor opam use ocaml-compiler-libs,
> > otherwise the cygwin build and packaging software would include it, so
> > which package in the ocaml suite actually binds the
> > ocaml-compiler-libs to do its job, or does that package just provide
> > dynamic libraries which are expected to be present when anyone runs
> ocaml programs?
> > In which case users would be expected to manually install the package
> > ocaml-compiler-libs.
> 
> It's not uncommon that these captive "package managers" assume a certain
> environment without depending directly on it, so you'll indeed have to
> manually add the pre-requisites as manual requirements for the Cygwin
> package.  That doesn't solve the problem that usually language
> environments that come with their own package manage don't quite play nice
> with the system package manager, especially if the system is not
> GNU/Linux.

We do our best - the opam developers use a mix of FreeBSD/OpenBSD/macOS/Windows & Debian, so we try to remain accommodating by design :)

Thanks,


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

- Raw text -


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