8000 Use our pinned versions of FreeType (2.{6,11}.1) · matplotlib/matplotlib@3cf6965 · GitHub
[go: up one dir, main page]

Skip to content

Commit 3cf6965

Browse files
committed
Use our pinned versions of FreeType (2.{6,11}.1)
1 parent 8da8bd0 commit 3cf6965

File tree

11 files changed

+1639
-18
lines changed
Original file line numberDiff line numberDiff line change
@@ -117,12 +117,9 @@ commands:
117117
python -m pip install --user -ve .
118118
fi
119119
- save_cache:
120-
key: build-deps-1
120+
key: build-deps-2
121121
paths:
122-
# FreeType 2.6.1 tarball.
123-
- ~/.cache/matplotlib/0a3c7dfbda6da1e8fce29232e8e96d987ababbbf71ebc8c75659e4132c367014
124-
# Qhull 2020.2 tarball.
125-
- ~/.cache/matplotlib/b5c2d7eb833278881b952c8a52d20179eab87766b00b865000469a45c1838b7e
122+
- subprojects/packagecache
126123

127124
doc-build:
128125
steps:
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,22 @@ subdir('ttconv')
1010
if get_option('system-freetype')
1111
freetype_dep = dependency('freetype2', version: '>=9.11.3')
1212
else
13-
freetype_proj = subproject('freetype2',
14-
default_options: ['default_library=static', 'zlib=internal'])
13+
# This is the version of FreeType to use when building a local version. It
14+
# must match the value in `lib/matplotlib.__init__.py`. Also update the docs
15+
# in `docs/devel/dependencies.rst`. Bump the cache key in
16+
# `.circleci/config.yml` when changing requirements.
17+
TESTING_VERSION_OF_FREETYPE = '2.6.1'
18+
if host_machine.system() == 'windows' and host_machine.cpu_family() == 'aarch64'
19+
# Older versions of freetype are not supported for win/arm64
20+
# Matplotlib tests will not pass
21+
LOCAL_FREETYPE_VERSION = '2.11.1'
22+
else
23+
LOCAL_FREETYPE_VERSION = TESTING_VERSION_OF_FREETYPE
24+
endif
25+
26+
freetype_proj = subproject(
27+
f'freetype-@LOCAL_FREETYPE_VERSION@',
28+
default_options: ['default_library=static'])
1529
freetype_dep = freetype_proj.get_variable('freetype_dep')
1630
endif
1731

Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ project(
1111
default_options: [
1212
'b_lto=true',
1313
'cpp_std=c++11',
14+
'auto_features=disabled', # Force FreeType to avoid extra dependencies.
1415
],
1516
)
1617

Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
[wrap-file]
2+
source_url = https://download.savannah.gnu.org/releases/freetype/freetype-2.11.1.tar.xz
3+
source_filename = freetype-2.11.1.tar.xz
4+
source_hash = 3333ae7cfda88429c97a7ae63b7d01ab398076c3b67182e960e5684050f2c5c8
5+
6+
[provide]
7+
freetype-2.11.1 = freetype_dep
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
[wrap-file]
2+
source_url = https://download.savannah.gnu.org/releases/freetype/freetype-old/freetype-2.6.1.tar.gz
3+
source_filename = freetype-2.6.1.tar.gz
4+
source_hash = 0a3c7dfbda6da1e8fce29232e8e96d987ababbbf71ebc8c75659e4132c367014
5+
6+
patch_directory = freetype-2.6.1-meson
7+
8+
[provide]
9+
freetype-2.6.1 = freetype_dep
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
Copyright (c) 2018 The Meson development team
2+
3+
Permission is hereby granted, free of charge, to any person obtaining a copy
4+
of this software and associated documentation files (the "Software"), to deal
5+
in the Software without restriction, including without limitation the rights
6+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7+
copies of the Software, and to permit persons to whom the Software is
8+
furnished to do so, subject to the following conditions:
9+
10+
The above copyright notice and this permission notice shall be included in all
11+
copies or substantial portions of the Software.
12+
13+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF 1E80 ANY KIND, EXPRESS OR
14+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
19+
SOFTWARE.