aboutsummaryrefslogtreecommitdiff
path: root/patches/0001-Use-SPEC.dir-sep-for-separators-in-CompUnit-Reposito.patch
blob: 469b551884ff039568512628ad4f4453ba7333d1 (plain)
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"