Remove nix-install-package support

'nix-install-package' no longer exists in Nix 1.12.

Closes #268.
This commit is contained in:
Eelco Dolstra 2018-01-15 14:27:58 +01:00
parent a4fc292c83
commit fd463ff403
No known key found for this signature in database
GPG key ID: 8170B4726D7198DE
5 changed files with 9 additions and 73 deletions

View file

@ -78,27 +78,6 @@ sub manifest : Chained('nix') PathPart("MANIFEST") Args(0) {
}
sub pkg : Chained('nix') PathPart Args(1) {
my ($self, $c, $pkgName) = @_;
if (!$c->stash->{build}) {
$pkgName =~ /-(\d+)\.nixpkg$/ or notFound($c, "Bad package name.");
# FIXME: need to handle multiple outputs: channelBuilds is
# joined with the build outputs, so find() can return multiple
# results.
$c->stash->{build} = $c->stash->{channelBuilds}->find({ id => $1 })
|| notFound($c, "No such package in this channel.");
}
gone($c, "Build " . $c->stash->{build}->id . " is no longer available.")
if isLocalStore() && any { !isValidPath($_->path) } $c->stash->{build}->buildoutputs->all;
$c->stash->{current_view} = 'NixPkg';
$c->response->content_type('application/nix-package');
}
sub nixexprs : Chained('nix') PathPart('nixexprs.tar.bz2') Args(0) {
my ($self, $c) = @_;
requireLocalStore($c);

View file

@ -121,6 +121,8 @@ sub build_GET {
$c->stash->{constituents} = [$build->constituents_->search({}, {order_by => ["job"]})];
$c->stash->{steps} = [$build->buildsteps->search({}, {order_by => "stepnr desc"})];
$c->stash->{binaryCachePublicUri} = $c->config->{binary_cache_public_uri};
}

View file

@ -1,27 +0,0 @@
package Hydra::View::NixPkg;
use strict;
use base qw/Catalyst::View/;
use Hydra::Helper::CatalystUtils;
sub process {
my ($self, $c) = @_;
$c->response->content_type('application/nix-package');
my $build = $c->stash->{build};
my $channelUri = $c->config->{binary_cache_public_uri} // $c->uri_for('/');
# FIXME: add multiple output support
my $s = "NIXPKG1 http://invalid.org/"
. " " . $build->nixname . " " . $build->system
. " " . $build->drvpath . " " . $build->buildoutputs->find({name => "out"})->path
. " " . $channelUri;
$c->response->body($s);
return 1;
}
1;

View file

@ -24,11 +24,6 @@ $ nix-env -u '*'</pre>
[% IF genericChannel %]
<p>Alternatively, if you have associated the
<tt>application/nix-package</tt> MIME type with the
<tt>nix-install-package</tt> program in your web browser, you can
install the package simply by clicking on the packages below.</p>
<h2>Packages</h2>
<p>This channel contains the following packages.</p>
@ -49,11 +44,10 @@ install the package simply by clicking on the packages below.</p>
[% FOREACH pkg IN nixPkgs %]
[% b = pkg.build %]
[% uri = "${curUri}/pkg/${pkg.name}.nixpkg" %]
<tr>
<td><a href="[% c.uri_for('/build' b.id) %]">[% b.id %]</a></td>
<td><a class="row-link" href="[% uri %]"><tt>[% b.get_column('releasename') || b.nixname %]</tt></a></td>
<td><tt>[% b.get_column('releasename') || b.nixname %]</tt></td>
<td><tt>[% b.system %]</tt></td>
<td>
[% IF b.homepage %]

View file

@ -71,29 +71,17 @@
<img src="[% c.uri_for("/static/images/nix-build.png") %]" alt="Source" />
</td>
<td>
One-Click install
Nix package
</td>
<td>
[% uri = c.uri_for('/build' build.id 'nix' 'pkg' "${build.nixname}-${build.system}.nixpkg") %]
<a href="[% uri %]">
<tt>[% build.nixname %]</tt>
</a>
<tt>[% HTML.escape(build.nixname) %]</tt>
</td>
<td>
[% WRAPPER makePopover title="Help" classes="btn-mini" %]
<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>
[% WRAPPER makePopover title="Help" classes="btn-mini"
%] <p>Yu can install this package using the Nix package
manager from the command-line:</p>
<pre><span class="shell-prompt">$ </span>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>
<pre><span class="shell-prompt">$ </span>nix-env -i [%HTML.escape(product.path)%][% IF binaryCachePublicUri %] --option binary-caches [% HTML.escape(binaryCachePublicUri) %][% END %]</pre>
[% END %]
[% IF localStore %]
<a class="btn btn-mini" href="[% contents %]">Contents</a>