4runr-os 2.1.25 → 2.1.27
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/system-verify.d.ts.map +1 -1
- package/dist/system-verify.js +56 -16
- package/dist/system-verify.js.map +1 -1
- package/package.json +1 -1
- package/scripts/setup.js +72 -8
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"system-verify.d.ts","sourceRoot":"","sources":["../src/system-verify.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAcH;;GAEG;AACH,wBAAsB,YAAY,IAAI,OAAO,CAAC,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"system-verify.d.ts","sourceRoot":"","sources":["../src/system-verify.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAcH;;GAEG;AACH,wBAAsB,YAAY,IAAI,OAAO,CAAC,OAAO,CAAC,CA6KrD"}
|
package/dist/system-verify.js
CHANGED
|
@@ -51,29 +51,69 @@ export async function verifySystem() {
|
|
|
51
51
|
msvcAvailable = true;
|
|
52
52
|
}
|
|
53
53
|
catch {
|
|
54
|
-
// MSVC not available -
|
|
55
|
-
|
|
54
|
+
// MSVC not available - check if MinGW is available for GNU toolchain
|
|
55
|
+
let mingwAvailable = false;
|
|
56
|
+
let mingwPath = '';
|
|
56
57
|
try {
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
58
|
+
const dlltoolPath = execSync('where dlltool.exe', { encoding: 'utf-8', stdio: 'pipe' }).trim();
|
|
59
|
+
mingwAvailable = true;
|
|
60
|
+
mingwPath = path.dirname(dlltoolPath);
|
|
61
|
+
}
|
|
62
|
+
catch {
|
|
63
|
+
// Check common MinGW locations
|
|
64
|
+
const commonPaths = [
|
|
65
|
+
'C:\\mingw64\\bin',
|
|
66
|
+
'C:\\msys64\\mingw64\\bin',
|
|
67
|
+
path.join(process.env.ProgramFiles || 'C:\\Program Files', 'mingw-w64'),
|
|
68
|
+
];
|
|
69
|
+
for (const testPath of commonPaths) {
|
|
70
|
+
const dlltoolPath = path.join(testPath, 'dlltool.exe');
|
|
71
|
+
if (fs.existsSync(dlltoolPath)) {
|
|
72
|
+
mingwAvailable = true;
|
|
73
|
+
mingwPath = path.dirname(dlltoolPath);
|
|
74
|
+
process.env.PATH = `${mingwPath};${process.env.PATH}`;
|
|
75
|
+
break;
|
|
76
|
+
}
|
|
65
77
|
}
|
|
78
|
+
}
|
|
79
|
+
if (!mingwAvailable) {
|
|
80
|
+
process.stderr.write('❌ MinGW not found (required for GNU toolchain).\n');
|
|
81
|
+
process.stderr.write(' Run setup to install: 4runr-setup\n');
|
|
82
|
+
process.stderr.write(' Or install manually: winget install mingw-w64.mingw-w64\n');
|
|
83
|
+
process.stderr.write(' Then restart terminal and run 4r again\n\n');
|
|
84
|
+
return false;
|
|
85
|
+
}
|
|
86
|
+
// Ensure MinGW is in PATH
|
|
87
|
+
if (mingwPath && process.env.PATH && !process.env.PATH.includes(mingwPath)) {
|
|
88
|
+
process.env.PATH = `${mingwPath};${process.env.PATH}`;
|
|
89
|
+
}
|
|
90
|
+
else if (mingwPath && !process.env.PATH) {
|
|
91
|
+
process.env.PATH = mingwPath;
|
|
92
|
+
}
|
|
93
|
+
if (mingwAvailable) {
|
|
94
|
+
process.stderr.write('⚠️ MSVC linker not found. Using GNU toolchain...\n');
|
|
66
95
|
try {
|
|
67
|
-
|
|
68
|
-
|
|
96
|
+
// Check if GNU toolchain is installed
|
|
97
|
+
execSync('rustup toolchain list', { encoding: 'utf-8', stdio: 'pipe' });
|
|
98
|
+
// Try to install and use GNU toolchain
|
|
99
|
+
try {
|
|
100
|
+
execSync('rustup toolchain install stable-x86_64-pc-windows-gnu', { stdio: 'pipe' });
|
|
101
|
+
}
|
|
102
|
+
catch {
|
|
103
|
+
// Already installed or failed
|
|
104
|
+
}
|
|
105
|
+
try {
|
|
106
|
+
execSync('rustup default stable-x86_64-pc-windows-gnu', { stdio: 'pipe' });
|
|
107
|
+
process.stderr.write('✅ Using GNU toolchain\n');
|
|
108
|
+
}
|
|
109
|
+
catch {
|
|
110
|
+
// Failed to switch
|
|
111
|
+
}
|
|
69
112
|
}
|
|
70
113
|
catch {
|
|
71
|
-
//
|
|
114
|
+
// Can't fix automatically
|
|
72
115
|
}
|
|
73
116
|
}
|
|
74
|
-
catch {
|
|
75
|
-
// Can't fix automatically
|
|
76
|
-
}
|
|
77
117
|
}
|
|
78
118
|
}
|
|
79
119
|
// Try to build binary
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"system-verify.js","sourceRoot":"","sources":["../src/system-verify.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAE/B,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AAEtC,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAkB,CAAC;AAC5C,MAAM,SAAS,GAAG,QAAQ,KAAK,OAAO,CAAC;AAEvC;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY;IAChC,iCAAiC;IACjC,MAAM,UAAU,GAAG,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC;IACzD,MAAM,aAAa,GAAG;QACpB,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,QAAQ,IAAI,OAAO,CAAC,IAAI,EAAE,EAAE,UAAU,CAAC;QAC5F,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,CAAC;QACvE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,CAAC;QACtE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,CAAC;KAC3F,CAAC;IAEF,yBAAyB;IACzB,KAAK,MAAM,QAAQ,IAAI,aAAa,EAAE,CAAC;QACrC,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC5B,OAAO,IAAI,CAAC,CAAC,6BAA6B;QAC5C,CAAC;IACH,CAAC;IAED,qCAAqC;IACrC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;IAEnD,aAAa;IACb,IAAI,aAAa,GAAG,KAAK,CAAC;IAC1B,IAAI,CAAC;QACH,QAAQ,CAAC,iBAAiB,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;QACjD,aAAa,GAAG,IAAI,CAAC;IACvB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;QAChD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC;QAC5D,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,4CAA4C,CAAC,CAAC;QACnE,OAAO,KAAK,CAAC;IACf,CAAC;IAED,0CAA0C;IAC1C,IAAI,SAAS,EAAE,CAAC;QACd,IAAI,aAAa,GAAG,KAAK,CAAC;QAC1B,IAAI,CAAC;YACH,QAAQ,CAAC,gBAAgB,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;YAChD,aAAa,GAAG,IAAI,CAAC;QACvB,CAAC;QAAC,MAAM,CAAC;YACP,
|
|
1
|
+
{"version":3,"file":"system-verify.js","sourceRoot":"","sources":["../src/system-verify.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/scripts/setup.js
CHANGED
|
@@ -91,15 +91,79 @@ try {
|
|
|
91
91
|
// Fix Rust toolchain on Windows (use GNU if MSVC not available)
|
|
92
92
|
if (isWindows && rustInstalled && rustNeedsGNU) {
|
|
93
93
|
console.log('\n🔧 Configuring Rust for Windows (GNU toolchain)...');
|
|
94
|
+
|
|
95
|
+
// Check if MinGW is installed (required for GNU toolchain)
|
|
96
|
+
let mingwInstalled = false;
|
|
97
|
+
let mingwPath = '';
|
|
98
|
+
|
|
94
99
|
try {
|
|
95
|
-
execSync('
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
console.
|
|
101
|
-
console.
|
|
102
|
-
|
|
100
|
+
const dlltoolPath = execSync('where dlltool.exe', { encoding: 'utf-8', stdio: 'pipe' }).trim();
|
|
101
|
+
mingwInstalled = true;
|
|
102
|
+
mingwPath = path.dirname(dlltoolPath);
|
|
103
|
+
console.log('✅ MinGW found at:', mingwPath);
|
|
104
|
+
} catch {
|
|
105
|
+
console.log('⚠️ MinGW not found in PATH - required for GNU toolchain');
|
|
106
|
+
console.log(' Checking common installation locations...');
|
|
107
|
+
|
|
108
|
+
// Check common MinGW locations
|
|
109
|
+
const commonPaths = [
|
|
110
|
+
'C:\\mingw64\\bin',
|
|
111
|
+
'C:\\msys64\\mingw64\\bin',
|
|
112
|
+
'C:\\Program Files\\mingw-w64\\x86_64-8.1.0-posix-seh-rt_v6-rev0\\mingw64\\bin',
|
|
113
|
+
path.join(process.env.ProgramFiles || 'C:\\Program Files', 'mingw-w64', 'x86_64-*-*-*-*-*', 'mingw64', 'bin'),
|
|
114
|
+
];
|
|
115
|
+
|
|
116
|
+
for (const testPath of commonPaths) {
|
|
117
|
+
const dlltoolPath = path.join(testPath, 'dlltool.exe');
|
|
118
|
+
if (fs.existsSync(dlltoolPath)) {
|
|
119
|
+
mingwInstalled = true;
|
|
120
|
+
mingwPath = testPath;
|
|
121
|
+
console.log('✅ MinGW found at:', mingwPath);
|
|
122
|
+
console.log(' Adding to PATH for this session...');
|
|
123
|
+
process.env.PATH = process.env.PATH ? `${mingwPath};${process.env.PATH}` : mingwPath;
|
|
124
|
+
break;
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
if (!mingwInstalled) {
|
|
129
|
+
console.log(' Installing MinGW-w64...');
|
|
130
|
+
|
|
131
|
+
// Try to install via winget
|
|
132
|
+
try {
|
|
133
|
+
execSync('winget install --id=mingw-w64.mingw-w64 -e --accept-package-agreements --accept-source-agreements', { stdio: 'inherit' });
|
|
134
|
+
console.log('✅ MinGW-w64 installed');
|
|
135
|
+
console.log('\n⚠️ IMPORTANT: Please restart your terminal to update PATH');
|
|
136
|
+
console.log(' Then run: 4runr-setup\n');
|
|
137
|
+
process.exit(0);
|
|
138
|
+
} catch {
|
|
139
|
+
console.error('❌ Failed to install MinGW automatically');
|
|
140
|
+
console.error('\n Please install MinGW-w64 manually:');
|
|
141
|
+
console.error(' 1. Run: winget install mingw-w64.mingw-w64');
|
|
142
|
+
console.error(' 2. Restart terminal');
|
|
143
|
+
console.error(' 3. Run: 4runr-setup again\n');
|
|
144
|
+
process.exit(1);
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
if (mingwInstalled) {
|
|
150
|
+
// Make sure MinGW is in PATH for cargo
|
|
151
|
+
if (mingwPath && process.env.PATH && !process.env.PATH.includes(mingwPath)) {
|
|
152
|
+
process.env.PATH = `${mingwPath};${process.env.PATH}`;
|
|
153
|
+
} else if (mingwPath && !process.env.PATH) {
|
|
154
|
+
process.env.PATH = mingwPath;
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
try {
|
|
158
|
+
execSync('rustup toolchain install stable-x86_64-pc-windows-gnu', { stdio: 'inherit' });
|
|
159
|
+
execSync('rustup default stable-x86_64-pc-windows-gnu', { stdio: 'inherit' });
|
|
160
|
+
console.log('✅ GNU toolchain installed and set as default');
|
|
161
|
+
} catch (error) {
|
|
162
|
+
console.warn('⚠️ Failed to install GNU toolchain automatically');
|
|
163
|
+
console.warn(' You can install manually:');
|
|
164
|
+
console.warn(' rustup toolchain install stable-x86_64-pc-windows-gnu');
|
|
165
|
+
console.warn(' rustup default stable-x86_64-pc-windows-gnu');
|
|
166
|
+
}
|
|
103
167
|
}
|
|
104
168
|
}
|
|
105
169
|
|