diff --git a/.gitignore b/.gitignore index 01db142..ed90fd2 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,2 @@ afdko-*tar.gz afdko-*/ -/antlr4-cpp-runtime-4.9.3-source.zip -/antlr4-cpp-runtime-4.12.0-source.zip -/antlr4-cpp-runtime-4.13.2-source.zip diff --git a/adobe-afdko-c99-1.patch b/adobe-afdko-c99-1.patch new file mode 100644 index 0000000..543d88e --- /dev/null +++ b/adobe-afdko-c99-1.patch @@ -0,0 +1,21 @@ +Upstream, this is part of this commit: + +commit 26761e9616f8a52aa14e7041ac9cbb0e139a1d83 +Author: Skef Iterum +Date: Thu May 13 05:33:44 2021 -0700 + + Antlr 4 feature file parser and CMake build system + +diff --git a/c/makeotf/makeotf_lib/source/hotconv/STAT.c b/c/makeotf/makeotf_lib/source/hotconv/STAT.c +index a93cb6571ad14fab..7d31230cf87bd941 100644 +--- a/c/makeotf/makeotf_lib/source/hotconv/STAT.c ++++ b/c/makeotf/makeotf_lib/source/hotconv/STAT.c +@@ -301,7 +301,7 @@ void STATAddDesignAxis(hotCtx g, Tag tag, uint16_t nameID, uint16_t ordering) { + + // Currently registered tags are 'wght', 'wdth', 'opsz', 'ital', 'slnt' + char tagString[4] = {TAG_ARG(tag)}; +- const uint32_t *regTags[5] = { ++ const uint32_t regTags[5] = { + TAG('i', 't', 'a', 'l'), + TAG('o', 'p', 's', 'z'), + TAG('s', 'l', 'n', 't'), diff --git a/adobe-afdko-c99-2.patch b/adobe-afdko-c99-2.patch new file mode 100644 index 0000000..f02fe9f --- /dev/null +++ b/adobe-afdko-c99-2.patch @@ -0,0 +1,37 @@ +Author: Sergei Trofimovich +Date: Wed Dec 6 20:41:57 2023 +0000 + + c/shared/source/t1write/t1write.c: fix u8/u16 type mismatch on dereference (gcc-14) + + Upcoming `gcc-14` enabled a few warnings into errors, like + `-Wincompatible-pointer-types`. This caused `afdko` build to fail as: + + /build/afdko/c/shared/source/t1write/t1write.c: In function ‘saveCstr’: + /build/afdko/c/shared/source/t1write/t1write.c:348:28: error: passing argument 3 of ‘writeTmp’ from incompatible pointer type [-Wincompatible-pointer-types] + 348 | if (writeTmp(h, 1, &info->iFD)) + | ^~~~~~~~~~ + | | + | uint16_t * {aka short unsigned int *} + + The code attempts to use only one byte of 16-bit value. The code very + likely is broken on a big-endian system. + + The change explicitly truncates 16-bit value down to 8 bit value to + retain existing behaviour on both BE and LE systems. + +Submitted upstream: + +diff --git a/c/public/lib/source/t1write/t1write.c b/c/public/lib/source/t1write/t1write.c +index e16387408a953c07..b2e4c0df27d36e56 100644 +--- a/c/public/lib/source/t1write/t1write.c ++++ b/c/public/lib/source/t1write/t1write.c +@@ -345,7 +345,8 @@ static int saveCstr(t1wCtx h, abfGlyphInfo *info, + if (info != NULL && info->flags & ABF_GLYPH_CID && + !(h->arg.flags & T1W_TYPE_HOST)) { + /* CID-keyed incremental download; write fd index */ +- if (writeTmp(h, 1, &info->iFD)) ++ unsigned char c = info->iFD; ++ if (writeTmp(h, 1, &c)) + return 1; + cstr->length++; + } diff --git a/adobe-afdko.spec b/adobe-afdko.spec index 783b15a..b310e9b 100644 --- a/adobe-afdko.spec +++ b/adobe-afdko.spec @@ -1,101 +1,48 @@ -# Upstream actually uses a post-release snapshot of commit -# df4d68c09cdef73e023b8838a8bc7ca4dff1d1de “that addresses a missing include -# directive needed in more recent Visual Studio releases;” we should be able to -# get by with the release. -%global antl4_ver 4.13.2 +%global archivename afdko Name: adobe-afdko -Version: 4.0.3 -Release: 2%{?dist} +Version: 3.6.1 +Release: 10%{?dist} Summary: Adobe Font Development Kit for OpenType -# Everything is Apache-2.0 except: -# -# The following would affect the license of a python3-afdko subpackage, which -# we currently don’t have. -# -# - License of afdko-3.6.1/python/afdko/pdflib/pdfgen.py is said to be “same as -# the Python license,” which would seem to suggest Python-2.0.1, but the -# license text matches MIT-CMU. -# - Contents of python/afdko/resources/ are derived from adobe-mappings-cmap -# and share its BSD-3-Clause license. -# -# The following do not affect the licenses of the binary RPMs. -# -# - ExternalAntlr4Cpp.cmake is BSD-3-Clause, as noted in LICENSE.md, but this -# is a build-system file and does not affect the licenses of the binary RPMs -# - Various fonts and other test data files are OFL-1.1 (and/or -# OFL-1.0-RFN/OFL-1.0-no-RFN?), but do not contribute to the licenses of the -# binary RPMs -License: Apache-2.0 +# ExternalAntlr4Cpp.cmake is BSD-3-clause +# c/makeotf/makeotf_lib/build/hotpccts/pccts/* is ANTLR-PD +# afdko-3.6.1/python/afdko/pdflib/pdfgen.py is Python-2.0.1 +# python/afdko/resources/ is BSD-3-Clause +License: Apache-2.0 AND BSD-3-Clause AND ANTLR-PD AND Python-2.0.1 URL: https://github.com/adobe-type-tools/afdko -Source0: %{url}/releases/download/%{version}/afdko-%{version}.tar.gz -Source1: https://www.antlr.org/download/antlr4-cpp-runtime-%{antl4_ver}-source.zip -BuildRequires: gcc g++ -BuildRequires: cmake -BuildRequires: libuuid-devel -BuildRequires: libxml2-devel -BuildRequires: utf8cpp-devel -Provides: bundled(antlr4-project) = %{antl4_ver} +Source0: https://github.com/adobe-type-tools/%{archivename}/releases/download/%{version}/%{archivename}-%{version}.tar.gz +Patch0: adobe-afdko-c99-1.patch +Patch1: adobe-afdko-c99-2.patch +BuildRequires: gcc +BuildRequires: make + %description Adobe Font Development Kit for OpenType (AFDKO). The AFDKO is a set of tools for building OpenType font files from PostScript and TrueType font data. %prep -%autosetup -p1 -n afdko-%{version} +%autosetup -p1 -n %{archivename}-%{version} %build %set_build_flags export XFLAGS="${CFLAGS} ${LDFLAGS}" -%cmake \ - -DANTLR4_ZIP_REPOSITORY:PATH=%{SOURCE1} -%cmake_build +pushd c +sh buildalllinux.sh release +popd %install -%cmake_install +install -m 0755 -d %{buildroot}/%{_bindir} +pushd c/build_all +find ./ -type f -executable -exec install -p -m 0755 "{}" \ + %{buildroot}/%{_bindir} ";" %files %license LICENSE.md %doc docs/ README.md NEWS.md -%{_bindir}/detype1 -%{_bindir}/makeotfexe -%{_bindir}/mergefonts -%{_bindir}/rotatefont -%{_bindir}/sfntdiff -%{_bindir}/sfntedit -%{_bindir}/spot -%{_bindir}/tx -%{_bindir}/type1 +%{_bindir}/* %changelog -* Fri Jan 16 2026 Fedora Release Engineering - 4.0.3-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild - -* Tue Dec 09 2025 Benjamin A. Beasley - 4.0.3-1 -- Updated to 4.0.3 release -- Bundled antlr4-cpp-runtime-4.13.2 -- List packaged executables explicitly -- Correct/update and better document the License expression - -* Tue Dec 09 2025 Cristian Le - 4.0.2-1 -- Updated to 4.0.2 release -- Bundled antlr4-cpp-runtime-4.12.0 -- Allow to build with CMake 4.0 - -* Wed Jul 23 2025 Fedora Release Engineering - 4.0.1-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild - -* Thu Jan 16 2025 Fedora Release Engineering - 4.0.1-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild - -* Wed Jul 17 2024 Fedora Release Engineering - 4.0.1-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild - -* Tue Jun 25 2024 Manish Tiwari - 4.0.1-1 -- Updated to 4.0.1 release -- Switched to CMake build system -- Bundled antlr4-cpp-runtime-4.9.3 - * Thu Jan 25 2024 Benjamin A. Beasley - 3.6.1-10 - Fix a typo in the License expression - Fix build not respecting distribution compiler flags; this means executables diff --git a/sources b/sources index 37e86c8..0370a30 100644 --- a/sources +++ b/sources @@ -1,2 +1 @@ -SHA512 (afdko-4.0.3.tar.gz) = 81ff16b7f2b1103032871cf6ecc6074de0b7b0b7e2bdcd1a6878601f77a831f02c7eb02e8db7e5a7cee169fa991c5563050cc875074355b807857ad51c8a8c87 -SHA512 (antlr4-cpp-runtime-4.13.2-source.zip) = 2a67afaa6ef0d0b56455850caabc94042785a07036f53b5a195cfb105d9441d89a155dcd9c089da4344a644fa73a01da071a89266340dce621901e0c47233faa +SHA512 (afdko-3.6.1.tar.gz) = 62d6625196c30508a7be2bfa751fdadba24c4391f2ec17e6a70c4445f2cc8772a9d40ff42e63b93c1f277d684460daafde16c1df6a53d75313c3968435f900a8