[WIP] Implementing Gentoo's Package Manager Specification formats in Racket

Package Manager Specification is a set of rules that a package manager compatible with Gentoo package managers (Portage, Pkgcore, Paludis, ...) should follow, it describes how to parse, create and install ebuilds - which are recipes describing how a package source code should be downloaded, compiled and installed.
The PMS document is available here: Package Manager Specification

I have just completed a parser and interpreter for Package Manager Specification (PMS) dependency format.

Shown below are tests ran on real ebuilds (package recipes) available in the Gentoo packages repository.

image

This is how a PMS dependency specification looks when interpreted as Racket structures:

Source repository: Gentoo Racket / Racket-PMSF · GitLab

4 Likes

Version 1.0.0 released

2 Likes