chiark / gitweb /
nailing-cargo: wip, bugfixes
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Sun, 10 May 2020 17:41:40 +0000 (18:41 +0100)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Sun, 10 May 2020 17:41:40 +0000 (18:41 +0100)
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
nailing-cargo

index c9efaaf9f7781665e9127e3a0b8cb57a07f785e6..0997cdc1e2ddb401560fb4ec5aebb8c3a39f8ca7 100755 (executable)
@@ -43,6 +43,7 @@ our $self;
 
 use strict;
 use POSIX;
+use Types::Serialiser;
 
 BEGIN {
   $self = $0;  $self =~ s{^.*/(?=.)}{};
@@ -339,6 +340,19 @@ END
     $pre  =~ s/^\s+//mg; $pre  =~ s/^\s+\n/ /g;
     $post =~ s/^\s+//mg; $post =~ s/^\s+\n/ /g;
   }
+  my $addpath = (cfg qw(oot path_add)) //
+    $use eq 'really' ? Types::Serialiser::true : Types::Serialiser::false;
+  $addpath =
+    !Types::Serialiser::is_bool $addpath ? $addpath           :
+    $addpath                             ? '$HOME/.cargo/bin' :
+                                           undef;
+  if (defined $addpath) {
+    $pre .= <<END
+        PATH=$addpath:\${PATH-/usr/local/bin:/bin:/usr/bin};
+        export PATH;
+END
+  }
+
   my $getuser = sub { cfgsn qw(oot user) };
   my @command;
   my $xe = $verbose >= 2 ? 'xe' : 'e';