From: "Josh Berdine" <josh@berdine.net>
To: "Ocaml Mailing List" <caml-list@inria.fr>
Subject: Re: [Caml-list] opam and dune [Was: How to use -map]
Date: Thu, 08 Aug 2019 20:03:22 +0100 [thread overview]
Message-ID: <F84AA9C6-2BE1-4328-A32F-703FCC58D50B@berdine.net> (raw)
In-Reply-To: <CAJbYVJLjFSo8i2S1=6X=fxpxeZuZYjuf-8Rq6FvN9M791gc+pA@mail.gmail.com>
[-- Attachment #1: Type: text/plain, Size: 3614 bytes --]
FWIW, there is a very similar stumbling block when working on a pinned
package that has an opam file in the opam repo but not in the package's
own source repo. In this case the problem does not have anything to do
with whether the opam file is generated or not, and is independent of
dune.
This situation arises if e.g. you `opam pin --dev` (or pin a local git
clone of) such a package, and then make source changes that also require
changes to the opam file. At that point, opam uses the opam file from
the opam repo whether or not there is a local one (that is not in source
control).
Perhaps this situation is too uncommon to warrant the time to address
it, but I have hit it and don't know a satisfactory work-around.
Cheers, Josh
On 8 Aug 2019, at 19:05, Yawar Amin wrote:
> Checking in generated build system files is fairly common practice
> now.
> Lots of build systems/package managers have 'lockfiles' that are
> generated
> to help with reproducible builds. These need to be checked in. In fact
> I
> think opam has two different ways of generating 'lockfiles'.
>
> Regards,
>
> Yawar
>
> On Wed, Aug 7, 2019 at 4:32 PM Ian Zimmerman <itz@very.loosely.org>
> wrote:
>
>> On 2019-08-06 11:47, Ian Zimmerman wrote:
>>
>>> So, for now, I'm sticking with Makefiles. :-P
>>
>> I decided to give dune a try, mostly to give myself an excuse to
>> procrastinate with other projects. After some rough going but being
>> able to figure it out, I hit what seems like an impassable strait.
>>
>> dune generates the $package.opam file, therefore that file should not
>> be
>> on version control. _But_ then "opam pin ." insists on getting that
>> very file from the version control repo, instead of using the local
>> one:
>>
>> matica!179 aaa$ opam pin .
>> [NOTE] Package aaa is already pinned to
>> git+file:///home/itz/git/aaa#master (version 0.0.8~dev).
>> [aaa.0.0.8~dev] no changes from git+file:///home/itz/git/aaa#master
>> [WARNING] aaa's opam file has uncommitted changes, using the
>> versioned one
>> aaa is now pinned to git+file:///home/itz/git/aaa#master (version
>> 0.0.8~dev)
>> The following actions will be performed:
>> - install aaa 0.0.8~dev*
>> Do you want to continue? [Y/n] y
>> [aaa.0.0.8~dev] synchronised from git+file:///home/itz/git/aaa#master
>>
>> <><> Processing actions
>> <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
>> [ERROR] The compilation of aaa failed at
>> "/home/itz/.local/packages/opam/opam-init/hooks/sandbox.sh build dune
>> subst".
>>
>> #=== ERROR while compiling aaa.0.0.8~dev
>> ======================================#
>> # context 2.0.4 | linux/x86_64 | ocaml-base-compiler.4.07.1 |
>> pinned(git+file:///home/itz/git/aaa#master#193ad3bd)
>> # path
>> ~/.local/packages/opam/default/.opam-switch/build/aaa.0.0.8~dev
>> # command ~/.local/packages/opam/opam-init/hooks/sandbox.sh build
>> dune
>> subst
>> # exit-code 1
>> # env-file ~/.local/packages/opam/log/aaa-10257-b76d46.env
>> # output-file ~/.local/packages/opam/log/aaa-10257-b76d46.out
>> ### output ###
>> # Error: No <package>.opam files found.
>>
>>
>>
>> <><> Error report
>> <><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>
>> +- The following actions failed
>> | - build aaa 0.0.8~dev
>> +-
>> - No changes have been performed
>>
>> So how do you get around this?
>>
>> --
>> Please don't Cc: me privately on mailing lists and Usenet,
>> if you also post the followup to the list or newsgroup.
>> To reply privately _only_ on Usenet and on broken lists
>> which rewrite From, fetch the TXT record for no-use.mooo.com.
>>
[-- Attachment #2: Type: text/html, Size: 5124 bytes --]
next prev parent reply other threads:[~2019-08-08 19:03 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-07-31 21:18 [Caml-list] How to use -map , -no-alias-deps and friends? Ian Zimmerman
2019-07-31 21:52 ` Nicolás Ojeda Bär
2019-08-06 18:47 ` Ian Zimmerman
2019-08-07 20:32 ` [Caml-list] opam and dune [Was: How to use -map] Ian Zimmerman
2019-08-08 1:38 ` Rudi Grinberg
2019-08-08 17:48 ` Hendrik Boom
2019-08-08 17:53 ` Rudi Grinberg
2019-08-08 19:38 ` Daniel Bünzli
2019-11-15 0:32 ` Ian Zimmerman
2019-08-08 18:05 ` Yawar Amin
2019-08-08 19:03 ` Josh Berdine [this message]
2019-07-31 22:07 ` [Caml-list] How to use -map , -no-alias-deps and friends? Florian Angeletti
2019-07-31 23:14 ` Ian Zimmerman
2019-08-01 9:40 ` Florian Angeletti
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=F84AA9C6-2BE1-4328-A32F-703FCC58D50B@berdine.net \
--to=josh@berdine.net \
--cc=caml-list@inria.fr \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox