From 04c4d5404852168bde555ce141d7ca4350f1d7d0 Mon Sep 17 00:00:00 2001 From: Naitree Zhu Date: Fri, 31 Oct 2025 23:15:10 +0900 Subject: [PATCH 1/3] Make ``dist-pdf`` docs archive build work for macOS --- Doc/Makefile | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/Doc/Makefile b/Doc/Makefile index f6f4c721080c42..76bb6f8654248c 100644 --- a/Doc/Makefile +++ b/Doc/Makefile @@ -241,7 +241,11 @@ dist-pdf: # as otherwise the full latexmk process is run twice. # ($$ is needed to escape the $; https://www.gnu.org/software/make/manual/make.html#Basics-of-Variable-References) -sed -i 's/: all-$$(FMT)/:/' build/latex/Makefile - (cd build/latex; $(MAKE) clean && $(MAKE) --jobs=$$((`nproc`+1)) --output-sync LATEXMKOPTS='-quiet' all-pdf && $(MAKE) FMT=pdf zip bz2) + if [ -n "$(filter output-sync,$(value .FEATURES))" ]; then \ + (cd build/latex; $(MAKE) clean && $(MAKE) --jobs=$$((`nproc`+1)) --output-sync LATEXMKOPTS='-quiet' all-pdf && $(MAKE) FMT=pdf zip bz2) \ + else \ + (cd build/latex; $(MAKE) clean && $(MAKE) --jobs=$$((`getconf _NPROCESSORS_ONLN`+1)) LATEXMKOPTS='-quiet' all-pdf && $(MAKE) FMT=pdf zip bz2) \ + fi cp build/latex/docs-pdf.zip dist/python-$(DISTVERSION)-docs-pdf-a4.zip cp build/latex/docs-pdf.tar.bz2 dist/python-$(DISTVERSION)-docs-pdf-a4.tar.bz2 @echo "Build finished and archived!" From f875ad94bcbc04012b98c8188c732696d6660eda Mon Sep 17 00:00:00 2001 From: Naitree Zhu Date: Sat, 1 Nov 2025 11:00:06 +0900 Subject: [PATCH 2/3] Replace ``nproc`` with ``getconf _NPROCESSORS_ONLN`` ``getconf _NPROCESSORS_ONLN`` is available in both Linux and macOS, but ``nproc`` is not. This change prevents the build from breaking again if macOS ever upgrades its `make` to version 4 or above. --- Doc/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Doc/Makefile b/Doc/Makefile index 76bb6f8654248c..c75e8289e249e1 100644 --- a/Doc/Makefile +++ b/Doc/Makefile @@ -242,7 +242,7 @@ dist-pdf: # ($$ is needed to escape the $; https://www.gnu.org/software/make/manual/make.html#Basics-of-Variable-References) -sed -i 's/: all-$$(FMT)/:/' build/latex/Makefile if [ -n "$(filter output-sync,$(value .FEATURES))" ]; then \ - (cd build/latex; $(MAKE) clean && $(MAKE) --jobs=$$((`nproc`+1)) --output-sync LATEXMKOPTS='-quiet' all-pdf && $(MAKE) FMT=pdf zip bz2) \ + (cd build/latex; $(MAKE) clean && $(MAKE) --jobs=$$((`getconf _NPROCESSORS_ONLN`+1)) --output-sync LATEXMKOPTS='-quiet' all-pdf && $(MAKE) FMT=pdf zip bz2) \ else \ (cd build/latex; $(MAKE) clean && $(MAKE) --jobs=$$((`getconf _NPROCESSORS_ONLN`+1)) LATEXMKOPTS='-quiet' all-pdf && $(MAKE) FMT=pdf zip bz2) \ fi From 647cf8164df743edf9eae95c08a919e375e7f333 Mon Sep 17 00:00:00 2001 From: Naitree Zhu Date: Mon, 3 Nov 2025 11:13:30 +0900 Subject: [PATCH 3/3] Refactor code to eliminate duplication --- Doc/Makefile | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/Doc/Makefile b/Doc/Makefile index c75e8289e249e1..f16d9cacb1b6fb 100644 --- a/Doc/Makefile +++ b/Doc/Makefile @@ -241,11 +241,8 @@ dist-pdf: # as otherwise the full latexmk process is run twice. # ($$ is needed to escape the $; https://www.gnu.org/software/make/manual/make.html#Basics-of-Variable-References) -sed -i 's/: all-$$(FMT)/:/' build/latex/Makefile - if [ -n "$(filter output-sync,$(value .FEATURES))" ]; then \ - (cd build/latex; $(MAKE) clean && $(MAKE) --jobs=$$((`getconf _NPROCESSORS_ONLN`+1)) --output-sync LATEXMKOPTS='-quiet' all-pdf && $(MAKE) FMT=pdf zip bz2) \ - else \ - (cd build/latex; $(MAKE) clean && $(MAKE) --jobs=$$((`getconf _NPROCESSORS_ONLN`+1)) LATEXMKOPTS='-quiet' all-pdf && $(MAKE) FMT=pdf zip bz2) \ - fi + if [ -n "$(filter output-sync,$(value .FEATURES))" ]; then OUTPUTSYNC=--output-sync; else OUTPUTSYNC=; fi && \ + (cd build/latex; $(MAKE) clean && $(MAKE) --jobs=$$((`getconf _NPROCESSORS_ONLN`+1)) $$OUTPUTSYNC LATEXMKOPTS='-quiet' all-pdf && $(MAKE) FMT=pdf zip bz2) cp build/latex/docs-pdf.zip dist/python-$(DISTVERSION)-docs-pdf-a4.zip cp build/latex/docs-pdf.tar.bz2 dist/python-$(DISTVERSION)-docs-pdf-a4.tar.bz2 @echo "Build finished and archived!"