blob: 4d8fff45da658dd0213ac68bec5caa7702926d5f (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
|
#!/usr/bin/env ruby
# Creates the overlays.gentoo.org webpage
# Alex Legler <a3li@gentoo.org>
require 'erb'
require 'nokogiri'
require 'open-uri'
REPOSITORIES_XML = 'https://api.gentoo.org/overlays/repositories.xml'.freeze
$xml = Nokogiri::XML(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 += '<tr>'
r += '<th>'
if repo_stat == 'official'
r += '<span class="fa fa-fw fa-institution" title="Official repository"></span> '
else
r += '<span class="fa fa-fw fa-group" title="Unofficial repository"></span> '
end
if repo_uri
r += "<a href='%s'>%s</a>" % [repo_uri, repo_name]
else
r += repo_name
end
r += '</th>'
r += '<td>' + repo_desc + '</td>'
r += '<td>'
r += "<a href='mailto:%s'>%s</a>" % [repo_mail, repo_ownr ? repo_ownr : repo_mail]
r += '</td>'
r += "</tr>\n"
end
r
end
renderer = ERB.new(DATA.read)
puts renderer.result
__END__
<h1 class="first-header">Gentoo Repositories</h1>
<p>
<a href="https://wiki.gentoo.org/wiki/Overlay">Ebuild repositories</a> contain additional packages for your Gentoo system.
Gentoo maintains a list of repositories for use in tools such as <code>layman</code>. You can find them below.
</p>
<div class="alert alert-info">
<strong>Using these repositories:</strong>
You can enable these repositories in your system using <a href="https://wiki.gentoo.org/wiki/Layman"><kbd>layman</kbd></a>.
They appear by the same name as on this page.
<br><br>
<strong>Adding your own repository:</strong>
Please see the <a href="https://wiki.gentoo.org/wiki/Project:Overlays/Overlays_guide" class="alert-link">Overlays guide</a>
to either request a Git repository on git.gentoo.org and/or add your repository to the list.
</div>
<div class="alert alert-danger">
<strong>Repository URL changes</strong>
<br><br>
We recently restructured the way you can access repositories hosted by Gentoo.<br>
Any overlays from <code>git.overlays.gentoo.org</code> or <code>overlays.gentoo.org</code> need to be changed to a new URL.
You can find more information in the <a href="https://www.gentoo.org/news/2015/04/25/anongit-overlays.html" class="alert-link">news item</a>.
</div>
<table class="table">
<tr>
<th>Repository Name</th>
<th>Description</th>
<th>Contact</th>
</tr>
<%= render_table %>
</table>
|