import mingw-harfbuzz-1.4.8-3.el8

This commit is contained in:
CentOS Sources 2021-03-19 18:13:51 +00:00 committed by Andrew Lukoshko
commit 3ff9f92897
4 changed files with 338 additions and 0 deletions

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
SOURCES/harfbuzz-1.4.8.tar.bz2

1
.mingw-harfbuzz.metadata Normal file
View File

@ -0,0 +1 @@
e48cd89f6e5c9c732923f2c4afd0b9d4e6a85968 SOURCES/harfbuzz-1.4.8.tar.bz2

View File

@ -0,0 +1,84 @@
--- harfbuzz-1.1.2/configure.ac.orig 2015-12-31 15:58:04.284354714 +0100
+++ harfbuzz-1.1.2/configure.ac 2015-12-31 16:08:46.848239317 +0100
@@ -432,6 +432,30 @@
dnl ===========================================================================
+AC_ARG_ENABLE(delay-load,
+ [AC_HELP_STRING([--enable-delay-load],
+ [makes the freetype dependency optional at runtime (win32 only)])],,
+ [enable_delay_load=no])
+
+AC_MSG_CHECKING([whether to enable the use of delay-loaded freetype dependencies])
+if test $hb_os_win32 = false; then
+ enable_delay_load=false
+fi
+AM_CONDITIONAL(ENABLE_DELAY_LOAD, test x"$enable_delay_load" = x"yes")
+AC_MSG_RESULT([$enable_delay_load])
+
+if test x"$enable_delay_load" = x"yes" ; then
+ AC_CHECK_TOOL([GENDEF], [gendef])
+
+ AC_MSG_CHECKING([whether gendef was found])
+ if test x"$GENDEF" = x"" ; then
+ AC_MSG_ERROR([The gendef tool (required for delay loading the freetype dependency) could not be detected])
+ fi
+ AC_MSG_RESULT([yes])
+fi
+
+dnl ===========================================================================
+
AC_CONFIG_FILES([
Makefile
src/Makefile
@@ -475,4 +499,5 @@
Documentation: ${have_gtk_doc}
GObject bindings: ${have_gobject}
Introspection: ${have_introspection}
+ Enable delay loading: ${enable_delay_load}
])
--- harfbuzz-1.2.6/src/Makefile.am.orig 2016-03-15 23:14:32.000000000 +0100
+++ harfbuzz-1.2.6/src/Makefile.am 2016-04-09 22:32:19.462635695 +0200
@@ -51,14 +51,29 @@
endif
if HAVE_FREETYPE
-HBCFLAGS += $(FREETYPE_CFLAGS)
+if ENABLE_DELAY_LOAD
+# Create delay-loaded import library for freetype
+libfreetype-delay-loaded.dll.a:
+ DLL=$(bindir)/libfreetype-6.dll; \
+ if test ! -f "$$DLL" ; then \
+ echo "*** File $$DLL could not be found, unable to create delay-loaded import library"; \
+ exit 1; \
+ fi; \
+ $(GENDEF) - "$$DLL" > freetype_delay_load.def; \
+ $(DLLTOOL) --def freetype_delay_load.def --kill-at --output-delaylib libfreetype-delay-loaded.dll.a
+
+harfbuzz_delayload_ldflags = -Wl,libfreetype-delay-loaded.dll.a -Wl,-lmingwex -Wl,-lkernel32
+harfbuzz_delayload_dependency = libfreetype-delay-loaded.dll.a
+else
HBLIBS += $(FREETYPE_LIBS)
+endif
# XXX
# The following creates a recursive dependency on FreeType if FreeType is
# built with HarfBuzz support enabled. Newer pkg-config handles that just
# fine but pkg-config 0.26 as shipped in Ubuntu 14.04 crashes. Remove
# in a year or two, or otherwise work around it...
#HBDEPS += $(FREETYPE_DEPS)
+HBCFLAGS += $(FREETYPE_CFLAGS)
HBSOURCES += $(HB_FT_sources)
HBHEADERS += $(HB_FT_headers)
endif
@@ -120,9 +135,9 @@
libharfbuzz_la_SOURCES = $(HBSOURCES) $(HBHEADERS) $(HBNODISTHEADERS)
libharfbuzz_la_CPPFLAGS = $(HBCFLAGS)
-libharfbuzz_la_LDFLAGS = $(AM_LDFLAGS) -version-info $(HB_LIBTOOL_VERSION_INFO) $(export_symbols) -no-undefined
+libharfbuzz_la_LDFLAGS = $(AM_LDFLAGS) -version-info $(HB_LIBTOOL_VERSION_INFO) $(export_symbols) -no-undefined $(harfbuzz_delayload_ldflags)
libharfbuzz_la_LIBADD = $(HBLIBS)
-EXTRA_libharfbuzz_la_DEPENDENCIES = $(harfbuzz_def_dependency)
+EXTRA_libharfbuzz_la_DEPENDENCIES = $(harfbuzz_def_dependency) $(harfbuzz_delayload_dependency)
pkginclude_HEADERS = $(HBHEADERS)
nodist_pkginclude_HEADERS = $(HBNODISTHEADERS)
pkgconfigdir = $(libdir)/pkgconfig

