From d72678cc75d7591c03a69a97a55f6452eb32fcfb Mon Sep 17 00:00:00 2001 From: Akira TAGOH Date: Fri, 22 Dec 2023 23:12:42 +0900 Subject: [PATCH 01/27] New upstream release. Resolves: rhbz#2255623 --- .gitignore | 1 + fontconfig-lower-nonlatin-conf.patch | 48 +++++++++++++++++++++------- fontconfig.spec | 10 ++++-- sources | 1 + 4 files changed, 45 insertions(+), 15 deletions(-) diff --git a/.gitignore b/.gitignore index 95fbd70..fab771d 100644 --- a/.gitignore +++ b/.gitignore @@ -39,3 +39,4 @@ fontconfig-2.8.0.tar.gz /fontconfig-2.14.0.tar.xz /fontconfig-2.14.1.tar.xz /fontconfig-2.14.2.tar.xz +/fontconfig-2.15.0.tar.xz diff --git a/fontconfig-lower-nonlatin-conf.patch b/fontconfig-lower-nonlatin-conf.patch index 6139992..2be984f 100644 --- a/fontconfig-lower-nonlatin-conf.patch +++ b/fontconfig-lower-nonlatin-conf.patch @@ -1,7 +1,7 @@ -diff -pruN fontconfig-2.14.2.orig/conf.d/65-nonlatin.conf fontconfig-2.14.2/conf.d/65-nonlatin.conf ---- fontconfig-2.14.2.orig/conf.d/65-nonlatin.conf 2020-12-03 20:45:00.000000000 +0900 -+++ fontconfig-2.14.2/conf.d/65-nonlatin.conf 1970-01-01 09:00:00.000000000 +0900 -@@ -1,228 +0,0 @@ +diff -pruN fontconfig-2.15.0.orig/conf.d/65-nonlatin.conf fontconfig-2.15.0/conf.d/65-nonlatin.conf +--- fontconfig-2.15.0.orig/conf.d/65-nonlatin.conf 2023-03-22 20:36:46.000000000 +0900 ++++ fontconfig-2.15.0/conf.d/65-nonlatin.conf 1970-01-01 09:00:00.000000000 +0900 +@@ -1,240 +0,0 @@ - - - @@ -37,6 +37,10 @@ diff -pruN fontconfig-2.14.2.orig/conf.d/65-nonlatin.conf fontconfig-2.14.2/conf - AR PL New Sung - ZYSong18030 - HanyiSong +- Hiragino Mincho ProN +- Songti SC +- Songti TC +- SimSong - MgOpen Canonica - Sazanami Mincho - IPAMonaMincho @@ -50,6 +54,7 @@ diff -pruN fontconfig-2.14.2.orig/conf.d/65-nonlatin.conf fontconfig-2.14.2/conf - NanumMyeongjo - UnBatang - Baekmuk Batang +- AppleMyungjo - KacstQura - Frank Ruehl CLM - Lohit Bengali @@ -107,6 +112,12 @@ diff -pruN fontconfig-2.14.2.orig/conf.d/65-nonlatin.conf fontconfig-2.14.2/conf - WenQuanYi Bitmap Song - AR PL ShanHeiSun Uni - AR PL New Sung +- Hiragino Sans +- PingFang SC +- PingFang TC +- PingFang HK +- Hiragino Sans CNS +- Hiragino Sans GB - MgOpen Modata - VL Gothic - IPAMonaGothic @@ -125,6 +136,7 @@ diff -pruN fontconfig-2.14.2.orig/conf.d/65-nonlatin.conf fontconfig-2.14.2/conf - UnDotum - Baekmuk Dotum - Baekmuk Gulim +- Apple SD Gothic Neo - KacstQura - Lohit Bengali - Lohit Gujarati @@ -230,10 +242,10 @@ diff -pruN fontconfig-2.14.2.orig/conf.d/65-nonlatin.conf fontconfig-2.14.2/conf - - - -diff -pruN fontconfig-2.14.2.orig/conf.d/69-nonlatin.conf fontconfig-2.14.2/conf.d/69-nonlatin.conf ---- fontconfig-2.14.2.orig/conf.d/69-nonlatin.conf 1970-01-01 09:00:00.000000000 +0900 -+++ fontconfig-2.14.2/conf.d/69-nonlatin.conf 2020-12-03 20:45:00.000000000 +0900 -@@ -0,0 +1,228 @@ +diff -pruN fontconfig-2.15.0.orig/conf.d/69-nonlatin.conf fontconfig-2.15.0/conf.d/69-nonlatin.conf +--- fontconfig-2.15.0.orig/conf.d/69-nonlatin.conf 1970-01-01 09:00:00.000000000 +0900 ++++ fontconfig-2.15.0/conf.d/69-nonlatin.conf 2023-03-22 20:36:46.000000000 +0900 +@@ -0,0 +1,240 @@ + + + @@ -269,6 +281,10 @@ diff -pruN fontconfig-2.14.2.orig/conf.d/69-nonlatin.conf fontconfig-2.14.2/conf + AR PL New Sung + ZYSong18030 + HanyiSong ++ Hiragino Mincho ProN ++ Songti SC ++ Songti TC ++ SimSong + MgOpen Canonica + Sazanami Mincho + IPAMonaMincho @@ -282,6 +298,7 @@ diff -pruN fontconfig-2.14.2.orig/conf.d/69-nonlatin.conf fontconfig-2.14.2/conf + NanumMyeongjo + UnBatang + Baekmuk Batang ++ AppleMyungjo + KacstQura + Frank Ruehl CLM + Lohit Bengali @@ -339,6 +356,12 @@ diff -pruN fontconfig-2.14.2.orig/conf.d/69-nonlatin.conf fontconfig-2.14.2/conf + WenQuanYi Bitmap Song + AR PL ShanHeiSun Uni + AR PL New Sung ++ Hiragino Sans ++ PingFang SC ++ PingFang TC ++ PingFang HK ++ Hiragino Sans CNS ++ Hiragino Sans GB + MgOpen Modata + VL Gothic + IPAMonaGothic @@ -357,6 +380,7 @@ diff -pruN fontconfig-2.14.2.orig/conf.d/69-nonlatin.conf fontconfig-2.14.2/conf + UnDotum + Baekmuk Dotum + Baekmuk Gulim ++ Apple SD Gothic Neo + KacstQura + Lohit Bengali + Lohit Gujarati @@ -462,9 +486,9 @@ diff -pruN fontconfig-2.14.2.orig/conf.d/69-nonlatin.conf fontconfig-2.14.2/conf + + + -diff -pruN fontconfig-2.14.2.orig/conf.d/Makefile.am fontconfig-2.14.2/conf.d/Makefile.am ---- fontconfig-2.14.2.orig/conf.d/Makefile.am 2022-11-28 18:17:51.000000000 +0900 -+++ fontconfig-2.14.2/conf.d/Makefile.am 2023-08-17 16:56:24.358848001 +0900 +diff -pruN fontconfig-2.15.0.orig/conf.d/Makefile.am fontconfig-2.15.0/conf.d/Makefile.am +--- fontconfig-2.15.0.orig/conf.d/Makefile.am 2023-08-24 14:14:15.000000000 +0900 ++++ fontconfig-2.15.0/conf.d/Makefile.am 2023-12-22 23:08:05.514969924 +0900 @@ -47,7 +47,7 @@ CONF_LINKS = \ 60-generic.conf \ 60-latin.conf \ @@ -474,7 +498,7 @@ diff -pruN fontconfig-2.14.2.orig/conf.d/Makefile.am fontconfig-2.14.2/conf.d/Ma 69-unifont.conf \ 80-delicious.conf \ 90-synthetic.conf -@@ -94,7 +94,7 @@ template_DATA = \ +@@ -95,7 +95,7 @@ template_DATA = \ 60-latin.conf \ 65-fonts-persian.conf \ 65-khmer.conf \ diff --git a/fontconfig.spec b/fontconfig.spec index d52502d..e5bd5b5 100644 --- a/fontconfig.spec +++ b/fontconfig.spec @@ -4,8 +4,8 @@ Summary: Font configuration and customization library Name: fontconfig -Version: 2.14.2 -Release: 5%{?dist} +Version: 2.15.0 +Release: 1%{?dist} # src/ftglue.[ch] is in Public Domain # src/fccache.c contains Public Domain code ## https://gitlab.com/fedora/legal/fedora-license-data/-/issues/177 @@ -156,7 +156,7 @@ if [ $1 == 0 ] && [ -e %{_sysconfdir}/xml/catalog ]; then fi %files -f %{name}.lang -%doc README AUTHORS +%doc README.md AUTHORS %doc fontconfig-user.txt fontconfig-user.html %doc %{_fontconfig_confdir}/README %license COPYING @@ -192,6 +192,10 @@ fi %doc fontconfig-devel.txt fontconfig-devel %changelog +* Fri Dec 22 2023 Akira TAGOH - 2.15.0-1 +- New upstream release. + Resolves: rhbz#2255623 + * Thu Aug 17 2023 Akira TAGOH - 2.14.2-5 - Update 65-nonlatin.conf to 69-nonlatin.conf This basically provides substitutes for certain languages and is helpful diff --git a/sources b/sources index 9884c80..10b4abe 100644 --- a/sources +++ b/sources @@ -1 +1,2 @@ SHA512 (fontconfig-2.14.2.tar.xz) = 23483e0ae6aa7589fd37f9949a4cf951c5bff981739dbb446881e4cea86a208c0ab31e2358666eac724af1dc6a689a42733a7ce91cd3e76d8d91eacedb318085 +SHA512 (fontconfig-2.15.0.tar.xz) = 754cd5fffa198fc07a39cf7df683e9adfa7f54ab41fdff8c0eacc078fd35d3e01069ba343f2b045e0b40df88d9f1fc1ee0f7565799f9cb194a59cf95b64c4417 From bfd9218620b7da2315d310df2d9fcc35aab207bf Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 19 Jan 2024 19:36:21 +0000 Subject: [PATCH 02/27] Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild --- fontconfig.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/fontconfig.spec b/fontconfig.spec index e5bd5b5..0d6e0c5 100644 --- a/fontconfig.spec +++ b/fontconfig.spec @@ -5,7 +5,7 @@ Summary: Font configuration and customization library Name: fontconfig Version: 2.15.0 -Release: 1%{?dist} +Release: 2%{?dist} # src/ftglue.[ch] is in Public Domain # src/fccache.c contains Public Domain code ## https://gitlab.com/fedora/legal/fedora-license-data/-/issues/177 @@ -192,6 +192,9 @@ fi %doc fontconfig-devel.txt fontconfig-devel %changelog +* Fri Jan 19 2024 Fedora Release Engineering - 2.15.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + * Fri Dec 22 2023 Akira TAGOH - 2.15.0-1 - New upstream release. Resolves: rhbz#2255623 From 50326b480810be2507507c99322995cc75663c98 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 24 Jan 2024 11:51:39 +0000 Subject: [PATCH 03/27] Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild --- fontconfig.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/fontconfig.spec b/fontconfig.spec index 0d6e0c5..a1d6e29 100644 --- a/fontconfig.spec +++ b/fontconfig.spec @@ -5,7 +5,7 @@ Summary: Font configuration and customization library Name: fontconfig Version: 2.15.0 -Release: 2%{?dist} +Release: 3%{?dist} # src/ftglue.[ch] is in Public Domain # src/fccache.c contains Public Domain code ## https://gitlab.com/fedora/legal/fedora-license-data/-/issues/177 @@ -192,6 +192,9 @@ fi %doc fontconfig-devel.txt fontconfig-devel %changelog +* Wed Jan 24 2024 Fedora Release Engineering - 2.15.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + * Fri Jan 19 2024 Fedora Release Engineering - 2.15.0-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild From e200ccfc726f40f54e5695afbeb37efe2209f7e2 Mon Sep 17 00:00:00 2001 From: Akira TAGOH Date: Sat, 10 Feb 2024 02:28:59 +0900 Subject: [PATCH 04/27] Delete .uuid with fc-cache -f. Resolves: rhbz#1761885 --- fontconfig-remove-uuid.patch | 67 ++++++++++++++++++++++++++++++++++++ fontconfig.spec | 7 +++- 2 files changed, 73 insertions(+), 1 deletion(-) create mode 100644 fontconfig-remove-uuid.patch diff --git a/fontconfig-remove-uuid.patch b/fontconfig-remove-uuid.patch new file mode 100644 index 0000000..16c0d04 --- /dev/null +++ b/fontconfig-remove-uuid.patch @@ -0,0 +1,67 @@ +From c22908828fb2dbfdf38733d119adc1cf5fe00173 Mon Sep 17 00:00:00 2001 +From: Akira TAGOH +Date: Sat, 10 Feb 2024 00:20:54 +0900 +Subject: [PATCH 1/2] Clean up .uuid files with fc-cache -f too + +.uuid file was obsoleted >5 years ago and it was supposed to +be cleaned up by fc-cache -r but not -f. +This change tries to clean it up by fc-cache -f. + +https://bugzilla.redhat.com/show_bug.cgi?id=1761885 +--- + src/fcdir.c | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +diff --git a/src/fcdir.c b/src/fcdir.c +index 6f7b3835..2e4fdc69 100644 +--- a/src/fcdir.c ++++ b/src/fcdir.c +@@ -234,7 +234,7 @@ FcDirScanConfig (FcFontSet *set, + + if (FcDebug () & FC_DBG_SCAN) + printf ("\tScanning dir %s\n", s_dir); +- ++ + d = opendir ((char *) s_dir); + if (!d) + { +@@ -459,7 +459,10 @@ FcDirCacheRead (const FcChar8 *dir, FcBool force, FcConfig *config) + + /* Not using existing cache file, construct new cache */ + if (!cache) ++ { ++ FcDirCacheDeleteUUID (dir, config); + cache = FcDirCacheScan (dir, config); ++ } + FcConfigDestroy (config); + + return cache; +-- +2.43.0 + +From a76b95105ca26c600279b2daf4bd43b37a918823 Mon Sep 17 00:00:00 2001 +From: Akira TAGOH +Date: Sat, 10 Feb 2024 02:15:45 +0900 +Subject: [PATCH 2/2] Fix undesired unref of FcConfig on Win32 + +--- + src/fccache.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/fccache.c b/src/fccache.c +index cebbb810..54f76ac1 100644 +--- a/src/fccache.c ++++ b/src/fccache.c +@@ -106,8 +106,8 @@ FcDirCacheDeleteUUID (const FcChar8 *dir, + FcStrFree (target); + bail: + FcStrFree (d); +-#endif + FcConfigDestroy (config); ++#endif + + return ret; + } +-- +2.43.0 + diff --git a/fontconfig.spec b/fontconfig.spec index a1d6e29..6390590 100644 --- a/fontconfig.spec +++ b/fontconfig.spec @@ -5,7 +5,7 @@ Summary: Font configuration and customization library Name: fontconfig Version: 2.15.0 -Release: 3%{?dist} +Release: 4%{?dist} # src/ftglue.[ch] is in Public Domain # src/fccache.c contains Public Domain code ## https://gitlab.com/fedora/legal/fedora-license-data/-/issues/177 @@ -22,6 +22,7 @@ Patch0: %{name}-sleep-less.patch Patch4: %{name}-drop-lang-from-pkgkit-format.patch Patch5: %{name}-disable-network-required-test.patch Patch6: %{name}-lower-nonlatin-conf.patch +Patch7: %{name}-remove-uuid.patch BuildRequires: libxml2-devel BuildRequires: freetype-devel >= %{freetype_version} @@ -192,6 +193,10 @@ fi %doc fontconfig-devel.txt fontconfig-devel %changelog +* Sat Feb 10 2024 Akira TAGOH - 2.15.0-4 +- Delete .uuid with fc-cache -f. + Resolves: rhbz#1761885 + * Wed Jan 24 2024 Fedora Release Engineering - 2.15.0-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild From 869500a8dabc43d38e81db8091d036e90656ca60 Mon Sep 17 00:00:00 2001 From: Akira TAGOH Date: Sat, 10 Feb 2024 02:39:52 +0900 Subject: [PATCH 05/27] Delete .uuid with fc-cache -f. Resolves: rhbz#1761885 --- fontconfig-remove-uuid.patch | 67 ++++++++++++++++++++++++++++++++++++ fontconfig.spec | 7 +++- 2 files changed, 73 insertions(+), 1 deletion(-) create mode 100644 fontconfig-remove-uuid.patch diff --git a/fontconfig-remove-uuid.patch b/fontconfig-remove-uuid.patch new file mode 100644 index 0000000..16c0d04 --- /dev/null +++ b/fontconfig-remove-uuid.patch @@ -0,0 +1,67 @@ +From c22908828fb2dbfdf38733d119adc1cf5fe00173 Mon Sep 17 00:00:00 2001 +From: Akira TAGOH +Date: Sat, 10 Feb 2024 00:20:54 +0900 +Subject: [PATCH 1/2] Clean up .uuid files with fc-cache -f too + +.uuid file was obsoleted >5 years ago and it was supposed to +be cleaned up by fc-cache -r but not -f. +This change tries to clean it up by fc-cache -f. + +https://bugzilla.redhat.com/show_bug.cgi?id=1761885 +--- + src/fcdir.c | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +diff --git a/src/fcdir.c b/src/fcdir.c +index 6f7b3835..2e4fdc69 100644 +--- a/src/fcdir.c ++++ b/src/fcdir.c +@@ -234,7 +234,7 @@ FcDirScanConfig (FcFontSet *set, + + if (FcDebug () & FC_DBG_SCAN) + printf ("\tScanning dir %s\n", s_dir); +- ++ + d = opendir ((char *) s_dir); + if (!d) + { +@@ -459,7 +459,10 @@ FcDirCacheRead (const FcChar8 *dir, FcBool force, FcConfig *config) + + /* Not using existing cache file, construct new cache */ + if (!cache) ++ { ++ FcDirCacheDeleteUUID (dir, config); + cache = FcDirCacheScan (dir, config); ++ } + FcConfigDestroy (config); + + return cache; +-- +2.43.0 + +From a76b95105ca26c600279b2daf4bd43b37a918823 Mon Sep 17 00:00:00 2001 +From: Akira TAGOH +Date: Sat, 10 Feb 2024 02:15:45 +0900 +Subject: [PATCH 2/2] Fix undesired unref of FcConfig on Win32 + +--- + src/fccache.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/fccache.c b/src/fccache.c +index cebbb810..54f76ac1 100644 +--- a/src/fccache.c ++++ b/src/fccache.c +@@ -106,8 +106,8 @@ FcDirCacheDeleteUUID (const FcChar8 *dir, + FcStrFree (target); + bail: + FcStrFree (d); +-#endif + FcConfigDestroy (config); ++#endif + + return ret; + } +-- +2.43.0 + diff --git a/fontconfig.spec b/fontconfig.spec index d52502d..e41cf86 100644 --- a/fontconfig.spec +++ b/fontconfig.spec @@ -5,7 +5,7 @@ Summary: Font configuration and customization library Name: fontconfig Version: 2.14.2 -Release: 5%{?dist} +Release: 6%{?dist} # src/ftglue.[ch] is in Public Domain # src/fccache.c contains Public Domain code ## https://gitlab.com/fedora/legal/fedora-license-data/-/issues/177 @@ -22,6 +22,7 @@ Patch0: %{name}-sleep-less.patch Patch4: %{name}-drop-lang-from-pkgkit-format.patch Patch5: %{name}-disable-network-required-test.patch Patch6: %{name}-lower-nonlatin-conf.patch +Patch7: %{name}-remove-uuid.patch BuildRequires: libxml2-devel BuildRequires: freetype-devel >= %{freetype_version} @@ -192,6 +193,10 @@ fi %doc fontconfig-devel.txt fontconfig-devel %changelog +* Sat Feb 10 2024 Akira TAGOH - 2.14.2-6 +- Delete .uuid with fc-cache -f. + Resolves: rhbz#1761885 + * Thu Aug 17 2023 Akira TAGOH - 2.14.2-5 - Update 65-nonlatin.conf to 69-nonlatin.conf This basically provides substitutes for certain languages and is helpful From be5b48f736a36bec35e6c112c0a646c6fbd29a82 Mon Sep 17 00:00:00 2001 From: Michael Kuhn Date: Tue, 30 Apr 2024 01:22:24 +0200 Subject: [PATCH 06/27] Fix emoji fonts being disabled when bitmap fonts were disabled --- fontconfig-fix-emojis.patch | 109 ++++++++++++++++++++++++++++++++++++ fontconfig.spec | 6 +- 2 files changed, 114 insertions(+), 1 deletion(-) create mode 100644 fontconfig-fix-emojis.patch diff --git a/fontconfig-fix-emojis.patch b/fontconfig-fix-emojis.patch new file mode 100644 index 0000000..ef4738b --- /dev/null +++ b/fontconfig-fix-emojis.patch @@ -0,0 +1,109 @@ +From 810a300398dc93b7becca4a7f286e8999adc09a5 Mon Sep 17 00:00:00 2001 +From: Akira TAGOH +Date: Fri, 8 Mar 2024 01:55:14 +0900 +Subject: [PATCH] Sort out bitmap related config files + +70-no-bitmaps-and-emoji.conf: reject bitmap fonts including bitmap emoji fonts. +70-no-bitmaps-except-emoji.conf: reject bitmap fonts except bitmap emoji fonts. +70-no-bitmaps.conf: same to 70-no-bitmaps-except-emoji.conf for backward compatibility +but deprecated. This will be dropped in the future. + +Fixes https://gitlab.freedesktop.org/fontconfig/fontconfig/-/issues/409 +--- + conf.d/70-no-bitmaps-and-emoji.conf | 13 +++++++++++++ + conf.d/70-no-bitmaps-except-emoji.conf | 14 ++++++++++++++ + conf.d/70-no-bitmaps.conf | 11 ++--------- + conf.d/Makefile.am | 2 ++ + conf.d/meson.build | 2 ++ + 5 files changed, 33 insertions(+), 9 deletions(-) + create mode 100644 conf.d/70-no-bitmaps-and-emoji.conf + create mode 100644 conf.d/70-no-bitmaps-except-emoji.conf + +diff --git a/conf.d/70-no-bitmaps-and-emoji.conf b/conf.d/70-no-bitmaps-and-emoji.conf +new file mode 100644 +index 00000000..3e18a4cf +--- /dev/null ++++ b/conf.d/70-no-bitmaps-and-emoji.conf +@@ -0,0 +1,13 @@ ++ ++ ++ ++ Reject bitmap fonts, including bitmap emoji fonts ++ ++ ++ ++ ++ false ++ ++ ++ ++ +diff --git a/conf.d/70-no-bitmaps-except-emoji.conf b/conf.d/70-no-bitmaps-except-emoji.conf +new file mode 100644 +index 00000000..3170cd6f +--- /dev/null ++++ b/conf.d/70-no-bitmaps-except-emoji.conf +@@ -0,0 +1,14 @@ ++ ++ ++ ++ Reject bitmap fonts except bitmap emoji fonts ++ ++ ++ ++ ++ false ++ false ++ ++ ++ ++ +diff --git a/conf.d/70-no-bitmaps.conf b/conf.d/70-no-bitmaps.conf +index 10203acb..767e4115 100644 +--- a/conf.d/70-no-bitmaps.conf ++++ b/conf.d/70-no-bitmaps.conf +@@ -1,13 +1,6 @@ + + + +- Reject bitmap fonts +- +- +- +- +- false +- +- +- ++ Reject bitmap fonts except bitmap emoji fonts (deprecated; use 70-no-bitmaps-except-emoji.conf) ++ 70-no-bitmaps-except-emoji.conf + +diff --git a/conf.d/Makefile.am b/conf.d/Makefile.am +index fd858348..737b4fb2 100644 +--- a/conf.d/Makefile.am ++++ b/conf.d/Makefile.am +@@ -98,6 +98,8 @@ template_DATA = \ + 69-nonlatin.conf \ + 69-unifont.conf \ + 70-no-bitmaps.conf \ ++ 70-no-bitmaps-and-emoji.conf \ ++ 70-no-bitmaps-except-emoji.conf \ + 70-yes-bitmaps.conf \ + 80-delicious.conf \ + 90-synthetic.conf +diff --git a/conf.d/meson.build b/conf.d/meson.build +index 8e896118..b6d07ee0 100644 +--- a/conf.d/meson.build ++++ b/conf.d/meson.build +@@ -36,6 +36,8 @@ conf_files = [ + '65-nonlatin.conf', + '69-unifont.conf', + '70-no-bitmaps.conf', ++ '70-no-bitmaps-and-emoji.conf', ++ '70-no-bitmaps-except-emoji.conf', + '70-yes-bitmaps.conf', + '80-delicious.conf', + '90-synthetic.conf', +-- +GitLab + diff --git a/fontconfig.spec b/fontconfig.spec index 6390590..85991f1 100644 --- a/fontconfig.spec +++ b/fontconfig.spec @@ -5,7 +5,7 @@ Summary: Font configuration and customization library Name: fontconfig Version: 2.15.0 -Release: 4%{?dist} +Release: 5%{?dist} # src/ftglue.[ch] is in Public Domain # src/fccache.c contains Public Domain code ## https://gitlab.com/fedora/legal/fedora-license-data/-/issues/177 @@ -23,6 +23,7 @@ Patch4: %{name}-drop-lang-from-pkgkit-format.patch Patch5: %{name}-disable-network-required-test.patch Patch6: %{name}-lower-nonlatin-conf.patch Patch7: %{name}-remove-uuid.patch +Patch8: %{name}-fix-emojis.patch BuildRequires: libxml2-devel BuildRequires: freetype-devel >= %{freetype_version} @@ -193,6 +194,9 @@ fi %doc fontconfig-devel.txt fontconfig-devel %changelog +* Mon Apr 29 2024 Michael Kuhn - 2.15.0-5 +- Fix emoji fonts being disabled when bitmap fonts were disabled + * Sat Feb 10 2024 Akira TAGOH - 2.15.0-4 - Delete .uuid with fc-cache -f. Resolves: rhbz#1761885 From 354394f0f41a6de0997c59d806ec524ab17e1cc3 Mon Sep 17 00:00:00 2001 From: Akira TAGOH Date: Fri, 7 Jun 2024 23:03:12 +0900 Subject: [PATCH 07/27] Own /usr/lib/fontconfig Resolves: rhbz#2284076 --- fontconfig.spec | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/fontconfig.spec b/fontconfig.spec index 85991f1..856f352 100644 --- a/fontconfig.spec +++ b/fontconfig.spec @@ -5,7 +5,7 @@ Summary: Font configuration and customization library Name: fontconfig Version: 2.15.0 -Release: 5%{?dist} +Release: 6%{?dist} # src/ftglue.[ch] is in Public Domain # src/fccache.c contains Public Domain code ## https://gitlab.com/fedora/legal/fedora-license-data/-/issues/177 @@ -178,6 +178,7 @@ fi # If you want to do so, you should use local.conf instead. %config %{_fontconfig_masterdir}/fonts.conf %config(noreplace) %{_fontconfig_confdir}/*.conf +%dir /usr/lib/fontconfig %dir /usr/lib/fontconfig/cache %{_mandir}/man1/* %{_mandir}/man5/* @@ -194,6 +195,10 @@ fi %doc fontconfig-devel.txt fontconfig-devel %changelog +* Fri Jun 7 2024 Akira TAGOH - 2.15.0-6 +- Own /usr/lib/fontconfig + Resolves: rhbz#2284076 + * Mon Apr 29 2024 Michael Kuhn - 2.15.0-5 - Fix emoji fonts being disabled when bitmap fonts were disabled From 067f5c6f8e55b7238501bf1470e792cfbb120ff6 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 17 Jul 2024 23:26:13 +0000 Subject: [PATCH 08/27] Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild --- fontconfig.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/fontconfig.spec b/fontconfig.spec index 856f352..bfdb782 100644 --- a/fontconfig.spec +++ b/fontconfig.spec @@ -5,7 +5,7 @@ Summary: Font configuration and customization library Name: fontconfig Version: 2.15.0 -Release: 6%{?dist} +Release: 7%{?dist} # src/ftglue.[ch] is in Public Domain # src/fccache.c contains Public Domain code ## https://gitlab.com/fedora/legal/fedora-license-data/-/issues/177 @@ -195,6 +195,9 @@ fi %doc fontconfig-devel.txt fontconfig-devel %changelog +* Wed Jul 17 2024 Fedora Release Engineering - 2.15.0-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + * Fri Jun 7 2024 Akira TAGOH - 2.15.0-6 - Own /usr/lib/fontconfig Resolves: rhbz#2284076 From d3f982b32de573dd5d557e75fa0792e4a87fc25a Mon Sep 17 00:00:00 2001 From: Akira TAGOH Date: Thu, 18 Jul 2024 19:37:02 +0900 Subject: [PATCH 09/27] ci: Use tmt based test cases --- .fmf/version | 1 + tests/basic/main.fmf | 3 +++ tests/basic/test.sh | 22 ++++++++++++++++++++++ tests/tests.yml | 14 -------------- 4 files changed, 26 insertions(+), 14 deletions(-) create mode 100644 .fmf/version create mode 100644 tests/basic/main.fmf create mode 100755 tests/basic/test.sh delete mode 100644 tests/tests.yml diff --git a/.fmf/version b/.fmf/version new file mode 100644 index 0000000..d00491f --- /dev/null +++ b/.fmf/version @@ -0,0 +1 @@ +1 diff --git a/tests/basic/main.fmf b/tests/basic/main.fmf new file mode 100644 index 0000000..d6c06ec --- /dev/null +++ b/tests/basic/main.fmf @@ -0,0 +1,3 @@ +summary: Concise summary describing what the test does +test: ./test.sh +framework: beakerlib diff --git a/tests/basic/test.sh b/tests/basic/test.sh new file mode 100755 index 0000000..10de1b4 --- /dev/null +++ b/tests/basic/test.sh @@ -0,0 +1,22 @@ +#!/bin/bash +# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +rlJournalStart + rlPhaseStartSetup + rlRun "tmp=\$(mktemp -d)" 0 "Create tmp directory" + rlRun "pushd $tmp" + rlRun "set -o pipefail" + rlPhaseEnd + + rlPhaseStartTest + rlRun "fc-match" 0 "Check fc-match" + rlRun "fc-list" 0 "Check fc-list" + rlRun "fc-scan /usr/share/fonts" 0 "Check fc-scan" + rlPhaseEnd + + rlPhaseStartCleanup + rlRun "popd" + rlRun "rm -r $tmp" 0 "Remove tmp directory" + rlPhaseEnd +rlJournalEnd diff --git a/tests/tests.yml b/tests/tests.yml deleted file mode 100644 index d3fa1ed..0000000 --- a/tests/tests.yml +++ /dev/null @@ -1,14 +0,0 @@ -- hosts: localhost - roles: - - role: standard-test-basic - tags: - - classic - required_packages: - - fontconfig - tests: - - fcmatch_test: - dir: . - run: fc-match - - fclist_test: - dir: . - run: fc-list From c400e27282f14ea8e6102529bf176cdcba501655 Mon Sep 17 00:00:00 2001 From: Akira TAGOH Date: Fri, 19 Jul 2024 20:09:47 +0900 Subject: [PATCH 10/27] ci: Add fmf plan file --- plans/basic.fmf | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 plans/basic.fmf diff --git a/plans/basic.fmf b/plans/basic.fmf new file mode 100644 index 0000000..c1627f9 --- /dev/null +++ b/plans/basic.fmf @@ -0,0 +1,5 @@ +summary: Basic smoke test +discover: + how: fmf +execute: + how: tmt From c6712606928e77b5a59599e704cbf302296c03fe Mon Sep 17 00:00:00 2001 From: Akira TAGOH Date: Thu, 1 Aug 2024 12:45:32 +0900 Subject: [PATCH 11/27] Fix a memory leak and potentially uninitialized values. --- fontconfig-fix-SAST.patch | 54 +++++++++++++++++++++++++++++++++++++++ fontconfig.spec | 6 ++++- 2 files changed, 59 insertions(+), 1 deletion(-) create mode 100644 fontconfig-fix-SAST.patch diff --git a/fontconfig-fix-SAST.patch b/fontconfig-fix-SAST.patch new file mode 100644 index 0000000..6ef1b07 --- /dev/null +++ b/fontconfig-fix-SAST.patch @@ -0,0 +1,54 @@ +From eaa335e7c4686c622f31e691f8a41fdf30ea42b3 Mon Sep 17 00:00:00 2001 +From: Akira TAGOH +Date: Wed, 31 Jul 2024 17:31:36 +0900 +Subject: [PATCH 1/2] Fix a memory leak in _get_real_paths_from_prefix + +--- + src/fcxml.c | 4 +--- + 1 file changed, 1 insertion(+), 3 deletions(-) + +diff --git a/src/fcxml.c b/src/fcxml.c +index 9fe0674..083fc1f 100644 +--- a/src/fcxml.c ++++ b/src/fcxml.c +@@ -1327,11 +1327,9 @@ _get_real_paths_from_prefix(FcConfigParse *parse, const FcChar8 *path, const FcC + if (!p) + return NULL; + parent = FcStrDirname (p); ++ FcStrFree (p); + if (!parent) +- { +- free (p); + return NULL; +- } + } + } + #ifndef _WIN32 +-- +2.45.2 + +From ab765827101787d49c0a66b23addc1f68f99a455 Mon Sep 17 00:00:00 2001 +From: Akira TAGOH +Date: Wed, 31 Jul 2024 17:37:53 +0900 +Subject: [PATCH 2/2] Set FcTypeVoid if no valid types to convert + +--- + src/fcname.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/src/fcname.c b/src/fcname.c +index 566f0ef..b152bd9 100644 +--- a/src/fcname.c ++++ b/src/fcname.c +@@ -406,6 +406,8 @@ FcNameConvert (FcType type, const char *object, FcChar8 *string) + v.u.r = FcRangeCreateDouble (b, e); + break; + default: ++ /* No valid type to convert */ ++ v.type = FcTypeVoid; + break; + } + return v; +-- +2.45.2 + diff --git a/fontconfig.spec b/fontconfig.spec index bfdb782..8f32181 100644 --- a/fontconfig.spec +++ b/fontconfig.spec @@ -5,7 +5,7 @@ Summary: Font configuration and customization library Name: fontconfig Version: 2.15.0 -Release: 7%{?dist} +Release: 8%{?dist} # src/ftglue.[ch] is in Public Domain # src/fccache.c contains Public Domain code ## https://gitlab.com/fedora/legal/fedora-license-data/-/issues/177 @@ -24,6 +24,7 @@ Patch5: %{name}-disable-network-required-test.patch Patch6: %{name}-lower-nonlatin-conf.patch Patch7: %{name}-remove-uuid.patch Patch8: %{name}-fix-emojis.patch +Patch9: %{name}-fix-SAST.patch BuildRequires: libxml2-devel BuildRequires: freetype-devel >= %{freetype_version} @@ -195,6 +196,9 @@ fi %doc fontconfig-devel.txt fontconfig-devel %changelog +* Thu Aug 1 2024 Akira TAGOH - 2.15.0-8 +- Fix a memory leak and potentially uninitialized values. + * Wed Jul 17 2024 Fedora Release Engineering - 2.15.0-7 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild From e2bb04c6dbe8cda0add21fda01a23f0770bdd404 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 16 Jan 2025 18:36:18 +0000 Subject: [PATCH 12/27] Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild --- fontconfig.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/fontconfig.spec b/fontconfig.spec index 8f32181..c4a9476 100644 --- a/fontconfig.spec +++ b/fontconfig.spec @@ -5,7 +5,7 @@ Summary: Font configuration and customization library Name: fontconfig Version: 2.15.0 -Release: 8%{?dist} +Release: 9%{?dist} # src/ftglue.[ch] is in Public Domain # src/fccache.c contains Public Domain code ## https://gitlab.com/fedora/legal/fedora-license-data/-/issues/177 @@ -196,6 +196,9 @@ fi %doc fontconfig-devel.txt fontconfig-devel %changelog +* Thu Jan 16 2025 Fedora Release Engineering - 2.15.0-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + * Thu Aug 1 2024 Akira TAGOH - 2.15.0-8 - Fix a memory leak and potentially uninitialized values. From 39a7075dc3bf71fdb013926f31a29acc1324edc2 Mon Sep 17 00:00:00 2001 From: Akira TAGOH Date: Sat, 18 Jan 2025 01:36:49 +0900 Subject: [PATCH 13/27] New upstream release. Use meson instead of autotools to build. --- .gitignore | 1 + ...config-disable-network-required-test.patch | 43 +- fontconfig-lower-nonlatin-conf.patch | 517 +----------------- fontconfig.spec | 63 ++- sources | 3 +- 5 files changed, 99 insertions(+), 528 deletions(-) diff --git a/.gitignore b/.gitignore index fab771d..b63773a 100644 --- a/.gitignore +++ b/.gitignore @@ -40,3 +40,4 @@ fontconfig-2.8.0.tar.gz /fontconfig-2.14.1.tar.xz /fontconfig-2.14.2.tar.xz /fontconfig-2.15.0.tar.xz +/fontconfig-2.16.0.tar.xz diff --git a/fontconfig-disable-network-required-test.patch b/fontconfig-disable-network-required-test.patch index 8481f39..b276aa5 100644 --- a/fontconfig-disable-network-required-test.patch +++ b/fontconfig-disable-network-required-test.patch @@ -1,7 +1,38 @@ -diff -pruN fontconfig-2.13.93.orig/test/run-test.sh fontconfig-2.13.93/test/run-test.sh ---- fontconfig-2.13.93.orig/test/run-test.sh 2020-11-28 10:56:42.000000000 +0900 -+++ fontconfig-2.13.93/test/run-test.sh 2020-11-28 12:39:57.345644527 +0900 -@@ -421,18 +421,18 @@ rm -rf "$MYCACHEBASEDIR" "$MYCONFIG" my- +diff -pruN fontconfig-2.16.0.orig/test/meson.build fontconfig-2.16.0/test/meson.build +--- fontconfig-2.16.0.orig/test/meson.build 2025-01-18 00:15:05.000000000 +0900 ++++ fontconfig-2.16.0/test/meson.build 2025-01-18 01:07:12.893480441 +0900 +@@ -15,7 +15,7 @@ if host_machine.system() != 'windows' + ['test-bz106632.c', {'c_args': ['-DFONTFILE="@0@"'.format(join_paths(meson.current_source_dir(), '4x6.pcf'))]}], + ['test-issue107.c'], # FIXME: fails on mingw + # FIXME: this needs NotoSans-hinted.zip font downloaded and unpacked into test build directory! see run-test.sh +- ['test-crbug1004254.c', {'dependencies': dependency('threads')}], # for pthread ++ #['test-crbug1004254.c', {'dependencies': dependency('threads')}], # for pthread + ] + + if get_option('default_library') == 'static' +@@ -62,12 +62,12 @@ if host_machine.system() != 'windows' + + test('run_test_sh', find_program('run-test.sh'), timeout: 600, env: ['srcdir=@0@'.format(meson.current_source_dir()), 'builddir=@0@'.format(meson.current_build_dir()), 'EXEEXT=@0@'.format(conf.get('EXEEXT')), 'VERBOSE=1']) + +- if pytest.found() +- test('pytest', pytest, args: ['--tap'], +- workdir: meson.current_source_dir(), +- env: ['builddir=@0@'.format(meson.current_build_dir())], +- protocol: 'tap') +- endif ++# if pytest.found() ++# test('pytest', pytest, args: ['--tap'], ++# workdir: meson.current_source_dir(), ++# env: ['builddir=@0@'.format(meson.current_build_dir())], ++# protocol: 'tap') ++# endif + endif + + if jsonc_dep.found() +diff -pruN fontconfig-2.16.0.orig/test/run-test.sh fontconfig-2.16.0/test/run-test.sh +--- fontconfig-2.16.0.orig/test/run-test.sh 2025-01-18 00:15:05.000000000 +0900 ++++ fontconfig-2.16.0/test/run-test.sh 2025-01-18 01:06:54.310144693 +0900 +@@ -499,18 +499,18 @@ rm -rf "$MYCACHEBASEDIR" "$MYCONFIG" "$B fi # if [ "x$EXEEXT" = "x" ] @@ -11,7 +42,7 @@ diff -pruN fontconfig-2.13.93.orig/test/run-test.sh fontconfig-2.13.93/test/run- - curl -s -o "$FONTDIR"/noto.zip https://noto-website-2.storage.googleapis.com/pkgs/NotoSans-hinted.zip - (cd "$FONTDIR"; unzip noto.zip) - if [ -n "${SOURCE_DATE_EPOCH:-}" ] && [ ${#SOURCE_DATE_EPOCH} -gt 0 ]; then -- touch -m -t "$(date -d @"${SOURCE_DATE_EPOCH}" +%y%m%d%H%M.%S)" "$FONTDIR" +- touch -m -t "$(fdate ${SOURCE_DATE_EPOCH})" "$FONTDIR" - fi - "$BUILDTESTDIR"/test-crbug1004254 -else @@ -21,7 +52,7 @@ diff -pruN fontconfig-2.13.93.orig/test/run-test.sh fontconfig-2.13.93/test/run- +# curl -s -o "$FONTDIR"/noto.zip https://noto-website-2.storage.googleapis.com/pkgs/NotoSans-hinted.zip +# (cd "$FONTDIR"; unzip noto.zip) +# if [ -n "${SOURCE_DATE_EPOCH:-}" ] && [ ${#SOURCE_DATE_EPOCH} -gt 0 ]; then -+# touch -m -t "$(date -d @"${SOURCE_DATE_EPOCH}" +%y%m%d%H%M.%S)" "$FONTDIR" ++# touch -m -t "$(fdate ${SOURCE_DATE_EPOCH})" "$FONTDIR" +# fi +# "$BUILDTESTDIR"/test-crbug1004254 +#else diff --git a/fontconfig-lower-nonlatin-conf.patch b/fontconfig-lower-nonlatin-conf.patch index 2be984f..3ff373a 100644 --- a/fontconfig-lower-nonlatin-conf.patch +++ b/fontconfig-lower-nonlatin-conf.patch @@ -1,494 +1,6 @@ -diff -pruN fontconfig-2.15.0.orig/conf.d/65-nonlatin.conf fontconfig-2.15.0/conf.d/65-nonlatin.conf ---- fontconfig-2.15.0.orig/conf.d/65-nonlatin.conf 2023-03-22 20:36:46.000000000 +0900 -+++ fontconfig-2.15.0/conf.d/65-nonlatin.conf 1970-01-01 09:00:00.000000000 +0900 -@@ -1,240 +0,0 @@ -- -- -- -- Set preferable fonts for non-Latin -- -- serif -- -- Artsounk -- BPG UTF8 M -- Kinnari -- Norasi -- Frank Ruehl -- Dror -- JG LaoTimes -- Saysettha Unicode -- Pigiarniq -- B Davat -- B Compset -- Kacst-Qr -- Urdu Nastaliq Unicode -- Raghindi -- Mukti Narrow -- malayalam -- Sampige -- padmaa -- Hapax Berbère -- MS Mincho -- SimSun -- PMingLiu -- WenQuanYi Zen Hei -- WenQuanYi Bitmap Song -- AR PL ShanHeiSun Uni -- AR PL New Sung -- ZYSong18030 -- HanyiSong -- Hiragino Mincho ProN -- Songti SC -- Songti TC -- SimSong -- MgOpen Canonica -- Sazanami Mincho -- IPAMonaMincho -- IPAMincho -- Kochi Mincho -- AR PL SungtiL GB -- AR PL Mingti2L Big5 -- AR PL Zenkai Uni -- MS 明朝 -- ZYSong18030 -- NanumMyeongjo -- UnBatang -- Baekmuk Batang -- AppleMyungjo -- KacstQura -- Frank Ruehl CLM -- Lohit Bengali -- Lohit Gujarati -- Lohit Hindi -- Lohit Marathi -- Lohit Maithili -- Lohit Kashmiri -- Lohit Konkani -- Lohit Nepali -- Lohit Sindhi -- Lohit Punjabi -- Lohit Tamil -- Rachana -- Lohit Malayalam -- Lohit Kannada -- Lohit Telugu -- Lohit Oriya -- LKLUG -- -- -- -- sans-serif -- -- Nachlieli -- Lucida Sans Unicode -- Yudit Unicode -- Kerkis -- ArmNet Helvetica -- Artsounk -- BPG UTF8 M -- Waree -- Loma -- Garuda -- Umpush -- Saysettha Unicode -- JG Lao Old Arial -- GF Zemen Unicode -- Pigiarniq -- B Davat -- B Compset -- Kacst-Qr -- Urdu Nastaliq Unicode -- Raghindi -- Mukti Narrow -- malayalam -- Sampige -- padmaa -- Hapax Berbère -- MS Gothic -- UmePlus P Gothic -- Microsoft YaHei -- Microsoft JhengHei -- WenQuanYi Zen Hei -- WenQuanYi Bitmap Song -- AR PL ShanHeiSun Uni -- AR PL New Sung -- Hiragino Sans -- PingFang SC -- PingFang TC -- PingFang HK -- Hiragino Sans CNS -- Hiragino Sans GB -- MgOpen Modata -- VL Gothic -- IPAMonaGothic -- IPAGothic -- Sazanami Gothic -- Kochi Gothic -- AR PL KaitiM GB -- AR PL KaitiM Big5 -- AR PL ShanHeiSun Uni -- AR PL SungtiL GB -- AR PL Mingti2L Big5 -- MS ゴシック -- ZYSong18030 -- TSCu_Paranar -- NanumGothic -- UnDotum -- Baekmuk Dotum -- Baekmuk Gulim -- Apple SD Gothic Neo -- KacstQura -- Lohit Bengali -- Lohit Gujarati -- Lohit Hindi -- Lohit Marathi -- Lohit Maithili -- Lohit Kashmiri -- Lohit Konkani -- Lohit Nepali -- Lohit Sindhi -- Lohit Punjabi -- Lohit Tamil -- Meera -- Lohit Malayalam -- Lohit Kannada -- Lohit Telugu -- Lohit Oriya -- LKLUG -- -- -- -- monospace -- -- Miriam Mono -- VL Gothic -- IPAMonaGothic -- IPAGothic -- Sazanami Gothic -- Kochi Gothic -- AR PL KaitiM GB -- MS Gothic -- UmePlus Gothic -- NSimSun -- MingLiu -- AR PL ShanHeiSun Uni -- AR PL New Sung Mono -- HanyiSong -- AR PL SungtiL GB -- AR PL Mingti2L Big5 -- ZYSong18030 -- NanumGothicCoding -- NanumGothic -- UnDotum -- Baekmuk Dotum -- Baekmuk Gulim -- TlwgTypo -- TlwgTypist -- TlwgTypewriter -- TlwgMono -- Hasida -- GF Zemen Unicode -- Hapax Berbère -- Lohit Bengali -- Lohit Gujarati -- Lohit Hindi -- Lohit Marathi -- Lohit Maithili -- Lohit Kashmiri -- Lohit Konkani -- Lohit Nepali -- Lohit Sindhi -- Lohit Punjabi -- Lohit Tamil -- Meera -- Lohit Malayalam -- Lohit Kannada -- Lohit Telugu -- Lohit Oriya -- LKLUG -- -- -- -- -- system-ui -- -- Noto Sans Arabic UI -- Noto Sans Bengali UI -- Noto Sans Devanagari UI -- Noto Sans Gujarati UI -- Noto Sans Gurmukhi UI -- Noto Sans Kannada UI -- Noto Sans Khmer UI -- Noto Sans Lao UI -- Noto Sans Malayalam UI -- Noto Sans Myanmar UI -- Noto Sans Oriya UI -- Noto Sans Sinhala UI -- Noto Sans Tamil UI -- Noto Sans Telugu UI -- Noto Sans Thai UI -- Leelawadee UI -- Nirmala UI -- Yu Gothic UI -- Meiryo UI -- MS UI Gothic -- Khmer UI -- Lao UI -- Microsoft YaHei UI -- Microsoft JhengHei UI -- -- -- -- -diff -pruN fontconfig-2.15.0.orig/conf.d/69-nonlatin.conf fontconfig-2.15.0/conf.d/69-nonlatin.conf ---- fontconfig-2.15.0.orig/conf.d/69-nonlatin.conf 1970-01-01 09:00:00.000000000 +0900 -+++ fontconfig-2.15.0/conf.d/69-nonlatin.conf 2023-03-22 20:36:46.000000000 +0900 -@@ -0,0 +1,240 @@ -+ -+ -+ -+ Set preferable fonts for non-Latin -+ -+ serif -+ -+ Artsounk -+ BPG UTF8 M -+ Kinnari -+ Norasi -+ Frank Ruehl -+ Dror -+ JG LaoTimes -+ Saysettha Unicode -+ Pigiarniq -+ B Davat -+ B Compset -+ Kacst-Qr -+ Urdu Nastaliq Unicode -+ Raghindi -+ Mukti Narrow -+ malayalam -+ Sampige -+ padmaa -+ Hapax Berbère -+ MS Mincho -+ SimSun -+ PMingLiu -+ WenQuanYi Zen Hei -+ WenQuanYi Bitmap Song -+ AR PL ShanHeiSun Uni -+ AR PL New Sung -+ ZYSong18030 -+ HanyiSong -+ Hiragino Mincho ProN -+ Songti SC -+ Songti TC -+ SimSong -+ MgOpen Canonica -+ Sazanami Mincho -+ IPAMonaMincho -+ IPAMincho -+ Kochi Mincho -+ AR PL SungtiL GB -+ AR PL Mingti2L Big5 -+ AR PL Zenkai Uni -+ MS 明朝 -+ ZYSong18030 -+ NanumMyeongjo -+ UnBatang -+ Baekmuk Batang -+ AppleMyungjo -+ KacstQura -+ Frank Ruehl CLM -+ Lohit Bengali -+ Lohit Gujarati -+ Lohit Hindi -+ Lohit Marathi -+ Lohit Maithili -+ Lohit Kashmiri -+ Lohit Konkani -+ Lohit Nepali -+ Lohit Sindhi -+ Lohit Punjabi -+ Lohit Tamil -+ Rachana -+ Lohit Malayalam -+ Lohit Kannada -+ Lohit Telugu -+ Lohit Oriya -+ LKLUG -+ -+ -+ -+ sans-serif -+ -+ Nachlieli -+ Lucida Sans Unicode -+ Yudit Unicode -+ Kerkis -+ ArmNet Helvetica -+ Artsounk -+ BPG UTF8 M -+ Waree -+ Loma -+ Garuda -+ Umpush -+ Saysettha Unicode -+ JG Lao Old Arial -+ GF Zemen Unicode -+ Pigiarniq -+ B Davat -+ B Compset -+ Kacst-Qr -+ Urdu Nastaliq Unicode -+ Raghindi -+ Mukti Narrow -+ malayalam -+ Sampige -+ padmaa -+ Hapax Berbère -+ MS Gothic -+ UmePlus P Gothic -+ Microsoft YaHei -+ Microsoft JhengHei -+ WenQuanYi Zen Hei -+ WenQuanYi Bitmap Song -+ AR PL ShanHeiSun Uni -+ AR PL New Sung -+ Hiragino Sans -+ PingFang SC -+ PingFang TC -+ PingFang HK -+ Hiragino Sans CNS -+ Hiragino Sans GB -+ MgOpen Modata -+ VL Gothic -+ IPAMonaGothic -+ IPAGothic -+ Sazanami Gothic -+ Kochi Gothic -+ AR PL KaitiM GB -+ AR PL KaitiM Big5 -+ AR PL ShanHeiSun Uni -+ AR PL SungtiL GB -+ AR PL Mingti2L Big5 -+ MS ゴシック -+ ZYSong18030 -+ TSCu_Paranar -+ NanumGothic -+ UnDotum -+ Baekmuk Dotum -+ Baekmuk Gulim -+ Apple SD Gothic Neo -+ KacstQura -+ Lohit Bengali -+ Lohit Gujarati -+ Lohit Hindi -+ Lohit Marathi -+ Lohit Maithili -+ Lohit Kashmiri -+ Lohit Konkani -+ Lohit Nepali -+ Lohit Sindhi -+ Lohit Punjabi -+ Lohit Tamil -+ Meera -+ Lohit Malayalam -+ Lohit Kannada -+ Lohit Telugu -+ Lohit Oriya -+ LKLUG -+ -+ -+ -+ monospace -+ -+ Miriam Mono -+ VL Gothic -+ IPAMonaGothic -+ IPAGothic -+ Sazanami Gothic -+ Kochi Gothic -+ AR PL KaitiM GB -+ MS Gothic -+ UmePlus Gothic -+ NSimSun -+ MingLiu -+ AR PL ShanHeiSun Uni -+ AR PL New Sung Mono -+ HanyiSong -+ AR PL SungtiL GB -+ AR PL Mingti2L Big5 -+ ZYSong18030 -+ NanumGothicCoding -+ NanumGothic -+ UnDotum -+ Baekmuk Dotum -+ Baekmuk Gulim -+ TlwgTypo -+ TlwgTypist -+ TlwgTypewriter -+ TlwgMono -+ Hasida -+ GF Zemen Unicode -+ Hapax Berbère -+ Lohit Bengali -+ Lohit Gujarati -+ Lohit Hindi -+ Lohit Marathi -+ Lohit Maithili -+ Lohit Kashmiri -+ Lohit Konkani -+ Lohit Nepali -+ Lohit Sindhi -+ Lohit Punjabi -+ Lohit Tamil -+ Meera -+ Lohit Malayalam -+ Lohit Kannada -+ Lohit Telugu -+ Lohit Oriya -+ LKLUG -+ -+ -+ -+ -+ system-ui -+ -+ Noto Sans Arabic UI -+ Noto Sans Bengali UI -+ Noto Sans Devanagari UI -+ Noto Sans Gujarati UI -+ Noto Sans Gurmukhi UI -+ Noto Sans Kannada UI -+ Noto Sans Khmer UI -+ Noto Sans Lao UI -+ Noto Sans Malayalam UI -+ Noto Sans Myanmar UI -+ Noto Sans Oriya UI -+ Noto Sans Sinhala UI -+ Noto Sans Tamil UI -+ Noto Sans Telugu UI -+ Noto Sans Thai UI -+ Leelawadee UI -+ Nirmala UI -+ Yu Gothic UI -+ Meiryo UI -+ MS UI Gothic -+ Khmer UI -+ Lao UI -+ Microsoft YaHei UI -+ Microsoft JhengHei UI -+ -+ -+ -+ -diff -pruN fontconfig-2.15.0.orig/conf.d/Makefile.am fontconfig-2.15.0/conf.d/Makefile.am ---- fontconfig-2.15.0.orig/conf.d/Makefile.am 2023-08-24 14:14:15.000000000 +0900 -+++ fontconfig-2.15.0/conf.d/Makefile.am 2023-12-22 23:08:05.514969924 +0900 +diff -pruN fontconfig-2.16.0.orig/conf.d/Makefile.am fontconfig-2.16.0/conf.d/Makefile.am +--- fontconfig-2.16.0.orig/conf.d/Makefile.am 2025-01-18 00:15:05.000000000 +0900 ++++ fontconfig-2.16.0/conf.d/Makefile.am 2025-01-18 00:38:32.245398277 +0900 @@ -47,7 +47,7 @@ CONF_LINKS = \ 60-generic.conf \ 60-latin.conf \ @@ -506,4 +18,25 @@ diff -pruN fontconfig-2.15.0.orig/conf.d/Makefile.am fontconfig-2.15.0/conf.d/Ma + 69-nonlatin.conf \ 69-unifont.conf \ 70-no-bitmaps.conf \ - 70-yes-bitmaps.conf \ + 70-no-bitmaps-and-emoji.conf \ +diff -pruN fontconfig-2.16.0.orig/conf.d/meson.build fontconfig-2.16.0/conf.d/meson.build +--- fontconfig-2.16.0.orig/conf.d/meson.build 2025-01-18 00:15:05.000000000 +0900 ++++ fontconfig-2.16.0/conf.d/meson.build 2025-01-18 00:38:43.243595743 +0900 +@@ -33,7 +33,7 @@ conf_files = [ + '60-latin.conf', + '65-fonts-persian.conf', + '65-khmer.conf', +- '65-nonlatin.conf', ++ '69-nonlatin.conf', + '69-unifont.conf', + '70-no-bitmaps.conf', + '70-no-bitmaps-and-emoji.conf', +@@ -64,7 +64,7 @@ conf_links = [ + '60-generic.conf', + '60-latin.conf', + '65-fonts-persian.conf', +- '65-nonlatin.conf', ++ '69-nonlatin.conf', + '69-unifont.conf', + '80-delicious.conf', + '90-synthetic.conf', diff --git a/fontconfig.spec b/fontconfig.spec index c4a9476..77d4737 100644 --- a/fontconfig.spec +++ b/fontconfig.spec @@ -4,8 +4,8 @@ Summary: Font configuration and customization library Name: fontconfig -Version: 2.15.0 -Release: 9%{?dist} +Version: 2.16.0 +Release: 1%{?dist} # src/ftglue.[ch] is in Public Domain # src/fccache.c contains Public Domain code ## https://gitlab.com/fedora/legal/fedora-license-data/-/issues/177 @@ -22,17 +22,14 @@ Patch0: %{name}-sleep-less.patch Patch4: %{name}-drop-lang-from-pkgkit-format.patch Patch5: %{name}-disable-network-required-test.patch Patch6: %{name}-lower-nonlatin-conf.patch -Patch7: %{name}-remove-uuid.patch -Patch8: %{name}-fix-emojis.patch -Patch9: %{name}-fix-SAST.patch BuildRequires: libxml2-devel BuildRequires: freetype-devel >= %{freetype_version} BuildRequires: fontpackages-devel -BuildRequires: autoconf automake libtool gettext +BuildRequires: gettext BuildRequires: gperf BuildRequires: docbook-utils docbook-utils-pdf -BuildRequires: make +BuildRequires: meson ninja-build Requires: fonts-filesystem freetype # Register DTD system-wide to make validation work by default @@ -74,36 +71,42 @@ which is useful for developing applications that uses fontconfig. %prep %autosetup -p1 +# To reduce a maintenance cost of fontconfig-lower-nonlatin-conf.patch +mv conf.d/65-nonlatin.conf conf.d/69-nonlatin.conf %build -# We don't want to rebuild the docs, but we want to install the included ones. -export HASDOCBOOK=no - -for i in doc/*.fncs; do - touch -r $i ${i//.fncs/.sgml} -done -autoreconf -%configure --with-add-fonts=/usr/share/X11/fonts/Type1,/usr/share/X11/fonts/TTF,/usr/local/share/fonts \ - --enable-libxml2 \ - --disable-static --with-cache-dir=/usr/lib/fontconfig/cache - -make %{?_smp_mflags} +%meson -Ddoc=disabled -Dcache-build=disabled -Dxml-backend=libxml2 \ + -Dadditional-fonts-dirs=/usr/share/X11/fonts/Type1,/usr/share/X11/fonts/TTF,/usr/local/share/fonts \ + -Dcache-dir=/usr/lib/fontconfig/cache \ + --default-library=shared +%meson_build %install -make install DESTDIR=$RPM_BUILD_ROOT INSTALL="install -p" - -find $RPM_BUILD_ROOT -name '*.la' -exec rm -f {} ';' +%meson_install +install -d $RPM_BUILD_ROOT/usr/lib/fontconfig/cache install -p -m 0644 %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/fonts/conf.d ln -s %{_fontconfig_templatedir}/25-unhint-nonlatin.conf $RPM_BUILD_ROOT%{_fontconfig_confdir}/ # Use implied value to allow the use of conditional conf rm $RPM_BUILD_ROOT%{_sysconfdir}/fonts/conf.d/10-sub-pixel-*.conf -# move installed doc files back to build directory to package them -# in the right place -mv $RPM_BUILD_ROOT%{_docdir}/fontconfig/* . -rmdir $RPM_BUILD_ROOT%{_docdir}/fontconfig/ +# Install docs manually +install -d $RPM_BUILD_ROOT%{_mandir}/man1 +install -d $RPM_BUILD_ROOT%{_mandir}/man3 +install -d $RPM_BUILD_ROOT%{_mandir}/man5 +for f in doc/*.1; do + install -p -m 0644 $f $RPM_BUILD_ROOT%{_mandir}/man1 +done +for f in doc/*.3; do + install -p -m 0644 $f $RPM_BUILD_ROOT%{_mandir}/man3 +done +for f in doc/*.5; do + install -p -m 0644 $f $RPM_BUILD_ROOT%{_mandir}/man5 +done +for f in doc/*.txt doc/*.pdf doc/*.html; do + install -p -m 0644 $f . +done # adjust the timestamp to avoid conflicts for multilib touch -r doc/fontconfig-user.sgml fontconfig-user.txt @@ -122,7 +125,7 @@ install -p -m 0755 %{SOURCE2} $RPM_BUILD_ROOT%{_bindir}/fc-cache cat %{name}-conf.lang >> %{name}.lang %check -VERBOSE=1 make check +%meson_test %post umask 0022 @@ -193,9 +196,13 @@ fi %{_datadir}/gettext/its/fontconfig.loc %files devel-doc -%doc fontconfig-devel.txt fontconfig-devel +%doc fontconfig-devel.txt fontconfig-devel.html %changelog +* Sat Jan 18 2025 Akira TAGOH - 2.16.0-1 +- New upstream release. +- Use meson instead of autotools to build. + * Thu Jan 16 2025 Fedora Release Engineering - 2.15.0-9 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild diff --git a/sources b/sources index 10b4abe..5a758f7 100644 --- a/sources +++ b/sources @@ -1,2 +1 @@ -SHA512 (fontconfig-2.14.2.tar.xz) = 23483e0ae6aa7589fd37f9949a4cf951c5bff981739dbb446881e4cea86a208c0ab31e2358666eac724af1dc6a689a42733a7ce91cd3e76d8d91eacedb318085 -SHA512 (fontconfig-2.15.0.tar.xz) = 754cd5fffa198fc07a39cf7df683e9adfa7f54ab41fdff8c0eacc078fd35d3e01069ba343f2b045e0b40df88d9f1fc1ee0f7565799f9cb194a59cf95b64c4417 +SHA512 (fontconfig-2.16.0.tar.xz) = 90b5c39e5eadc56a9fbddd69b2a6eaa6bf9ee5cda003091b0896e66f87f3c1be8ab4442f54d20fca7232d72f60d9578f5e5ba3f376e39b64b8a2aa7b8f13b062 From 4c49ef27c3036afc005493f796e9d6c48b0da19f Mon Sep 17 00:00:00 2001 From: Akira TAGOH Date: Sat, 18 Jan 2025 01:39:40 +0900 Subject: [PATCH 14/27] clean up patches --- 10-sub-pixel-rgb-for-kde.conf | 18 ------ fontconfig-fix-SAST.patch | 54 ----------------- fontconfig-fix-emojis.patch | 109 ---------------------------------- fontconfig-fix-remap.patch | 81 ------------------------- fontconfig-remove-uuid.patch | 67 --------------------- 5 files changed, 329 deletions(-) delete mode 100644 10-sub-pixel-rgb-for-kde.conf delete mode 100644 fontconfig-fix-SAST.patch delete mode 100644 fontconfig-fix-emojis.patch delete mode 100644 fontconfig-fix-remap.patch delete mode 100644 fontconfig-remove-uuid.patch diff --git a/10-sub-pixel-rgb-for-kde.conf b/10-sub-pixel-rgb-for-kde.conf deleted file mode 100644 index 63fd752..0000000 --- a/10-sub-pixel-rgb-for-kde.conf +++ /dev/null @@ -1,18 +0,0 @@ - - - - Enable sub-pixel rendering with the RGB stripes layout for KDE only - - - - - KDE - - rgb - - diff --git a/fontconfig-fix-SAST.patch b/fontconfig-fix-SAST.patch deleted file mode 100644 index 6ef1b07..0000000 --- a/fontconfig-fix-SAST.patch +++ /dev/null @@ -1,54 +0,0 @@ -From eaa335e7c4686c622f31e691f8a41fdf30ea42b3 Mon Sep 17 00:00:00 2001 -From: Akira TAGOH -Date: Wed, 31 Jul 2024 17:31:36 +0900 -Subject: [PATCH 1/2] Fix a memory leak in _get_real_paths_from_prefix - ---- - src/fcxml.c | 4 +--- - 1 file changed, 1 insertion(+), 3 deletions(-) - -diff --git a/src/fcxml.c b/src/fcxml.c -index 9fe0674..083fc1f 100644 ---- a/src/fcxml.c -+++ b/src/fcxml.c -@@ -1327,11 +1327,9 @@ _get_real_paths_from_prefix(FcConfigParse *parse, const FcChar8 *path, const FcC - if (!p) - return NULL; - parent = FcStrDirname (p); -+ FcStrFree (p); - if (!parent) -- { -- free (p); - return NULL; -- } - } - } - #ifndef _WIN32 --- -2.45.2 - -From ab765827101787d49c0a66b23addc1f68f99a455 Mon Sep 17 00:00:00 2001 -From: Akira TAGOH -Date: Wed, 31 Jul 2024 17:37:53 +0900 -Subject: [PATCH 2/2] Set FcTypeVoid if no valid types to convert - ---- - src/fcname.c | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/src/fcname.c b/src/fcname.c -index 566f0ef..b152bd9 100644 ---- a/src/fcname.c -+++ b/src/fcname.c -@@ -406,6 +406,8 @@ FcNameConvert (FcType type, const char *object, FcChar8 *string) - v.u.r = FcRangeCreateDouble (b, e); - break; - default: -+ /* No valid type to convert */ -+ v.type = FcTypeVoid; - break; - } - return v; --- -2.45.2 - diff --git a/fontconfig-fix-emojis.patch b/fontconfig-fix-emojis.patch deleted file mode 100644 index ef4738b..0000000 --- a/fontconfig-fix-emojis.patch +++ /dev/null @@ -1,109 +0,0 @@ -From 810a300398dc93b7becca4a7f286e8999adc09a5 Mon Sep 17 00:00:00 2001 -From: Akira TAGOH -Date: Fri, 8 Mar 2024 01:55:14 +0900 -Subject: [PATCH] Sort out bitmap related config files - -70-no-bitmaps-and-emoji.conf: reject bitmap fonts including bitmap emoji fonts. -70-no-bitmaps-except-emoji.conf: reject bitmap fonts except bitmap emoji fonts. -70-no-bitmaps.conf: same to 70-no-bitmaps-except-emoji.conf for backward compatibility -but deprecated. This will be dropped in the future. - -Fixes https://gitlab.freedesktop.org/fontconfig/fontconfig/-/issues/409 ---- - conf.d/70-no-bitmaps-and-emoji.conf | 13 +++++++++++++ - conf.d/70-no-bitmaps-except-emoji.conf | 14 ++++++++++++++ - conf.d/70-no-bitmaps.conf | 11 ++--------- - conf.d/Makefile.am | 2 ++ - conf.d/meson.build | 2 ++ - 5 files changed, 33 insertions(+), 9 deletions(-) - create mode 100644 conf.d/70-no-bitmaps-and-emoji.conf - create mode 100644 conf.d/70-no-bitmaps-except-emoji.conf - -diff --git a/conf.d/70-no-bitmaps-and-emoji.conf b/conf.d/70-no-bitmaps-and-emoji.conf -new file mode 100644 -index 00000000..3e18a4cf ---- /dev/null -+++ b/conf.d/70-no-bitmaps-and-emoji.conf -@@ -0,0 +1,13 @@ -+ -+ -+ -+ Reject bitmap fonts, including bitmap emoji fonts -+ -+ -+ -+ -+ false -+ -+ -+ -+ -diff --git a/conf.d/70-no-bitmaps-except-emoji.conf b/conf.d/70-no-bitmaps-except-emoji.conf -new file mode 100644 -index 00000000..3170cd6f ---- /dev/null -+++ b/conf.d/70-no-bitmaps-except-emoji.conf -@@ -0,0 +1,14 @@ -+ -+ -+ -+ Reject bitmap fonts except bitmap emoji fonts -+ -+ -+ -+ -+ false -+ false -+ -+ -+ -+ -diff --git a/conf.d/70-no-bitmaps.conf b/conf.d/70-no-bitmaps.conf -index 10203acb..767e4115 100644 ---- a/conf.d/70-no-bitmaps.conf -+++ b/conf.d/70-no-bitmaps.conf -@@ -1,13 +1,6 @@ - - - -- Reject bitmap fonts -- -- -- -- -- false -- -- -- -+ Reject bitmap fonts except bitmap emoji fonts (deprecated; use 70-no-bitmaps-except-emoji.conf) -+ 70-no-bitmaps-except-emoji.conf - -diff --git a/conf.d/Makefile.am b/conf.d/Makefile.am -index fd858348..737b4fb2 100644 ---- a/conf.d/Makefile.am -+++ b/conf.d/Makefile.am -@@ -98,6 +98,8 @@ template_DATA = \ - 69-nonlatin.conf \ - 69-unifont.conf \ - 70-no-bitmaps.conf \ -+ 70-no-bitmaps-and-emoji.conf \ -+ 70-no-bitmaps-except-emoji.conf \ - 70-yes-bitmaps.conf \ - 80-delicious.conf \ - 90-synthetic.conf -diff --git a/conf.d/meson.build b/conf.d/meson.build -index 8e896118..b6d07ee0 100644 ---- a/conf.d/meson.build -+++ b/conf.d/meson.build -@@ -36,6 +36,8 @@ conf_files = [ - '65-nonlatin.conf', - '69-unifont.conf', - '70-no-bitmaps.conf', -+ '70-no-bitmaps-and-emoji.conf', -+ '70-no-bitmaps-except-emoji.conf', - '70-yes-bitmaps.conf', - '80-delicious.conf', - '90-synthetic.conf', --- -GitLab - diff --git a/fontconfig-fix-remap.patch b/fontconfig-fix-remap.patch deleted file mode 100644 index 5809a0b..0000000 --- a/fontconfig-fix-remap.patch +++ /dev/null @@ -1,81 +0,0 @@ -From fc0e9a78d2fe3b26f0b93c2a99b160e75e2a9f89 Mon Sep 17 00:00:00 2001 -From: Akira TAGOH -Date: Wed, 28 Sep 2022 21:39:09 +0900 -Subject: [PATCH 1/3] Real fix of 91114d18c - -The change in 91114d18c broke remapping font paths. - -Patch from Mattias Clasen - -Fixes https://gitlab.freedesktop.org/fontconfig/fontconfig/-/issues/331 ---- - src/fcstr.c | 6 +----- - 1 file changed, 1 insertion(+), 5 deletions(-) - -diff --git a/src/fcstr.c b/src/fcstr.c -index 3fe518f..5ce65da 100644 ---- a/src/fcstr.c -+++ b/src/fcstr.c -@@ -1467,7 +1467,6 @@ FcStrSetAddFilenamePairWithSalt (FcStrSet *set, const FcChar8 *a, const FcChar8 - { - FcChar8 *new_a = NULL; - FcChar8 *new_b = NULL; -- FcChar8 *rs = NULL; - FcBool ret; - - if (a) -@@ -1487,10 +1486,7 @@ FcStrSetAddFilenamePairWithSalt (FcStrSet *set, const FcChar8 *a, const FcChar8 - } - } - /* Override maps with new one if exists */ -- if (FcStrSetMemberAB (set, new_a, new_b, &rs)) -- { -- FcStrSetDel (set, rs); -- } -+ FcStrSetDel (set, new_a); - ret = FcStrSetAddTriple (set, new_a, new_b, salt); - if (new_a) - FcStrFree (new_a); --- -2.37.3 - -From a10d07682a09ce5effbd121920b119618f4b7775 Mon Sep 17 00:00:00 2001 -From: Akira TAGOH -Date: Wed, 28 Sep 2022 23:30:06 +0900 -Subject: [PATCH 2/3] Fix test cases for wrong use of remap-dir - ---- - test/run-test.sh | 12 +++++++++--- - 1 file changed, 9 insertions(+), 3 deletions(-) - -diff --git a/test/run-test.sh b/test/run-test.sh -index 1cedb8d..2b8a412 100644 ---- a/test/run-test.sh -+++ b/test/run-test.sh -@@ -177,7 +177,10 @@ $FCCACHE "$FONTDIR" - sleep 1 - ls -l "$CACHEDIR" > out1 - TESTTMPDIR=$(mktemp -d "$TMPDIR"/fontconfig.XXXXXXXX) --sed "s!@FONTDIR@!$TESTTMPDIR/fonts! -+# Once font dir is remapped, we could use $FONTDIR as different one in theory. -+# but we don't use it here and to avoid duplicate entries, set the non-existing -+# directory here. -+sed "s!@FONTDIR@!$FONTDIR/a! - s!@REMAPDIR@!$TESTTMPDIR/fonts! - s!@CACHEDIR@!$TESTTMPDIR/cache.dir!" < "$TESTDIR"/fonts.conf.in > bind-fonts.conf - echo "$BWRAP --bind / / --bind \"$CACHEDIR\" \"$TESTTMPDIR\"/cache.dir --bind \"$FONTDIR\" \"$TESTTMPDIR\"/fonts --bind .. \"$TESTTMPDIR\"/build --dev-bind /dev /dev --setenv FONTCONFIG_FILE \"$TESTTMPDIR\"/build/test/bind-fonts.conf \"$TESTTMPDIR\"/build/fc-match/fc-match\"$EXEEXT\" -f \"%{file}\n\" \":foundry=Misc\" > xxx" -@@ -273,7 +276,10 @@ sleep 1 - (cd "$CACHEDIR"; ls -1 --color=no ./*cache*) > out1 - TESTTMPDIR=$(mktemp -d "$TMPDIR"/fontconfig.XXXXXXXX) - mkdir -p "$TESTTMPDIR"/cache.dir --sed "s!@FONTDIR@!$TESTTMPDIR/fonts! -+# Once font dir is remapped, we could use $FONTDIR as different one in theory. -+# but we don't use it here and to avoid duplicate entries, set the non-existing -+# directory here. -+sed "s!@FONTDIR@!$FONTDIR/a! - s!@REMAPDIR@!$TESTTMPDIR/fonts! - s!@CACHEDIR@!$TESTTMPDIR/cache.dir!" < "$TESTDIR"/fonts.conf.in > bind-fonts.conf - $BWRAP --bind / / --bind "$FONTDIR" "$TESTTMPDIR"/fonts --bind .. "$TESTTMPDIR"/build --dev-bind /dev /dev --setenv FONTCONFIG_FILE "$TESTTMPDIR"/build/test/bind-fonts.conf "$TESTTMPDIR"/build/fc-cache/fc-cache"$EXEEXT" "$TESTTMPDIR"/fonts --- -2.37.3 - diff --git a/fontconfig-remove-uuid.patch b/fontconfig-remove-uuid.patch deleted file mode 100644 index 16c0d04..0000000 --- a/fontconfig-remove-uuid.patch +++ /dev/null @@ -1,67 +0,0 @@ -From c22908828fb2dbfdf38733d119adc1cf5fe00173 Mon Sep 17 00:00:00 2001 -From: Akira TAGOH -Date: Sat, 10 Feb 2024 00:20:54 +0900 -Subject: [PATCH 1/2] Clean up .uuid files with fc-cache -f too - -.uuid file was obsoleted >5 years ago and it was supposed to -be cleaned up by fc-cache -r but not -f. -This change tries to clean it up by fc-cache -f. - -https://bugzilla.redhat.com/show_bug.cgi?id=1761885 ---- - src/fcdir.c | 5 ++++- - 1 file changed, 4 insertions(+), 1 deletion(-) - -diff --git a/src/fcdir.c b/src/fcdir.c -index 6f7b3835..2e4fdc69 100644 ---- a/src/fcdir.c -+++ b/src/fcdir.c -@@ -234,7 +234,7 @@ FcDirScanConfig (FcFontSet *set, - - if (FcDebug () & FC_DBG_SCAN) - printf ("\tScanning dir %s\n", s_dir); -- -+ - d = opendir ((char *) s_dir); - if (!d) - { -@@ -459,7 +459,10 @@ FcDirCacheRead (const FcChar8 *dir, FcBool force, FcConfig *config) - - /* Not using existing cache file, construct new cache */ - if (!cache) -+ { -+ FcDirCacheDeleteUUID (dir, config); - cache = FcDirCacheScan (dir, config); -+ } - FcConfigDestroy (config); - - return cache; --- -2.43.0 - -From a76b95105ca26c600279b2daf4bd43b37a918823 Mon Sep 17 00:00:00 2001 -From: Akira TAGOH -Date: Sat, 10 Feb 2024 02:15:45 +0900 -Subject: [PATCH 2/2] Fix undesired unref of FcConfig on Win32 - ---- - src/fccache.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/fccache.c b/src/fccache.c -index cebbb810..54f76ac1 100644 ---- a/src/fccache.c -+++ b/src/fccache.c -@@ -106,8 +106,8 @@ FcDirCacheDeleteUUID (const FcChar8 *dir, - FcStrFree (target); - bail: - FcStrFree (d); --#endif - FcConfigDestroy (config); -+#endif - - return ret; - } --- -2.43.0 - From cab4ae8a7abc7f2ffaf75c85df04da5c1f039130 Mon Sep 17 00:00:00 2001 From: Akira TAGOH Date: Sat, 18 Jan 2025 01:40:36 +0900 Subject: [PATCH 15/27] Add a reference to bz --- fontconfig.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/fontconfig.spec b/fontconfig.spec index 77d4737..3ae94db 100644 --- a/fontconfig.spec +++ b/fontconfig.spec @@ -201,6 +201,7 @@ fi %changelog * Sat Jan 18 2025 Akira TAGOH - 2.16.0-1 - New upstream release. + Resolves: rhbz#2338618 - Use meson instead of autotools to build. * Thu Jan 16 2025 Fedora Release Engineering - 2.15.0-9 From 54b18701644f67c1ef6be4e400358e276c690374 Mon Sep 17 00:00:00 2001 From: Akira TAGOH Date: Mon, 20 Jan 2025 16:43:04 +0900 Subject: [PATCH 16/27] Patch meson.build instead of creating a cache dir --- fontconfig-meson-cachedir.patch | 29 +++++++++++++++++++++++++++++ fontconfig.spec | 4 +++- 2 files changed, 32 insertions(+), 1 deletion(-) create mode 100644 fontconfig-meson-cachedir.patch diff --git a/fontconfig-meson-cachedir.patch b/fontconfig-meson-cachedir.patch new file mode 100644 index 0000000..e1313c9 --- /dev/null +++ b/fontconfig-meson-cachedir.patch @@ -0,0 +1,29 @@ +From 9b864e8ceb480c31cd76ce3fe1d6215f8655ec55 Mon Sep 17 00:00:00 2001 +From: Akira TAGOH +Date: Mon, 20 Jan 2025 12:08:36 +0900 +Subject: [PATCH] meson: create fc_cachedir at the installation time + +Fixes https://gitlab.freedesktop.org/fontconfig/fontconfig/-/issues/445 +--- + meson.build | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/meson.build b/meson.build +index 4439758..85968b2 100644 +--- a/meson.build ++++ b/meson.build +@@ -550,6 +550,11 @@ if not meson.is_subproject() + meson.add_dist_script('build-aux/meson-dist-autotools.py') + endif + ++if host_machine.system() != 'windows' ++ install_emptydir(fc_cachedir, ++ install_tag: 'runtime') ++endif ++ + # Summary + doc_targets = get_variable('doc_targets', []) + +-- +2.48.1 + diff --git a/fontconfig.spec b/fontconfig.spec index 3ae94db..4aa9a9f 100644 --- a/fontconfig.spec +++ b/fontconfig.spec @@ -22,6 +22,7 @@ Patch0: %{name}-sleep-less.patch Patch4: %{name}-drop-lang-from-pkgkit-format.patch Patch5: %{name}-disable-network-required-test.patch Patch6: %{name}-lower-nonlatin-conf.patch +Patch7: %{name}-meson-cachedir.patch BuildRequires: libxml2-devel BuildRequires: freetype-devel >= %{freetype_version} @@ -84,7 +85,6 @@ mv conf.d/65-nonlatin.conf conf.d/69-nonlatin.conf %install %meson_install -install -d $RPM_BUILD_ROOT/usr/lib/fontconfig/cache install -p -m 0644 %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/fonts/conf.d ln -s %{_fontconfig_templatedir}/25-unhint-nonlatin.conf $RPM_BUILD_ROOT%{_fontconfig_confdir}/ @@ -111,6 +111,8 @@ done # adjust the timestamp to avoid conflicts for multilib touch -r doc/fontconfig-user.sgml fontconfig-user.txt touch -r doc/fontconfig-user.sgml fontconfig-user.html +touch -r doc/fontconfig-devel.sgml fontconfig-devel.txt +touch -r doc/fontconfig-devel.sgml fontconfig-devel.html # rename fc-cache binary mv $RPM_BUILD_ROOT%{_bindir}/fc-cache $RPM_BUILD_ROOT%{_bindir}/fc-cache-%{__isa_bits} From d1acb38e3bebda20cd1c0d6e3e4a1b68cdaf9def Mon Sep 17 00:00:00 2001 From: Akira TAGOH Date: Thu, 23 Jan 2025 22:44:43 +0900 Subject: [PATCH 17/27] Add gcc to BR --- fontconfig.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fontconfig.spec b/fontconfig.spec index 4aa9a9f..7ca4d3e 100644 --- a/fontconfig.spec +++ b/fontconfig.spec @@ -30,7 +30,7 @@ BuildRequires: fontpackages-devel BuildRequires: gettext BuildRequires: gperf BuildRequires: docbook-utils docbook-utils-pdf -BuildRequires: meson ninja-build +BuildRequires: meson ninja-build gcc Requires: fonts-filesystem freetype # Register DTD system-wide to make validation work by default From 64359ad1d0b91eaa9444791a7fc531677848c0d6 Mon Sep 17 00:00:00 2001 From: Akira TAGOH Date: Thu, 23 Jan 2025 23:32:46 +0900 Subject: [PATCH 18/27] Disable meson test on s390x temporarily --- fontconfig.spec | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/fontconfig.spec b/fontconfig.spec index 7ca4d3e..fe79d5e 100644 --- a/fontconfig.spec +++ b/fontconfig.spec @@ -127,7 +127,10 @@ install -p -m 0755 %{SOURCE2} $RPM_BUILD_ROOT%{_bindir}/fc-cache cat %{name}-conf.lang >> %{name}.lang %check +# rhbz#2341757: md5 calculation seems wrong on s390x. unable to finish testcases properly +%ifnarch s390x %meson_test +%endif %post umask 0022 @@ -205,6 +208,7 @@ fi - New upstream release. Resolves: rhbz#2338618 - Use meson instead of autotools to build. +- Disable meson test on s390x temporarily. * Thu Jan 16 2025 Fedora Release Engineering - 2.15.0-9 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild From 7ee5fe699075534ca734e18039d8fdfd7ff83a82 Mon Sep 17 00:00:00 2001 From: Akira TAGOH Date: Mon, 27 Jan 2025 11:20:30 +0900 Subject: [PATCH 19/27] Fix endian detection. Resolves: rhbz#2341757 --- fontconfig-meson-endianness.patch | 25 +++++++++++++++++++++++++ fontconfig.spec | 8 +++++--- 2 files changed, 30 insertions(+), 3 deletions(-) create mode 100644 fontconfig-meson-endianness.patch diff --git a/fontconfig-meson-endianness.patch b/fontconfig-meson-endianness.patch new file mode 100644 index 0000000..d880c4d --- /dev/null +++ b/fontconfig-meson-endianness.patch @@ -0,0 +1,25 @@ +diff --git a/meson.build b/meson.build +index 85968b29..b9501dfc 100644 +--- a/meson.build ++++ b/meson.build +@@ -181,6 +181,7 @@ conf.set_quoted('PACKAGE_VERSION', meson.project_version()) + conf.set_quoted('PACKAGE_STRING', '@0@ @1@'.format(meson.project_name(), meson.project_version())) + conf.set_quoted('PACKAGE_BUGREPORT', 'https://gitlab.freedesktop.org/fontconfig/fontconfig/issues/new') + conf.set_quoted('PACKAGE_URL', '') ++conf.set('WORDS_BIGENDIAN', (host_machine.endian() == 'big').to_int()) + + if host_machine.system() == 'windows' + conf.set('EXEEXT', '.exe') +diff --git a/src/fcmd5.h b/src/fcmd5.h +index 7e8a6e1e..bf507285 100644 +--- a/src/fcmd5.h ++++ b/src/fcmd5.h +@@ -27,7 +27,7 @@ static void MD5Update(struct MD5Context *ctx, const unsigned char *buf, unsigned + static void MD5Final(unsigned char digest[16], struct MD5Context *ctx); + static void MD5Transform(FcChar32 buf[4], FcChar32 in[16]); + +-#ifndef WORDS_BIGENDIAN ++#if !defined(WORDS_BIGENDIAN) || !WORDS_BIGENDIAN + #define byteReverse(buf, len) /* Nothing */ + #else + /* diff --git a/fontconfig.spec b/fontconfig.spec index fe79d5e..93ea1dd 100644 --- a/fontconfig.spec +++ b/fontconfig.spec @@ -23,6 +23,7 @@ Patch4: %{name}-drop-lang-from-pkgkit-format.patch Patch5: %{name}-disable-network-required-test.patch Patch6: %{name}-lower-nonlatin-conf.patch Patch7: %{name}-meson-cachedir.patch +Patch8: %{name}-meson-endianness.patch BuildRequires: libxml2-devel BuildRequires: freetype-devel >= %{freetype_version} @@ -127,10 +128,7 @@ install -p -m 0755 %{SOURCE2} $RPM_BUILD_ROOT%{_bindir}/fc-cache cat %{name}-conf.lang >> %{name}.lang %check -# rhbz#2341757: md5 calculation seems wrong on s390x. unable to finish testcases properly -%ifnarch s390x %meson_test -%endif %post umask 0022 @@ -204,6 +202,10 @@ fi %doc fontconfig-devel.txt fontconfig-devel.html %changelog +* Mon Jan 27 2025 Akira TAGOH - 2.16.0-2 +- Fix endian detection. + Resolves: rhbz#2341757 + * Sat Jan 18 2025 Akira TAGOH - 2.16.0-1 - New upstream release. Resolves: rhbz#2338618 From 702de2a7ad716ed043810107d59855470691761a Mon Sep 17 00:00:00 2001 From: Akira TAGOH Date: Mon, 27 Jan 2025 11:46:26 +0900 Subject: [PATCH 20/27] Bump the release --- fontconfig.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fontconfig.spec b/fontconfig.spec index 93ea1dd..10096f7 100644 --- a/fontconfig.spec +++ b/fontconfig.spec @@ -5,7 +5,7 @@ Summary: Font configuration and customization library Name: fontconfig Version: 2.16.0 -Release: 1%{?dist} +Release: 2%{?dist} # src/ftglue.[ch] is in Public Domain # src/fccache.c contains Public Domain code ## https://gitlab.com/fedora/legal/fedora-license-data/-/issues/177 From 97f5c4867adcb8c26ae2434f9a9d29cbbd09ca0e Mon Sep 17 00:00:00 2001 From: Akira TAGOH Date: Thu, 13 Mar 2025 20:46:19 +0900 Subject: [PATCH 21/27] New upstream release. --- .gitignore | 1 + fontconfig-drop-lang-from-pkgkit-format.patch | 20 +++++++++---------- fontconfig.spec | 11 ++++++---- sources | 1 + 4 files changed, 19 insertions(+), 14 deletions(-) diff --git a/.gitignore b/.gitignore index b63773a..866d60a 100644 --- a/.gitignore +++ b/.gitignore @@ -41,3 +41,4 @@ fontconfig-2.8.0.tar.gz /fontconfig-2.14.2.tar.xz /fontconfig-2.15.0.tar.xz /fontconfig-2.16.0.tar.xz +/fontconfig-2.16.1.tar.xz diff --git a/fontconfig-drop-lang-from-pkgkit-format.patch b/fontconfig-drop-lang-from-pkgkit-format.patch index 8b77308..abece6d 100644 --- a/fontconfig-drop-lang-from-pkgkit-format.patch +++ b/fontconfig-drop-lang-from-pkgkit-format.patch @@ -1,12 +1,12 @@ -diff -pruN fontconfig-2.13.92.orig/src/fcformat.c fontconfig-2.13.92/src/fcformat.c ---- fontconfig-2.13.92.orig/src/fcformat.c 2018-07-19 12:14:39.000000000 +0900 -+++ fontconfig-2.13.92/src/fcformat.c 2020-01-20 13:05:33.626227767 +0900 -@@ -78,7 +78,7 @@ - #define FCCAT_FORMAT "\"%{file|basename|cescape}\" %{index} \"%{-file{%{=unparse|cescape}}}\"" - #define FCMATCH_FORMAT "%{file:-|basename}: \"%{family[0]:-}\" \"%{style[0]:-}\"" - #define FCLIST_FORMAT "%{?file{%{file}: }}%{-file{%{=unparse}}}" --#define PKGKIT_FORMAT "%{[]family{font(%{family|downcase|delete( )})\n}}%{[]lang{font(:lang=%{lang|downcase|translate(_,-)})\n}}" -+#define PKGKIT_FORMAT "%{[]family{font(%{family|downcase|delete( )})\n}}" - +diff -pruN fontconfig-2.16.1.orig/src/fcformat.c fontconfig-2.16.1/src/fcformat.c +--- fontconfig-2.16.1.orig/src/fcformat.c 2025-03-13 20:16:47.000000000 +0900 ++++ fontconfig-2.16.1/src/fcformat.c 2025-03-13 20:42:03.633324643 +0900 +@@ -77,7 +77,7 @@ + #define FCCAT_FORMAT "\"%{file|basename|cescape}\" %{index} \"%{-file{%{=unparse|cescape}}}\"" + #define FCMATCH_FORMAT "%{file:-|basename}: \"%{family[0]:-}\" \"%{style[0]:-}\"" + #define FCLIST_FORMAT "%{?file{%{file}: }}%{-file{%{=unparse}}}" +-#define PKGKIT_FORMAT "%{[]family{font(%{family|downcase|delete( )})\n}}%{[]lang{font(:lang=%{lang|downcase|translate(_,-)})\n}}" ++#define PKGKIT_FORMAT "%{[]family{font(%{family|downcase|delete( )})\n}}" static void + message (const char *fmt, ...) diff --git a/fontconfig.spec b/fontconfig.spec index 10096f7..0502868 100644 --- a/fontconfig.spec +++ b/fontconfig.spec @@ -4,8 +4,8 @@ Summary: Font configuration and customization library Name: fontconfig -Version: 2.16.0 -Release: 2%{?dist} +Version: 2.16.1 +Release: 1%{?dist} # src/ftglue.[ch] is in Public Domain # src/fccache.c contains Public Domain code ## https://gitlab.com/fedora/legal/fedora-license-data/-/issues/177 @@ -22,8 +22,6 @@ Patch0: %{name}-sleep-less.patch Patch4: %{name}-drop-lang-from-pkgkit-format.patch Patch5: %{name}-disable-network-required-test.patch Patch6: %{name}-lower-nonlatin-conf.patch -Patch7: %{name}-meson-cachedir.patch -Patch8: %{name}-meson-endianness.patch BuildRequires: libxml2-devel BuildRequires: freetype-devel >= %{freetype_version} @@ -89,6 +87,8 @@ mv conf.d/65-nonlatin.conf conf.d/69-nonlatin.conf install -p -m 0644 %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/fonts/conf.d ln -s %{_fontconfig_templatedir}/25-unhint-nonlatin.conf $RPM_BUILD_ROOT%{_fontconfig_confdir}/ +rm $RPM_BUILD_ROOT/%{_libdir}/libfontconfig.a + # Use implied value to allow the use of conditional conf rm $RPM_BUILD_ROOT%{_sysconfdir}/fonts/conf.d/10-sub-pixel-*.conf @@ -202,6 +202,9 @@ fi %doc fontconfig-devel.txt fontconfig-devel.html %changelog +* Thu Mar 13 2025 Akira TAGOH - 2.16.1-1 +- New upstream release. + * Mon Jan 27 2025 Akira TAGOH - 2.16.0-2 - Fix endian detection. Resolves: rhbz#2341757 diff --git a/sources b/sources index 5a758f7..2efbd1f 100644 --- a/sources +++ b/sources @@ -1 +1,2 @@ SHA512 (fontconfig-2.16.0.tar.xz) = 90b5c39e5eadc56a9fbddd69b2a6eaa6bf9ee5cda003091b0896e66f87f3c1be8ab4442f54d20fca7232d72f60d9578f5e5ba3f376e39b64b8a2aa7b8f13b062 +SHA512 (fontconfig-2.16.1.tar.xz) = 50901593e7d3ae1727a9ae3861f2d4074e1f031f8a5ac0cb5ab8db90e35c2a12bd14e9f40185187035887a26c3aca054a751fcf97f5cff63484091aa386fec8b From 3a435a53cb482bd8c33827561775197548adcf3a Mon Sep 17 00:00:00 2001 From: Akira TAGOH Date: Fri, 11 Apr 2025 16:57:07 +0900 Subject: [PATCH 22/27] New upstream release. --- .gitignore | 1 + fontconfig.spec | 5 ++++- sources | 3 +-- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 866d60a..ef7450e 100644 --- a/.gitignore +++ b/.gitignore @@ -42,3 +42,4 @@ fontconfig-2.8.0.tar.gz /fontconfig-2.15.0.tar.xz /fontconfig-2.16.0.tar.xz /fontconfig-2.16.1.tar.xz +/fontconfig-2.16.2.tar.xz diff --git a/fontconfig.spec b/fontconfig.spec index 0502868..7e5818d 100644 --- a/fontconfig.spec +++ b/fontconfig.spec @@ -4,7 +4,7 @@ Summary: Font configuration and customization library Name: fontconfig -Version: 2.16.1 +Version: 2.16.2 Release: 1%{?dist} # src/ftglue.[ch] is in Public Domain # src/fccache.c contains Public Domain code @@ -202,6 +202,9 @@ fi %doc fontconfig-devel.txt fontconfig-devel.html %changelog +* Fri Apr 11 2025 Akira TAGOH - 2.16.2-1 +- New upstream release. + * Thu Mar 13 2025 Akira TAGOH - 2.16.1-1 - New upstream release. diff --git a/sources b/sources index 2efbd1f..f17bc64 100644 --- a/sources +++ b/sources @@ -1,2 +1 @@ -SHA512 (fontconfig-2.16.0.tar.xz) = 90b5c39e5eadc56a9fbddd69b2a6eaa6bf9ee5cda003091b0896e66f87f3c1be8ab4442f54d20fca7232d72f60d9578f5e5ba3f376e39b64b8a2aa7b8f13b062 -SHA512 (fontconfig-2.16.1.tar.xz) = 50901593e7d3ae1727a9ae3861f2d4074e1f031f8a5ac0cb5ab8db90e35c2a12bd14e9f40185187035887a26c3aca054a751fcf97f5cff63484091aa386fec8b +SHA512 (fontconfig-2.16.2.tar.xz) = b51ac822f00b41026d74b73aabcdb5ec766b68c478fdb0a50d5ec20c5ad4661ba38417aac088ee86ef097bd1ecda708f818636389acb34502444298a08701c12 From 518fc318a28bc4058a74a82a38c06112748f440e Mon Sep 17 00:00:00 2001 From: Akira TAGOH Date: Fri, 11 Apr 2025 17:14:41 +0900 Subject: [PATCH 23/27] Adjust patches and cleanup --- ...config-disable-network-required-test.patch | 26 +++++++++-------- fontconfig-meson-cachedir.patch | 29 ------------------- fontconfig-meson-endianness.patch | 25 ---------------- 3 files changed, 14 insertions(+), 66 deletions(-) delete mode 100644 fontconfig-meson-cachedir.patch delete mode 100644 fontconfig-meson-endianness.patch diff --git a/fontconfig-disable-network-required-test.patch b/fontconfig-disable-network-required-test.patch index b276aa5..d73f26a 100644 --- a/fontconfig-disable-network-required-test.patch +++ b/fontconfig-disable-network-required-test.patch @@ -1,16 +1,16 @@ -diff -pruN fontconfig-2.16.0.orig/test/meson.build fontconfig-2.16.0/test/meson.build ---- fontconfig-2.16.0.orig/test/meson.build 2025-01-18 00:15:05.000000000 +0900 -+++ fontconfig-2.16.0/test/meson.build 2025-01-18 01:07:12.893480441 +0900 -@@ -15,7 +15,7 @@ if host_machine.system() != 'windows' - ['test-bz106632.c', {'c_args': ['-DFONTFILE="@0@"'.format(join_paths(meson.current_source_dir(), '4x6.pcf'))]}], - ['test-issue107.c'], # FIXME: fails on mingw +diff -pruN fontconfig-2.16.2.orig/test/meson.build fontconfig-2.16.2/test/meson.build +--- fontconfig-2.16.2.orig/test/meson.build 2025-04-11 15:47:01.000000000 +0900 ++++ fontconfig-2.16.2/test/meson.build 2025-04-11 17:09:10.556195744 +0900 +@@ -18,7 +18,7 @@ if host_machine.system() != 'windows' + ] + tests_not_parallel += [ # FIXME: this needs NotoSans-hinted.zip font downloaded and unpacked into test build directory! see run-test.sh - ['test-crbug1004254.c', {'dependencies': dependency('threads')}], # for pthread + #['test-crbug1004254.c', {'dependencies': dependency('threads')}], # for pthread ] if get_option('default_library') == 'static' -@@ -62,12 +62,12 @@ if host_machine.system() != 'windows' +@@ -70,13 +70,13 @@ if host_machine.system() != 'windows' test('run_test_sh', find_program('run-test.sh'), timeout: 600, env: ['srcdir=@0@'.format(meson.current_source_dir()), 'builddir=@0@'.format(meson.current_build_dir()), 'EXEEXT=@0@'.format(conf.get('EXEEXT')), 'VERBOSE=1']) @@ -18,20 +18,22 @@ diff -pruN fontconfig-2.16.0.orig/test/meson.build fontconfig-2.16.0/test/meson. - test('pytest', pytest, args: ['--tap'], - workdir: meson.current_source_dir(), - env: ['builddir=@0@'.format(meson.current_build_dir())], -- protocol: 'tap') +- protocol: 'tap', +- timeout: 600) - endif +# if pytest.found() +# test('pytest', pytest, args: ['--tap'], +# workdir: meson.current_source_dir(), +# env: ['builddir=@0@'.format(meson.current_build_dir())], -+# protocol: 'tap') ++# protocol: 'tap', ++# timeout: 600) +# endif endif if jsonc_dep.found() -diff -pruN fontconfig-2.16.0.orig/test/run-test.sh fontconfig-2.16.0/test/run-test.sh ---- fontconfig-2.16.0.orig/test/run-test.sh 2025-01-18 00:15:05.000000000 +0900 -+++ fontconfig-2.16.0/test/run-test.sh 2025-01-18 01:06:54.310144693 +0900 +diff -pruN fontconfig-2.16.2.orig/test/run-test.sh fontconfig-2.16.2/test/run-test.sh +--- fontconfig-2.16.2.orig/test/run-test.sh 2025-04-11 15:47:01.000000000 +0900 ++++ fontconfig-2.16.2/test/run-test.sh 2025-04-11 17:08:18.741839058 +0900 @@ -499,18 +499,18 @@ rm -rf "$MYCACHEBASEDIR" "$MYCONFIG" "$B fi # if [ "x$EXEEXT" = "x" ] diff --git a/fontconfig-meson-cachedir.patch b/fontconfig-meson-cachedir.patch deleted file mode 100644 index e1313c9..0000000 --- a/fontconfig-meson-cachedir.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 9b864e8ceb480c31cd76ce3fe1d6215f8655ec55 Mon Sep 17 00:00:00 2001 -From: Akira TAGOH -Date: Mon, 20 Jan 2025 12:08:36 +0900 -Subject: [PATCH] meson: create fc_cachedir at the installation time - -Fixes https://gitlab.freedesktop.org/fontconfig/fontconfig/-/issues/445 ---- - meson.build | 5 +++++ - 1 file changed, 5 insertions(+) - -diff --git a/meson.build b/meson.build -index 4439758..85968b2 100644 ---- a/meson.build -+++ b/meson.build -@@ -550,6 +550,11 @@ if not meson.is_subproject() - meson.add_dist_script('build-aux/meson-dist-autotools.py') - endif - -+if host_machine.system() != 'windows' -+ install_emptydir(fc_cachedir, -+ install_tag: 'runtime') -+endif -+ - # Summary - doc_targets = get_variable('doc_targets', []) - --- -2.48.1 - diff --git a/fontconfig-meson-endianness.patch b/fontconfig-meson-endianness.patch deleted file mode 100644 index d880c4d..0000000 --- a/fontconfig-meson-endianness.patch +++ /dev/null @@ -1,25 +0,0 @@ -diff --git a/meson.build b/meson.build -index 85968b29..b9501dfc 100644 ---- a/meson.build -+++ b/meson.build -@@ -181,6 +181,7 @@ conf.set_quoted('PACKAGE_VERSION', meson.project_version()) - conf.set_quoted('PACKAGE_STRING', '@0@ @1@'.format(meson.project_name(), meson.project_version())) - conf.set_quoted('PACKAGE_BUGREPORT', 'https://gitlab.freedesktop.org/fontconfig/fontconfig/issues/new') - conf.set_quoted('PACKAGE_URL', '') -+conf.set('WORDS_BIGENDIAN', (host_machine.endian() == 'big').to_int()) - - if host_machine.system() == 'windows' - conf.set('EXEEXT', '.exe') -diff --git a/src/fcmd5.h b/src/fcmd5.h -index 7e8a6e1e..bf507285 100644 ---- a/src/fcmd5.h -+++ b/src/fcmd5.h -@@ -27,7 +27,7 @@ static void MD5Update(struct MD5Context *ctx, const unsigned char *buf, unsigned - static void MD5Final(unsigned char digest[16], struct MD5Context *ctx); - static void MD5Transform(FcChar32 buf[4], FcChar32 in[16]); - --#ifndef WORDS_BIGENDIAN -+#if !defined(WORDS_BIGENDIAN) || !WORDS_BIGENDIAN - #define byteReverse(buf, len) /* Nothing */ - #else - /* From 9a1e8029b08ec413091ea00d11801700b8cd64bd Mon Sep 17 00:00:00 2001 From: Akira TAGOH Date: Fri, 27 Jun 2025 14:48:43 +0900 Subject: [PATCH 24/27] New upstream release. Resolves: rhbz#2375126 --- .gitignore | 1 + ...config-disable-network-required-test.patch | 77 +++++++++++++++---- fontconfig.spec | 8 +- sources | 2 +- 4 files changed, 69 insertions(+), 19 deletions(-) diff --git a/.gitignore b/.gitignore index ef7450e..8ea9665 100644 --- a/.gitignore +++ b/.gitignore @@ -43,3 +43,4 @@ fontconfig-2.8.0.tar.gz /fontconfig-2.16.0.tar.xz /fontconfig-2.16.1.tar.xz /fontconfig-2.16.2.tar.xz +/fontconfig-2.17.0.tar.xz diff --git a/fontconfig-disable-network-required-test.patch b/fontconfig-disable-network-required-test.patch index d73f26a..e048b49 100644 --- a/fontconfig-disable-network-required-test.patch +++ b/fontconfig-disable-network-required-test.patch @@ -1,40 +1,87 @@ -diff -pruN fontconfig-2.16.2.orig/test/meson.build fontconfig-2.16.2/test/meson.build ---- fontconfig-2.16.2.orig/test/meson.build 2025-04-11 15:47:01.000000000 +0900 -+++ fontconfig-2.16.2/test/meson.build 2025-04-11 17:09:10.556195744 +0900 -@@ -18,7 +18,7 @@ if host_machine.system() != 'windows' +diff -pruN fontconfig-2.17.0.orig/test/meson.build fontconfig-2.17.0/test/meson.build +--- fontconfig-2.17.0.orig/test/meson.build 2025-06-27 12:12:04.000000000 +0900 ++++ fontconfig-2.17.0/test/meson.build 2025-06-27 14:41:08.843726446 +0900 +@@ -1,16 +1,16 @@ +-fetch_test_fonts = custom_target( +- 'fetch_test_fonts', +- output: 'testfonts', +- command: [ +- python3, +- join_paths(meson.project_source_root(), 'build-aux', 'fetch-testfonts.py'), +- '--target-dir', +- '@BUILD_ROOT@/testfonts', +- '--try-symlink', +- ], +- build_by_default: false, +- build_always_stale: true, +-) ++#fetch_test_fonts = custom_target( ++# 'fetch_test_fonts', ++# output: 'testfonts', ++# command: [ ++# python3, ++# join_paths(meson.project_source_root(), 'build-aux', 'fetch-testfonts.py'), ++# '--target-dir', ++# '@BUILD_ROOT@/testfonts', ++# '--try-symlink', ++# ], ++# build_by_default: false, ++# build_always_stale: true, ++#) + + tests = [ + ['test-bz89617.c', {'c_args': ['-DSRCDIR="@0@"'.format(meson.current_source_dir())]}], +@@ -33,7 +33,7 @@ if host_machine.system() != 'windows' ] tests_not_parallel += [ # FIXME: this needs NotoSans-hinted.zip font downloaded and unpacked into test build directory! see run-test.sh - ['test-crbug1004254.c', {'dependencies': dependency('threads')}], # for pthread -+ #['test-crbug1004254.c', {'dependencies': dependency('threads')}], # for pthread ++ # ['test-crbug1004254.c', {'dependencies': dependency('threads')}], # for pthread + ['test-mt-fccfg.c', {'include_directories': include_directories('../src'), 'dependencies': dependency('threads')}], ] - if get_option('default_library') == 'static' -@@ -70,13 +70,13 @@ if host_machine.system() != 'windows' +@@ -74,10 +74,10 @@ foreach test_data : tests + tests_not_pa + endforeach + + +-if get_option('fontations').enabled() +- rust = import('rust') +- rust.test('fc_fontations_rust_tests', fc_fontations, link_with: [libfontconfig_internal], depends: fetch_test_fonts, env: ['builddir=@0@'.format(meson.project_build_root())],) +-endif ++#if get_option('fontations').enabled() ++# rust = import('rust') ++# rust.test('fc_fontations_rust_tests', fc_fontations, link_with: [libfontconfig_internal], depends: fetch_test_fonts, env: ['builddir=@0@'.format(meson.project_build_root())],) ++#endif + + fs = import('fs') + +@@ -92,14 +92,14 @@ if host_machine.system() != 'windows' test('run_test_sh', find_program('run-test.sh'), timeout: 600, env: ['srcdir=@0@'.format(meson.current_source_dir()), 'builddir=@0@'.format(meson.current_build_dir()), 'EXEEXT=@0@'.format(conf.get('EXEEXT')), 'VERBOSE=1']) - if pytest.found() - test('pytest', pytest, args: ['--tap'], - workdir: meson.current_source_dir(), -- env: ['builddir=@0@'.format(meson.current_build_dir())], +- env: ['builddir=@0@'.format(meson.project_build_root())], - protocol: 'tap', -- timeout: 600) +- timeout: 600, +- depends: fetch_test_fonts) - endif +# if pytest.found() +# test('pytest', pytest, args: ['--tap'], +# workdir: meson.current_source_dir(), -+# env: ['builddir=@0@'.format(meson.current_build_dir())], ++# env: ['builddir=@0@'.format(meson.project_build_root())], +# protocol: 'tap', -+# timeout: 600) ++# timeout: 600, ++# depends: fetch_test_fonts) +# endif endif if jsonc_dep.found() -diff -pruN fontconfig-2.16.2.orig/test/run-test.sh fontconfig-2.16.2/test/run-test.sh ---- fontconfig-2.16.2.orig/test/run-test.sh 2025-04-11 15:47:01.000000000 +0900 -+++ fontconfig-2.16.2/test/run-test.sh 2025-04-11 17:08:18.741839058 +0900 -@@ -499,18 +499,18 @@ rm -rf "$MYCACHEBASEDIR" "$MYCONFIG" "$B +diff -pruN fontconfig-2.17.0.orig/test/run-test.sh fontconfig-2.17.0/test/run-test.sh +--- fontconfig-2.17.0.orig/test/run-test.sh 2025-06-27 12:12:04.000000000 +0900 ++++ fontconfig-2.17.0/test/run-test.sh 2025-06-27 14:39:19.098581228 +0900 +@@ -521,18 +521,18 @@ rm -rf "$MYCACHEBASEDIR" "$MYCONFIG" "$B fi # if [ "x$EXEEXT" = "x" ] diff --git a/fontconfig.spec b/fontconfig.spec index 7e5818d..0c5b455 100644 --- a/fontconfig.spec +++ b/fontconfig.spec @@ -4,7 +4,7 @@ Summary: Font configuration and customization library Name: fontconfig -Version: 2.16.2 +Version: 2.17.0 Release: 1%{?dist} # src/ftglue.[ch] is in Public Domain # src/fccache.c contains Public Domain code @@ -87,8 +87,6 @@ mv conf.d/65-nonlatin.conf conf.d/69-nonlatin.conf install -p -m 0644 %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/fonts/conf.d ln -s %{_fontconfig_templatedir}/25-unhint-nonlatin.conf $RPM_BUILD_ROOT%{_fontconfig_confdir}/ -rm $RPM_BUILD_ROOT/%{_libdir}/libfontconfig.a - # Use implied value to allow the use of conditional conf rm $RPM_BUILD_ROOT%{_sysconfdir}/fonts/conf.d/10-sub-pixel-*.conf @@ -202,6 +200,10 @@ fi %doc fontconfig-devel.txt fontconfig-devel.html %changelog +* Fri Jun 27 2025 Akira TAGOH - 2.17.0-1 +- New upstream release. + Resolves: rhbz#2375126 + * Fri Apr 11 2025 Akira TAGOH - 2.16.2-1 - New upstream release. diff --git a/sources b/sources index f17bc64..9a3bb99 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (fontconfig-2.16.2.tar.xz) = b51ac822f00b41026d74b73aabcdb5ec766b68c478fdb0a50d5ec20c5ad4661ba38417aac088ee86ef097bd1ecda708f818636389acb34502444298a08701c12 +SHA512 (fontconfig-2.17.0.tar.xz) = dd64905c3e0e5c5881df505b8f0bea594bbac5ce145f57aedcd7130978cd285491497198d8f2d6ed26f7b2abb31268dc3ff97aa75ce998b8e57f2d5c75b240b4 From 8bca22ae6843289d280f9d03098bcede86764255 Mon Sep 17 00:00:00 2001 From: Akira TAGOH Date: Mon, 30 Jun 2025 16:50:15 +0900 Subject: [PATCH 25/27] Backport a patch to fix a crash with Graphite fonts Drop 70-*bitmaps*.conf from /etc/fonts/conf.d so far. Resolves: rhbz#2375426 --- fontconfig-fix-crash.patch | 28 ++++++++++++++++++++++++++++ fontconfig.spec | 9 +++++++++ 2 files changed, 37 insertions(+) create mode 100644 fontconfig-fix-crash.patch diff --git a/fontconfig-fix-crash.patch b/fontconfig-fix-crash.patch new file mode 100644 index 0000000..c52b33d --- /dev/null +++ b/fontconfig-fix-crash.patch @@ -0,0 +1,28 @@ +From b9bec06d73340f1b5727302d13ac3df307b7febc Mon Sep 17 00:00:00 2001 +From: Akira TAGOH +Date: Mon, 30 Jun 2025 09:05:18 +0900 +Subject: [PATCH] Fix a heap buffer overflow + +https://gitlab.freedesktop.org/fontconfig/fontconfig/-/issues/481 + +Changelog: fixed +--- + src/fcfreetype.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/fcfreetype.c b/src/fcfreetype.c +index 7a4d9811..0a87d27a 100644 +--- a/src/fcfreetype.c ++++ b/src/fcfreetype.c +@@ -2661,7 +2661,7 @@ FcFontCapabilities (FT_Face face) + goto bail; + + maxsize = (((FT_ULong)gpos_count + (FT_ULong)gsub_count) * OTLAYOUT_LEN + +- (issilgraphitefont ? strlen(fcSilfCapability) : 0)); ++ (issilgraphitefont ? strlen(fcSilfCapability) + 1: 0)); + complex_ = malloc (sizeof (FcChar8) * maxsize); + if (!complex_) + goto bail; +-- +2.50.0 + diff --git a/fontconfig.spec b/fontconfig.spec index 0c5b455..ebc311e 100644 --- a/fontconfig.spec +++ b/fontconfig.spec @@ -22,6 +22,7 @@ Patch0: %{name}-sleep-less.patch Patch4: %{name}-drop-lang-from-pkgkit-format.patch Patch5: %{name}-disable-network-required-test.patch Patch6: %{name}-lower-nonlatin-conf.patch +Patch7: %{name}-fix-crash.patch BuildRequires: libxml2-devel BuildRequires: freetype-devel >= %{freetype_version} @@ -90,6 +91,9 @@ ln -s %{_fontconfig_templatedir}/25-unhint-nonlatin.conf $RPM_BUILD_ROOT%{_fontc # Use implied value to allow the use of conditional conf rm $RPM_BUILD_ROOT%{_sysconfdir}/fonts/conf.d/10-sub-pixel-*.conf +# Do not enable bitmap-related conf +rm $RPM_BUILD_ROOT%{_sysconfdir}/fonts/conf.d/70-*bitmaps*.conf + # Install docs manually install -d $RPM_BUILD_ROOT%{_mandir}/man1 install -d $RPM_BUILD_ROOT%{_mandir}/man3 @@ -200,6 +204,11 @@ fi %doc fontconfig-devel.txt fontconfig-devel.html %changelog +* Mon Jun 30 2025 Akira TAGOH - 2.17.0-2 +- Backport a patch to fix a crash with Graphite fonts +- Drop 70-*bitmaps*.conf from /etc/fonts/conf.d so far. + Resolves: rhbz#2375426 + * Fri Jun 27 2025 Akira TAGOH - 2.17.0-1 - New upstream release. Resolves: rhbz#2375126 From b06b4f8a9146a7e2fa129af061d270d44f16977e Mon Sep 17 00:00:00 2001 From: Akira TAGOH Date: Mon, 30 Jun 2025 16:51:15 +0900 Subject: [PATCH 26/27] bump a release --- fontconfig.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fontconfig.spec b/fontconfig.spec index ebc311e..e4c4b0d 100644 --- a/fontconfig.spec +++ b/fontconfig.spec @@ -5,7 +5,7 @@ Summary: Font configuration and customization library Name: fontconfig Version: 2.17.0 -Release: 1%{?dist} +Release: 2%{?dist} # src/ftglue.[ch] is in Public Domain # src/fccache.c contains Public Domain code ## https://gitlab.com/fedora/legal/fedora-license-data/-/issues/177 From 90ff975dce8834d53778e793405bb55abf7d6980 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 23 Jul 2025 20:41:05 +0000 Subject: [PATCH 27/27] Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild --- fontconfig.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/fontconfig.spec b/fontconfig.spec index e4c4b0d..1bc63c7 100644 --- a/fontconfig.spec +++ b/fontconfig.spec @@ -5,7 +5,7 @@ Summary: Font configuration and customization library Name: fontconfig Version: 2.17.0 -Release: 2%{?dist} +Release: 3%{?dist} # src/ftglue.[ch] is in Public Domain # src/fccache.c contains Public Domain code ## https://gitlab.com/fedora/legal/fedora-license-data/-/issues/177 @@ -204,6 +204,9 @@ fi %doc fontconfig-devel.txt fontconfig-devel.html %changelog +* Wed Jul 23 2025 Fedora Release Engineering - 2.17.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + * Mon Jun 30 2025 Akira TAGOH - 2.17.0-2 - Backport a patch to fix a crash with Graphite fonts - Drop 70-*bitmaps*.conf from /etc/fonts/conf.d so far.