Compare commits

..

No commits in common. "rawhide" and "f42" have entirely different histories.

8 changed files with 86 additions and 132 deletions

3
.gitignore vendored
View file

@ -41,6 +41,3 @@ 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
/fontconfig-2.16.2.tar.xz
/fontconfig-2.17.0.tar.xz

View file

@ -1,87 +1,38 @@
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 += [
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
['test-mt-fccfg.c', {'include_directories': include_directories('../src'), 'dependencies': dependency('threads')}],
+ #['test-crbug1004254.c', {'dependencies': dependency('threads')}], # for pthread
]
@@ -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'
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.project_build_root())],
- protocol: 'tap',
- timeout: 600,
- depends: fetch_test_fonts)
- 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.project_build_root())],
+# protocol: 'tap',
+# timeout: 600,
+# depends: fetch_test_fonts)
+# env: ['builddir=@0@'.format(meson.current_build_dir())],
+# protocol: 'tap')
+# endif
endif
if jsonc_dep.found()
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
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" ]

View file

@ -1,12 +1,12 @@
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:-<unknown filename>|basename}: \"%{family[0]:-<unknown family>}\" \"%{style[0]:-<unknown style>}\""
#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.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:-<unknown filename>|basename}: \"%{family[0]:-<unknown family>}\" \"%{style[0]:-<unknown style>}\""
#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, ...)

View file

@ -1,28 +0,0 @@
From b9bec06d73340f1b5727302d13ac3df307b7febc Mon Sep 17 00:00:00 2001
From: Akira TAGOH <akira@tagoh.org>
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

View file

@ -0,0 +1,29 @@
From 9b864e8ceb480c31cd76ce3fe1d6215f8655ec55 Mon Sep 17 00:00:00 2001
From: Akira TAGOH <akira@tagoh.org>
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

View file

@ -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
/*

View file

@ -4,8 +4,8 @@
Summary: Font configuration and customization library
Name: fontconfig
Version: 2.17.0
Release: 3%{?dist}
Version: 2.16.0
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
@ -22,7 +22,8 @@ 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
Patch7: %{name}-meson-cachedir.patch
Patch8: %{name}-meson-endianness.patch
BuildRequires: libxml2-devel
BuildRequires: freetype-devel >= %{freetype_version}
@ -91,9 +92,6 @@ 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
@ -204,24 +202,6 @@ fi
%doc fontconfig-devel.txt fontconfig-devel.html
%changelog
* Wed Jul 23 2025 Fedora Release Engineering <releng@fedoraproject.org> - 2.17.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
* Mon Jun 30 2025 Akira TAGOH <tagoh@redhat.com> - 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 <tagoh@redhat.com> - 2.17.0-1
- New upstream release.
Resolves: rhbz#2375126
* Fri Apr 11 2025 Akira TAGOH <tagoh@redhat.com> - 2.16.2-1
- New upstream release.
* Thu Mar 13 2025 Akira TAGOH <tagoh@redhat.com> - 2.16.1-1
- New upstream release.
* Mon Jan 27 2025 Akira TAGOH <tagoh@redhat.com> - 2.16.0-2
- Fix endian detection.
Resolves: rhbz#2341757

View file

@ -1 +1 @@
SHA512 (fontconfig-2.17.0.tar.xz) = dd64905c3e0e5c5881df505b8f0bea594bbac5ce145f57aedcd7130978cd285491497198d8f2d6ed26f7b2abb31268dc3ff97aa75ce998b8e57f2d5c75b240b4
SHA512 (fontconfig-2.16.0.tar.xz) = 90b5c39e5eadc56a9fbddd69b2a6eaa6bf9ee5cda003091b0896e66f87f3c1be8ab4442f54d20fca7232d72f60d9578f5e5ba3f376e39b64b8a2aa7b8f13b062