* Generate a Nix expression for the channel.
[?]
Mar 2, 2009, 5:17 PM
LVJKRTIK5WOWWAZ454B4DCCGETOIQJK5TLOWMZVNY2B4AEGF2GMACDependencies
- [2]
2JQ7WEFM - [3]
J5UVLXOK* Start of a basic Catalyst web interface. - [*]
5NO7NCKT* Refactoring. - [*]
XHVZXX6N - [*]
ZRBXLKFO - [*]
PKPWUHUX* Idem.
Change contents
- edit in src/Hydra/lib/Hydra/Base/Controller/Nix.pm at line 57
}sub nixexprs : Chained('nix') PathPart Args(0) {my ($self, $c) = @_;$c->stash->{current_view} = 'Hydra::View::NixExprs'; - replacement in src/Hydra/lib/Hydra/Controller/Root.pm at line 535
my @builds = getLatestBuilds($c, $c->model('DB::Builds'));my @builds = getLatestBuilds($c, $c->model('DB::Builds')); # !!! this includes failed builds - edit in src/Hydra/lib/Hydra/Controller/Root.pm at line 542
my $pkgName = $build->nixname . "-" . $build->system . "-" . $build->id . ".nixpkg";$c->stash->{nixPkgs}->{$pkgName} = $build; - file addition: NixExprs.pm[8.646]
package Hydra::View::NixExprs;use strict;use base qw/Catalyst::View/;use Hydra::Helper::Nix;sub process {my ($self, $c) = @_;my $res = "[\n";foreach my $name (keys %{$c->stash->{nixPkgs}}) {my $build = $c->stash->{nixPkgs}->{$name};$res .= " # $name\n";$res .= " { type = \"derivation\";\n";$res .= " name = \"" . ($build->resultInfo->releasename or $build->nixname) . "\";\n"; # !!! escaping?$res .= " system = \"" . $build->system . "\";\n"; # idem$res .= " outPath = " . $build->outpath . ";\n";$res .= " meta = {\n";$res .= " description = \"" . $build->description . "\";\n"if $build->description;$res .= " longDescription = \"" . $build->longdescription . "\";\n"if $build->longdescription;$res .= " license = \"" . $build->license . "\";\n"if $build->license;$res .= " };\n";$res .= " }\n";}$res .= "]\n";$c->response->content_type('text/plain');$c->response->body($res);return 1;}1;