Thanks to visit codestin.com
Credit goes to github.com

Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ commands:
fonts-install:
steps:
- restore_cache:
key: fonts-4
key: fonts-5
- run:
name: Install custom fonts
command: |
Expand All @@ -80,7 +80,7 @@ commands:
-O ~/.local/share/fonts/xkcd-Script.ttf || true
fc-cache -f -v
- save_cache:
key: fonts-4
key: fonts-5
paths:
- ~/.local/share/fonts/

Expand Down Expand Up @@ -125,7 +125,7 @@ commands:
--no-build-isolation --editable .[dev]
fi
- save_cache:
key: build-deps-2
key: build-deps-3
paths:
- subprojects/packagecache

Expand Down
12 changes: 10 additions & 2 deletions extern/meson.build
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ else
'default_library=static',
'brotli=disabled',
'bzip2=disabled',
'harfbuzz=disabled',
get_option('system-libraqm') ? 'harfbuzz=disabled' : 'harfbuzz=static',
'mmap=auto',
'png=disabled',
'tests=disabled',
Expand All @@ -30,17 +30,25 @@ else
subproject('harfbuzz',
default_options: [
'default_library=static',
'benchmark=disabled',
'cairo=disabled',
'chafa=disabled',
'coretext=disabled',
'directwrite=disabled',
'docs=disabled',
'doc_tests=false',
'fontations=disabled',
'freetype=enabled',
'gdi=disabled',
'glib=disabled',
'gobject=disabled',
'harfruzz=disabled',
'harfrust=disabled',
'icu=disabled',
'introspection=disabled',
'kbts=disabled',
'tests=disabled',
'utilities=disabled',
'wasm=disabled',
]
)
subproject('sheenbidi', default_options: ['default_library=static'])
Expand Down
2 changes: 1 addition & 1 deletion lib/matplotlib/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -1335,7 +1335,7 @@ def _val_or_rc(val, *rc_names):
def _init_tests():
# The version of FreeType to install locally for running the tests. This must match
# the value in `subprojects/freetype2.wrap`.
LOCAL_FREETYPE_VERSION = '2.13.3'
LOCAL_FREETYPE_VERSION = '2.14.1'

from matplotlib import ft2font
if (ft2font.__freetype_version__ != LOCAL_FREETYPE_VERSION or
Expand Down
21 changes: 10 additions & 11 deletions subprojects/freetype2.wrap
Original file line number Diff line number Diff line change
@@ -1,16 +1,15 @@
# This is the version of FreeType to use when building a local version. It
# must match the value in `lib/matplotlib.__init__.py`. Also update the docs
# in `docs/devel/dependencies.rst`. Bump the cache key in
# `.circleci/config.yml` when changing requirements.
# This is the version of FreeType to use when building a local version. It must match
# the `LOCAL_FREETYPE_VERSION` value in `lib/matplotlib/__init__.py`. Bump the cache key
# in `.circleci/config.yml` when changing requirements.
[wrap-file]
directory = freetype-2.13.3
source_url = https://download.savannah.gnu.org/releases/freetype/freetype-2.13.3.tar.xz
source_fallback_url = https://downloads.sourceforge.net/project/freetype/freetype2/2.13.3/freetype-2.13.3.tar.xz
source_filename = freetype-2.13.3.tar.xz
source_hash = 0550350666d427c74daeb85d5ac7bb353acba5f76956395995311a9c6f063289
directory = freetype-2.14.1
source_url = https://download.savannah.gnu.org/releases/freetype/freetype-2.14.1.tar.xz
source_fallback_url = https://downloads.sourceforge.net/project/freetype/freetype2/2.14.1/freetype-2.14.1.tar.xz
source_filename = freetype-2.14.1.tar.xz
source_hash = 32427e8c471ac095853212a37aef816c60b42052d4d9e48230bab3bdf2936ccc

# https://gitlab.freedesktop.org/freetype/freetype/-/commit/34aed655f1696da774b5cdd4c5effb312153232f
diff_files = freetype-34aed655f1696da774b5cdd4c5effb312153232f.patch
# This patch allows using our bundled HarfBuzz.
diff_files = freetype-2.14.1-static-harfbuzz.patch

[provide]
freetype2 = freetype_dep
Expand Down
15 changes: 6 additions & 9 deletions subprojects/harfbuzz.wrap
Original file line number Diff line number Diff line change
@@ -1,13 +1,10 @@
[wrap-file]
directory = harfbuzz-11.2.1
source_url = https://github.com/harfbuzz/harfbuzz/releases/download/11.2.1/harfbuzz-11.2.1.tar.xz
source_filename = harfbuzz-11.2.1.tar.xz
source_hash = 093714c8548a285094685f0bdc999e202d666b59eeb3df2ff921ab68b8336a49
source_fallback_url = https://github.com/mesonbuild/wrapdb/releases/download/harfbuzz_11.2.1-1/harfbuzz-11.2.1.tar.xz
wrapdb_version = 11.2.1-1

# This patch allows using our bundled FreeType.
diff_files = harfbuzz-11.2.0-bundle-freetype.patch
directory = harfbuzz-12.3.0
source_url = https://github.com/harfbuzz/harfbuzz/releases/download/12.3.0/harfbuzz-12.3.0.tar.xz
source_filename = harfbuzz-12.3.0.tar.xz
source_hash = 8660ebd3c27d9407fc8433b5d172bafba5f0317cb0bb4339f28e5370c93d42b7
source_fallback_url = https://github.com/mesonbuild/wrapdb/releases/download/harfbuzz_12.3.0-1/harfbuzz-12.3.0.tar.xz
wrapdb_version = 12.3.0-1

[provide]
dependency_names = harfbuzz, harfbuzz-cairo, harfbuzz-gobject, harfbuzz-icu, harfbuzz-subset
29 changes: 29 additions & 0 deletions subprojects/packagefiles/freetype-2.14.1-static-harfbuzz.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
diff -uPNr freetype-2.14.1.orig/meson.build freetype-2.14.1/meson.build
--- freetype-2.14.1.orig/meson.build 2025-09-11 07:12:24.000000000 -0400
+++ freetype-2.14.1/meson.build 2026-01-04 15:49:14.198061441 -0500
@@ -364,6 +364,13 @@
endif
endif

+if harfbuzz_opt == 'static'
+ harfbuzz_dep = declare_dependency()
+ harfbuzz_opt = 'YES'
+ ftoption_command += ['--enable=FT_CONFIG_OPTION_USE_HARFBUZZ']
+ ft2_deps += [harfbuzz_dep]
+endif
+
if not harfbuzz_dep.found() and \
(harfbuzz_opt == 'dynamic' or harfbuzz_opt == 'auto')
# On Windows we don't need libdl, but on other platforms we need it.
diff -uPNr freetype-2.14.1.orig/meson_options.txt freetype-2.14.1/meson_options.txt
--- freetype-2.14.1.orig/meson_options.txt 2025-09-07 22:48:18.000000000 -0400
+++ freetype-2.14.1/meson_options.txt 2026-01-04 15:49:30.087034418 -0500
@@ -24,7 +24,7 @@

option('harfbuzz',
type: 'combo',
- choices: ['auto', 'enabled', 'dynamic', 'disabled'],
+ choices: ['auto', 'enabled', 'dynamic', 'static', 'disabled'],
value: 'auto',
description: 'Use Harfbuzz library to improve auto-hinting;'
+ ' if available, many glyphs not directly addressable'

This file was deleted.

36 changes: 0 additions & 36 deletions subprojects/packagefiles/harfbuzz-11.2.0-bundle-freetype.patch

This file was deleted.

Loading