Skip to content

Commit cc8133c

Browse files
committed
deps: use uv if present
`uv` is a compatible `pip` replacement made in Rust, which runs significantly faster. It saves about 70 seconds on my M3 when installing deps.
1 parent 258dd84 commit cc8133c

File tree

1 file changed

+17
-9
lines changed

1 file changed

+17
-9
lines changed

Makefile

+17-9
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,14 @@ ifndef PROPTEST_CASES
1212
export PROPTEST_CASES
1313
endif
1414

15+
ifeq (, $(shell which uv))
16+
PIP_CMD="python -m pip"
17+
VENV_CMD="python -m venv"
18+
else
19+
PIP_CMD="uv pip"
20+
VENV_CMD="uv venv"
21+
endif
22+
1523
.PHONY: build-cairo-1-compiler build-cairo-1-compiler-macos build-cairo-2-compiler build-cairo-2-compiler-macos \
1624
deps deps-macos cargo-deps build run check test clippy coverage benchmark flamegraph\
1725
compare_benchmarks_deps compare_benchmarks docs clean \
@@ -210,23 +218,23 @@ cairo1-run-deps:
210218

211219
deps: create-proof-programs-symlinks cargo-deps build-cairo-1-compiler build-cairo-2-compiler cairo1-run-deps
212220
pyenv install -s pypy3.9-7.3.9
213-
PYENV_VERSION=pypy3.9-7.3.9 python -m venv cairo-vm-pypy-env
221+
PYENV_VERSION=pypy3.9-7.3.9 $(VENV_CMD) cairo-vm-pypy-env
214222
. cairo-vm-pypy-env/bin/activate ; \
215-
pip install -r requirements.txt ; \
223+
$(PIP_CMD) install -r requirements.txt ; \
216224
pyenv install -s 3.9.15
217-
PYENV_VERSION=3.9.15 python -m venv cairo-vm-env
225+
PYENV_VERSION=3.9.15 $(VENV_CMD) cairo-vm-env
218226
. cairo-vm-env/bin/activate ; \
219-
pip install -r requirements.txt ; \
227+
$(PIP_CMD) install -r requirements.txt ; \
220228

221229
deps-macos: create-proof-programs-symlinks cargo-deps build-cairo-1-compiler-macos build-cairo-2-compiler-macos cairo1-run-deps
222230
arch -x86_64 pyenv install -s pypy3.9-7.3.9
223-
PYENV_VERSION=pypy3.9-7.3.9 python -m venv cairo-vm-pypy-env
231+
PYENV_VERSION=pypy3.9-7.3.9 $(VENV_CMD) cairo-vm-pypy-env
224232
. cairo-vm-pypy-env/bin/activate ; \
225-
CFLAGS=-I/opt/homebrew/opt/gmp/include LDFLAGS=-L/opt/homebrew/opt/gmp/lib pip install -r requirements.txt ; \
233+
CFLAGS=-I/opt/homebrew/opt/gmp/include LDFLAGS=-L/opt/homebrew/opt/gmp/lib $(PIP_CMD) install -r requirements.txt ; \
226234
pyenv install -s 3.9.15
227-
PYENV_VERSION=3.9.15 python -m venv cairo-vm-env
235+
PYENV_VERSION=3.9.15 $(VENV_CMD) cairo-vm-env
228236
. cairo-vm-env/bin/activate ; \
229-
CFLAGS=-I/opt/homebrew/opt/gmp/include LDFLAGS=-L/opt/homebrew/opt/gmp/lib pip install -r requirements.txt ; \
237+
CFLAGS=-I/opt/homebrew/opt/gmp/include LDFLAGS=-L/opt/homebrew/opt/gmp/lib $(PIP_CMD) install -r requirements.txt ; \
230238

231239
$(RELBIN):
232240
cargo build --release
@@ -366,7 +374,7 @@ clean:
366374
fuzzer-deps: build
367375
cargo +nightly install cargo-fuzz
368376
. cairo-vm-env/bin/activate; \
369-
pip install atheris==2.2.2 maturin==1.2.3; \
377+
$(PIP_CMD) install atheris==2.2.2 maturin==1.2.3; \
370378
cd fuzzer/; \
371379
maturin develop
372380

0 commit comments

Comments
 (0)