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/.gitignore b/.gitignore index a31f19a..e13cb52 100644 --- a/.gitignore +++ b/.gitignore @@ -148,3 +148,31 @@ /harfbuzz-8.1.1.tar.xz /harfbuzz-8.2.0.tar.xz /harfbuzz-8.2.1.tar.xz +/harfbuzz-8.3.0.tar.xz +/harfbuzz-8.3.1.tar.xz +/harfbuzz-8.4.0.tar.xz +/harfbuzz-8.5.0.tar.xz +/harfbuzz-9.0.0.tar.xz +/harfbuzz-10.0.1.tar.xz +/harfbuzz-10.1.0.tar.xz +/harfbuzz-10.2.0.tar.xz +/harfbuzz-10.3.0.tar.xz +/harfbuzz-10.4.0.tar.xz +/harfbuzz-11.0.0.tar.xz +/harfbuzz-11.0.1.tar.xz +/harfbuzz-11.1.0.tar.xz +/harfbuzz-11.2.0.tar.xz +/harfbuzz-11.2.1.tar.xz +/harfbuzz-11.3.1.tar.xz +/harfbuzz-11.3.3.tar.xz +/harfbuzz-11.4.1.tar.xz +/harfbuzz-11.4.2.tar.xz +/harfbuzz-11.4.3.tar.xz +/harfbuzz-11.4.4.tar.xz +/harfbuzz-11.4.5.tar.xz +/harfbuzz-11.5.0.tar.xz +/harfbuzz-11.5.1.tar.xz +/harfbuzz-12.0.0.tar.xz +/harfbuzz-12.1.0.tar.xz +/harfbuzz-12.2.0.tar.xz +/harfbuzz-12.3.0.tar.xz diff --git a/3a1b0f0a72525d847197a8446d9503e44b1f2add.patch b/3a1b0f0a72525d847197a8446d9503e44b1f2add.patch deleted file mode 100644 index 2d83497..0000000 --- a/3a1b0f0a72525d847197a8446d9503e44b1f2add.patch +++ /dev/null @@ -1,23 +0,0 @@ -From 3a1b0f0a72525d847197a8446d9503e44b1f2add Mon Sep 17 00:00:00 2001 -From: jfkthame -Date: Fri, 29 Sep 2023 13:15:01 +0100 -Subject: [PATCH] Check for closing quote in parse_tag - -Fixes #4414. ---- - src/hb-common.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/hb-common.cc b/src/hb-common.cc -index bd4cd88e34f..0c13c7d171f 100644 ---- a/src/hb-common.cc -+++ b/src/hb-common.cc -@@ -815,7 +815,7 @@ parse_tag (const char **pp, const char *end, hb_tag_t *tag) - } - - const char *p = *pp; -- while (*pp < end && (**pp != ' ' && **pp != '=' && **pp != '[')) -+ while (*pp < end && (**pp != ' ' && **pp != '=' && **pp != '[' && **pp != quote)) - (*pp)++; - - if (p == *pp || *pp - p > 4) diff --git a/harfbuzz.spec b/harfbuzz.spec index 60218b8..8f5f956 100644 --- a/harfbuzz.spec +++ b/harfbuzz.spec @@ -1,13 +1,12 @@ Name: harfbuzz -Version: 8.2.1 -Release: 2%{?dist} +Version: 12.3.0 +Release: 1%{?dist} Summary: Text shaping library License: MIT-Modern-Variant URL: https://github.com/harfbuzz/harfbuzz/ Source0: https://github.com/harfbuzz/harfbuzz/releases/download/%{version}/harfbuzz-%{version}.tar.xz -Patch0: https://github.com/harfbuzz/harfbuzz/commit/3a1b0f0a72525d847197a8446d9503e44b1f2add.patch BuildRequires: cairo-devel BuildRequires: freetype-devel BuildRequires: glib2-devel @@ -17,6 +16,11 @@ BuildRequires: graphite2-devel BuildRequires: gtk-doc BuildRequires: gcc-c++ BuildRequires: make +BuildRequires: meson + +# https://github.com/harfbuzz/harfbuzz/issues/3163 +%global _distro_extra_cflags -fno-exceptions +%global _distro_extra_cxxflags -fno-exceptions -fno-rtti %description HarfBuzz is an implementation of the OpenType Layout engine. @@ -26,6 +30,7 @@ HarfBuzz is an implementation of the OpenType Layout engine. Summary: Development files for %{name} Requires: %{name}%{?_isa} = %{version}-%{release} Requires: %{name}-icu%{?_isa} = %{version}-%{release} +Requires: %{name}-cairo%{?_isa} = %{version}-%{release} %description devel The %{name}-devel package contains libraries and header files for @@ -38,30 +43,40 @@ Requires: %{name}%{?_isa} = %{version}-%{release} %description icu This package contains Harfbuzz ICU support library. +%package cairo +Summary: Harfbuzz Cairo support library +Requires: %{name}%{?_isa} = %{version}-%{release} + +%description cairo +This package contains Harfbuzz Cairo support library. + %prep %autosetup -p1 %build -%configure --disable-static --with-graphite2 --with-gobject --enable-introspection -%{make_build} +%meson -Dgraphite2=enabled -Dchafa=disabled +%meson_build %install -%{make_install} -rm -f $RPM_BUILD_ROOT%{_libdir}/*.la +%meson_install + + +%check +%meson_test %ldconfig_scriptlets %ldconfig_scriptlets icu +%ldconfig_scriptlets cairo %files %license COPYING -%doc NEWS AUTHORS README +%doc NEWS AUTHORS README.md %{_libdir}/libharfbuzz.so.0* -%{_libdir}/libharfbuzz-cairo.so.* %{_libdir}/libharfbuzz-gobject.so.0* %{_libdir}/libharfbuzz-subset.so.0* %dir %{_libdir}/girepository-1.0 @@ -71,7 +86,6 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/*.la %doc %{_datadir}/gtk-doc %{_bindir}/hb-info %{_bindir}/hb-view -%{_bindir}/hb-ot-shape-closure %{_bindir}/hb-shape %{_bindir}/hb-subset %{_includedir}/harfbuzz/ @@ -92,7 +106,130 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/*.la %files icu %{_libdir}/libharfbuzz-icu.so.* +%files cairo +%{_libdir}/libharfbuzz-cairo.so.* + %changelog +* Sun Dec 28 2025 Parag Nemade - 12.3.0-1 +- Update to 12.3.0 version (#2425647) + +* Fri Nov 07 2025 Parag Nemade - 12.2.0-1 +- Update to 12.2.0 version (#2412425) + +* Thu Oct 02 2025 Parag Nemade - 12.1.0-1 +- Update to 12.1.0 version (#2400640) + +* Sun Sep 28 2025 Parag Nemade - 12.0.0-1 +- Update to 12.0.0 version (#2399955) + +* Tue Sep 23 2025 Parag Nemade - 11.5.1-1 +- Update to 11.5.1 version (#2397450) + +* Sat Sep 13 2025 Parag Nemade - 11.5.0-1 +- Update to 11.5.0 version (#2394917) + +* Sun Aug 31 2025 Parag Nemade - 11.4.5-1 +- Update to 11.4.5 version (#2392114) + +* Tue Aug 26 2025 Parag Nemade - 11.4.4-1 +- Update to 11.4.4 version (#2390958) + +* Sat Aug 23 2025 Parag Nemade - 11.4.3-1 +- Update to 11.4.3 version (#2390520) + +* Thu Aug 21 2025 Parag Nemade - 11.4.2-1 +- Update to 11.4.2 version (#2390111) + +* Thu Aug 14 2025 Parag Nemade - 11.4.1-1 +- Update to 11.4.1 version (#2388377) + +* Wed Aug 06 2025 FrantiĊĦek Zatloukal - 11.3.3-2 +- Rebuilt for icu 77.1 + +* Sun Jul 27 2025 Parag Nemade - 11.3.3-1 +- Update to 11.3.3 version (#2382209) + +* Thu Jul 24 2025 Fedora Release Engineering - 11.3.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + +* Mon Jul 21 2025 Parag Nemade - 11.3.1-1 +- Update to 11.3.1 version (#2382200) + +* Tue May 13 2025 Parag Nemade - 11.2.1-1 +- Update to 11.2.1 version (#2365793) + +* Tue Apr 29 2025 Parag Nemade - 11.2.0-1 +- Update to 11.2.0 version (#2362728) + +* Thu Apr 17 2025 Parag Nemade - 11.1.0-1 +- Update to 11.1.0 version (#2360473) + +* Sat Apr 05 2025 Parag Nemade - 11.0.1-2 +- Upstream removed hb-ot-shape-closure binary + +* Sat Apr 05 2025 Parag Nemade - 11.0.1-1 +- Update to 11.0.1 version (#2357571) + +* Mon Mar 24 2025 Parag Nemade - 11.0.0-1 +- Update to 11.0.0 version (#2354378) + +* Sat Mar 01 2025 Parag Nemade - 10.4.0-1 +- Update to 10.4.0 version (#2349122) + +* Fri Feb 21 2025 Parag Nemade - 10.3.0-1 +- Update to 10.3.0 version (#2346941) + +* Fri Jan 17 2025 Fedora Release Engineering - 10.2.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + +* Sun Jan 12 2025 Parag Nemade - 10.2.0-1 +- Update to 10.2.0 version (#2337165) + +* Sun Dec 08 2024 Pete Walter - 10.1.0-2 +- Rebuild for ICU 76 + +* Wed Nov 06 2024 Parag Nemade - 10.1.0-1 +- Update to 10.1.0 version (#2324060) + +* Wed Sep 25 2024 Parag Nemade - 10.0.1-1 +- Update to 10.0.1 version (#2314457) + +* Tue Aug 20 2024 Parag Nemade - 9.0.0-3 +- Split harfbuzz-cairo as a separate subpackage from harfbuzz-devel + +* Thu Jul 18 2024 Fedora Release Engineering - 9.0.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + +* Fri Jul 05 2024 Parag Nemade - 9.0.0-1 +- Update to 9.0.0 version (#2295503) + +* Fri Jun 21 2024 Parag Nemade - 8.5.0-1 +- Update to 8.5.0 version + +* Tue Jun 18 2024 Tom Hughes - 8.4.0-2 +- Switch to using meson for build (#2277316) + +* Sun Mar 31 2024 Parag Nemade - 8.4.0-1 +- Update to 8.4.0 version (#2272294) + +* Mon Mar 18 2024 Parag Nemade - 8.3.1-1 +- Update to 8.3.1 version (#2270012) + +* Wed Jan 31 2024 Pete Walter - 8.3.0-5 +- Rebuild for ICU 74 + +* Wed Jan 24 2024 Fedora Release Engineering - 8.3.0-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Sat Jan 20 2024 Fedora Release Engineering - 8.3.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Sun Nov 12 2023 Parag Nemade - 8.3.0-2 +- Remove the upstream released patch + +* Sun Nov 12 2023 Parag Nemade - 8.3.0-1 +- Update to 8.3.0 version (#2244950) + * Sat Sep 30 2023 Parag Nemade - 8.2.1-2 - Resolves:rh#2241391 - Fix LibreOffice tests run diff --git a/plans/harfbuzz.fmf b/plans/harfbuzz.fmf new file mode 100644 index 0000000..c1627f9 --- /dev/null +++ b/plans/harfbuzz.fmf @@ -0,0 +1,5 @@ +summary: Basic smoke test +discover: + how: fmf +execute: + how: tmt diff --git a/sources b/sources index d3058d4..7199718 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (harfbuzz-8.2.1.tar.xz) = 8f4aeb5528cb4f74facda89eb9828ccf491d577450ccdd71c331c943edf56303fa73a077d6b620687ae1ba21564aa02e202dbae98b77ac0947bc45e044c05f67 +SHA512 (harfbuzz-12.3.0.tar.xz) = 7452379ee35b312cb83b5365e480dd2cc73813fa5eb489988ea7b02fa7e8137de66ea10ef71fcbbfb3275013247c46ede3f28ac9ef92c1213424ea0b0a077b03 diff --git a/tests/main.fmf b/tests/main.fmf new file mode 100644 index 0000000..60ad885 --- /dev/null +++ b/tests/main.fmf @@ -0,0 +1,16 @@ +test: ./runtests.sh +duration: 10m +framework: beakerlib +require: + - harfbuzz + - harfbuzz-devel + - rpm-build + - meson + - gcc-c++ + - make + - python3-devel + - graphite2-devel + - libtool + - gtk-doc + - cairo-devel + - fontconfig-devel diff --git a/tests/runtests.sh b/tests/runtests.sh new file mode 100755 index 0000000..fa16bfd --- /dev/null +++ b/tests/runtests.sh @@ -0,0 +1,48 @@ +#!/bin/bash +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +NAME=harfbuzz + +rlJournalStart + rlPhaseStartSetup + rlAssertRpm ${NAME} + rlAssertRpm ${NAME}-devel + rlShowPackageVersion ${NAME} + rlRun -t -l "VERSION=$(rpm -q ${NAME} --queryformat='%{version}')" 0 "Get VERSION" + FEDORA_VERSION=$(rlGetDistroRelease) + rlLog "FEDORA_VERSION=${DISTRO_RELEASE}" + rlRun "tmp=\$(mktemp -d)" 0 "Create tmp directory" + rlRun "pushd $tmp" + rlFetchSrcForInstalled "${NAME}" + rlRun "rpm --define '_topdir $tmp' -i *src.rpm" + rlRun -t -l "mkdir BUILD" 0 "Creating BUILD directory" + rlRun -t -l "rpmbuild --noclean --nodeps --define '_topdir $tmp' -bp $tmp/SPECS/*spec" + if [ -d BUILD/${NAME}-${VERSION}-build ]; then + rlRun -t -l "pushd BUILD/${NAME}-${VERSION}-build/${NAME}-${VERSION}" + else + rlRun -t -l "pushd BUILD/${NAME}-${VERSION}" + fi + rlRun "set -o pipefail" + rlRun "meson build -Dgraphite2=enabled -Dchafa=disabled" + rlRun "pushd build" + rlRun "meson test" + rlRun "retval=$?" + rlRun "echo $retval" + rlRun "popd" + rlPhaseEnd + + rlPhaseStartTest + rlRun -t -l "INSTALLED_VERSION=$(hb-info --version|awk 'NR==1 {print $3}')" \ + 0 "Get installed version" + rlAssertEquals "versions should be equal" "${VERSION}" "${INSTALLED_VERSION}" + rlGetTestState + rlLog "Number of failed asserts so far: ${ECODE}" + rlRun "popd" 0 + rlPhaseEnd + + rlPhaseStartCleanup + rlRun "popd" + rlRun "rm -r $tmp" 0 "Remove tmp directory" + rlPhaseEnd +rlJournalEnd + diff --git a/tests/smoke/runtest.sh b/tests/smoke/runtest.sh deleted file mode 100644 index b8492d6..0000000 --- a/tests/smoke/runtest.sh +++ /dev/null @@ -1,21 +0,0 @@ -#!/bin/bash -set -e -cd ../source - -echo "---Start autogen.sh---" -NOCONFIGURE=1 ./autogen.sh -echo "---End autogen.sh---" -echo "--------------------" - -./configure --disable-static --with-graphite2 --with-gobject --enable-introspection -echo "--------------------" -echo "---Start make check---" -make check -retval=$? -echo $retval -if [ $retval -ne 0 ]; then - echo "make check failed" -else - echo "make check completed sucessfully" -fi -echo "---End make check---" diff --git a/tests/tests.yml b/tests/tests.yml deleted file mode 100644 index 7b091f5..0000000 --- a/tests/tests.yml +++ /dev/null @@ -1,25 +0,0 @@ ---- -- hosts: localhost - tags: - - classic - roles: - - role: standard-test-source - -- hosts: localhost - tags: - - classic - roles: - - role: standard-test-basic - tests: - - smoke - required_packages: - - autoconf - - automake - - m4 - - gcc-c++ - - make - - python3-devel - - libtool - - gtk-doc - - cairo-devel - - fontconfig-devel