Rework spacerocks:
[kugel-rb.git] / tools / builds.pm
blobef713b91916ab3f374537a18a12e58cd148a0bf6
1 $publicrelease="3.4";
2 $releasedate="September 24, 2009";
3 $releasenotes="/wiki/ReleaseNotes34";
5 %builds = (
6 'archosav300' => {
7 name => 'Archos AV300',
8 status => 1, # 3=stable, 2=unstable, 1=unusable
9 },
10 'archosfmrecorder' => {
11 name => 'Archos FM Recorder',
12 status => 3,
14 'archosondiofm' => {
15 name => 'Archos Ondio FM',
16 status => 3,
18 'archosondiosp' => {
19 name => 'Archos Ondio SP',
20 status => 3,
22 'archosplayer' => {
23 name => 'Archos Player/Studio',
24 status => 3,
26 'archosrecorder' => {
27 name => 'Archos Recorder v1',
28 status => 3,
30 'archosrecorderv2' => {
31 name => 'Archos Recorder v2',
32 status => 3,
34 'cowond2' => {
35 name => 'Cowon D2',
36 status => 2,
38 'gigabeatfx' => {
39 name => 'Toshiba Gigabeat F/X',
40 status => 3,
42 'gigabeats' => {
43 name => 'Toshiba Gigabeat S',
44 status => 2,
46 'gogearhdd1630' => {
47 name => 'Philips GoGear HDD1630',
48 status => 1,
50 'gogearsa9200' => {
51 name => 'Philips GoGear SA9200',
52 status => 1,
54 'iaudio7' => {
55 name => 'iAudio 7',
56 status => 1,
58 'iaudiom3' => {
59 name => 'iAudio M3',
60 status => 3,
62 'iaudiom5' => {
63 name => 'iAudio M5',
64 status => 3,
66 'iaudiox5' => {
67 name => 'iAudio X5',
68 status => 3,
70 'ipod1g2g' => {
71 name => 'iPod 1st and 2nd gen',
72 status => 3,
74 'ipod3g' => {
75 name => 'iPod 3rd gen',
76 status => 3,
78 'ipod4g' => {
79 name => 'iPod 4th gen Grayscale',
80 status => 3,
82 'ipodcolor' => {
83 name => 'iPod color/Photo',
84 status => 3,
86 'ipodmini1g' => {
87 name => 'iPod Mini 1st gen',
88 status => 3,
89 manual => 'ipodmini2g',
91 'ipodmini2g' => {
92 name => 'iPod Mini 2nd gen',
93 status => 3,
94 icon => 'ipodmini1g',
96 'ipodnano1g' => {
97 name => 'iPod Nano 1st gen',
98 status => 3,
100 'ipodnano2g' => {
101 name => 'iPod Nano 2nd gen',
102 status => 2,
104 'ipodvideo' => {
105 name => 'iPod Video 30GB',
106 status => 3,
108 'ipodvideo64mb' => {
109 name => 'iPod Video 60/80GB',
110 status => 3,
111 icon => 'ipodvideo',
112 manual => 'ipodvideo',
113 voice => 'ipodvideo',
114 configname => 'ipodvideo',
115 ram => 64
117 'iriverh10' => {
118 name => 'iriver H10 20GB',
119 status => 3,
121 'iriverh10_5gb' => {
122 name => 'iriver H10 5GB',
123 status => 3,
124 manual => 'iriverh10',
126 'iriverh100' => {
127 name => 'iriver H100/115',
128 status => 3,
130 'iriverh120' => {
131 name => 'iriver H120/140',
132 status => 3,
133 icon => 'iriverh100',
134 manual => 'iriverh100',
136 'iriverh300' => {
137 name => 'iriver H320/340',
138 status => 3,
140 'iriverifp7xx' => {
141 name => 'iriver iFP-7xx',
142 status => 1,
144 'logikdax' => {
145 name => 'Logik DAX',
146 status => 1,
148 'lyreproto1' => {
149 name => 'Lyre Prototype 1',
150 status => 1,
152 'mini2440' => {
153 name => 'Mini 2440',
154 status => 1,
156 'meizum3' => {
157 name => 'Meizu M3',
158 status => 1,
160 'meizum6sl' => {
161 name => 'Meizu M6SL',
162 status => 1,
164 'meizum6sp' => {
165 name => 'Meizu M6SP',
166 status => 1,
168 'mrobe100' => {
169 name => 'Olympus M-Robe 100',
170 status => 3,
172 'mrobe500' => {
173 name => 'Olympus M-Robe 500',
174 status => 2,
176 'ondavx747' => {
177 name => 'Onda VX747',
178 status => 1,
180 'ondavx747p' => {
181 name => 'Onda VX747+',
182 status => 1,
184 'ondavx767' => {
185 name => 'Onda VX767',
186 status => 1,
188 'ondavx777' => {
189 name => 'Onda VX777',
190 status => 1,
192 'samsungyh820' => {
193 name => 'Samsung YH-820',
194 status => 2,
196 'samsungyh920' => {
197 name => 'Samsung YH-920',
198 status => 2,
200 'samsungyh925' => {
201 name => 'Samsung YH-925',
202 status => 2,
204 'samsungyps3' => {
205 name => 'Samsung YP-S3',
206 status => 1,
208 'sansac100' => {
209 name => 'SanDisk Sansa c100',
210 status => 1,
212 'sansac200' => {
213 name => 'SanDisk Sansa c200',
214 status => 3,
216 'sansac200v2' => {
217 name => 'SanDisk Sansa c200 v2',
218 status => 1,
219 icon => 'sansac200',
221 'sansaclip' => {
222 name => 'SanDisk Sansa Clip',
223 status => 2,
225 'sansaclipv2' => {
226 name => 'SanDisk Sansa Clip v2',
227 status => 1,
229 'sansae200' => {
230 name => 'SanDisk Sansa e200',
231 status => 3,
233 'sansae200r' => {
234 name => 'SanDisk Sansa e200R',
235 status => 3,
236 icon => 'sansae200',
238 'sansae200v2' => {
239 name => 'SanDisk Sansa e200 v2',
240 status => 2,
241 icon => 'sansae200',
243 'sansafuze' => {
244 name => 'SanDisk Sansa Fuze',
245 status => 2,
247 'sansam200' => {
248 name => 'SanDisk Sansa m200',
249 status => 1,
251 'sansam200v4' => {
252 name => 'SanDisk Sansa m200 v4',
253 status => 1,
255 'sansaview' => {
256 name => 'SanDisk Sansa View',
257 status => 1,
259 'tatungtpj1022' => {
260 name => 'Tatung Elio TPJ-1022',
261 status => 1,
263 'zenvision' => {
264 name => 'Creative Zen Vision',
265 status => 1,
267 'zenvisionm30gb' => {
268 name => 'Creative Zen Vision:M 30GB',
269 status => 1,
271 'zenvisionm60gb' => {
272 name => 'Creative Zen Vision:M 60GB',
273 status => 1,
277 sub manualname {
278 my $m = shift @_;
280 return $builds{$m}{manual} ? "$builds{$m}{manual}" : $m;
283 sub voicename {
284 my $m = shift @_;
286 return $builds{$m}{voice} ? "$builds{$m}{voice}" : $m;
289 sub byname {
290 return uc $builds{$a}{name} cmp uc $builds{$b}{name};
293 sub usablebuilds {
294 my @list;
296 for my $b (sort byname keys %builds) {
297 push @list, $b if ($builds{$b}{status} >= 2);
300 return @list;
303 sub stablebuilds {
304 my @list;
306 for my $b (sort byname keys %builds) {
307 push @list, $b if ($builds{$b}{status} >= 3);
310 return @list;