I have let myself be convinced that what we need is "library source distribution" (i.e. we leave the distribution of compiled libraries to the tools provided for that purpose by the host operating systems).
From there I got the idea that the key to building a common Ada library distribution infrastructure could be to take GPR files (yes, I know what the G stands for) as the library descriptor. As most Open Source Ada developers probably write GPR files anyway, it may reduce the effort involved in inserting libraries and library updates into a common repository. - When it comes to supporting other compilers, I hope that we either can configure "gprbuild" to support other compilers than the G-one, or that we can generate build scripts for other compilers from the GPR files.
My suggestion is that we use project names (i.e. GPR file names minus extension) as the key to identify libraries (but not their versions).
Client-side we want to be able to run commands like these:
ada-lsd-upload <project name>
ada-lsd-search <tag> ... <tag>
ada-lsd-get <project name>
ada-lsd-refresh
upload
= copy to the common repository.search
= get a list of matching projects from the repositoryget
= fetch a library and its dependencies from the repositoryrefresh
= update all downloaded libraries to their newest versions (keeping all buildable)Server-side I expect the uploaded packages to be checked for buildability on all the supported platforms, before they are made available to the users.
Some parts of the client-side tools may have to depend on the host system (which compiler to use, which command to use to query the system package manager about installed packages, etc.).
GPR_PROJECT_PATH
.Processing a GPR file:
It might be possible to implement automated packaging from Bitbucket, GitHub etc. by tracking GPR files there.
Pay now to fund the work behind this issue.
Get updates on progress being made.
Maintainer is rewarded once the issue is completed.
You're funding impactful open source efforts
You want to contribute to this effort
You want to get funding like this too