From 8feefc281f03c0f1af3422a8f0febb68edb145f2 Mon Sep 17 00:00:00 2001
From: Ned Deily <nad@python.org>
Date: Tue, 6 Sep 2022 02:34:50 -0400
Subject: [PATCH] Move doc build dependencies to Doc/requirements.txt
 (GH-96607)

This makes 3.7 doc builds similar to later releases,
simplifying build tooling.
---
 Doc/Makefile         |  3 ++-
 Doc/requirements.txt | 18 ++++++++++++++++++
 2 files changed, 20 insertions(+), 1 deletion(-)
 create mode 100644 Doc/requirements.txt

diff --git a/Doc/Makefile b/Doc/Makefile
index 1b8cbfa479e..1ffa67ac93a 100644
--- a/Doc/Makefile
+++ b/Doc/Makefile
@@ -127,7 +127,8 @@ clean:
 
 venv:
 	$(PYTHON) -m venv $(VENVDIR)
-	$(VENVDIR)/bin/python3 -m pip install -U Sphinx==2.3.1 blurb docutils==0.17.1 Jinja2==3.0.3
+	$(VENVDIR)/bin/python3 -m pip install -U pip setuptools
+	$(VENVDIR)/bin/python3 -m pip install -r requirements.txt
 	@echo "The venv has been created in the $(VENVDIR) directory"
 
 dist:
diff --git a/Doc/requirements.txt b/Doc/requirements.txt
new file mode 100644
index 00000000000..cba2d89aef1
--- /dev/null
+++ b/Doc/requirements.txt
@@ -0,0 +1,18 @@
+# Requirements to build the Python documentation
+
+# Sphinx version is pinned so that new versions that introduce new warnings
+# won't suddenly cause build failures. Updating the version is fine as long
+# as no warnings are raised by doing so.
+sphinx==2.3.1
+# Docutils version is pinned to a version compatible with Sphinx
+# version 2.3.1. It can be removed after bumping Sphinx version to at
+# least 3.5.4.
+docutils==0.17.1
+# Jinja version is pinned to a version compatible with Sphinx version 2.3.1.
+jinja2==3.0.3
+
+blurb
+
+# The theme used by the documentation is stored separately, so we need
+# to install that as well.
+python-docs-theme
-- 
GitLab