Ticket #128 (new enhancement)

Opened 13 years ago

Last modified 13 years ago

Gems Repository Support

Reported by: ciaranm Owned by: ciaranm
Priority: Sometime Milestone: Gems Repository
Component: core/paludis Version: scm
Keywords: Cc:
Blocked By: Blocking:


Paludis supports multiple repository formats. Aside from the Gentoo things, we currently also support CRAN (the package format for GNU R). It would be nice to support Gems (Ruby's packages) natively as well.

Paludis includes very early partial Gems support. It has been put on hold due to issues with upstream's master Yaml file -- it isn't valid Yaml, and libyaml refuses to parse it, but Ruby's syck parser doesn't validate and so is fine with it.

This project will require development of two repository classes:

  • A repository for handling installable Gems packages
  • A repository for handling installed Gems packages

Existing repository classes are good demonstrations of this.

It will also require extensive unit tests.

We expect that some extensions will have to be made to Paludis core libraries, particularly with respect to metadata.

Problems you will have to solve:

  • The broken yaml file.
  • Gems can depend upon non-Gems packages, and there's no standard way of handling them. Can we do something clever here?

You may wish to implement this in Ruby rather than C++. Currently the Ruby bindings do not support descending from C++ classes. If you choose to implement things this way, you will need to make this possible first -- lots help in this area is available from myself and rbrown.

Change History

comment:1 Changed 13 years ago by ciaranm

  • Priority changed from ProjectIdeas to Sometime
  • Version changed from 0.20.1 to scm
Note: See TracTickets for help on using tickets.