[% USE mibs=format("%.2f") %] [% BLOCK renderProductList -%] <table class="productList layoutTable"> [% 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}.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}.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>