From 2a7b02d0664b1198dfa16d426364383b52976ea3f2184c751b99245d9f94d691 Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Mon, 13 Apr 2015 07:41:08 +0000 Subject: [PATCH] Accepting request 295306 from home:fstrba:branches:GNOME:Factory Build harfbuzz-bootstrap package so that one can build harfbuzz-enabled libfreetype6 without hitting circular dependencies (bsc#912062) OBS-URL: https://build.opensuse.org/request/show/295306 OBS-URL: https://build.opensuse.org/package/show/GNOME:Factory/harfbuzz?expand=0&rev=66 --- harfbuzz-bootstrap-rpmlintrc | 3 + harfbuzz-bootstrap.changes | 483 +++++++++++++++++++++++++++++++++++ harfbuzz-bootstrap.spec | 177 +++++++++++++ harfbuzz.changes | 11 + harfbuzz.spec | 67 ++++- pre_checkin.sh | 5 + 6 files changed, 741 insertions(+), 5 deletions(-) create mode 100644 harfbuzz-bootstrap-rpmlintrc create mode 100644 harfbuzz-bootstrap.changes create mode 100644 harfbuzz-bootstrap.spec create mode 100644 pre_checkin.sh diff --git a/harfbuzz-bootstrap-rpmlintrc b/harfbuzz-bootstrap-rpmlintrc new file mode 100644 index 0000000..cee7bd5 --- /dev/null +++ b/harfbuzz-bootstrap-rpmlintrc @@ -0,0 +1,3 @@ +addFilter('shlib-policy-name-error') +addFilter('no-pkg-config-provides') +addFilter('depscript-without-disabling-depgen') diff --git a/harfbuzz-bootstrap.changes b/harfbuzz-bootstrap.changes new file mode 100644 index 0000000..8acc26c --- /dev/null +++ b/harfbuzz-bootstrap.changes @@ -0,0 +1,483 @@ +------------------------------------------------------------------- +Fri Apr 10 08:13:58 UTC 2015 - fstrba@suse.com + +- Split a minimal harfbuzz-bootstrap package in order to avoid + possible build cycles between freetype2 and harfbuzz. +- Add harfbuzz-bootstrap-rpmlintrc file to avoid errors on this + bootstrap package (to be used only for freetype2 build) +- Add pre_checkin.sh script to sync the harfbuzz.spec and + harfbuzz-bootstrap.spec as well as the harfbuzz.changes and + harfbuzz-bootstrap.changes automatically. + +------------------------------------------------------------------- +Sat Mar 21 23:16:34 UTC 2015 - zaitor@opensuse.org + +- Update to version 0.9.40: + + Another hb-coretext crasher fix. + +------------------------------------------------------------------- +Fri Mar 6 08:41:16 UTC 2015 - mpluskal@suse.com + +- Update to version 0.9.39: + + Critical hb-coretext fixes. + + Optimizations and refactoring; no functional change expected. + + Misc build fixes. + +------------------------------------------------------------------- +Sun Jan 25 08:33:49 UTC 2015 - vuntz@opensuse.org + +- Update to version 0.9.38: + + Fix minor out-of-bounds access in Indic shaper. + + Change New Tai Lue shaping engine from South-East Asian to + default, reflecting change in Unicode encoding model. + + Add hb-shape --font-size. Can take up to two numbers for + separate x / y size. + + Fix CoreText and FreeType scale issues with negative scales. + + Reject blobs larger than 2GB. This might break some icu-le-hb + clients that need security fixes. See: + http://www.icu-project.org/trac/ticket/11450 + + Avoid accessing font tables during face destruction, in case + rogue clients released face data already. + + Fix up gobject-introspection a bit. + + Misc fixes. + + API additions: + hb_ft_face_create_referenced() + hb_ft_font_create_referenced() +- Changes from version 0.9.37: + + Fix out-of-bounds access in Context lookup format 3. + + Indic: Allow ZWJ/ZWNJ before syllable modifiers. + +------------------------------------------------------------------- +Sat Nov 22 12:01:10 UTC 2014 - zaitor@opensuse.org + +- Update to version 0.9.36: + + Fix performance bug in hb_ot_collect_glyphs() (moz#1090869). + + Add basic vertical-text support to hb-ot-font. + + Misc build fixes. + +------------------------------------------------------------------- +Thu Aug 21 01:54:01 UTC 2014 - hrvoje.senjan@gmail.com + +- Update to version 0.9.35: + + Fix major shape-plan caching bug when more than one shaper + were provided to hb_shape_full() (as exercised by XeTeX). + + Fix Arabic fallback shaping regression. + + Major hb-coretext fixes. That backend is complete now, + including respecing buffer direction and language, down to + vertical writing. + + Build fixes for Windows CE. + + Misc fixes: + - Use atexit() only if it's safe to call from shared library. + fdo#82246 + - Mandaic had errors in its Unicode Joining_Type. + fdo#82306 + + API changes: + - hb_buffer_clear_contents() does not reset buffer flags now. +- Changes from version 0.9.34: + + hb_feature_from_string() now accepts CSS + font-feature-settings format. + + As a result, hb-shape / hb-view --features also accept + CSS-style strings. Eg, "'liga' off" is accepted now. + + Add old-spec Myanmar shaper: fdo#81775 + + Don't apply 'calt' in Hangul shaper. + + Fix mark advance zeroing for Hebrew shaper: fdo#76767 + + Implement Windows-1256 custom Arabic shaping. + Only built on Windows, and requires help from get_glyph(). + + Disable 'liga' in vertical text. + + Build fixes. + + API changes: + - Make HB_BUFFER_FLAG_BOT/EOT easier to use. +- Changes from version 0.9.33: + + Turn off ARabic 'cswh' feature that was accidentally turned on. + + Add HB_TAG_MAX_SIGNED. + + Make hb_face_make_immutable() really make face immutable! + + Windows build fixes. +- Changes from version 0.9.32: + + Apply Arabic shaping features in spec order exactly. + + Another fix for Mongolian free variation selectors. + + For non-Arabic scripts in Arabic shaper apply 'rlig' and 'calt' + together. + + Minor adjustment to U+FFFD logic. + + Fix hb-coretext build. +- Changes from version 0.9.31: + + Only accept valid UTF-8/16/32; we missed many cases before. + + Better shaping of invalid UTF-8/16/32. Falls back to U+FFFD + REPLACEMENT CHARACTER now. + + With all changes in this release, the buffer will contain fully + valid Unicode after hb_buffer_add_utf8/16/32 no matter how + broken the input is. + + Fix Mongolian Variation Selectors for fonts without GDEF. + + Fix minor invalid buffer access. + + Accept zh-Hant and zh-Hans language tags. + hb_ot_tag_to_language() now uses these instead of private tags. + + Build fixes. + + New API: + - hb_buffer_add_codepoints(). This does what + hb_buffer_add_utf32() used to do, ie. no validity check on + the input at all. add_utf32 now replaces invalid Unicode + codepoints with the replacement character. + - hb_buffer_set_replacement_codepoint() + - hb_buffer_get_replacement_codepoint() + Previously, in hb_buffer_add_utf8 and hb_buffer_add_utf16, + when we detected broken input, we replaced that with + (hb_codepoint_t)-1. This has changed to use U+FFFD now, but + can be changed using these new API. + +------------------------------------------------------------------- +Fri Jul 11 17:42:59 UTC 2014 - dimstar@opensuse.org + +- Update to version 0.9.30: + + Update to Unicode 7.0.0: + - New scripts Manichaean and Psalter Pahlavi are shaped using + Arabic shaper. + - All the other new scripts to through the generic shaper for + now. + + Minor Indic improvements. + + Fix graphite2 backend cluster mapping. + + API changes: + - New HB_SCRIPT_* values for Unicode 7.0 scripts. + - New function hb_ot_layout_language_get_required_feature(). + + Build fixes. + +------------------------------------------------------------------- +Tue Jul 1 19:34:56 UTC 2014 - dimstar@opensuse.org + +- Update to version 0.9.29: + + Implement cmap in hb-ot-font.h. No variation-selectors yet. + + Myanmar: Allow MedialYa+Asat. + + Various Indic fixes: + - Support most characters in Extended Devanagary and Vedic + Unicode blocks. + - Allow digits and a some punctuation as consonant + placeholders. + + Build fixes. + +------------------------------------------------------------------- +Mon May 5 17:13:17 UTC 2014 - zaitor@opensuse.org + +- Update to version 0.9.28: + + Unbreak old-spec Indic shaping (fdo#76705). + + Fix shaping of U+17DD and U+0FC6. + + Add HB_NO_MERGE_CLUSTERS build option. NOT to be enabled by + default for shipping libraries. It's an option for further + experimentation right now. When we are sure how to do it + properly, we will add public run-time API for the + functionality. + + Build fixes. + +------------------------------------------------------------------- +Thu Mar 27 03:17:39 UTC 2014 - mgorse@suse.com + +- Update to version 0.9.27: + + Don't use "register" storage class specifier. + + Wrap definition of free_langs() with HAVE_ATEXIT. + + Add coretext_aat shaper and hb_coretext_face_create() + constructor. + + If HAVE_ICU_BUILTIN is defined, use hb-icu Unicode callbacks. + + Only do fallback Hebrew composition if no GPOS 'mark' + available. + + Allow bootstrapping without gtk-doc. + + Use AM_MISSING_PROG for ragel and git. + + Typo in ucdn's Makefile.am. + + Improve MemoryBarrier() implementation. + +------------------------------------------------------------------- +Tue Feb 11 22:42:42 UTC 2014 - dimstar@opensuse.org + +- Update to version 0.9.26: + + Misc fixes. + + Fix application of 'rtlm' feature. + + Automatically apply frac/numr/dnom around U+2044 FRACTION + SLASH. + + Uniscribe: fix scratch-buffer accounting. + + Reorder Tai Tham SAKOT to after tone-marks. + + Add Hangul shaper. + + Disable 'cswh' feature in Arabic shaper. + + Coretext: better handle surrogate pairs. + + Add HB_TAG_MAX and _HB_SCRIPT_MAX_VALUE. + +------------------------------------------------------------------- +Wed Dec 11 13:05:49 UTC 2013 - pgajdos@suse.com + +- Update to version 0.9.25: + + Myanmar shaper improvements. + + Avoid font fallback in CoreText backend. + + Additional OpenType language tag mappiongs. + + More aggressive shape-plan caching. +- Changes from version 0.9.24: + + Misc compiler warning fixes with clang. + + No functional changes. + +------------------------------------------------------------------- +Wed Nov 6 21:54:05 UTC 2013 - dimstar@opensuse.org + +- Update to version 0.9.23: + + Fix (Chain)Context recursion with non-monotone lookup + positions. + + Misc Indic bug fixes. + + New Javanese / Buginese shaping, similar to Windows 8.1. +- Drop harfbuzz-fix-non-return-in-nonvoid.patch: fixed upstream. + +------------------------------------------------------------------- +Sun Oct 20 16:16:57 UTC 2013 - zaitor@opensuse.org + +- Update to version 0.9.22: + + Fix use-after-end-of-scope in hb_language_from_string(). + + Fix hiding of default_ignorables if font doesn't have space + glyph. + + Protect against out-of-range lookup indices. + + API Changes: Added hb_ot_layout_table_get_lookup_count(). +- Add harfbuzz-fix-non-return-in-nonvoid.patch, fix a missing + return. Patch taken from upstream git. + +------------------------------------------------------------------- +Tue Sep 17 20:46:36 UTC 2013 - dimstar@opensuse.org + +- Update to version 0.9.21: + + Rename gobject-introspection library name from harfbuzz to + HarfBuzz. + + Remove (long disabled) hb-old and hb-icu-le test shapers. + + Misc gtk-doc and gobject-introspection annotations. + + Misc fixes. + + API change: Add HB_SET_VALUE_INVALID. + +------------------------------------------------------------------- +Mon Sep 2 07:13:18 UTC 2013 - dimstar@opensuse.org + +- Update to version 0.9.20: + + Misc substitute_closure() fixes. + + Build fixes. + + GObject and Introspection: + - Added harfbuzz-gobject library (hb-gobject.h) that has type + bindings for all HarfBuzz objects and enums. Enable using + --with-gobject. + - Added gobject-introspection boilerplate. Nothing useful + right now. + + OpenType shaper: + - Apply 'mark' in Myanmar shaper. + - Don't apply 'dlig' by default. + + Uniscribe shaper: + - Support user features. + - Fix loading of fonts that are also installed on the system. + - Fix shaping of Arabic Presentation Forms. + - Fix build with wide chars. + + CoreText shaper: + - Support user features + + Updated documentations. +- Add missing post/postun scripts to -n libharfbuzz-icu0. + +------------------------------------------------------------------- +Wed Jul 17 06:58:43 UTC 2013 - dimstar@opensuse.org + +- Update to version 0.9.19: + + Build fixes. + + Better handling of multiple variation selectors in a row. + + Pass on variation selector to GSUB if not consumed by cmap. + + Fix undefined memory access. + + Add Javanese config to Indic shaper. + + Misc bug fixes. + +------------------------------------------------------------------- +Wed May 29 06:21:15 UTC 2013 - dimstar@opensuse.org + +- Update to version 0.9.18: + + All unneeded code is disabled by default. + + Uniscribe and CoreText shapers can be enabled with their --with + options. + + icu_le and old shapers cannot be enabled for now. + + glib, freetype, and cairo will be detected automatically. + + icu and graphite2 are default off, can be enabled with their + --with options. +- Split out new library package, libharfbuzz-icu0. +- Pass parameters --with-glib, --with-freetype, --with-cairo, + --with-icu and --with-graphite2 to configure, as advised by + upstream. +- Enable pkgconfig(graphite2) BuildRequires, as the depdency is now + available in openSUSE. + +------------------------------------------------------------------- +Wed May 22 12:19:17 UTC 2013 - dimstar@opensuse.org + +- Update to version 0.9.17: + + Build fixes. + + Fix bug in hb_set_get_min(). + + Fix regression with Arabic mark positioning / width-zeroing. + +------------------------------------------------------------------- +Sat Apr 20 23:24:21 UTC 2013 - dimstar@opensuse.org + +- Update to version 0.9.16: + + Major speedup in OpenType lookup processing. With the Amiri + Arabic font, this release is over 3x faster than previous + release. All scripts / languages should see this speedup. + + New --num-iterations option for hb-shape / hb-view; useful for + profiling. + +------------------------------------------------------------------- +Sat Apr 6 15:21:14 UTC 2013 - dimstar@opensuse.org + +- Update to version 0.9.15: + + Build fixes. + + Fix crasher in graphite2 shaper. + + Fix Arabic mark width zeroing regression. + + Don't compose Hangul jamo into Unicode syllables. + +------------------------------------------------------------------- +Fri Mar 22 13:30:55 UTC 2013 - dimstar@opensuse.org + +- Update to version 0.9.14: + + Build fixes. + + Fix time-consuming sanitize with malicious fonts. + + Implement hb_buffer_deserialize_glyphs() for both json and + text. + + Do not ignore Hangul filler characters. + + Indic fixes: + - Fix Malayalam pre-base reordering interaction with + post-forms. + - Further adjust ZWJ handling. + +------------------------------------------------------------------- +Thu Mar 14 21:56:26 UTC 2013 - dimstar@opensuse.org + +- Update to version 0.9.13: + + Build fixes. + + Ngapi HarfBuzz Hackfest in London (February 2013): + - Fixed all known Indic bugs. + - New Win8-style Myanmar shaper. + - New South-East Asian shaper for Tai Tham, Cham, and New Tai + Lue. + - Smartly ignore Default_Ignorable characters (joiners, etc) + when matching GSUB/GPOS lookups. + - Fix 'Phags-Pa U+A872 shaping. + - Fix partial disabling of default-on features. + - Allow disabling of TrueType kerning. + + Fix possible crasher with broken fonts with overlapping tables. + + Removed generated files from git again. + +------------------------------------------------------------------- +Tue Feb 5 21:58:28 UTC 2013 - p.drouand@gmail.com + +- Update to version 0.9.12: + + Build fixes for Sun compiler. + + Minor bug fix. + +------------------------------------------------------------------- +Mon Jan 14 21:19:08 UTC 2013 - zaitor@opensuse.org + +- Update to version 0.9.11: + + Fix GPOS mark attachment with null Anchor offsets. + + [Indic] Fix old-spec reordering of viramas if sequence ends in + one. + + Fix multi-threaded shaper data creation crash. + + Add atomic ops for Solaris. + + API changes: Rename hb_buffer_clear() to + hb_buffer_clear_contents(). + +------------------------------------------------------------------- +Tue Jan 8 16:23:57 UTC 2013 - dimstar@opensuse.org + +- Update to version 0.9.10: + + [Indic] Fixed rendering of Malayalam dot-reph + + Updated OT language tags. + + Updated graphite2 backend. + + Improved hb_ot_layout_get_size_params() logic. + + Improve hb-shape/hb-view help output. + + Fixed hb-set.h implementation to not crash. + + Fixed various issues with hb_ot_layout_collect_lookups(). + + Various build fixes. + +------------------------------------------------------------------- +Mon Dec 10 08:10:45 UTC 2012 - dimstar@opensuse.org + +- Update to version 0.9.9: + + Fix build on Windows. + + Minor improvements. + +------------------------------------------------------------------- +Wed Dec 5 16:36:41 UTC 2012 - dimstar@opensuse.org + +- Update to version 0.9.8: + + Some API additions (see NEWS for details). + + Actually implement hb_shape_plan_get_shaper (). + + Make UCDB data tables const. + + Lots of internal refactoring in OTLayout tables. + + Flesh out hb_ot_layout_lookup_collect_glyphs(). +- Drop harfbuzz-missing-return.patch: fixed upstream. + +------------------------------------------------------------------- +Tue Dec 4 14:11:18 UTC 2012 - vuntz@opensuse.org + +- Update to version 0.9.7: + + Some API additions and changes (see NEWS for details). + + Fix Arabic contextual joining using pre-context text. + + Fix Sinhala "split matra" mess. + + Fix Khmer shaping with broken fonts. + + Implement Thai "PUA" shaping for old fonts. + + Do NOT route Kharoshthi script through the Indic shaper. + + Disable fallback positioning for Indic and Thai shapers. + + Misc fixes. + + hb-shape / hb-view changes: + - Add --text-before and --text-after + - Add --bot / --eot / --preserve-default-ignorables + - hb-shape --output-format=json +- Add harfbuzz-missing-return.patch: fix missing return value. + +------------------------------------------------------------------- +Wed Nov 14 14:11:21 UTC 2012 - dimstar@opensuse.org + +- Update to version 0.9.6: + + Don't clear pre-context text if no new context is provided. + + Fix ReverseChainingSubstLookup, which was totally borked. + + Adjust output format of hb-shape a bit. + + Include config.h.in in-tree. Makes it easier for alternate + build systems. + + Fix hb_buffer_set_length(buffer, 0) invalid memory allocation. + + Use ICU LayoutEngine's C API instead of C++. Avoids much + headache. + + Drop glyphs for all of Unicode Default_Ignorable characters. + + Misc build fixes. + + Arabic shaper: + - Enable 'dlig' and 'mset' features in Arabic shaper. + - Implement 'Phags-pa shaping, improve Mongolian. + + Inidic shaper: + - Decompose Sinhala split matras the way old HarfBuzz / Pango + did. + - Initial support for Consonant Medials. + - Start adding new-style Myanmar shaping. + - Make reph and 'pref' logic introspect the font. + - Route Meetei-Mayek through the Indic shaper. + - Don't apply 'liga' in Indic shaper. + - Improve Malayalam pre-base reordering Ra interaction with + Chillus. + +------------------------------------------------------------------- +Mon Oct 15 20:18:25 UTC 2012 - dimstar@opensuse.org + +- Update to version 0.9.5: + + Synthetic-GSUB Arabic fallback shaping. + + Misc Indic improvements. + + Add build system support for pthread. + + Imported UCDN for in-tree Unicode callbacks implementation. + + Context-aware Arabic joining. + + Misc other fixes. + + API extensions. + +------------------------------------------------------------------- +Thu Sep 13 12:01:23 UTC 2012 - dimstar@opensuse.org + +- Update to version 0.9.4: + + Indic improvements with old-spec Malayalam. + + Better fallback glyph positioning, specially with Thai / Lao + marks. + + Implement dotted-circle insertion. + + Better Arabic fallback shaping / ligation. + + Added ICU LayoutEngine backend for testing. + + Misc fixes. +- Add pkgconfig(icu-le) BuildRequires: needed for the new ICU + LayoutEngine backend. + +------------------------------------------------------------------- +Tue Aug 21 15:43:57 UTC 2012 - vuntz@opensuse.org + +- Initial package (version 0.9.3). + diff --git a/harfbuzz-bootstrap.spec b/harfbuzz-bootstrap.spec new file mode 100644 index 0000000..fc56455 --- /dev/null +++ b/harfbuzz-bootstrap.spec @@ -0,0 +1,177 @@ +# +# spec file for package harfbuzz-bootstrap +# +# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany. +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# + + +%global build_bootstrap 1 +%if %{build_bootstrap} +%global _use_internal_dependency_generator 0 +%endif +Name: harfbuzz-bootstrap +Version: 0.9.40 +Release: 0 +Summary: An OpenType text shaping engine +License: MIT +Group: Productivity/Text/Utilities +Url: http://www.freedesktop.org/wiki/Software/HarfBuzz +Source: http://www.freedesktop.org/software/harfbuzz/release/harfbuzz-%{version}.tar.bz2 +Source99: baselibs.conf +BuildRequires: gcc-c++ +BuildRoot: %{_tmppath}/%{name}-%{version}-build +%if %{build_bootstrap} +Source1000: harfbuzz-bootstrap-rpmlintrc +%else +BuildRequires: harfbuzz-bootstrap +BuildRequires: pkgconfig(cairo) >= 1.8.0 +BuildRequires: pkgconfig(cairo-ft) +BuildRequires: pkgconfig(freetype2) >= 12.0.6 +BuildRequires: pkgconfig(glib-2.0) >= 2.16 +BuildRequires: pkgconfig(gobject-2.0) +BuildRequires: pkgconfig(graphite2) +BuildRequires: pkgconfig(gthread-2.0) +BuildRequires: pkgconfig(icu-le) +BuildRequires: pkgconfig(icu-uc) +#!BuildIgnore: libharfbuzz0 +%endif + +%description +HarfBuzz is an OpenType text shaping engine. + +%if ! %{build_bootstrap} +%package -n libharfbuzz0 +Summary: An OpenType text shaping engine +Group: System/Libraries + +%description -n libharfbuzz0 +HarfBuzz is an OpenType text shaping engine. + +%package -n libharfbuzz-icu0 +Summary: An OpenType text shaping engine - ICU library +Group: System/Libraries + +%description -n libharfbuzz-icu0 +HarfBuzz is an OpenType text shaping engine. + +%package tools +Summary: An OpenType text shaping engine -- Tools +Group: Productivity/Text/Utilities + +%description tools +HarfBuzz is an OpenType text shaping engine. + +%endif + +%package devel +Summary: An OpenType text shaping engine -- Development Files +Group: Development/Libraries/C and C++ +%if %{build_bootstrap} +Requires: %{name} = %{version} +%else +Requires: libharfbuzz-icu0 = %{version} +Requires: libharfbuzz0 = %{version} +%endif + +%description devel +HarfBuzz is an OpenType text shaping engine. + +%prep +%setup -q -n harfbuzz-%{version} + +%build +%configure \ + --disable-static \ +%if %{build_bootstrap} + --without-glib \ + --without-gobject \ + --without-freetype \ + --without-cairo \ + --without-icu \ + --without-graphite2 \ + --disable-instrospection +%else + --with-glib \ + --with-freetype \ + --with-cairo \ + --with-icu \ + --with-graphite2 +%endif +make %{?_smp_mflags} + +%install +%make_install + +%if %{build_bootstrap} + +install src/*.h %{buildroot}%{_includedir}/harfbuzz/ +install src/*.hh %{buildroot}%{_includedir}/harfbuzz/ +find %{buildroot}%{_includedir}/harfbuzz/ -type f | xargs chmod -x +rm -rf %{buildroot}%{_datadir}/gtk-doc + +%endif + +find %{buildroot} -type f -name "*.la" -delete -print + +%if %{build_bootstrap} +%post -p /sbin/ldconfig + +%postun -p /sbin/ldconfig + +%else +%post -n libharfbuzz0 -p /sbin/ldconfig + +%post -n libharfbuzz-icu0 -p /sbin/ldconfig + +%postun -n libharfbuzz0 -p /sbin/ldconfig + +%postun -n libharfbuzz-icu0 -p /sbin/ldconfig + +%endif + +%if %{build_bootstrap} +%files +%defattr(-,root,root) +%else +%files -n libharfbuzz0 +%defattr(-,root,root) +%endif +%doc AUTHORS COPYING NEWS README THANKS +%{_libdir}/libharfbuzz.so.0* + +%if ! %{build_bootstrap} +%files -n libharfbuzz-icu0 +%defattr(-,root,root) +%{_libdir}/libharfbuzz-icu.so.0* + +%files tools +%defattr(-,root,root) +%{_bindir}/hb-ot-shape-closure +%{_bindir}/hb-shape +%{_bindir}/hb-view + +%endif + +%files devel +%defattr(-,root,root) +%{_includedir}/harfbuzz/ +%{_libdir}/*.so +%{_libdir}/pkgconfig/harfbuzz.pc +%if ! %{build_bootstrap} +%docdir %{_datadir}/gtk-doc +%{_datadir}/gtk-doc/html/harfbuzz/ +%{_libdir}/pkgconfig/harfbuzz-icu.pc +%endif + +%changelog diff --git a/harfbuzz.changes b/harfbuzz.changes index 788adb7..8acc26c 100644 --- a/harfbuzz.changes +++ b/harfbuzz.changes @@ -1,3 +1,14 @@ +------------------------------------------------------------------- +Fri Apr 10 08:13:58 UTC 2015 - fstrba@suse.com + +- Split a minimal harfbuzz-bootstrap package in order to avoid + possible build cycles between freetype2 and harfbuzz. +- Add harfbuzz-bootstrap-rpmlintrc file to avoid errors on this + bootstrap package (to be used only for freetype2 build) +- Add pre_checkin.sh script to sync the harfbuzz.spec and + harfbuzz-bootstrap.spec as well as the harfbuzz.changes and + harfbuzz-bootstrap.changes automatically. + ------------------------------------------------------------------- Sat Mar 21 23:16:34 UTC 2015 - zaitor@opensuse.org diff --git a/harfbuzz.spec b/harfbuzz.spec index 5d2be9e..8bada74 100644 --- a/harfbuzz.spec +++ b/harfbuzz.spec @@ -16,6 +16,10 @@ # +%global build_bootstrap 0 +%if %{build_bootstrap} +%global _use_internal_dependency_generator 0 +%endif Name: harfbuzz Version: 0.9.40 Release: 0 @@ -23,9 +27,14 @@ Summary: An OpenType text shaping engine License: MIT Group: Productivity/Text/Utilities Url: http://www.freedesktop.org/wiki/Software/HarfBuzz -Source: http://www.freedesktop.org/software/harfbuzz/release/%{name}-%{version}.tar.bz2 +Source: http://www.freedesktop.org/software/harfbuzz/release/harfbuzz-%{version}.tar.bz2 Source99: baselibs.conf BuildRequires: gcc-c++ +BuildRoot: %{_tmppath}/%{name}-%{version}-build +%if %{build_bootstrap} +Source1000: harfbuzz-bootstrap-rpmlintrc +%else +BuildRequires: harfbuzz-bootstrap BuildRequires: pkgconfig(cairo) >= 1.8.0 BuildRequires: pkgconfig(cairo-ft) BuildRequires: pkgconfig(freetype2) >= 12.0.6 @@ -35,11 +44,13 @@ BuildRequires: pkgconfig(graphite2) BuildRequires: pkgconfig(gthread-2.0) BuildRequires: pkgconfig(icu-le) BuildRequires: pkgconfig(icu-uc) -BuildRoot: %{_tmppath}/%{name}-%{version}-build +#!BuildIgnore: libharfbuzz0 +%endif %description HarfBuzz is an OpenType text shaping engine. +%if ! %{build_bootstrap} %package -n libharfbuzz0 Summary: An OpenType text shaping engine Group: System/Libraries @@ -61,43 +72,85 @@ Group: Productivity/Text/Utilities %description tools HarfBuzz is an OpenType text shaping engine. +%endif + %package devel Summary: An OpenType text shaping engine -- Development Files Group: Development/Libraries/C and C++ +%if %{build_bootstrap} +Requires: %{name} = %{version} +%else Requires: libharfbuzz-icu0 = %{version} Requires: libharfbuzz0 = %{version} +%endif %description devel HarfBuzz is an OpenType text shaping engine. %prep -%setup -q +%setup -q -n harfbuzz-%{version} %build %configure \ --disable-static \ +%if %{build_bootstrap} + --without-glib \ + --without-gobject \ + --without-freetype \ + --without-cairo \ + --without-icu \ + --without-graphite2 \ + --disable-instrospection +%else --with-glib \ --with-freetype \ --with-cairo \ --with-icu \ --with-graphite2 +%endif make %{?_smp_mflags} %install %make_install + +%if %{build_bootstrap} + +install src/*.h %{buildroot}%{_includedir}/harfbuzz/ +install src/*.hh %{buildroot}%{_includedir}/harfbuzz/ +find %{buildroot}%{_includedir}/harfbuzz/ -type f | xargs chmod -x +rm -rf %{buildroot}%{_datadir}/gtk-doc + +%endif + find %{buildroot} -type f -name "*.la" -delete -print +%if %{build_bootstrap} +%post -p /sbin/ldconfig + +%postun -p /sbin/ldconfig + +%else %post -n libharfbuzz0 -p /sbin/ldconfig + %post -n libharfbuzz-icu0 -p /sbin/ldconfig %postun -n libharfbuzz0 -p /sbin/ldconfig + %postun -n libharfbuzz-icu0 -p /sbin/ldconfig +%endif + +%if %{build_bootstrap} +%files +%defattr(-,root,root) +%else %files -n libharfbuzz0 %defattr(-,root,root) +%endif %doc AUTHORS COPYING NEWS README THANKS %{_libdir}/libharfbuzz.so.0* +%if ! %{build_bootstrap} %files -n libharfbuzz-icu0 %defattr(-,root,root) %{_libdir}/libharfbuzz-icu.so.0* @@ -108,13 +161,17 @@ find %{buildroot} -type f -name "*.la" -delete -print %{_bindir}/hb-shape %{_bindir}/hb-view +%endif + %files devel %defattr(-,root,root) -%docdir %{_datadir}/gtk-doc -%{_datadir}/gtk-doc/html/harfbuzz/ %{_includedir}/harfbuzz/ %{_libdir}/*.so %{_libdir}/pkgconfig/harfbuzz.pc +%if ! %{build_bootstrap} +%docdir %{_datadir}/gtk-doc +%{_datadir}/gtk-doc/html/harfbuzz/ %{_libdir}/pkgconfig/harfbuzz-icu.pc +%endif %changelog diff --git a/pre_checkin.sh b/pre_checkin.sh new file mode 100644 index 0000000..5fc65a1 --- /dev/null +++ b/pre_checkin.sh @@ -0,0 +1,5 @@ +#! /bin/sh + +sed -e 's,^Name:.*,Name: harfbuzz-bootstrap,; s,build_bootstrap 0,build_bootstrap 1,' harfbuzz.spec > harfbuzz-bootstrap.spec +cp harfbuzz.changes harfbuzz-bootstrap.changes +osc service localrun clean_spec_file