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 376bf7c..e13cb52 100644 --- a/.gitignore +++ b/.gitignore @@ -125,3 +125,54 @@ /harfbuzz-3.3.2.tar.xz /harfbuzz-3.4.0.tar.xz /harfbuzz-4.0.0.tar.xz +/harfbuzz-4.0.1.tar.xz +/harfbuzz-4.1.0.tar.xz +/harfbuzz-4.2.0.tar.xz +/harfbuzz-4.2.1.tar.xz +/harfbuzz-4.3.0.tar.xz +/harfbuzz-4.4.0.tar.xz +/harfbuzz-4.4.1.tar.xz +/harfbuzz-5.0.1.tar.xz +/harfbuzz-5.1.0.tar.xz +/harfbuzz-5.2.0.tar.xz +/harfbuzz-5.3.0.tar.xz +/harfbuzz-5.3.1.tar.xz +/harfbuzz-6.0.0.tar.xz +/harfbuzz-7.0.0.tar.xz +/harfbuzz-7.0.1.tar.xz +/harfbuzz-7.1.0.tar.xz +/harfbuzz-7.2.0.tar.xz +/harfbuzz-7.3.0.tar.xz +/harfbuzz-8.0.0.tar.xz +/harfbuzz-8.0.1.tar.xz +/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/harfbuzz.spec b/harfbuzz.spec index 48173ae..8f5f956 100644 --- a/harfbuzz.spec +++ b/harfbuzz.spec @@ -1,10 +1,10 @@ Name: harfbuzz -Version: 4.0.0 +Version: 12.3.0 Release: 1%{?dist} Summary: Text shaping library -License: MIT -URL: https://harfbuzz.github.io/ +License: MIT-Modern-Variant +URL: https://github.com/harfbuzz/harfbuzz/ Source0: https://github.com/harfbuzz/harfbuzz/releases/download/%{version}/harfbuzz-%{version}.tar.xz BuildRequires: cairo-devel @@ -15,7 +15,12 @@ BuildRequires: libicu-devel BuildRequires: graphite2-devel BuildRequires: gtk-doc BuildRequires: gcc-c++ -BuildRequires: make +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. @@ -25,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 @@ -37,28 +43,39 @@ 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-gobject.so.0* %{_libdir}/libharfbuzz-subset.so.0* @@ -67,16 +84,18 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/*.la %files devel %doc %{_datadir}/gtk-doc +%{_bindir}/hb-info %{_bindir}/hb-view -%{_bindir}/hb-ot-shape-closure %{_bindir}/hb-shape %{_bindir}/hb-subset %{_includedir}/harfbuzz/ %{_libdir}/libharfbuzz.so %{_libdir}/libharfbuzz-gobject.so +%{_libdir}/libharfbuzz-cairo.so %{_libdir}/libharfbuzz-icu.so %{_libdir}/libharfbuzz-subset.so %{_libdir}/pkgconfig/harfbuzz.pc +%{_libdir}/pkgconfig/harfbuzz-cairo.pc %{_libdir}/pkgconfig/harfbuzz-gobject.pc %{_libdir}/pkgconfig/harfbuzz-icu.pc %{_libdir}/pkgconfig/harfbuzz-subset.pc @@ -87,7 +106,232 @@ 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 + +* Wed Sep 20 2023 Parag Nemade - 8.2.1-1 +- Update to 8.2.1 version (#2239664) + +* Tue Sep 12 2023 Parag Nemade - 8.2.0-1 +- Update to 8.2.0 version (#2238190) + +* Thu Aug 03 2023 Parag Nemade - 8.1.1-1 +- Update to 8.1.1 version (#2228195) + +* Thu Jul 20 2023 Fedora Release Engineering - 8.0.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Tue Jul 18 2023 Parag Nemade - 8.0.1-2 +- Attempt another build for previouslt failed i686 build + +* Fri Jul 14 2023 Parag Nemade - 8.0.1-1 +- Update to 8.0.1 version (#2222800) + +* Tue Jul 11 2023 František Zatloukal - 8.0.0-2 +- Rebuilt for ICU 73.2 + +* Tue Jul 11 2023 Parag Nemade - 8.0.0-1 +- Update to 8.0.0 version (#2221636) + +* Fri Jul 07 2023 Parag Nemade - 7.3.0-2 +- Migrate to SPDX license expression + +* Thu May 11 2023 Parag Nemade - 7.3.0-1 +- Update to 7.3.0 version (#2201459) + +* Fri Apr 28 2023 Parag Nemade - 7.2.0-1 +- Update to 7.2.0 version (#2190067) + +* Fri Mar 03 2023 Parag Nemade - 7.1.0-1 +- Update to 7.1.0 version (#2175109) + +* Sat Feb 25 2023 Marek Kasik - 7.0.1-2 +- Rebuild for freetype-2.13.0 + +* Wed Feb 22 2023 Parag Nemade - 7.0.1-1 +- Update to 7.0.1 version (#2169172) + +* Mon Feb 13 2023 Parag Nemade - 7.0.0-2 +- Add hb-info, libharfbuzz-cairo library files + +* Mon Feb 13 2023 Parag Nemade - 7.0.0-1 +- Update to 7.0.0 version (#2169172) + +* Thu Jan 19 2023 Fedora Release Engineering - 6.0.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Sat Dec 31 2022 Pete Walter - 6.0.0-2 +- Rebuild for ICU 72 + +* Sat Dec 17 2022 Parag Nemade - 6.0.0-1 +- Update to 6.0.0 version (#2154489) + +* Mon Oct 24 2022 Parag Nemade - 5.3.1-1 +- Update to 5.3.1 version (#2136315) + +* Tue Oct 11 2022 Parag Nemade - 5.3.0-1 +- Update to 5.3.0 version (#2133292) + +* Sat Sep 17 2022 Parag Nemade - 5.2.0-1 +- Update to 5.2.0 version (#2127603) + +* Mon Aug 01 2022 Frantisek Zatloukal - 5.1.0-2 +- Rebuilt for ICU 71.1 + +* Mon Aug 01 2022 Parag Nemade - 5.1.0-1 +- Update to 5.1.0 version (#2112779) + +* Sun Jul 24 2022 Parag Nemade - 5.0.1-1 +- Update to 5.0.1 version (#2110181) + +* Thu Jul 21 2022 Fedora Release Engineering - 4.4.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Wed Jun 29 2022 Parag Nemade - 4.4.1-1 +- Update to 4.4.1 version (#2102301) + +* Tue Jun 28 2022 Parag Nemade - 4.4.0-1 +- Update to 4.4.0 version (#2101663) + +* Mon May 23 2022 Parag Nemade - 4.3.0-1 +- Update to 4.3.0 version (#2088860) + +* Mon Apr 25 2022 Parag Nemade - 4.2.1-1 +- Update to 4.2.1 version (#2078234) + +* Thu Mar 31 2022 Parag Nemade - 4.2.0-1 +- Update to 4.2.0 version (#2070259) + +* Mon Mar 28 2022 Parag Nemade - 4.1.0-1 +- Update to 4.1.0 version (#2067726) + +* Mon Mar 14 2022 Parag Nemade - 4.0.1-1 +- Update to 4.0.1 version (#2063439) + * Thu Mar 03 2022 Parag Nemade - 4.0.0-1 - Update to 4.0.0 version (#2059806) 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 660ba52..7199718 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (harfbuzz-4.0.0.tar.xz) = d61054e3b8b85320526f5dd29c7a8a8a440634a2894edad3b7b44704ae91cb89aa1dbd2060e9fbf69f016fb9c259034d26bf38846857135651c25576f44c81ce +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 65e1ad1..0000000 --- a/tests/smoke/runtest.sh +++ /dev/null @@ -1,9 +0,0 @@ -#!/bin/bash -cd ../source - -echo "---Start autogen.sh---" -NOCONFIGURE=1 ./autogen.sh -echo "---End autogen.sh---" -echo "--------------------" - -find . -type f -exec sed -i 's/env python/python3/g' {} \; && ./configure --disable-static --with-graphite2 && echo "--------------------"; echo "---Start make check---"; make check; echo "---End make check---" diff --git a/tests/tests.yml b/tests/tests.yml deleted file mode 100644 index c52c2d5..0000000 --- a/tests/tests.yml +++ /dev/null @@ -1,26 +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 - - ragel - - libtool - - gtk-doc - - cairo-devel - - fontconfig-devel