10000 DOC: add note about manually downloading qhull + freetype · matplotlib/matplotlib@26278b6 · GitHub
[go: up one dir, main page]

Skip to content

Commit 26278b6

Browse files
committed
DOC: add note about manually downloading qhull + freetype
1 parent ee723d9 commit 26278b6

File tree

2 files changed

+33
-2
lines changed

2 files changed

+33
-2
lines changed

doc/devel/dependencies.rst

Lines changed: 30 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -112,6 +112,9 @@ necessary to run the test suite, because different versions of FreeType
112112
rasterize characters differently) and of Qhull. As an exception, Matplotlib
113113
defaults to the system version of FreeType on AIX.
114114

115+
Use system libraries
116+
~~~~~~~~~~~~~~~~~~~~
117+
115118
To force Matplotlib to use a copy of FreeType or Qhull already installed in
116119
your system, create a :file:`mplsetup.cfg` file with the following contents:
117120

@@ -121,7 +124,16 @@ your system, create a :file:`mplsetup.cfg` file with the following contents:
121124
system_freetype = true
122125
system_qhull = true
123126
124-
before running ``python -m pip install .``.
127+
before running
128+
129+
.. code-block:: sh
130+
131+
python -m pip install .
132+
133+
134+
You can also use the :envvar:`MPLSETUPCFG` to specify the path to a cfg file when
135+
installing from pypi.
136+
125137

126138
In this case, you need to install the FreeType and Qhull library and headers.
127139
This can be achieved using a package manager, e.g. for FreeType:
@@ -174,6 +186,23 @@ remember to clear your artifacts before re-building::
174186
git clean -xfd
175187

176188

189+
Manual Download
190+
~~~~~~~~~~~~~~~
191+
192+
193+
If the automatic download does not work (for example on air-gapped systems) it
194+
is preferable to instead use system libraries. However you can manually
195+
download and unpack the tarballs into::
196+
197+
build/freetype-2.6.1 # on all platforms but windows ARM64
198+
build/freetype-2.11.1 # on windows ARM64
199+
build/qhull-2020.2
200+
201+
at the top level of the checkout repository. The expected sha256 hashes of
202+
the downloaded tarballs is in :file:`setupext.py` if you wish to verify
203+
before unpacking.
204+
205+
177206
Minimum pip / manylinux support (linux)
178207
---------------------------------------
179208

setupext.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -181,7 +181,8 @@ def get_and_extract_tarball(urls, sha, dirname):
181181
}
182182
# This is the version of FreeType to use when building a local version. It
183183
# must match the value in lib/matplotlib.__init__.py, and the cache path in
184-
# `.circleci/config.yml`.
184+
# `.circleci/config.yml`. Also update the docs in
185+
# `docs/devel/dependencies.rst`.
185186
TESTING_VERSION_OF_FREETYPE = '2.6.1'
186187
if sys.platform.startswith('win') and platform.machine() == 'ARM64':
187188
# older versions of freetype are not supported for win/arm64
@@ -193,6 +194,7 @@ def get_and_extract_tarball(urls, sha, dirname):
193194
LOCAL_FREETYPE_HASH = _freetype_hashes.get(LOCAL_FREETYPE_VERSION, 'unknown')
194195

195196
# Also update the cache path in `.circleci/config.yml`.
197+
# Also update the docs in `docs/devel/dependencies.rst`.
196198
LOCAL_QHULL_VERSION = '2020.2'
197199
LOCAL_QHULL_HASH = (
198200
'b5c2d7eb833278881b952c8a52d20179eab87766b00b865000469a45c1838b7e')

0 commit comments

Comments
 (0)
0