This is an EmacsLisp package to reimplement the marmalade-repo with Elnode. Natalie Weizenbaum wrote the original marmalade-repo with node.js and mongodb.
- Need an account? - make an issue on the Github and Nic will send you a mail with a confirmation link
- Need to delete a package? - it's possible through the API with the marmalade-client package
- Need to upload a package? - use the API throught the marmalade-client package
This reimplementation uses an Elnode application dealing with a filesystem of all packages. It's basically a file server app. It also follows the microservice model.
This packages includes conversion tools from the mongodb to the filesystem.
These are the things marmalade should do:
- construct the package archive file from the package directory structure
- the package archive is an index of all the packages in the repository.
- allow the archive to be updated with uploads
- provide the ELPA /package/ HTTP API for downloading packages
- provide HTML front end to the /package/ HTTP API
- provide EmacsLisp front end to the /package/ HTTP API
- this will likely be a separate project
- allow users to /register/ in order to upload packages
- provide /profile/s for people who have registered
- allow registered users to upload and upgrade packages
- preferably from inside their emacs
- and securely
- allow registered users to be added as owners
It would be nice if marmalade provided better package discovery.
It would be nice if marmalade stored licences in a clear way and allowed you to use only safe licences if you wish.
The package is contained in the top level. Elpakit is used to build it.
marmalade-repo-test is a test directory containing packages used by the test scripts.
marmalade-repo-test/possible-packages contains stuff we don't have tests for but probably should have.