Summary: HarfBuzz - internationalized text shaping library - MinGW32 cross version
Summary(pl.UTF-8): Rasteryzer fontów TrueType - wersja skrośna dla MinGW32
Name: crossmingw32-harfbuzz
-Version: 0.9.21
+Version: 2.6.2
Release: 1
License: MIT
Group: Development/Libraries
-Source0: http://www.freedesktop.org/software/harfbuzz/release/harfbuzz-%{version}.tar.bz2
-# Source0-md5: 468a381e992ae9313cef6595f4e233db
-Patch0: harfbuzz-mingw32.patch
-URL: http://www.freedesktop.org/wiki/HarfBuzz
+Source0: https://www.freedesktop.org/software/harfbuzz/release/harfbuzz-%{version}.tar.xz
+# Source0-md5: 1551bb7ebe970d3466787cd26cfa7f76
+Patch0: harfbuzz-win32.patch
+URL: https://www.freedesktop.org/wiki/HarfBuzz
BuildRequires: autoconf >= 2.64
-BuildRequires: automake >= 1:1.11.1
-BuildRequires: crossmingw32-cairo >= 1.8.0
-BuildRequires: crossmingw32-freetype >= 2.3.8
-BuildRequires: crossmingw32-glib2 >= 2.16
-BuildRequires: crossmingw32-gcc-c++
+BuildRequires: automake >= 1:1.13.0
+# cairo is used only for utilities, which are not packaged
+#BuildRequires: crossmingw32-cairo >= 1.8.0
+BuildRequires: crossmingw32-freetype >= 2.9
+BuildRequires: crossmingw32-glib2 >= 2.38
+BuildRequires: crossmingw32-gcc-c++ >= 1:4.7
+BuildRequires: crossmingw32-pthreads-w32
BuildRequires: libtool >= 2:2.2
BuildRequires: pkgconfig >= 1:0.20
-Requires: crossmingw32-cairo >= 1.8.0
-Requires: crossmingw32-freetype >= 2.3.8
-Requires: crossmingw32-glib2 >= 2.16
-Requires: crossmingw32-gcc-c++
+BuildRequires: tar >= 1:1.22
+BuildRequires: xz
+Requires: crossmingw32-freetype >= 2.9
+Requires: crossmingw32-glib2 >= 2.38
+Requires: crossmingw32-gcc-c++ >= 1:4.7
+Requires: crossmingw32-pthreads-w32
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
# see <harfbuzz/internal/ftserv.h>, the real horror
%ifnarch %{ix86}
# arch-specific flags (like alpha's -mieee) are not valid for i386 gcc
-%define optflags -O2
+%define optflags -O2 -march=i486
%endif
# -z options are invalid for mingw linker, most of -f options are Linux-specific
%define filterout_ld -Wl,-z,.*
Summary: DLL harfbuzz library for Windows
Summary(pl.UTF-8): Biblioteka DLL harfbuzz dla Windows
Group: Applications/Emulators
-Requires: crossmingw32-cairo-dll >= 1.8.0
-Requires: crossmingw32-freetype-dll >= 2.3.8
-Requires: crossmingw32-glib2-dll >= 2.16
+Requires: crossmingw32-freetype-dll >= 2.9
+Requires: crossmingw32-glib2-dll >= 2.38
Requires: wine
%description dll
%description dll -l pl.UTF-8
Biblioteka DLL harfbuzz dla Windows.
+%package subset
+Summary: HarfBuzz text shaping library - font subsetter - MinGW32 cross version
+Summary(pl.UTF-8): Biblioteka HarfBuzz do rysowania tekstu - font subsetter - wersja skrośna dla MinGW32
+Group: Development/Libraries
+Requires: %{name} = %{version}-%{release}
+
+%description subset
+HarfBuzz text shaping library - font subsetter.
+
+This package contains the cross version for Win32.
+
+%description subset -l pl.UTF-8
+Biblioteka HarfBuzz do rysowania tekstu - font subsetter.
+
+Ten pakiet zawiera wersję skrośną dla Win32.
+
+%package subset-static
+Summary: Static HarfBuzz subset library (cross MinGW32 version)
+Summary(pl.UTF-8): Biblioteka statyczna HarfBuzz subset (wersja skrośna MinGW32)
+Group: Development/Libraries
+Requires: %{name}-subset = %{version}-%{release}
+
+%description subset-static
+Static HarfBuzz subset library (cross MinGW32 version).
+
+%description subset-static -l pl.UTF-8
+Biblioteka statyczna HarfBuzz subset (wersja skrośna MinGW32).
+
+%package subset-dll
+Summary: DLL HarfBuzz subset library for Windows
+Summary(pl.UTF-8): Biblioteka DLL HarfBuzz subset dla Windows
+Group: Applications/Emulators
+Requires: %{name}-dll = %{version}-%{release}
+
+%description subset-dll
+DLL HarfBuzz subset library for Windows.
+
+%description subset-dll -l pl.UTF-8
+Biblioteka DLL HarfBuzz subset dla Windows.
+
%prep
%setup -q -n harfbuzz-%{version}
%patch0 -p1
%{__autoheader}
%{__automake}
export PKG_CONFIG_LIBDIR=%{_pkgconfigdir}
+# MingW32 headers require GNU extensions (-std=c++11 doesn't work)
%configure \
+ CPPFLAGS="%{rpmcppflags} -D_GNU_SOURCE" \
+ CXXFLAGS="%{rpmcxxflags} -std=gnu++11" \
+ PTHREAD_LIBS="-lpthread" \
--target=%{target} \
--build=i686-pc-linux-gnu \
--host=%{target} \
--disable-gtk-doc \
--disable-silent-rules \
--enable-static \
- --with-cairo \
+ --without-cairo \
--with-freetype \
--with-glib \
--without-graphite2 \
DESTDIR=$RPM_BUILD_ROOT
install -d $RPM_BUILD_ROOT%{_dlldir}
-mv -f $RPM_BUILD_ROOT%{_prefix}/bin/*.dll $RPM_BUILD_ROOT%{_dlldir}
+%{__mv} $RPM_BUILD_ROOT%{_prefix}/bin/*.dll $RPM_BUILD_ROOT%{_dlldir}
+
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/lib*.la
%if 0%{!?debug:1}
%{target}-strip --strip-unneeded -R.comment -R.note $RPM_BUILD_ROOT%{_dlldir}/*.dll
%{target}-strip -g -R.comment -R.note $RPM_BUILD_ROOT%{_libdir}/*.a
%endif
+%{__rm} -r $RPM_BUILD_ROOT%{_libdir}/cmake/harfbuzz
+%{__rm} $RPM_BUILD_ROOT%{_bindir}/hb*.exe
%{__rm} -rf $RPM_BUILD_ROOT%{_gtkdocdir}
%clean
%defattr(644,root,root,755)
%doc COPYING ChangeLog README TODO
%{_libdir}/libharfbuzz.dll.a
-%{_libdir}/libharfbuzz.la
-%{_includedir}/harfbuzz
+%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-deprecated.h
+%{_includedir}/harfbuzz/hb-face.h
+%{_includedir}/harfbuzz/hb-font.h
+%{_includedir}/harfbuzz/hb-ft.h
+%{_includedir}/harfbuzz/hb-glib.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-var.h
+%{_includedir}/harfbuzz/hb-ot.h
+%{_includedir}/harfbuzz/hb-set.h
+%{_includedir}/harfbuzz/hb-shape-plan.h
+%{_includedir}/harfbuzz/hb-shape.h
+%{_includedir}/harfbuzz/hb-unicode.h
+%{_includedir}/harfbuzz/hb-uniscribe.h
+%{_includedir}/harfbuzz/hb-version.h
%{_pkgconfigdir}/harfbuzz.pc
%files static
%files dll
%defattr(644,root,root,755)
-%{_dlldir}/libharfbuzz-*.dll
+%{_dlldir}/libharfbuzz-0.dll
+
+%files subset
+%defattr(644,root,root,755)
+%{_libdir}/libharfbuzz-subset.dll.a
+%{_includedir}/harfbuzz/hb-subset.h
+%{_pkgconfigdir}/harfbuzz-subset.pc
+
+%files subset-static
+%defattr(644,root,root,755)
+%{_libdir}/libharfbuzz-subset.a
+
+%files subset-dll
+%defattr(644,root,root,755)
+%{_dlldir}/libharfbuzz-subset-0.dll