#!/usr/bin/env ruby # Creates the overlays.gentoo.org webpage # Alex Legler require 'erb' require 'nokogiri' require 'open-uri' REPOSITORIES_XML = 'https://api.gentoo.org/overlays/repositories.xml'.freeze $xml = Nokogiri::XML(URI.open(REPOSITORIES_XML)) def render_table r = '' $xml.xpath('//repo').each do |repo| repo_name = repo.xpath('./name/text()').first.content repo_uri = nil xpath = repo.xpath('./homepage/text()') if xpath.length > 0 repo_uri = repo.xpath('./homepage/text()').first.content end repo_desc = repo.xpath('./description/text()').first.content repo_qual = repo['quality'] repo_stat = repo['status'] repo_ownr = nil xpath = repo.xpath('./owner/name/text()') if xpath.length > 0 repo_ownr = xpath.first.content end repo_mail = repo.xpath('./owner/email/text()').first.content.gsub('@', '(at)') r += '' r += '' if repo_stat == 'official' r += ' ' else r += ' ' end if repo_uri r += "%s" % [repo_uri, repo_name] else r += repo_name end r += '' r += '' + repo_desc + '' r += '' r += "%s" % [repo_mail, repo_ownr ? repo_ownr : repo_mail] r += '' r += "\n" end r end renderer = ERB.new(DATA.read) puts renderer.result __END__

Gentoo repositories

Ebuild repositories contain additional packages for your Gentoo system. Gentoo maintains a list of repositories for use in tools such as layman. You can find them below.

Using these repositories: You can enable these repositories in your system using layman. They appear by the same name as on this page.

Adding your own repository: Please see the Overlays guide to either request a Git repository on git.gentoo.org and/or add your repository to the list.
Repository URL changes

We recently restructured the way you can access repositories hosted by Gentoo.
Any overlays from git.overlays.gentoo.org or overlays.gentoo.org need to be changed to a new URL. You can find more information in the news item.
<%= render_table %>
Repository name Description Contact