Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Request and RFC for add Lean4 mirrors #165

Open
9 tasks
alissa-tung opened this issue Aug 31, 2023 · 0 comments
Open
9 tasks

Request and RFC for add Lean4 mirrors #165

alissa-tung opened this issue Aug 31, 2023 · 0 comments

Comments

@alissa-tung
Copy link

To mirror Lean4 the task is split into:

  1. The Elan installer itself and its init scripts
  2. The Lean4 toolchains binary
  3. The Mathlib4 library and its recursive dependencies
  4. The Mathlib4 web docs
  5. The Mathlib4 cache

The Elan installer itself and its init scripts

init scripts: elan-init.sh, elan-init.ps1

  • mirror init scripts

The mirror can change variable ELAN_UPDATE_ROOT or ElanRoot to the mirrored one. The request URL structure is exactly what GitHub release like.

  • mirror Elan binary releases

The Lean4 toolchains binary

In the Elan repo, src/elan-dist/src/manifestation.rs and src/elan-dist/src/dist.rs should take config custom URL like what rustup had done. (See src/config.rs)

  • make elan read env vars
  • mirror Lean4 binary releases

The Mathlib4 library and its recursive dependencies

It would be better to direct require from tuna mirror. There should have some recursive modification automatically.

  • mirror Mathlib4 library and its recursive dependencies git repo

The Mathlib4 web docs

See https://github.com/leanprover-community/mathlib4#building-html-documentation

  • mirror the web docs

The Mathlib4 cache

The Mathlib4 cache is stored in Azure blob storage. It can be replace by an Azure compatible server.

See https://github.com/leanprover-community/mathlib4/blob/0469f845e132ccd0e56c40aafd34bd9084c104bb/Cache/Requests.lean#L14

  • make Mathlib4 cache read env var
  • set up Azure compatible server
  • mirror Mathlib4 cache

I have draft some checkboxes above to make a initial plan for mirror Lean4 ecosystem. If Tuna is willing for mirroring the Lean4 ecosystem which would be a great help!

It would be better if there is some people more familiar with Tuna mirror system. If someone is not available to approach them I can do most of above job, once I learned how to debug and test the Tuna mirror system. I have basic skill for Lean4 and general programming and I think I can do the programming task at both side, Tuna and the Lean4 ecosystem...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant