Commit e8589b2
0
files
+0
added
-0
deleted
@@ -26,7 +26,23 @@ destdir=""
26
26
do_build=1
27
27
dry_run=0
28
28
uninstall=0
29
-cargo="${CARGO:-cargo}"
29
+
30
+# Znajduje cargo: $CARGO → PATH → typowe lokalizacje rustup/systemowe.
31
+find_cargo() {
32
+ if [ -n "${CARGO:-}" ]; then
33
+ if command -v "$CARGO" >/dev/null 2>&1 || [ -x "$CARGO" ]; then
34
+ printf '%s' "$CARGO"; return 0
35
+ fi
36
+ fi
37
+ if command -v cargo >/dev/null 2>&1; then
38
+ printf 'cargo'; return 0
39
+ fi
40
+ local c
41
+ for c in "$HOME/.cargo/bin/cargo" /usr/local/bin/cargo /usr/bin/cargo; do
42
+ if [ -x "$c" ]; then printf '%s' "$c"; return 0; fi
43
+ done
44
+ return 1
45
+}
30
46
31
47
usage() {
32
48
cat <<EOF
@@ -100,7 +116,17 @@ fi
100
116
101
117
if [ "$do_build" = 1 ]; then
102
118
step "Budowanie (release, --locked)"
103
- command -v "$cargo" >/dev/null 2>&1 || { echo "brak cargo ($cargo) na PATH" >&2; exit 1; }
119
+ if ! cargo="$(find_cargo)"; then
120
+ cat >&2 <<'EOF'
121
+Nie znaleziono cargo. Zainstaluj toolchain Rust i spróbuj ponownie:
122
+ • PaganOS: sudo pag install rustc # pakiet 'rustc' dostarcza cargo
123
+ • inne dystrybucje: sudo pacman/apt/dnf install rustc (lub 'rust')
124
+ • rustup: curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
125
+ • własna ścieżka: CARGO=/ścieżka/do/cargo ./scripts/install.sh ...
126
+EOF
127
+ exit 1
128
+ fi
129
+ say "używam: $cargo"
104
130
( cd "$root" && do_cmd "$cargo" build --release --locked -p selene -p luna -p luna-demo )
105
131
fi
106
132