1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
|
#From c3e1ec0bb86fad16ecca6ca5997d81cd6afc2ba5 Mon Sep 17 00:00:00 2001
#From: Rob Hoelz <rob@hoelz.ro>
#Date: Thu, 9 Aug 2018 21:31:43 -0500
#Subject: [PATCH] Use $*SPEC.dir-sep for separators in
#CompUnit::RepositoryRegistry
--- ../rakudo/src/core/CompUnit/RepositoryRegistry.pm6
+++ ../rakudo/src/core/CompUnit/RepositoryRegistry.pm6
@@ -10,6 +10,7 @@ class CompUnit::Repository::JavaRuntime { ... }
#?endif
class CompUnit::RepositoryRegistry {
+ my $sep := $*SPEC.dir-sep;
my $lock = Lock.new;
my %include-spec2cur;
@@ -81,7 +82,7 @@ class CompUnit::RepositoryRegistry {
?? nqp::atkey($ENV,'RAKUDO_PREFIX')
!! nqp::concat(
nqp::atkey(nqp::getcomp('perl6').config,'libdir'),
- '/perl6'
+ "{$sep}perl6"
);
# XXX Various issues with this stuff on JVM , TEMPORARY
@@ -96,14 +97,14 @@ class CompUnit::RepositoryRegistry {
(nqp::existskey($ENV,'HOMEPATH')
?? nqp::atkey($ENV,'HOMEPATH') !! '')
) -> $home-path {
- $home = "$home-path/.perl6";
+ $home = "{$home-path}{$sep}.perl6";
$home-spec = "inst#$home";
}
}
# set up custom libs
- my str $site = "inst#$prefix/site";
- my str $vendor = "inst#$prefix/vendor";
+ my str $site = "inst#{$prefix}{$sep}site";
+ my str $vendor = "inst#{$prefix}{$sep}vendor";
my str $perl = "inst#$prefix";
# your basic repo chain
@@ -141,11 +142,11 @@ class CompUnit::RepositoryRegistry {
)) unless nqp::existskey($unique, $perl);
nqp::bindkey($custom-lib, 'vendor', $next-repo := self!register-repository(
$vendor,
- CompUnit::Repository::Installation.new(:prefix("$prefix/vendor"), :$next-repo)
+ CompUnit::Repository::Installation.new(:prefix("{$prefix}{$sep}vendor"), :$next-repo)
)) unless nqp::existskey($unique, $vendor);
nqp::bindkey($custom-lib, 'site', $next-repo := self!register-repository(
$site,
- CompUnit::Repository::Installation.new(:prefix("$prefix/site"), :$next-repo)
+ CompUnit::Repository::Installation.new(:prefix("{$prefix}{$sep}site"), :$next-repo)
)) unless nqp::existskey($unique, $site);
nqp::bindkey($custom-lib, 'home', $next-repo := self!register-repository(
$home-spec,
@@ -259,9 +260,9 @@ class CompUnit::RepositoryRegistry {
shift @*ARGS if $ver;
$name //= $dist-name;
my @installations = $*REPO.repo-chain.grep(CompUnit::Repository::Installation);
- my @binaries = @installations.map({ .script("bin/$script", :$name, :$auth, :$ver) }).grep(*.defined);
+ my @binaries = @installations.map({ .script("bin{$sep}$script", :$name, :$auth, :$ver) }).grep(*.defined);
unless +@binaries {
- @binaries = flat @installations.map: { .script("bin/$script", :$name) };
+ @binaries = flat @installations.map: { .script("bin{$sep}$script", :$name) };
if +@binaries {
note "===SORRY!===\n"
~ "No candidate found for '$script' that match your criteria.\n"
|