231 lines
8.6 KiB
Plaintext
231 lines
8.6 KiB
Plaintext
[% USE mibs=format("%.2f") %]
|
||
|
||
[% BLOCK renderProductList %]
|
||
|
||
<table class="productList">
|
||
|
||
[% FOREACH product IN build.buildproducts %]
|
||
|
||
[% uri = "${c.uri_for('/build' build.id 'download' product.productnr)}"
|
||
_ (product.name ? "/" _ product.name : "")
|
||
_ (product.defaultpath ? "/" _ product.defaultpath : "") %]
|
||
|
||
[% contents = c.uri_for('/build' build.id 'contents' product.productnr) %]
|
||
|
||
[% SWITCH product.type %]
|
||
|
||
[% CASE "nix-build" %]
|
||
[% IF build.buildstatus == 6 %]
|
||
[% filename = build.nixname _ (product.subtype ? "-" _ product.subtype : "") _ ".closure.gz" %]
|
||
[% uri = c.uri_for('/build' build.id 'nix' 'closure' filename ) %]
|
||
<tr class="product">
|
||
<td>
|
||
<a href="[% contents %]">
|
||
<img src="/static/images/error_32.png" alt="Source" />
|
||
Failed build produced output. Click here to inspect the output.
|
||
</a>
|
||
<a class="productDetailsToggle btn btn-mini" href="javascript:">help</a>
|
||
<div class="well hide productDetails">
|
||
<p>If you have Nix installed on your machine, this failed build output and
|
||
all its dependencies can be unpacked into your local Nix store by doing:</p>
|
||
|
||
<pre>$ curl [% uri %] | gunzip | nix-store --import</pre>
|
||
|
||
<p>The build output can then be found in the path <tt>[% product.path %]</tt>.</p>
|
||
|
||
</p>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
|
||
[% ELSE %]
|
||
<tr class="product">
|
||
<td>
|
||
[% uri = c.uri_for('/build' build.id 'nix' 'pkg' "${build.nixname}-${build.system}.nixpkg") %]
|
||
<a href="[% uri %]">
|
||
<img src="/static/images/nix-build.png" alt="Source" />
|
||
One-click install of Nix package <tt>[% build.nixname %]</tt>
|
||
</a>
|
||
<a class="productDetailsToggle btn btn-mini" href="javascript:">help</a> <a class="btn btn-mini" href="[% contents %]">contents</a>
|
||
<div class="well hide productDetails">
|
||
<p>If you have Nix installed on your machine, you can
|
||
install this package and all its dependencies automatically
|
||
by clicking on the link above. This requires that you have
|
||
the <tt>application/nix-package</tt> MIME type associated
|
||
with the <tt>nix-install-package</tt> program in your web
|
||
browser. Alternatively, you can install it from the
|
||
command-line:</p>
|
||
|
||
<pre>$ nix-install-package --non-interactive --url [% uri %]</pre>
|
||
|
||
<p>If you get an error message “Permission denied”, you
|
||
should make sure that you have sufficient access rights to
|
||
the Nix store, e.g., run the command as <tt>root</tt>.
|
||
|
||
</p>
|
||
</div>
|
||
|
||
</td>
|
||
</tr>
|
||
<tr class="product">
|
||
<td>
|
||
|
||
[% filename = build.nixname _ (product.subtype ? "-" _ product.subtype : "") _ ".closure.gz" %]
|
||
[% uri = c.uri_for('/build' build.id 'nix' 'closure' filename ) %]
|
||
|
||
<a href="[% uri %]">
|
||
<img src="/static/images/nix-build.png" alt="Source" />
|
||
Nix closure of path <tt>[% product.path %]</tt>
|
||
</a>
|
||
|
||
<a class="productDetailsToggle btn btn-mini" href="javascript:">help</a>
|
||
<div class="well hide productDetails">
|
||
<p>If you have Nix installed on your machine, this build and
|
||
all its dependencies can be unpacked into your local Nix
|
||
store by doing:</p>
|
||
|
||
<pre>$ gunzip < [% filename %] | nix-store --import</pre>
|
||
|
||
<p>or to download and unpack in one command:</p>
|
||
|
||
<pre>$ curl [% uri %] | gunzip | nix-store --import</pre>
|
||
|
||
<p>The package can then be found in the path <tt>[%
|
||
product.path %]</tt>. You’ll probably also want to do</p>
|
||
|
||
<pre>$ nix-env -i [% product.path %]</pre>
|
||
|
||
<p>to actually install the package in your Nix user environment.</p>
|
||
|
||
<p>If you get the error message “imported
|
||
archive lacks a signature”, you should make sure that you have
|
||
sufficient access rights to the Nix store, e.g., run the
|
||
command as <tt>root</tt>.</p>
|
||
</div>
|
||
|
||
</td>
|
||
</tr>
|
||
|
||
[% END %]
|
||
|
||
[% CASE "file" %]
|
||
|
||
<tr class="product">
|
||
<td>
|
||
<a href="[% uri %]">
|
||
[% SWITCH product.subtype %]
|
||
[% CASE "source-dist" %]
|
||
<img src="/static/images/source-dist.png" alt="Source" /> Source distribution <tt>[% product.name %]</tt>
|
||
[% CASE "rpm" %]
|
||
<img src="/static/images/rpm.png" alt="RPM" /> RPM package <tt>[% product.name %]</tt>
|
||
[% CASE "srpm" %]
|
||
<img src="/static/images/rpm.png" alt="Source RPM" /> Source RPM package <tt>[% product.name %]</tt>
|
||
[% CASE "deb" %]
|
||
<img src="/static/images/debian.png" alt="RPM" /> Debian package <tt>[% product.name %]</tt>
|
||
[% CASE "iso" %]
|
||
<img src="/static/images/iso.png" alt="ISO" /> ISO-9660 CD/DVD image <tt>[% product.name %]</tt>
|
||
[% CASE "binary-dist" %]
|
||
<img src="/static/images/binary-dist.png" alt="Binary distribution" /> Binary distribution <tt>[% product.name %]</tt>
|
||
[% CASE DEFAULT %]
|
||
File <tt>[% product.name %]</tt> of type <tt>[% product.subtype %]</tt>
|
||
[% END %]
|
||
</a>
|
||
<a class="productDetailsToggle btn btn-mini" href="javascript:">details</a> <a class="btn btn-mini" href="[% contents %]">contents</a>
|
||
<div class="well hide productDetails">
|
||
<table>
|
||
<tr>
|
||
<th>URL:</th>
|
||
<td><a href="[% uri %]"><tt>[% uri %]</tt></a></td>
|
||
</tr>
|
||
[% IF latestRoot %]
|
||
<tr>
|
||
<th>Links to latest:</th>
|
||
<td>
|
||
[% IF build.buildproducts.count > 1 %]
|
||
[% uri2 = "${c.uri_for(latestRoot.join('/') 'download-by-type' product.type product.subtype)}" %]
|
||
<a href="[% uri2 %]"><tt>[% uri2 %]</tt></a>
|
||
<br />
|
||
[% uri2 = "${c.uri_for(latestRoot.join('/') 'download' product.productnr)}" %]
|
||
<a href="[% uri2 %]"><tt>[% uri2 %]</tt></a>
|
||
[% ELSE %]
|
||
[% uri2 = "${c.uri_for(latestRoot.join('/') 'download')}" %]
|
||
<a href="[% uri2 %]"><tt>[% uri2 %]</tt></a>
|
||
[% END %]
|
||
</td>
|
||
</tr>
|
||
[% END %]
|
||
<tr><th>File size:</th><td>[% product.filesize %] bytes ([% mibs(product.filesize / (1024 * 1024)) %] MiB)</td></tr>
|
||
<tr><th>SHA-1 hash:</th><td><tt>[% product.sha1hash %]</tt></td></tr>
|
||
<tr><th>SHA-256 hash:</th><td><tt>[% product.sha256hash %]</tt></td></tr>
|
||
<tr><th>Full path:</th><td><tt>[% product.path %]</tt></td></tr>
|
||
</table>
|
||
</div>
|
||
|
||
</td>
|
||
</tr>
|
||
|
||
[% CASE "report" %]
|
||
|
||
<tr class="product">
|
||
<td>
|
||
<a href="[% uri %]">
|
||
<img src="/static/images/report.png" alt="Report" />
|
||
[% SWITCH product.subtype %]
|
||
[% CASE "coverage" %]
|
||
Code coverage analysis report
|
||
[% CASE DEFAULT %]
|
||
Report of type <tt>[% product.subtype %]</tt>
|
||
[% END %]
|
||
</a>
|
||
</td>
|
||
</tr>
|
||
|
||
[% CASE ["doc", "doc-pdf"] %]
|
||
|
||
<tr class="product">
|
||
<td>
|
||
<a href="[% uri %]">
|
||
[% IF product.type == "doc-pdf" %]
|
||
<img src="/static/images/pdf.png" alt="PDF document" />
|
||
[% ELSE %]
|
||
<img src="/static/images/document.png" alt="Document" />
|
||
[% END %]
|
||
[% SWITCH product.subtype %]
|
||
[% CASE "readme" %]
|
||
Read Me!
|
||
[% CASE "manual" %]
|
||
Manual
|
||
[% CASE "release-notes" %]
|
||
Release notes
|
||
[% CASE DEFAULT %]
|
||
Documentation of type <tt>[% product.subtype %]</tt>
|
||
[% END %]
|
||
</a>
|
||
</td>
|
||
</tr>
|
||
|
||
[% CASE DEFAULT %]
|
||
|
||
<tr class="product">
|
||
<td>
|
||
Something of type <tt>[% product.type %]</tt> [% product %]
|
||
</td>
|
||
</tr>
|
||
|
||
[% END %]
|
||
|
||
[% END %]
|
||
|
||
</table>
|
||
|
||
[% END %]
|
||
|
||
<script type="text/javascript">
|
||
$(document).ready(function() {
|
||
$('.productDetailsToggle').toggle(
|
||
function () { $(".productDetails", $(this).parents(".product")).fadeIn(); },
|
||
function () { $(".productDetails", $(this).parents(".product")).hide(); }
|
||
);
|
||
});
|
||
</script>
|