From Fedora Project Wiki

m (1 revision(s))
No edit summary
Line 1: Line 1:
<!-- page was renamed from PackagingDrafts/FontsSpecTemplate
{{CompactHeader|fonts-sig}}
-->
= Annotated fonts spec template =


The following annotated template is intended to help you understand the Fedora fonts packaging policy. A plain-text version without formatting or annotations is available in the ''rpmdevtools'' package (CVS only for now, will be in 6.5 when released).
The following annotated template is intended to help you understand the Fedora fonts packaging policy. A plain-text version without formatting or annotations is available in the [https://fedorahosted.org/rpmdevtools/browser/spectemplate-fonts.spec rpmdevtools package].


== Conventions ==


{| style="font-family:monospace;" rowstyle="background-color:#FFFAE9;" (
{| style="font-family:monospace; background-color:#FFFAE9; font-family:monospace;"
|- style="background-color:#ffdebc;" (
|+ Conventions
|Only if you declare fontconfig rules||style="font-family:sans-serif; font-style:italic; color:#990033;" )
|- valign="top"
| Comment
| style="border-style:hidden;" | Common directives
|- style="background-color:#ffe4f5;" (
| style="font-family:sans-serif; font-style:italic; color:#00578E; border-style:hidden;" | Comment
| Some other optional part ||style="font-family:sans-serif; font-style:italic; color:#663366;" )
|- valign="top" style="background-color:#ffdebc;"
| Comment
| style="border-style:hidden;" | Only if you declare [[Fontconfig_packaging_tips | fontconfig]] rules
| style="font-family:sans-serif; font-style:italic; color:#990033; border-style:hidden;" | Comment
|- valign="top" style="background-color:#ffe4f5;"
| style="border-style:hidden;" | Some other optional part
| style="font-family:sans-serif; font-style:italic; color:#663366; border-style:hidden;" | Comment
|}
|}


== Spec ==


{| style="background-color:#FFFAE9; font-family:monospace;" 60%(
{| style="font-family:monospace; background-color:#FFFAE9; font-family:monospace; border-style:hidden;"
|+ Annotated fonts spec template
|- valign="top"
| width="60%" style="border-style:hidden;" | %define fontname ''…''
| width="40%" style="font-family:sans-serif; font-style:italic; color:#00578E; border-style:hidden;" | Upstream lowercased project name, without any '''fonts''' or '''font''' affix.
|-
|-
| ||
| style="border-style:hidden;" |
|-
| style="border-style:hidden;" |
|<^(>%define fontdir         %{_datadir}/fonts/%{fontname} ||style="font-family:sans-serif; font-style:italic; color:#00578E;" )> '''%{_datadir}/fonts''' is owned by the '''filesystem''' package[[FootNote(Once [https://bugzilla.redhat.com/show_bug.cgi?id=302141 bz302141]  is closed.)  .
|- valign="top"
|- style="background-color:#ffdebc;" (
| style="border-style:hidden;" | %define fontdir %{_datadir}/fonts/%{fontname}
|%define fontconfdir    %{_sysconfdir}/fonts/conf.d||style="font-family:sans-serif; font-style:italic; color:#990033;" )
| style="font-family:sans-serif; font-style:italic; color:#00578E; border-style:hidden;" | '''%{_datadir}/fonts''' is owned by the '''filesystem''' package.
| Owned by the '''filesystem''' package.
|- valign="top" style="background-color:#ffdebc;"
|-
| style="border-style:hidden;" | %define fontconfdir %{_sysconfdir}/fonts/conf.d
| ||
| style="font-family:sans-serif; font-style:italic; color:#990033; border-style:hidden;" | Owned by the '''filesystem''' package.
|- style="background-color:#ffe4f5;" ^(
|- valign="top"
|%define archivename ''xxx'' ||style="font-family:sans-serif; font-style:italic; color:#663366;" )
| style="border-style:hidden;" |
| Usually a mix of '''%{fontname}''' and '''%{version}'''.
| style="border-style:hidden;" |
|-
|- valign="top" style="background-color:#ffe4f5;"
| ||
| style="border-style:hidden;" | %define archivename ''''
|-
| style="font-family:sans-serif; font-style:italic; color:#663366; border-style:hidden;" | Usually a mix of '''%{fontname}''' and '''%{version}'''.
|<^(>Name:     %{fontname}-fonts||style="font-family:sans-serif; font-style:italic; color:#00578E;" )>See also our [[SIGs/Fonts/Packaging/Policy#grouping| grouping]]  conventions.
|- valign="top"
|-
| style="border-style:hidden;" |
|<^(>Version:||style="font-family:sans-serif; font-style:italic; color:#00578E;" )> When in doubt check the '''version''' field embedded in TTF files[[FootNote(For example by double-clicking on them in ''Nautilus''.)]  . If upstream is not updating this field regularly, you'll have to resort to [[Packaging/NamingGuidelines#NonNumericRelease|  %{alphatag}s]] . If upstream is never updating this field, use the date of the most recent font file as version.
| style="border-style:hidden;" |
|-
|- valign="top"
|<(>Release:  ''X''%{?dist}||
| style="border-style:hidden;" | Name: %{fontname}-fonts
|-
| style="font-family:sans-serif; font-style:italic; color:#00578E; border-style:hidden;" | See also our [[Fonts_packaging_policy#grouping | grouping]] conventions.
|<(>Summary:  ''Xxx'' fonts||
|- valign="top"
|-
| style="border-style:hidden;" | Version: ''''
| ||
| style="font-family:sans-serif; font-style:italic; color:#00578E; border-style:hidden;" |
|-
* When in doubt check the '''version''' field embedded in TTF or OTF files<ref>For example by double-clicking on them in ''Nautilus''.</ref>.
|<(>Group:    User Interface/X
* If upstream is not updating this field regularly, you'll have to resort to [[Packaging/NamingGuidelines#NonNumericRelease | %{alphatag}s]].
|-
* If upstream is never updating this field, use the date of the most recent font file as version.
|<^(>License:     ''XXX'' ||style="font-family:sans-serif; font-style:italic; color:#00578E;" )> Make sure you've read and understand our [[SIGs/Fonts/Legal|  legal page]] .
|- valign="top"
|-
| style="border-style:hidden;" | Release: ''''%{?dist}
|<(>URL:||
| style="border-style:hidden;" |
|-
|- valign="top"
|<(>Source0:  ''…''/%{archivename}.''xxx''
| style="border-style:hidden;" | Summary: ''…'' fonts
|- style="background-color:#ffdebc;" ^(
| style="border-style:hidden;" |
|Source1:   %{name}-fontconfig.conf||style="font-family:sans-serif; font-style:italic; color:#990033;" )
|- valign="top"
|[[SIGs/Fonts/Packaging/Fontconfig| Fontconfig ruleset]] for the fonts being packaged.
| style="border-style:hidden;" |
|-
| style="border-style:hidden;" |
| ||
|- valign="top"
|-
| style="border-style:hidden;" | Group: User Interface/X
|<(>Build<code></code>Root: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX) ||style="font-family:sans-serif; font-style:italic; color:#00578E;" )>Or any other [[Packaging/Guidelines#BuildRoot|  approved choice]] .
| style="border-style:hidden;" |
|-
|- valign="top"
|<(>Build<code></code>Arch: noarch||
| style="border-style:hidden;" | License: ''…''
|- style="background-color:#ffdebc;" ^(
| style="font-family:sans-serif; font-style:italic; color:#00578E; border-style:hidden;" | Make sure you've read and understand our [[Legal_considerations_for_fonts | legal page]].
|Conflicts:  fontconfig<''xxx''||style="font-family:sans-serif; font-style:italic; color:#990033;" )
|- valign="top"
| This directive will ensure concurrent fontconfig updating if your ruleset uses some new syntax fontconfig versions shipped in previous Fedora releases do not understand.BR
| style="border-style:hidden;" | URL: ''…''
|'''Do not''' use a versioned Requires, as this will force fontconfig installation unconditionally.BR
| style="border-style:hidden;" |
| Resources like fonts [[SIGs/Fonts/Packaging/Policy#no-handler-deps| must not]]  force the installation of a particular handler.
|- valign="top"
|-
| style="border-style:hidden;" | Source0: ''…''/%{archivename}.''…''
| ||
| style="border-style:hidden;" |
|-
|- valign="top" style="background-color:#ffdebc;"
|<(>%description||style="font-family:sans-serif; font-style:italic; color:#00578E;"|2)> Is the font style unusual, does it cover remarkable unicode blocks? Is the font intended for screen or print media, plain-text or fancy decoration uses?
| style="border-style:hidden;" | Source1: %{name}-fontconfig.conf
|-
| style="font-family:sans-serif; font-style:italic; color:#990033; border-style:hidden;" | [[Fontconfig_packaging_tips | Fontconfig ruleset]] for the fonts being packaged.
|<(> ''XXX…''
|- valign="top"
|-
| style="border-style:hidden;" |
| ||
| style="border-style:hidden;" |
|-
|- valign="top"
| ||
| style="border-style:hidden;" | BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX)
|-
| style="font-family:sans-serif; font-style:italic; color:#00578E; border-style:hidden;" | Or any other [[Packaging/Guidelines#BuildRoot | approved choice]].
|<(>%prep||
|- valign="top"
|-
| style="border-style:hidden;" | BuildArch: noarch
|<(>%setup -q -n %{archivename}||
| style="border-style:hidden;" |
|-
|- valign="top" style="background-color:#ffdebc;"
| ||
| style="border-style:hidden;" | Conflicts: fontconfig<''…''
|-
| style="font-family:sans-serif; font-style:italic; color:#990033; border-style:hidden;" |
| ||
* This directive will ensure concurrent [[Fontconfig_packaging_tips | fontconfig]] updating if your ruleset uses some new syntax fontconfig versions shipped in previous Fedora releases do not understand.
|-
* '''Do not''' use a versioned Requires, as this will force fontconfig installation unconditionally. Resources like fonts [[Fonts_packaging_policy#no-handler-deps | must not]] force the installation of a particular handler.
|<^(>%build||style="font-family:sans-serif; font-style:italic; color:#00578E;"|2)>Try to [[SIGs/Fonts/Packaging/Policy#build-from-sources| build fonts from source]] .
|- valign="top"
|-
| style="border-style:hidden;" | %description
|
| rowspan="2" style="font-family:sans-serif; font-style:italic; color:#00578E; border-style:hidden;" | Is the font style unusual, does it cover remarkable unicode blocks? Is the font intended for screen or print media, plain-text or fancy decoration uses?
|-
|- valign="top"
| ||
| style="border-style:hidden;" | ''…''
|-
|- valign="top"
| ||
| style="border-style:hidden;" |
|-
| style="border-style:hidden;" |
|<(>%install||
|- valign="top"
|-
| style="border-style:hidden;" |
|<(>rm -fr %{buildroot}||
| style="border-style:hidden;" |
|-
|- valign="top"
| ||
| style="border-style:hidden;" | %prep
|-
| style="border-style:hidden;" |
|<(>install -m 0755 -d %{buildroot}%{fontdir}||
|- valign="top"
|-
| style="border-style:hidden;" | %setup -q -n %{archivename}
|<(>install -m 0644 -p ''xxx/''*.ttf ''xxx/''*.otf %{buildroot}%{fontdir}||
| style="border-style:hidden;" |
|-
|- valign="top"
| ||
| style="border-style:hidden;" |
|- style ="background-color:#ffdebc;" (
| style="border-style:hidden;" |
|install -m 0755 -d %{buildroot}%{fontconfdir}||
|- valign="top"
|- style="background-color:#ffdebc;" ^(
| style="border-style:hidden;" |
|install -m 0644 -p %{SOURCE1} %{buildroot}%{fontconfdir}/''XX''-%{fontname}.conf||style="font-family:sans-serif; font-style:italic; color:#990033;" )
| style="border-style:hidden;" |
| For a discussion on the choice of '''XX''', visit our [[SIGs/Fonts/Packaging/Fontconfig|  fontconfig section]] .
|- valign="top"
|-
| style="border-style:hidden;" | %build
| ||
| rowspan="2" style="font-family:sans-serif; font-style:italic; color:#00578E; border-style:hidden;" | Try to [[Fonts_packaging_policy#build-from-sources | build fonts from source]].
|-
|- valign="top"
| ||
| style="border-style:hidden;" |
|-
| style="border-style:hidden;" |
|<(>%clean||
|- valign="top"
|-
| style="border-style:hidden;" |
|<(>rm -fr %{buildroot}||
| style="border-style:hidden;" |
|-
|- valign="top"
| ||
| style="border-style:hidden;" |
|-
| style="border-style:hidden;" |
| ||
|- valign="top"
|-
| style="border-style:hidden;" | %install
|<(> %post ||style="font-family:sans-serif; font-style:italic; color:#00578E;"|12)>This ensures fontconfig indexes are refreshed if fontconfig is present on the system; if not the fontconfig package will create them itself on installation[[FootNote(In compliance of our ]]  policy.)  . Note that while the use of '''%{fontdir}''' ensures '''fc-cache''' does not waste time on other fonts, it also makes any later '''%{fontdir}''' renaming unsafe.<BR><BR>The '''-f''' parameter forces a refresh in all cases[[FootNote(For example '''fc-cache''' currently relies on timestamps to detect if the font cache needs to be regenenerated, and they're not a reliable reference if the system clock was misconfigured in the past (if the BIOS clock was wrong at install-time). This should be fixed in fontconfig-2.5.)]  . It must be used in packages targeting pre-Fedora 9 releases.
| style="border-style:hidden;" |
|-
|- valign="top"
|<(>if [ -x %{_bindir}/fc-cache ] ; then
| style="border-style:hidden;" | rm -fr %{buildroot}
|-
| style="border-style:hidden;" |
|<(>  %{_bindir}/fc-cache -f %{fontdir} |<code></code>| :
|- valign="top"
|-
| style="border-style:hidden;" |
|<(>fi
| style="border-style:hidden;" |
|-
|- valign="top"
|
| style="border-style:hidden;" | install -m 0755 -d %{buildroot}%{fontdir}
|-
| style="border-style:hidden;" |
|
|- valign="top"
|-
| style="border-style:hidden;" | install -m 0644 -p ''…/*.ttf'' ''…/*.otf'' %{buildroot}%{fontdir}
|%postun
| style="border-style:hidden;" |
|-
|- valign="top"
|if [ "$1" = "0" ] ; then
| style="border-style:hidden;" |
|-
| style="border-style:hidden;" |
| if [ -x %{_bindir}/fc-cache ] ; then
|- valign="top"
|-
|- valign="top" style="background-color:#ffdebc;"
|   %{_bindir}/fc-cache -f %{fontdir} |<code></code>| :
| style="border-style:hidden;" | install -m 0755 -d %{buildroot}%{fontconfdir}
|-
| rowspan="2" style="font-family:sans-serif; font-style:italic; color:#990033; border-style:hidden;" | For a discussion on the choice of ''…'' visit our [[Fontconfig_packaging_tips | fontconfig page]].
| fi
|- valign="top" style="background-color:#ffdebc;"
|-
| style="border-style:hidden;" | install -m 0644 -p %{SOURCE1} %{buildroot}%{fontconfdir}/''…''-%{fontname}.conf
|fi
|- valign="top"
|-
| style="border-style:hidden;" |
| ||
| style="border-style:hidden;" |
|-
|- valign="top"
| ||
| style="border-style:hidden;" |
|-
| style="border-style:hidden;" |
|<(>%files ||
|- valign="top"
|-
| style="border-style:hidden;" | %clean
|<^(>%defattr(0644,root,root,0755) ||style="font-family:sans-serif; font-style:italic; color:#00578E;" )>Any other set of permission is almost certain to be a fonts packaging bug.
| style="border-style:hidden;" |
|-
|- valign="top"
|<(>%doc *.txt ||
| style="border-style:hidden;" | rm -fr %{buildroot}
|-
| style="border-style:hidden;" |
| ||
|- valign="top"
|- style="background-color:#ffdebc;" ^(
| style="border-style:hidden;" |
| %config(noreplace) %{fontconfdir}/XX-%{fontname}.conf ||style="font-family:sans-serif; font-style:italic; color:#990033;" )
| style="border-style:hidden;" |
| This is sufficient to drop a fontconfig ruleset that will be evaluated if fontconfig is installed, and will have no effects otherwise[[FootNote(See also our ]]  policy.)  .
|- valign="top"
|-
| style="border-style:hidden;" |
| ||
| style="border-style:hidden;" |
|-
|- valign="top"
|<(> %dir %{fontdir} ||
| style="border-style:hidden;" | %post
|-
| rowspan="10" style="font-family:sans-serif; font-style:italic; color:#00578E; border-style:hidden;" |
|<(> %{fontdir}/*.ttf ||
* This ensures fontconfig indexes are refreshed if fontconfig is present on the system; if not the fontconfig package will create them itself on installation<ref>In compliance of our [[Fonts_packaging_policy#no-handler-deps | no-dependency]] policy.</ref>.
|-
* Note that while the use of '''%{fontdir}''' ensures '''fc-cache''' does not waste time on other fonts, it also makes any later '''%{fontdir}''' renaming unsafe.
|<(> %{fontdir}/*.otf ||
* The '''-f''' parameter forces a refresh in all cases<ref>For example '''fc-cache''' currently relies on timestamps to detect if the font cache needs to be regenenerated, and they're not a reliable reference if the system clock was misconfigured in the past (if the BIOS clock was wrong at install-time). This should be fixed in fontconfig-2.5.</ref>. It must be used in packages targeting pre-Fedora 9 releases.
|-
|- valign="top
| ||
| style="border-style:hidden;" | if [ -x %{_bindir}/fc-cache ] ; then
|-
|- valign="top
| ||
| style="border-style:hidden;" |    %{_bindir}/fc-cache -f %{fontdir} <nowiki>|| :</nowiki>
|-
|- valign="top
|<(> %changelog ||style="font-family:sans-serif; font-style:italic; color:#00578E;"|12)> Changelog in [[Packaging/Guidelines#Changelogs| approved format]] .
| style="border-style:hidden;" | fi
|-
|- valign="top
|
| style="border-style:hidden;" |
|- valign="top
| style="border-style:hidden;" |
|- valign="top
| style="border-style:hidden;" | %postun
|- valign="top
| style="border-style:hidden;" | if [ $1 -eq 0 -a -x %{_bindir}/fc-cache ] ; then
|- valign="top
| style="border-style:hidden;" |    %{_bindir}/fc-cache -f %{fontdir} <nowiki>|| :</nowiki>
|- valign="top
| style="border-style:hidden;" | fi
|- valign="top"
| style="border-style:hidden;" |
| style="border-style:hidden;" |
|- valign="top"
| style="border-style:hidden;" |
| style="border-style:hidden;" |
|- valign="top"
| style="border-style:hidden;" | %files
| style="border-style:hidden;" |
|- valign="top"
| style="border-style:hidden;" | %defattr(0644,root,root,0755)
| style="font-family:sans-serif; font-style:italic; color:#00578E; border-style:hidden;" | Any other set of permission is almost certain to be a fonts packaging bug.
|- valign="top"
| style="border-style:hidden;" | %doc ''*.txt''
| style="border-style:hidden;" |
|- valign="top"
| style="border-style:hidden;" |
| style="border-style:hidden;" |
|- valign="top" style="background-color:#ffdebc;"
| style="border-style:hidden;" | %config(noreplace) %{fontconfdir}/XX-%{fontname}.conf
| style="font-family:sans-serif; font-style:italic; color:#990033; border-style:hidden;" | This is sufficient to drop a [[Fontconfig_packaging_tips | Fontconfig ruleset]] that will be evaluated if fontconfig is installed, and will have no effects otherwise<ref>See also our [[Fonts_packaging_policy#no-handler-deps | no-dependency]] policy.</ref>.
|- valign="top"
| style="border-style:hidden;" |
| style="border-style:hidden;" |
|- valign="top"
| style="border-style:hidden;" | %dir %{fontdir}
| style="border-style:hidden;" |
|- valign="top"
| style="border-style:hidden;" | %{fontdir}/*.ttf
| style="border-style:hidden;" |
|- valign="top"
| style="border-style:hidden;" | %{fontdir}/*.otf
| style="border-style:hidden;" |
|- valign="top"
| style="border-style:hidden;" |
| style="border-style:hidden;" |
|- valign="top"
|- valign="top"
| style="border-style:hidden;" |
| style="border-style:hidden;" |
|- valign="top"
| style="border-style:hidden;" | %changelog
| rowspan="2" style="font-family:sans-serif; font-style:italic; color:#00578E; border-style:hidden;" | Changelog in [[Packaging/Guidelines#Changelogs | approved format]].
|- valign="top"
| style="border-style:hidden;" | ''…''
|}
|}


----
{{:Fonts_SIG_signature}}
[[Category:Fonts packaging|Spec template]]

Revision as of 16:48, 10 July 2008

A page of the Fonts Special Interest Group

The following annotated template is intended to help you understand the Fedora fonts packaging policy. A plain-text version without formatting or annotations is available in the rpmdevtools package.


Conventions
Common directives Comment
Only if you declare fontconfig rules Comment
Some other optional part Comment


Annotated fonts spec template
%define fontname Upstream lowercased project name, without any fonts or font affix.
%define fontdir %{_datadir}/fonts/%{fontname} %{_datadir}/fonts is owned by the filesystem package.
%define fontconfdir %{_sysconfdir}/fonts/conf.d Owned by the filesystem package.
%define archivename Usually a mix of %{fontname} and %{version}.
Name: %{fontname}-fonts See also our grouping conventions.
Version:
  • When in doubt check the version field embedded in TTF or OTF files[1].
  • If upstream is not updating this field regularly, you'll have to resort to  %{alphatag}s.
  • If upstream is never updating this field, use the date of the most recent font file as version.
Release: %{?dist}
Summary: fonts
Group: User Interface/X
License: Make sure you've read and understand our legal page.
URL:
Source0: /%{archivename}.
Source1: %{name}-fontconfig.conf Fontconfig ruleset for the fonts being packaged.
BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX) Or any other approved choice.
BuildArch: noarch
Conflicts: fontconfig<
  • This directive will ensure concurrent fontconfig updating if your ruleset uses some new syntax fontconfig versions shipped in previous Fedora releases do not understand.
  • Do not use a versioned Requires, as this will force fontconfig installation unconditionally. Resources like fonts must not force the installation of a particular handler.
%description Is the font style unusual, does it cover remarkable unicode blocks? Is the font intended for screen or print media, plain-text or fancy decoration uses?
%prep
%setup -q -n %{archivename}
%build Try to build fonts from source.
%install
rm -fr %{buildroot}
install -m 0755 -d %{buildroot}%{fontdir}
install -m 0644 -p …/*.ttf …/*.otf %{buildroot}%{fontdir}
install -m 0755 -d %{buildroot}%{fontconfdir} For a discussion on the choice of visit our fontconfig page.
install -m 0644 -p %{SOURCE1} %{buildroot}%{fontconfdir}/-%{fontname}.conf
%clean
rm -fr %{buildroot}
%post
  • This ensures fontconfig indexes are refreshed if fontconfig is present on the system; if not the fontconfig package will create them itself on installation[2].
  • Note that while the use of %{fontdir} ensures fc-cache does not waste time on other fonts, it also makes any later %{fontdir} renaming unsafe.
  • The -f parameter forces a refresh in all cases[3]. It must be used in packages targeting pre-Fedora 9 releases.
if [ -x %{_bindir}/fc-cache ] ; then
%{_bindir}/fc-cache -f %{fontdir} || :
fi
%postun
if [ $1 -eq 0 -a -x %{_bindir}/fc-cache ] ; then
%{_bindir}/fc-cache -f %{fontdir} || :
fi
%files
%defattr(0644,root,root,0755) Any other set of permission is almost certain to be a fonts packaging bug.
%doc *.txt
%config(noreplace) %{fontconfdir}/XX-%{fontname}.conf This is sufficient to drop a Fontconfig ruleset that will be evaluated if fontconfig is installed, and will have no effects otherwise[4].
%dir %{fontdir}
%{fontdir}/*.ttf
%{fontdir}/*.otf
%changelog Changelog in approved format.


Idea.png
Fonts in Fedora
The Fonts SIG takes loving care of Fedora fonts. Please join this special interest group if you are interested in creating, improving, packaging, or just suggesting a font. Any help will be appreciated.
  1. For example by double-clicking on them in Nautilus.
  2. In compliance of our no-dependency policy.
  3. For example fc-cache currently relies on timestamps to detect if the font cache needs to be regenenerated, and they're not a reliable reference if the system clock was misconfigured in the past (if the BIOS clock was wrong at install-time). This should be fixed in fontconfig-2.5.
  4. See also our no-dependency policy.