%bcond_without static_libs # static libraries build
%bcond_without graphite2 # Graphite2 library usage
%bcond_without icu # ICU integration
-%bcond_without tests # "make check" call
+%bcond_with tests # "make check" call (cmap14 test fails as of 2.6.2 +otsanitizer-8.0.0 +fonttools-3.44.0)
Summary: HarfBuzz - internationalized text shaping library
Summary(pl.UTF-8): HarfBuzz - biblioteka rysująca tekst z obsługą wielu języków
Name: harfbuzz
-Version: 1.8.1
+Version: 8.1.1
Release: 1
License: MIT
Group: Libraries
-Source0: https://www.freedesktop.org/software/harfbuzz/release/%{name}-%{version}.tar.bz2
-# Source0-md5: 1023806c6a25a3fb11af0bcee8d0dc7c
-Patch0: pc_deps.patch
-URL: https://www.freedesktop.org/wiki/HarfBuzz
+Source0: https://github.com/harfbuzz/harfbuzz/releases/download/%{version}/%{name}-%{version}.tar.xz
+# Source0-md5: f0040d0fc02cf94cac9f46a94c44c6de
+URL: https://harfbuzz.github.io/
BuildRequires: autoconf >= 2.64
-BuildRequires: automake >= 1:1.11.1
+BuildRequires: automake >= 1:1.13.0
BuildRequires: cairo-devel >= 1.8.0
-# hb-fc-list is disabled in util/Makefile.am
-#BuildRequires: fontconfig-devel
%{?with_tests:BuildRequires: fonttools}
-BuildRequires: freetype-devel >= 1:2.9
+BuildRequires: freetype-devel >= 1:2.11
BuildRequires: glib2-devel >= 1:2.38
BuildRequires: gobject-introspection-devel >= 1.34.0
-%{?with_graphite2:BuildRequires: graphite2-devel}
+%{?with_graphite2:BuildRequires: graphite2-devel >= 1.2.0}
BuildRequires: gtk-doc >= 1.15
%{?with_icu:BuildRequires: libicu-devel}
-BuildRequires: libstdc++-devel
+BuildRequires: libstdc++-devel >= 6:4.9
BuildRequires: libtool >= 2:2.2
-%{?with_tests:BuildRequires: otsanitizer}
-BuildRequires: pkgconfig >= 1:0.27
+%{?with_tests:BuildRequires: otsanitizer >= 8}
+BuildRequires: pkgconfig >= 1:0.28
+BuildRequires: rpm-build >= 4.6
+BuildRequires: rpmbuild(macros) >= 1.752
BuildRequires: sed >= 4.0
-Requires: freetype >= 1:2.9
+BuildRequires: tar >= 1:1.22
+BuildRequires: xz
+Requires: freetype >= 1:2.11
Requires: glib2 >= 1:2.38
+%{?with_graphite2:Requires: graphite2 >= 1.2.0}
+Provides: harfbuzz-gobject = %{version}-%{release}
+Obsoletes: harfbuzz-gobject < 2.7.1-2
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%description
Summary(pl.UTF-8): Pliki nagłówkowe biblioteki HarfBuzz
Group: Development/Libraries
Requires: %{name} = %{version}-%{release}
-Requires: freetype-devel >= 1:2.9
+Requires: freetype-devel >= 1:2.11
Requires: glib2-devel >= 1:2.38
-%{?with_graphite2:Requires: graphite2-devel}
+%{?with_graphite2:Requires: graphite2-devel >= 1.2.0}
Requires: libstdc++-devel
+Provides: harfbuzz-gobject-devel = %{version}-%{release}
+Obsoletes: harfbuzz-gobject-devel < 2.7.1-2
%description devel
Header files for HarfBuzz library.
Summary(pl.UTF-8): Statyczna biblioteka HarfBuzz
Group: Development/Libraries
Requires: %{name}-devel = %{version}-%{release}
+Provides: harfbuzz-gobject-static = %{version}-%{release}
+Obsoletes: harfbuzz-gobject-static < 2.7.1-3
%description static
Static HarfBuzz library.
%description static -l pl.UTF-8
Statyczna biblioteka HarfBuzz.
-%package gobject
-Summary: Harfbuzz GObject interface
-Summary(pl.UTF-8): Interfejs GObject do biblioteki Harfbuzz
+%package cairo
+Summary: HarfBuzz text shaping library - cairo integration
+Summary(pl.UTF-8): Biblioteka HarfBuzz do rysowania tekstu - integracja z cairo
Group: Libraries
Requires: %{name} = %{version}-%{release}
-%description gobject
-Harfbuzz GObject interface.
+%description cairo
+HarfBuzz text shaping library - cairo integration.
-%description gobject -l pl.UTF-8
-Interfejs GObject do biblioteki Harfbuzz.
+%description cairo -l pl.UTF-8
+Biblioteka HarfBuzz do rysowania tekstu - integracja z cairo.
-%package gobject-devel
-Summary: Header files for Harfbuzz GObject interface
-Summary(pl.UTF-8): Pliki nagłówkowe interfejsu GObject do biblioteki Harfbuzz
+%package cairo-devel
+Summary: Header files for HarfBuzz cairo library
+Summary(pl.UTF-8): Pliki nagłówkowe biblioteki HarfBuzz cairo
Group: Development/Libraries
+Requires: %{name}-cairo = %{version}-%{release}
Requires: %{name}-devel = %{version}-%{release}
-Requires: %{name}-gobject = %{version}-%{release}
-%description gobject-devel
-This is the package containing the header files for Harfbuzz GObject
-interface.
+%description cairo-devel
+Header files for HarfBuzz cairo library.
-%description gobject-devel -l pl.UTF-8
-Ten pakiet zawiera pliki nagłówkowe interfejsu GObject do biblioteki
-Harfbuzz.
+%description cairo-devel -l pl.UTF-8
+Pliki nagłówkowe biblioteki HarfBuzz cairo.
-%package gobject-static
-Summary: Static Harfbuzz GObject library
-Summary(pl.UTF-8): Statyczna biblioteka Harfbuzz GObject
+%package cairo-static
+Summary: Static HarfBuzz cairo library
+Summary(pl.UTF-8): Biblioteka statyczna HarfBuzz cairo
Group: Development/Libraries
-Requires: %{name}-gobject-devel = %{version}-%{release}
+Requires: %{name}-cairo-devel = %{version}-%{release}
-%description gobject-static
-Static Harfbuzz GObject library.
+%description cairo-static
+Static HarfBuzz cairo library.
-%description gobject-static -l pl.UTF-8
-Statyczna biblioteka Harfbuzz GObject.
+%description cairo-static -l pl.UTF-8
+Biblioteka statyczna HarfBuzz cairo.
%package icu
Summary: HarfBuzz text shaping library - ICU integration
Summary: HarfBuzz API documentation
Summary(pl.UTF-8): Dokumentacja API bibliotek HarfBuzz
Group: Documentation
-%if "%{_rpmversion}" >= "5"
BuildArch: noarch
-%endif
%description apidocs
API documentation for HarfBuzz libraries.
%prep
%setup -q
-%patch0 -p1
-
%build
%{__libtoolize}
+%{__gtkdocize}
%{__aclocal} -I m4
%{__autoconf}
%{__autoheader}
%{__automake}
%configure \
--disable-silent-rules \
+ --enable-gtk-doc \
%{?with_static_libs:--enable-static} \
--with-cairo \
--with-freetype \
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
-%post gobject -p /sbin/ldconfig
-%postun gobject -p /sbin/ldconfig
+%post cairo -p /sbin/ldconfig
+%postun cairo -p /sbin/ldconfig
%post icu -p /sbin/ldconfig
%postun icu -p /sbin/ldconfig
%files
%defattr(644,root,root,755)
-%doc AUTHORS COPYING ChangeLog NEWS README THANKS TODO
+%doc AUTHORS COPYING NEWS README.md THANKS
%attr(755,root,root) %{_libdir}/libharfbuzz.so.*.*.*
%attr(755,root,root) %ghost %{_libdir}/libharfbuzz.so.0
+%attr(755,root,root) %{_libdir}/libharfbuzz-gobject.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libharfbuzz-gobject.so.0
+%{_libdir}/girepository-1.0/HarfBuzz-0.0.typelib
%files devel
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/libharfbuzz.so
+%attr(755,root,root) %{_libdir}/libharfbuzz-gobject.so
%dir %{_includedir}/harfbuzz
%{_includedir}/harfbuzz/hb.h
+%{_includedir}/harfbuzz/hb-aat.h
+%{_includedir}/harfbuzz/hb-aat-layout.h
%{_includedir}/harfbuzz/hb-blob.h
%{_includedir}/harfbuzz/hb-buffer.h
%{_includedir}/harfbuzz/hb-common.h
+%{_includedir}/harfbuzz/hb-cplusplus.hh
%{_includedir}/harfbuzz/hb-deprecated.h
+%{_includedir}/harfbuzz/hb-draw.h
%{_includedir}/harfbuzz/hb-face.h
%{_includedir}/harfbuzz/hb-font.h
%{_includedir}/harfbuzz/hb-ft.h
%{_includedir}/harfbuzz/hb-glib.h
+%{_includedir}/harfbuzz/hb-gobject.h
+%{_includedir}/harfbuzz/hb-gobject-enums.h
+%{_includedir}/harfbuzz/hb-gobject-structs.h
%{?with_graphite2:%{_includedir}/harfbuzz/hb-graphite2.h}
%{_includedir}/harfbuzz/hb-map.h
+%{_includedir}/harfbuzz/hb-ot-color.h
+%{_includedir}/harfbuzz/hb-ot-deprecated.h
%{_includedir}/harfbuzz/hb-ot-font.h
%{_includedir}/harfbuzz/hb-ot-layout.h
%{_includedir}/harfbuzz/hb-ot-math.h
+%{_includedir}/harfbuzz/hb-ot-meta.h
+%{_includedir}/harfbuzz/hb-ot-metrics.h
+%{_includedir}/harfbuzz/hb-ot-name.h
%{_includedir}/harfbuzz/hb-ot-shape.h
-%{_includedir}/harfbuzz/hb-ot-tag.h
%{_includedir}/harfbuzz/hb-ot-var.h
%{_includedir}/harfbuzz/hb-ot.h
+%{_includedir}/harfbuzz/hb-paint.h
%{_includedir}/harfbuzz/hb-set.h
%{_includedir}/harfbuzz/hb-shape-plan.h
%{_includedir}/harfbuzz/hb-shape.h
+%{_includedir}/harfbuzz/hb-style.h
%{_includedir}/harfbuzz/hb-unicode.h
%{_includedir}/harfbuzz/hb-version.h
%{_pkgconfigdir}/harfbuzz.pc
+%{_pkgconfigdir}/harfbuzz-gobject.pc
%dir %{_libdir}/cmake/harfbuzz
%{_libdir}/cmake/harfbuzz/harfbuzz-config.cmake
+%{_datadir}/gir-1.0/HarfBuzz-0.0.gir
%if %{with static_libs}
%files static
%defattr(644,root,root,755)
%{_libdir}/libharfbuzz.a
+%{_libdir}/libharfbuzz-gobject.a
%endif
-%files gobject
+%files cairo
%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/libharfbuzz-gobject.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libharfbuzz-gobject.so.0
-%{_libdir}/girepository-1.0/HarfBuzz-0.0.typelib
+%attr(755,root,root) %{_libdir}/libharfbuzz-cairo.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libharfbuzz-cairo.so.0
-%files gobject-devel
+%files cairo-devel
%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/libharfbuzz-gobject.so
-%{_includedir}/harfbuzz/hb-gobject.h
-%{_includedir}/harfbuzz/hb-gobject-enums.h
-%{_includedir}/harfbuzz/hb-gobject-structs.h
-%{_pkgconfigdir}/harfbuzz-gobject.pc
-%{_datadir}/gir-1.0/HarfBuzz-0.0.gir
+%attr(755,root,root) %{_libdir}/libharfbuzz-cairo.so
+%{_includedir}/harfbuzz/hb-cairo.h
+%{_pkgconfigdir}/harfbuzz-cairo.pc
%if %{with static_libs}
-%files gobject-static
+%files cairo-static
%defattr(644,root,root,755)
-%{_libdir}/libharfbuzz-gobject.a
+%{_libdir}/libharfbuzz-cairo.a
%endif
%if %{with icu}
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/libharfbuzz-subset.so
%{_includedir}/harfbuzz/hb-subset.h
-%{_includedir}/harfbuzz/hb-subset-glyf.hh
-%{_includedir}/harfbuzz/hb-subset-plan.hh
-%{_includedir}/harfbuzz/hb-subset-private.hh
+%{_includedir}/harfbuzz/hb-subset-repacker.h
%{_pkgconfigdir}/harfbuzz-subset.pc
%if %{with static_libs}
%files progs
%defattr(644,root,root,755)
+%attr(755,root,root) %{_bindir}/hb-info
%attr(755,root,root) %{_bindir}/hb-ot-shape-closure
%attr(755,root,root) %{_bindir}/hb-shape
%attr(755,root,root) %{_bindir}/hb-subset