252
SPECS/mingw-harfbuzz.spec Normal file
View File

@ -0,0 +1,252 @@
%{?mingw_package_header}
Name: mingw-harfbuzz
Version: 1.4.8
Release: 3%{?dist}
Summary: MinGW Windows Harfbuzz library
License: MIT
URL: http://www.harfbuzz.org
Source0: http://www.freedesktop.org/software/harfbuzz/release/harfbuzz-%{version}.tar.bz2
# Allow the freetype dependency to be optional at runtime
Patch0: harfbuzz-enable-delayload-freetype.patch
BuildArch: noarch
ExclusiveArch: %{ix86} x86_64
BuildRequires: mingw32-filesystem >= 95
BuildRequires: mingw32-gcc
BuildRequires: mingw32-glib2
BuildRequires: mingw32-freetype
BuildRequires: mingw32-cairo
BuildRequires: mingw32-icu
BuildRequires: mingw64-filesystem >= 95
BuildRequires: mingw64-gcc
BuildRequires: mingw64-glib2
BuildRequires: mingw64-freetype
BuildRequires: mingw64-cairo
BuildRequires: mingw64-icu
# Needed for the delay-load patch
BuildRequires: mingw-w64-tools
BuildRequires: autoconf automake libtool
%description
HarfBuzz is an implementation of the OpenType Layout engine.
# Win32
%package -n mingw32-harfbuzz
Summary: MinGW Windows Harfbuzz library
%description -n mingw32-harfbuzz
HarfBuzz is an implementation of the OpenType Layout engine.
%package -n mingw32-harfbuzz-static
Summary: Static version of the MinGW Windows Harfbuzz library
Requires: mingw32-harfbuzz = %{version}-%{release}
Requires: mingw32-glib2-static
%description -n mingw32-harfbuzz-static
Static version of the MinGW Windows Harfbuzz library.
# Win64
%package -n mingw64-harfbuzz
Summary: MinGW Windows Harfbuzz library
%description -n mingw64-harfbuzz
HarfBuzz is an implementation of the OpenType Layout engine.
%package -n mingw64-harfbuzz-static
Summary: Static version of the MinGW Windows Harfbuzz library
Requires: mingw64-harfbuzz = %{version}-%{release}
Requires: mingw64-glib2-static
%description -n mingw64-harfbuzz-static
Static version of the MinGW Windows Harfbuzz library.
%{?mingw_debug_package}
%prep
%setup -q -n harfbuzz-%{version}
%patch0 -p1
autoreconf -i --force
%build
%mingw_configure --enable-shared --enable-static --enable-delay-load
%mingw_make %{?_smp_mflags} V=1
%install
%mingw_make install DESTDIR=$RPM_BUILD_ROOT
# Drop all .la files
find $RPM_BUILD_ROOT -name "*.la" -delete
# Win32
%files -n mingw32-harfbuzz
%license COPYING
%{mingw32_bindir}/hb-ot-shape-closure.exe
%{mingw32_bindir}/hb-shape.exe
%{mingw32_bindir}/hb-view.exe
%{mingw32_bindir}/libharfbuzz-0.dll
%{mingw32_bindir}/libharfbuzz-icu-0.dll
%{mingw32_includedir}/harfbuzz/
%{mingw32_libdir}/libharfbuzz.dll.a
%{mingw32_libdir}/libharfbuzz-icu.dll.a
%{mingw32_libdir}/pkgconfig/harfbuzz.pc
%{mingw32_libdir}/pkgconfig/harfbuzz-icu.pc
%files -n mingw32-harfbuzz-static
%{mingw32_libdir}/libharfbuzz.a
%{mingw32_libdir}/libharfbuzz-icu.a
# Win64
%files -n mingw64-harfbuzz
%license COPYING
%{mingw64_bindir}/hb-ot-shape-closure.exe
%{mingw64_bindir}/hb-shape.exe
%{mingw64_bindir}/hb-view.exe
%{mingw64_bindir}/libharfbuzz-0.dll
%{mingw64_bindir}/libharfbuzz-icu-0.dll
%{mingw64_includedir}/harfbuzz/
%{mingw64_libdir}/libharfbuzz.dll.a
%{mingw64_libdir}/libharfbuzz-icu.dll.a
%{mingw64_libdir}/pkgconfig/harfbuzz.pc
%{mingw64_libdir}/pkgconfig/harfbuzz-icu.pc
%files -n mingw64-harfbuzz-static
%{mingw64_libdir}/libharfbuzz.a
%{mingw64_libdir}/libharfbuzz-icu.a
%changelog
* Thu Aug 16 2018 Eduardo Lima (Etrunko) <etrunko@redhat.com> - 1.4.8-3
- ExclusiveArch: i686, x86_64
Related: rhbz#1615874
* Thu Feb 08 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.4.8-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
* Sun Oct 15 2017 Kalev Lember <klember@redhat.com> - 1.4.8-1
- Update to 1.4.8
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.4.4-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
* Mon Jun 19 2017 Kalev Lember <klember@redhat.com> - 1.4.4-1
- Update to 1.4.4
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.3.2-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
* Mon Oct 24 2016 Kalev Lember <klember@redhat.com> - 1.3.2-2
- Rebuilt for mingw-icu 57
* Sun Oct 16 2016 Kalev Lember <klember@redhat.com> - 1.3.2-1
- Update to 1.3.2
* Wed Aug 10 2016 Kalev Lember <klember@redhat.com> - 1.3.0-1
- Update to 1.3.0
* Tue May 03 2016 Kalev Lember <klember@redhat.com> - 1.2.7-1
- Update to 1.2.7
* Sat Apr 9 2016 Erik van Pienbroek <epienbro@fedoraproject.org> - 1.2.6-1
- Update to 1.2.6
* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 1.1.2-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
* Thu Dec 31 2015 Erik van Pienbroek <epienbro@fedoraproject.org> - 1.1.2-1
- Update to 1.1.2
- Make freetype an optional runtime dependency instead of a hard dependency (using delay load)
- Perform verbose make
* Fri Sep 25 2015 Kalev Lember <klember@redhat.com> - 1.0.3-1
- Update to 1.0.3
* Sat Aug 22 2015 Kalev Lember <klember@redhat.com> - 1.0.2-1
- Update to 1.0.2
* Sat Aug 22 2015 Kalev Lember <klember@redhat.com> - 1.0.1-1
- Update to 1.0.1
* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.9.40-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
* Tue Mar 24 2015 Kalev Lember <kalevlember@gmail.com> - 0.9.40-1
- Update to 0.9.40
- Use license macro for the COPYING file
* Wed Dec 31 2014 Erik van Pienbroek <epienbro@fedoraproject.org> - 0.9.37-2
- Added Requires: mingw{32,64}-glib2-static tags to the -static subpackages
* Wed Dec 31 2014 Erik van Pienbroek <epienbro@fedoraproject.org> - 0.9.37-1
- Update to 0.9.37
* Sat Nov 15 2014 Kalev Lember <kalevlember@gmail.com> - 0.9.34-1
- Update to 0.9.34
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.9.28-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
* Thu May 22 2014 Kalev Lember <kalevlember@gmail.com> - 0.9.28-1
- Update to 0.9.28
* Sat Mar 29 2014 Kalev Lember <kalevlember@gmail.com> - 0.9.27-1
- Update to 0.9.27
* Sat Jan 25 2014 Erik van Pienbroek <epienbro@fedoraproject.org> - 0.9.25-1
- Update to 0.9.25
* Wed Nov 20 2013 Erik van Pienbroek <epienbro@fedoraproject.org> - 0.9.24-1
- Update to 0.9.24
* Sat Sep 7 2013 Erik van Pienbroek <epienbro@fedoraproject.org> - 0.9.20-1
- Update to 0.9.20
* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.9.18-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
* Mon Jun 17 2013 Kalev Lember <kalevlember@gmail.com> - 0.9.18-4
- Rebuilt for icu 50
* Sun Jun 16 2013 Erik van Pienbroek <epienbro@fedoraproject.org> - 0.9.18-3
- Rebuild to resolve InterlockedCompareExchange regression in mingw32 libraries
* Sat Jun 15 2013 Erik van Pienbroek <epienbro@fedoraproject.org> - 0.9.18-2
- Rebuild to resolve InterlockedCompareExchange regression in mingw32 libraries
* Sun Jun 09 2013 Kalev Lember <kalevlember@gmail.com> - 0.9.18-1
- Update to 0.9.18
* Thu May 9 2013 Erik van Pienbroek <epienbro@fedoraproject.org> - 0.9.16-1
- Update to 0.9.16
* Sun Mar 24 2013 Erik van Pienbroek <epienbro@fedoraproject.org> - 0.9.14-1
- Update to 0.9.14
* Sun Jan 27 2013 Erik van Pienbroek <epienbro@fedoraproject.org> - 0.9.9-3
- Rebuild against mingw-gcc 4.8 (win64 uses SEH exceptions now)
* Wed Jan 02 2013 Erik van Pienbroek <erik-fedora@vanpienbroek.nl> - 0.9.9-2
- Rebuilt against mingw-icu 49
* Mon Dec 24 2012 Erik van Pienbroek <epienbro@fedoraproject.org> - 0.9.9-1
- Update to 0.9.9
- Fix compatibility with WinXP (FreeDesktop Bug #55494)
* Wed Nov 21 2012 Erik van Pienbroek <epienbro@fedoraproject.org> - 0.9.7-1
- Update to 0.9.7
* Sun Aug 26 2012 Erik van Pienbroek <epienbro@fedoraproject.org> - 0.9.3-1
- Initial release