BioJulia/Indexes.jl

Uninstallable on Julia 1.0

Closed this issue · 7 comments

For me, this fails to install on Julia 1.0, which leads to CI failures of its dependencies. I don't understand why it can't install. See the CI failure at BioJulia/GFF3.jl#4.

Also, I downloaded Julia 1.0 and can confirm it does not install in a fresh Julia installation with an empty environment:

julia> versioninfo()
Julia Version 1.0.5
Commit 3af96bcefc (2019-09-09 19:06 UTC)
Platform Info:
  OS: macOS (x86_64-apple-darwin18.6.0)
  CPU: Intel(R) Core(TM) i9-9880H CPU @ 2.30GHz
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-6.0.0 (ORCJIT, skylake)

(v1.0) pkg> add Indexes
 Resolving package versions...
ERROR: Unsatisfiable requirements detected for package Indexes [4ffb77ac]:
 Indexes [4ffb77ac] log:
 ├─possible versions are: 0.1.0 or uninstalled
 ├─restricted to versions * by an explicit requirement, leaving only versions 0.1.0
 └─restricted by julia compatibility requirements to versions: uninstalled — no versions left

It works fine on my 1.4.1 version of Julia

The issue is here

I'm guessing that was due to the fact that custom registries were only available in Pkg as of julia 1.1. This requirement could probably be relaxed - not sure if it's worth adding a 0.1.1 with a relaxed julia compat (it's already on master) or if we should make a PR directly to General. Just need to change this line to julia = "1"

Also ref. BioJulia/XAM.jl#13.
I think it depends on the maintainers of XAM and GFF3 - if they're fine merging the PRs despite build failures, no need to rush this.

@jakobnissen, those would be the tests for the develop branch, which are not yet released. The tests should pass once the CI and Project.toml updated for General are released for the various packages.

@kescobo, you are correct, I added the restriction to ensure the availability of the custom registry feature. We can lift that restriction when moving to the General registry. I'm in favour of supporting Julia LTS when possible, but in this case, I'm not sure how to achieve that most cleanly.

Do either of you know whether the registry information takes precedence over the local Project.toml? Would it matter that the Project.toml has a different and more restrictive entry for the Julia version than the registry?

Now they're in General it may be a good idea to support 1.0 LTS. I think the Registry metadata is the one Pkg pays attention to for packages. So it will probably require some retroactive General PRs.

I had some time to confirm that the registry information takes precedence.

Now, I remember that a package's Compat.toml is rewritten with each registration. Will the adjustments persist after new registrations?

It appears as though there will be a few minor surprises (BioJulia/BioSequences.jl#101) when setting up support for Julia LTS.

I think we should do patch releases with LTS support and then evaluate what retroactive PRs to general might make sense.

I still haven't had a chance to look into what happens to Compat.toml with new registrations.

Closing this issue as it was resolved some time ago.