From ecd275d5744c34133d2f6a1fce65ea542dd5f3ca Mon Sep 17 00:00:00 2001 From: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com> Date: Sun, 4 Aug 2024 17:37:30 +0300 Subject: [PATCH 1/4] Remove GNU make-specific directive from Makefile --- Makefile | 33 +++++++++++++++++++++------------ 1 file changed, 21 insertions(+), 12 deletions(-) diff --git a/Makefile b/Makefile index 81afa4d51a6..d6563b03167 100644 --- a/Makefile +++ b/Makefile @@ -3,12 +3,14 @@ # You can set these variables from the command line. PYTHON = python3 VENVDIR = .venv +UV = uv # synchronise with render.yml -> deploy step BUILDDIR = build SPHINXBUILD = PATH=$(VENVDIR)/bin:$$PATH sphinx-build BUILDER = html JOBS = auto SOURCES = +REQUIREMENTS = requirements.txt SPHINXERRORHANDLING = --fail-on-warning --keep-going --warning-file sphinx-warnings.txt ALLSPHINXOPTS = --builder $(BUILDER) \ @@ -36,7 +38,7 @@ htmllive: SPHINXBUILD = $(VENVDIR)/bin/sphinx-autobuild # Arbitrarily selected ephemeral port between 49152–65535 # to avoid conflicts with other processes: htmllive: SPHINXERRORHANDLING = --re-ignore="/\.idea/|/venv/|/pep-0000.rst|/topic/" --open-browser --delay 0 --port 55302 -htmllive: ensure-sphinx-autobuild html +htmllive: _ensure-sphinx-autobuild html ## dirhtml to render PEPs to "index.html" files within "pep-NNNN" directories .PHONY: dirhtml @@ -71,29 +73,36 @@ venv: echo "To recreate it, remove it first with \`make clean-venv'."; \ else \ echo "Creating venv in $(VENVDIR)"; \ - if uv --version > /dev/null; then \ - uv venv $(VENVDIR); \ - VIRTUAL_ENV=$(VENVDIR) uv pip install -r requirements.txt; \ + if $(UV) --version >/dev/null 2>&1; then \ + $(UV) venv $(VENVDIR); \ + VIRTUAL_ENV=$(VENVDIR) $(UV) pip install -r $(REQUIREMENTS); \ else \ $(PYTHON) -m venv $(VENVDIR); \ $(VENVDIR)/bin/python3 -m pip install --upgrade pip; \ - $(VENVDIR)/bin/python3 -m pip install -r requirements.txt; \ + $(VENVDIR)/bin/python3 -m pip install -r $(REQUIREMENTS); \ fi; \ echo "The venv has been created in the $(VENVDIR) directory"; \ fi -define ensure_package - if uv --version > /dev/null; then \ - $(VENVDIR)/bin/python3 -m $(1) --version > /dev/null || VIRTUAL_ENV=$(VENVDIR) uv pip install $(1); \ +.PHONY: _ensure-package +_ensure-package: venv + if $(UV) --version >/dev/null 2>&1; then \ + VIRTUAL_ENV=$(VENVDIR) $(UV) pip install $(PACKAGE); \ else \ - $(VENVDIR)/bin/python3 -m $(1) --version > /dev/null || $(VENVDIR)/bin/python3 -m pip install $(1); \ + $(VENVDIR)/bin/python3 -m pip install $(PACKAGE); \ fi -endef + +.PHONY: _ensure-pre-commit +_ensure-pre-commit: + make _ensure-package PACKAGE=pre-commit + +.PHONY: _ensure-sphinx-autobuild +_ensure-sphinx-autobuild: + make _ensure-package PACKAGE=sphinx-autobuild ## lint to lint all the files .PHONY: lint -lint: venv - $(call ensure_package,pre_commit) +lint: _ensure-pre-commit $(VENVDIR)/bin/python3 -m pre_commit run --all-files ## test to test the Sphinx extensions for PEPs From a523822e8a876c940738ded3ae3292b526cbe6c2 Mon Sep 17 00:00:00 2001 From: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com> Date: Sun, 4 Aug 2024 17:38:30 +0300 Subject: [PATCH 2/4] Promote 'make check-links' deprecation warning to error --- Makefile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Makefile b/Makefile index d6563b03167..fa0d19fef4a 100644 --- a/Makefile +++ b/Makefile @@ -51,9 +51,9 @@ linkcheck: BUILDER = linkcheck linkcheck: html ## check-links (deprecated: use 'make linkcheck' alias instead) -.PHONY: pages -check-links: linkcheck - @echo "\033[0;33mWarning:\033[0;31m 'make check-links' \033[0;33mis deprecated, use\033[0;32m 'make linkcheck' \033[0;33malias instead\033[0m" +.PHONY: check-links +check-links: + @echo "\033[0;33mError:\033[0;31m 'make check-links' \033[0;33mis deprecated, use\033[0;32m 'make linkcheck' \033[0;33malias instead\033[0m" ## clean to remove the venv and build files .PHONY: clean From 06eca35bbb61a98ba29eee50b0846bf6cfa8e307 Mon Sep 17 00:00:00 2001 From: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com> Date: Sun, 4 Aug 2024 17:50:31 +0300 Subject: [PATCH 3/4] exit 1 on 'make check-links' --- Makefile | 1 + 1 file changed, 1 insertion(+) diff --git a/Makefile b/Makefile index fa0d19fef4a..79c7a1d4a3f 100644 --- a/Makefile +++ b/Makefile @@ -54,6 +54,7 @@ linkcheck: html .PHONY: check-links check-links: @echo "\033[0;33mError:\033[0;31m 'make check-links' \033[0;33mis deprecated, use\033[0;32m 'make linkcheck' \033[0;33malias instead\033[0m" + @exit 1 ## clean to remove the venv and build files .PHONY: clean From b5fbc6131906f94d20cea9cbf300ac8cceae0cd0 Mon Sep 17 00:00:00 2001 From: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com> Date: Sun, 4 Aug 2024 18:02:01 +0300 Subject: [PATCH 4/4] Remove deprecated 'make check-links' --- Makefile | 6 ------ 1 file changed, 6 deletions(-) diff --git a/Makefile b/Makefile index 79c7a1d4a3f..8bd40edb6c3 100644 --- a/Makefile +++ b/Makefile @@ -50,12 +50,6 @@ dirhtml: html linkcheck: BUILDER = linkcheck linkcheck: html -## check-links (deprecated: use 'make linkcheck' alias instead) -.PHONY: check-links -check-links: - @echo "\033[0;33mError:\033[0;31m 'make check-links' \033[0;33mis deprecated, use\033[0;32m 'make linkcheck' \033[0;33malias instead\033[0m" - @exit 1 - ## clean to remove the venv and build files .PHONY: clean clean: clean-venv