From 4126a1c004d7ca2d897042a55ac34c5df5b03cf7dbe1db38be568faa41b117f7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adrian=20Schr=C3=B6ter?= Date: Fri, 3 May 2024 13:17:02 +0200 Subject: [PATCH] Sync from SUSE:SLFO:Main graphite2 revision a6af99e220284281664cb2ebece63a03 --- .gitattributes | 23 +++ baselibs.conf | 1 + graphite2-1.2.0-cmakepath.patch | 9 + graphite2-1.3.14.tar.gz | 3 + graphite2.changes | 297 ++++++++++++++++++++++++++++++++ graphite2.spec | 119 +++++++++++++ link-gcc-shared.diff | 12 ++ 7 files changed, 464 insertions(+) create mode 100644 .gitattributes create mode 100644 baselibs.conf create mode 100644 graphite2-1.2.0-cmakepath.patch create mode 100644 graphite2-1.3.14.tar.gz create mode 100644 graphite2.changes create mode 100644 graphite2.spec create mode 100644 link-gcc-shared.diff diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/baselibs.conf b/baselibs.conf new file mode 100644 index 0000000..b52ca7d --- /dev/null +++ b/baselibs.conf @@ -0,0 +1 @@ +libgraphite2-3 diff --git a/graphite2-1.2.0-cmakepath.patch b/graphite2-1.2.0-cmakepath.patch new file mode 100644 index 0000000..3a60d44 --- /dev/null +++ b/graphite2-1.2.0-cmakepath.patch @@ -0,0 +1,9 @@ +diff -Naur graphite-1.3.14.orig/src/CMakeLists.txt graphite-1.3.14/src/CMakeLists.txt +--- graphite-1.3.14.orig/src/CMakeLists.txt 2020-08-10 10:08:58.963417496 +0200 ++++ graphite-1.3.14/src/CMakeLists.txt 2020-08-10 10:13:14.909357757 +0200 +@@ -156,4 +156,4 @@ + + + install(TARGETS graphite2 EXPORT graphite2 LIBRARY DESTINATION lib${LIB_SUFFIX} ARCHIVE DESTINATION lib${LIB_SUFFIX} PUBLIC_HEADER DESTINATION include/graphite2 RUNTIME DESTINATION bin) +-install(EXPORT graphite2 DESTINATION share/graphite2 NAMESPACE gr2_) ++install(EXPORT graphite2 DESTINATION lib${LIB_SUFFIX}/graphite2 NAMESPACE gr2_) diff --git a/graphite2-1.3.14.tar.gz b/graphite2-1.3.14.tar.gz new file mode 100644 index 0000000..e63448b --- /dev/null +++ b/graphite2-1.3.14.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7a3b342c5681921ce2e0c2496509d30b5b078399d5a7bd2358f95166d57d91df +size 6629829 diff --git a/graphite2.changes b/graphite2.changes new file mode 100644 index 0000000..dd0e091 --- /dev/null +++ b/graphite2.changes @@ -0,0 +1,297 @@ +------------------------------------------------------------------- +Mon Sep 25 12:22:23 UTC 2023 - pgajdos@suse.com + +- fixed license string [bsc#1207676]: + LGPL-2.1-or-later OR MPL-2.0 OR GPL-2.0-or-later + +------------------------------------------------------------------- +Thu Jan 27 14:57:57 UTC 2022 - Fridrich Strba + +- Fix license header so that it corresponds to SPDX abbreviation + +------------------------------------------------------------------- +Wed May 19 15:16:07 UTC 2021 - Fridrich Strba + +- Define conditionally make_build to fix build on systems that do + not have that macro + +------------------------------------------------------------------- +Wed Aug 12 09:16:40 UTC 2020 - Matthias Eliasson + +- Update to 1.3.14: + * Bug fixes + * Allow features to be hidden (for aliases) + * Move to python3 + * Rename doc files from .txt to .asc +- Run spec-cleaner + * Remove rpm groups + * Use make macros + * Use license macro +- Refresh patches: + * link-gcc-shared.diff + * graphite2-1.2.0-cmakepath.patch + +------------------------------------------------------------------- +Wed Aug 12 09:15:09 UTC 2020 - Matthias Eliasson + +- Update to 1.3.13: + * Resolve minor spacing issue in rtl non-overlap kerning + * python3 for graphite.py + * Better fuzzing + * Better building on windows + +------------------------------------------------------------------- +Sun Dec 15 20:09:52 UTC 2019 - Stefan BrĂ¼ns + +- BuildIgnore shared-mime-info, pulled in by libglib-2_0-0. Required + by gvfs to do mime detection, but not required for building. + +------------------------------------------------------------------- +Thu Oct 25 08:08:51 UTC 2018 - Petr Gajdos + +- Update to 1.3.12: + . Graphite no longer does dumb rendering for fonts with no smarts + . Segment caching code removed. Anything attempting to use the + segment cache gets given a regular face instead + . Add libfuzzer support + . Builds now require C++11 + . Improvements to Windows 64 bit builds + . Support different versions of python including 32 bit and python 3 + . Various minor bug fixes +- refreshed patch + % link-gcc-shared.diff +- removed patch + - graphite2-CVE-2018-7999.patch (upstreamed) + +------------------------------------------------------------------- +Fri Mar 16 12:58:15 UTC 2018 - tchvatal@suse.com + +- Use python3 everywhere +- Drop fonttools test dep as it pulls TON of py3 packages + +------------------------------------------------------------------- +Mon Mar 12 13:13:26 UTC 2018 - pgajdos@suse.com + +- Update to 1.3.11: +- removed patches (upstreamed or not needed) + * gcc8.patch (code commeted out) + * graphite-nonvoid-return.patch (code commented out) + * graphite2-python3_tests.patch (upstreamed) + * graphite2-python3_tests_cornercases.patch (upstreamed +- refreshed patch + * link-gcc-shared.diff +- fixes security issue: CVE-2018-7999 [bsc#1084850] + + graphite2-CVE-2018-7999.patch + +------------------------------------------------------------------- +Thu Feb 15 11:02:52 UTC 2018 - schwab@suse.de + +- gcc8.patch: return correct value from stream operator + +------------------------------------------------------------------- +Thu Jan 18 13:58:56 UTC 2018 - tchvatal@suse.com + +- Do not BR asciidoc as we do not install the generated html page + +------------------------------------------------------------------- +Tue Dec 5 12:03:29 UTC 2017 - tchvatal@suse.com + +- Make sure we switch to python3 only on SLE15+ and not on SLE12 + +------------------------------------------------------------------- +Mon Nov 20 12:16:37 UTC 2017 - mpluskal@suse.com + +- Add patches to fix tests when using python3: + * graphite2-python3_tests.patch + * graphite2-python3_tests_cornercases.patch +- Refresh all other patches +- Use fancy name for downloaded tarball +- Run spec-cleaner + +------------------------------------------------------------------- +Wed Jun 21 19:13:30 UTC 2017 - tchvatal@suse.com + +- Use %ctest macro +- Update license string to lgpl2.1+ and mpl2.0+ +- Remove patch graphite2-CVE-2017-5436.patch +- Update to 1.3.10: + * Upstream marks this as contianing various bugfixes without + any specific mentions + +------------------------------------------------------------------- +Mon Apr 24 07:22:01 UTC 2017 - pgajdos@suse.com + +- security update: + * CVE-2017-5436 [bsc#1035204] + + graphite2-CVE-2017-5436.patch + +------------------------------------------------------------------- +Mon Nov 21 10:53:29 UTC 2016 - pgajdos@suse.com + +- Version update to 1.3.9: fixes some bugs in the collision + avoidance and may give slightly improved results in some cases. + +------------------------------------------------------------------- +Thu Jun 2 12:10:15 UTC 2016 - tchvatal@suse.com + +- Version update to 1.3.8: + * Various bugfixes found by fuzzers + +------------------------------------------------------------------- +Mon Feb 29 19:32:53 UTC 2016 - tchvatal@suse.com + +- Update to 1.3.6 + * This fixes a number of security related bugs. There are no feature + improvements or bug fixes in this release. + +------------------------------------------------------------------- +Fri Feb 12 12:59:39 UTC 2016 - pgajdos@suse.com + +- updated to 1.3.5 bnc#965803 CVE-2016-1521: + * Security bug fix + * Fix ARM misalignment problem + * Track latest cmake + +------------------------------------------------------------------- +Mon Dec 21 11:36:38 UTC 2015 - tchvatal@suse.com + +- Version update to 1.3.4: + * Fix Collision Kerning ignoring some diacritics + * Handle pass bits 16-31 to speed up fonts with > 16 passes + * Various minor fuzz bug fixes + * Make Coverity happy + * Add GR_FALLTHROUGH macro for clang c++11 +- Upstream moved to github + +------------------------------------------------------------------- +Wed Dec 16 13:38:11 UTC 2015 - pgajdos@suse.com + +- updated to 1.3.3 + * Slight speed up in Collision Avoidance + * Remove dead bidi code + * Bug fixes + . Between pass bidi reorderings and at the end + . Decompressor fuzz bugs + . Other fuzz bugs + +------------------------------------------------------------------- +Thu Sep 10 07:43:44 UTC 2015 - tchvatal@suse.com + +- Version bump top 1.3.2: + * Remove full bidi. All segments are assumed to be single directioned. + * Bug fixes: + + Decompressor corner cases + + Various fuzz bugs + +------------------------------------------------------------------- +Tue Sep 1 08:44:01 UTC 2015 - tchvatal@suse.com + +- Version bump to 1.3.1: + * Deprecation warning: Full bidi support is about to be deprecated. Make + contact if this impacts you. + * Change compression block format slightly to conform to LZ4 + * Handle mono direction text with diacritics consistently. Fonts + now see the direction they expect consistently and bidi now + gives expected results. + * Fixed lots of fuzz bugs + * Coverity cleanups + * Build now works for clang and/or asan and/or afl etc. + +------------------------------------------------------------------- +Fri Aug 7 08:24:54 UTC 2015 - tchvatal@suse.com + +- Version bump to 1.3.0: + * Various tweaks for the arabic fonts +- Added patches: + * graphite-nonvoid-return.patch + * graphite2-1.2.0-cmakepath.patch +- Removed patches: + * no-specific-nunit-version.diff + * soname.diff + +------------------------------------------------------------------- +Tue May 19 07:30:18 UTC 2015 - fstrba@suse.com + +- Remove unnecessary utf-8 characters from the spec file + +------------------------------------------------------------------- +Tue Oct 21 18:51:12 UTC 2014 - dmueller@suse.com + +- add link-gcc-shared.diff: link -lgcc_s to fix undefined symbols + on various ARM architectures + +------------------------------------------------------------------- +Wed Jan 29 17:57:37 UTC 2014 - tchvatal@suse.com + +- Remove harfbuzz dep. Breaks another buildcycle. + This effectively means we are not running tests. No functional + changes otherwise. + +------------------------------------------------------------------- +Wed Jan 29 13:50:06 UTC 2014 - tchvatal@suse.com + +- Remove texlive dep to remove dep circle. + +------------------------------------------------------------------- +Sun Jan 26 12:05:43 UTC 2014 - tchvatal@suse.com + +- Use rpath so the tests work. + +------------------------------------------------------------------- +Sat Jan 25 22:57:20 UTC 2014 - tchvatal@suse.com + +- Enable the tests. They work on 13.1 but fail on Factory... + +------------------------------------------------------------------- +Sat Jan 25 22:28:21 UTC 2014 - tchvatal@suse.com + +- Version bump to 1.2.4: + * Various bugfixes + * Expanded testsuite +- Remove graphite2-arm.patch - applied upstream +- Add patches from debian: + * soname.diff + * no-specific-nunit-version.diff +- Run^Wdocument tests and generate documentation + +------------------------------------------------------------------- +Sat Jan 25 21:34:18 UTC 2014 - tchvatal@suse.com + +- Use cmake macros for nice and tidy setup. + +------------------------------------------------------------------- +Fri Jun 28 11:15:36 UTC 2013 - dimstar@opensuse.org + +- Add baselibs.conf and provide libgraphite2-3-32bit, which is at + this moment required by harfbuzz. + +------------------------------------------------------------------- +Wed Nov 28 16:36:00 UTC 2012 - crrodriguez@opensuse.org + +- graphite2-arm.patch :Fix build in arm and possible other platforms, we should + notuse -nodefaultlibs as a linker flag and let the system + do its job automatically. +- freetype-devel should be freetype2-devel + +------------------------------------------------------------------- +Tue Nov 13 08:55:33 UTC 2012 - cfarrell@suse.com + +- license update: LGPL-2.1+ or GPL-2.0+ or MPL-1.1 + See License file (most source code notices concur) + +------------------------------------------------------------------- +Mon Nov 12 12:31:11 UTC 2012 - tchvatal@suse.com + +- Whitespace trying to figure out why spec file is interpreted as + binary. + +------------------------------------------------------------------- +Fri Nov 9 12:38:14 UTC 2012 - tchvatal@suse.com + +- Fix desc not to mention libexttextcat. + +------------------------------------------------------------------- +Tue Nov 6 13:56:19 UTC 2012 - tchvatal@suse.com + +- Initial commit version 1.2.0. + diff --git a/graphite2.spec b/graphite2.spec new file mode 100644 index 0000000..ec7c61a --- /dev/null +++ b/graphite2.spec @@ -0,0 +1,119 @@ +# +# spec file for package graphite2 +# +# Copyright (c) 2023 SUSE LLC +# +# 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 https://bugs.opensuse.org/ +# + + +%{!?make_build:%global make_build make %{?_smp_mflags}} +%define libname libgraphite2-3 +Name: graphite2 +Version: 1.3.14 +Release: 0 +Summary: Font rendering capabilities for complex non-Roman writing systems +License: GPL-2.0-or-later OR LGPL-2.1-or-later OR MPL-2.0 +URL: http://graphite.sil.org/ +Source0: https://github.com/silnrsi/graphite/archive/%{version}.tar.gz#/%{name}-%{version}.tar.gz +Source1: baselibs.conf +Patch0: graphite2-1.2.0-cmakepath.patch +Patch2: link-gcc-shared.diff +BuildRequires: cmake +BuildRequires: fontconfig-devel +BuildRequires: freetype2-devel +BuildRequires: gcc-c++ +BuildRequires: glib2-devel +BuildRequires: pkgconfig +BuildRequires: python3-base +# libglib-2_0-0 pulls in shared-mime-info for mime detection in gvfs +#!BuildIgnore: shared-mime-info + +%description +Graphite2 is a project within SIL's Non-Roman Script Initiative and Language +Software Development groups to provide rendering capabilities for complex +non-Roman writing systems. Graphite can be used to create "smart fonts" capable +of displaying writing systems with various complex behaviors. With respect to +the Text Encoding Model, Graphite handles the "Rendering" aspect of writing +system implementation. + +%package -n %{libname} +Summary: Text categorization library + +%description -n %{libname} +Graphite2 is a project within SIL's Non-Roman Script Initiative and Language +Software Development groups to provide rendering capabilities for complex +non-Roman writing systems. Graphite can be used to create "smart fonts" capable +of displaying writing systems with various complex behaviors. With respect to +the Text Encoding Model, Graphite handles the "Rendering" aspect of writing +system implementation. + +%package devel +Summary: Files for Developing with %{name} +Requires: %{libname} = %{version} +Requires: glibc-devel + +%description devel +Graphite2 is a project within SIL's Non-Roman Script Initiative and Language +Software Development groups to provide rendering capabilities for complex +non-Roman writing systems. Graphite can be used to create "smart fonts" capable +of displaying writing systems with various complex behaviors. With respect to +the Text Encoding Model, Graphite handles the "Rendering" aspect of writing +system implementation. + +This package contains the %{name} development files. + +%prep +%autosetup -p1 -n graphite-%{version} + +# Make sure to use python3 everywhere +find tests -type f -exec sed -i "s|python|python3|g" {} + +find . -name *.cmake -exec sed -i "s|python|python3|g" {} + + +%build +%cmake \ + -DGRAPHITE2_COMPARE_RENDERER=OFF \ + -DGRAPHITE2_NTRACING=ON \ + -DCMAKE_SKIP_RPATH=OFF +# Do not use O3, from debian +find . -type f \ + -exec sed -i -e 's/\-O3//g' {} \; + +%make_build + +%install +%cmake_install +find %{buildroot} -type f -name "*.la" -delete -print + +%check +# exclude tests based on fonttool +cd build +ctest --output-on-failure --force-new-ctest-process %{?_smp_mflags} \ + -E "padaukcmp1|chariscmp1|chariscmp2|annacmp1|schercmp1|awamicmp1|awamicmp2|awamicmp3" + +%post -n %{libname} -p /sbin/ldconfig +%postun -n %{libname} -p /sbin/ldconfig + +%files +%license LICENSE COPYING +%{_bindir}/gr2fonttest + +%files -n %{libname} +%{_libdir}/*.so.3* + +%files devel +%{_libdir}/*.so +%{_libdir}/pkgconfig/%{name}*.pc +%{_includedir}/%{name}* +%{_libdir}/%{name}* + +%changelog diff --git a/link-gcc-shared.diff b/link-gcc-shared.diff new file mode 100644 index 0000000..914f05e --- /dev/null +++ b/link-gcc-shared.diff @@ -0,0 +1,12 @@ +diff -Naur graphite-1.3.14.orig/src/CMakeLists.txt graphite-1.3.14/src/CMakeLists.txt +--- graphite-1.3.14.orig/src/CMakeLists.txt 2020-08-10 10:08:58.963417496 +0200 ++++ graphite-1.3.14/src/CMakeLists.txt 2020-08-10 10:16:19.239886692 +0200 +@@ -123,7 +123,7 @@ + if (GRAPHITE2_SANITIZERS) + target_link_libraries(graphite2 c gcc_s) + else () +- target_link_libraries(graphite2 c gcc) ++ target_link_libraries(graphite2 c gcc_s) + endif () + endif() + include(Graphite)