opam-repository
opam-repository copied to clipboard
[new release] mirage-block-ccm (1.0.2)
CHANGES:
- update to the current ecosystem
#=== ERROR while fetching sources for mirage-block-ccm.1.0.2 ==================#
OpamSolution.Fetch_fail("https://github.com/sg2342/mirage-block-ccm/releases/download/1.0.2/mirage-block-ccm-1.0.2.tbz (curl: code 404 while downloading https://github.com/sg2342/mirage-block-ccm/releases/download/1.0.2/mirage-block-ccm-1.0.2.tbz)")
@kit-ty-kate : sorry about that; i had dune-release publish ...
issues.
mirage-block-ccm-1.0.2.tbz
is now an asset of the 1.0.2
release and the fetch works.
This https://github.com/sg2342/mirage-block-ccm/blob/master/examples/dune#L6 line is suspicious. I would highly suggest to avoid (optional)
at all cost, but if you have to use it then there are missing optional dependencies in the opam file that need to be added.
@kit-ty-kate the optional dependencies are marked as dev
in the opam file, similarly to e.g. u2f and webauthn. Is there a better way to do this?
What is the purpose of this tool and why would it be only installed in dev
mode?
The issue with using dev
is that in 99% of the case the dependencies are not defined (dev = false) and having (optional)
means if all the libraries required are installed, the tool will be installed. Which mean now the package is non-reproducible. Worse even, if one of the dependency is in the middle of installing, dune might detect it as installed and fail halfway through because it isn’t fully installed yet.
I think I understand what you mean - but maybe that should be addressed by the dune developers (why do they ship an optional
thingy when they have seen opam's depopts
?). For "now the package is non-reproducible" I guess my point of view is different: reproducibility means you know the set of system packages and opam packages that are installed. In any case, maybe dropping the optional and dev
is the way to go.
(why do they ship an optional thingy when they have seen opam's depopts?)
I don’t quite get what you mean. (optional)
and depopts:
give you a feature that makes it very easy to shoot yourself in the foot but in some cases they are actually needed sadly. Both features should almost always be used in tendem.
doesn't matter -- see https://github.com/sg2342/mirage-block-ccm/pull/25
Now that https://github.com/sg2342/mirage-block-ccm/pull/25 is merged, would you could another release (or remove the git tag and release, and publish a fresh release under the same name), @sg2342? Thanks :)
What is the status of this? Do we need a new PR?
Ping @hannesm @sg2342
superseeded by #22364