If the (redirected) channel URL contains a version number, use it
This commit is contained in:
parent
1d0bafb74d
commit
0b5107c016
3 changed files with 10 additions and 4 deletions
|
@ -1,11 +1,11 @@
|
|||
with import <nix/config.nix>;
|
||||
|
||||
{ name, src }:
|
||||
{ name, channelName, src }:
|
||||
|
||||
derivation {
|
||||
system = builtins.currentSystem;
|
||||
builder = shell;
|
||||
args = [ "-e" ./unpack-channel.sh ];
|
||||
inherit name src bzip2 tar tr;
|
||||
inherit name channelName src bzip2 tar tr;
|
||||
PATH = "${nixBinDir}:${coreutils}";
|
||||
}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
mkdir $out
|
||||
cd $out
|
||||
$bzip2 -d < $src | $tar xf -
|
||||
mv * $out/$name
|
||||
mv * $out/$channelName
|
||||
|
|
|
@ -108,7 +108,13 @@ sub update {
|
|||
die "cannot fetch `$fullURL'" if $? != 0;
|
||||
chomp $path;
|
||||
|
||||
$exprs .= "'f: f { name = \"$name\"; src = builtins.storePath \"$path\"; }' ";
|
||||
# If the URL contains a version number, append it to the name
|
||||
# attribute (so that "nix-env -q" on the channels profile
|
||||
# shows something useful).
|
||||
my $cname = $name;
|
||||
$cname .= $1 if basename($url) =~ /(-\d.*)$/;
|
||||
|
||||
$exprs .= "'f: f { name = \"$cname\"; channelName = \"$name\"; src = builtins.storePath \"$path\"; }' ";
|
||||
}
|
||||
|
||||
# Unpack the channel tarballs into the Nix store and install them
|
||||
|
|
Loading…
Reference in a new issue