texlive[63927] Build/source/libs/harfbuzz/TLpatches: [Harfbuzz] Add
commits+ascherer at tug.org
commits+ascherer at tug.org
Mon Jul 18 17:41:40 CEST 2022
Revision: 63927
http://tug.org/svn/texlive?view=revision&revision=63927
Author: ascherer
Date: 2022-07-18 17:41:40 +0200 (Mon, 18 Jul 2022)
Log Message:
-----------
[Harfbuzz] Add and apply second patch for older g++.
Try to fix namespace/template conundrum around 'dispatch_recurse_func'.
Note that the Harfbuzz code is absolutely horrible:
Inside 'namespace OT' it says 'using Layout::GSUB::SubstLookup', but
later it uses 'OT::SubstLookup'. What an utter mess!
Modified Paths:
--------------
trunk/Build/source/libs/harfbuzz/TLpatches/ChangeLog
Added Paths:
-----------
trunk/Build/source/libs/harfbuzz/TLpatches/0001-Fix-harfbuzz-4.4.1-for-older-g.patch
trunk/Build/source/libs/harfbuzz/TLpatches/0002-Fix-dispatch_recurse_func-for-older-g.patch
Removed Paths:
-------------
trunk/Build/source/libs/harfbuzz/TLpatches/0001-Fix-harfbuzz-4.4.1-for-older-g
Deleted: trunk/Build/source/libs/harfbuzz/TLpatches/0001-Fix-harfbuzz-4.4.1-for-older-g
===================================================================
--- trunk/Build/source/libs/harfbuzz/TLpatches/0001-Fix-harfbuzz-4.4.1-for-older-g 2022-07-18 15:41:37 UTC (rev 63926)
+++ trunk/Build/source/libs/harfbuzz/TLpatches/0001-Fix-harfbuzz-4.4.1-for-older-g 2022-07-18 15:41:40 UTC (rev 63927)
@@ -1,52 +0,0 @@
-From c59b380364076c90aac01bc1a996e954cda5d6ab Mon Sep 17 00:00:00 2001
-From: Andreas Scherer <andreas_github at freenet.de>
-Date: Sun, 17 Jul 2022 19:46:50 +0200
-Subject: [PATCH] Fix harfbuzz 4.4.1 for older g++.
-
----
- libs/harfbuzz/harfbuzz-src/src/hb-cplusplus.hh | 15 +++++++++------
- 1 file changed, 9 insertions(+), 6 deletions(-)
-
-diff --git a/libs/harfbuzz/harfbuzz-src/src/hb-cplusplus.hh b/libs/harfbuzz/harfbuzz-src/src/hb-cplusplus.hh
-index 86d045208..c79d15506 100644
---- a/libs/harfbuzz/harfbuzz-src/src/hb-cplusplus.hh
-+++ b/libs/harfbuzz/harfbuzz-src/src/hb-cplusplus.hh
-@@ -166,26 +166,29 @@ HB_DEFINE_VTABLE (unicode_funcs);
-
- } // namespace hb
-
-+namespace std {
-+
- template<typename T>
--struct std::hash<hb::shared_ptr<T>>
-+struct hash<hb::shared_ptr<T>>
- {
-- std::size_t operator()(const hb::shared_ptr<T>& v) const noexcept
-+ size_t operator()(const hb::shared_ptr<T>& v) const noexcept
- {
-- std::size_t h = std::hash<decltype (v.get ())>{}(v.get ());
-+ size_t h = hash<decltype (v.get ())>{}(v.get ());
- return h;
- }
- };
-
- template<typename T>
--struct std::hash<hb::unique_ptr<T>>
-+struct hash<hb::unique_ptr<T>>
- {
-- std::size_t operator()(const hb::unique_ptr<T>& v) const noexcept
-+ size_t operator()(const hb::unique_ptr<T>& v) const noexcept
- {
-- std::size_t h = std::hash<decltype (v.get ())>{}(v.get ());
-+ size_t h = hash<decltype (v.get ())>{}(v.get ());
- return h;
- }
- };
-
-+} // namespace std
-
- #endif /* __cplusplus */
-
---
-2.37.1
-
Copied: trunk/Build/source/libs/harfbuzz/TLpatches/0001-Fix-harfbuzz-4.4.1-for-older-g.patch (from rev 63926, trunk/Build/source/libs/harfbuzz/TLpatches/0001-Fix-harfbuzz-4.4.1-for-older-g)
===================================================================
--- trunk/Build/source/libs/harfbuzz/TLpatches/0001-Fix-harfbuzz-4.4.1-for-older-g.patch (rev 0)
+++ trunk/Build/source/libs/harfbuzz/TLpatches/0001-Fix-harfbuzz-4.4.1-for-older-g.patch 2022-07-18 15:41:40 UTC (rev 63927)
@@ -0,0 +1,52 @@
+From d4005a1970a82222198d0a106ee54a71707d059b Mon Sep 17 00:00:00 2001
+From: Andreas Scherer <andreas_github at freenet.de>
+Date: Sun, 17 Jul 2022 19:46:50 +0200
+Subject: [PATCH 1/2] Fix harfbuzz 4.4.1 for older g++.
+
+---
+ libs/harfbuzz/harfbuzz-src/src/hb-cplusplus.hh | 15 +++++++++------
+ 1 file changed, 9 insertions(+), 6 deletions(-)
+
+diff --git a/libs/harfbuzz/harfbuzz-src/src/hb-cplusplus.hh b/libs/harfbuzz/harfbuzz-src/src/hb-cplusplus.hh
+index 86d045208..c79d15506 100644
+--- a/libs/harfbuzz/harfbuzz-src/src/hb-cplusplus.hh
++++ b/libs/harfbuzz/harfbuzz-src/src/hb-cplusplus.hh
+@@ -166,26 +166,29 @@ HB_DEFINE_VTABLE (unicode_funcs);
+
+ } // namespace hb
+
++namespace std {
++
+ template<typename T>
+-struct std::hash<hb::shared_ptr<T>>
++struct hash<hb::shared_ptr<T>>
+ {
+- std::size_t operator()(const hb::shared_ptr<T>& v) const noexcept
++ size_t operator()(const hb::shared_ptr<T>& v) const noexcept
+ {
+- std::size_t h = std::hash<decltype (v.get ())>{}(v.get ());
++ size_t h = hash<decltype (v.get ())>{}(v.get ());
+ return h;
+ }
+ };
+
+ template<typename T>
+-struct std::hash<hb::unique_ptr<T>>
++struct hash<hb::unique_ptr<T>>
+ {
+- std::size_t operator()(const hb::unique_ptr<T>& v) const noexcept
++ size_t operator()(const hb::unique_ptr<T>& v) const noexcept
+ {
+- std::size_t h = std::hash<decltype (v.get ())>{}(v.get ());
++ size_t h = hash<decltype (v.get ())>{}(v.get ());
+ return h;
+ }
+ };
+
++} // namespace std
+
+ #endif /* __cplusplus */
+
+--
+2.37.1
+
Property changes on: trunk/Build/source/libs/harfbuzz/TLpatches/0001-Fix-harfbuzz-4.4.1-for-older-g.patch
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Build/source/libs/harfbuzz/TLpatches/0002-Fix-dispatch_recurse_func-for-older-g.patch
===================================================================
--- trunk/Build/source/libs/harfbuzz/TLpatches/0002-Fix-dispatch_recurse_func-for-older-g.patch (rev 0)
+++ trunk/Build/source/libs/harfbuzz/TLpatches/0002-Fix-dispatch_recurse_func-for-older-g.patch 2022-07-18 15:41:40 UTC (rev 63927)
@@ -0,0 +1,62 @@
+From 72135e7c1af4812dc5e856d94ff1ba3fda867365 Mon Sep 17 00:00:00 2001
+From: Andreas Scherer <andreas_github at freenet.de>
+Date: Mon, 18 Jul 2022 17:24:20 +0200
+Subject: [PATCH 2/2] Fix 'dispatch_recurse_func' for older g++.
+
+---
+ libs/harfbuzz/harfbuzz-src/src/hb-ot-layout-gpos-table.hh | 6 +++++-
+ libs/harfbuzz/harfbuzz-src/src/hb-ot-layout-gsub-table.hh | 7 +++++--
+ 2 files changed, 10 insertions(+), 3 deletions(-)
+
+diff --git a/libs/harfbuzz/harfbuzz-src/src/hb-ot-layout-gpos-table.hh b/libs/harfbuzz/harfbuzz-src/src/hb-ot-layout-gpos-table.hh
+index 064d31cdf..59795cbba 100644
+--- a/libs/harfbuzz/harfbuzz-src/src/hb-ot-layout-gpos-table.hh
++++ b/libs/harfbuzz/harfbuzz-src/src/hb-ot-layout-gpos-table.hh
+@@ -35,6 +35,9 @@ namespace OT {
+
+ using Layout::GPOS_impl::PosLookup;
+
++namespace Layout {
++namespace GPOS_impl {
++
+ // TODO(garretrieger): Move into new layout directory.
+ /* Out-of-class implementation for methods recursing */
+ #ifndef HB_NO_OT_LAYOUT
+@@ -68,7 +71,8 @@ inline bool PosLookup::dispatch_recurse_func<hb_ot_apply_context_t> (hb_ot_apply
+ }
+ #endif
+
++} /* namespace GPOS_impl */
++} /* namespace Layout */
+ } /* namespace OT */
+
+-
+ #endif /* HB_OT_LAYOUT_GPOS_TABLE_HH */
+diff --git a/libs/harfbuzz/harfbuzz-src/src/hb-ot-layout-gsub-table.hh b/libs/harfbuzz/harfbuzz-src/src/hb-ot-layout-gsub-table.hh
+index 462542025..9e7f40c07 100644
+--- a/libs/harfbuzz/harfbuzz-src/src/hb-ot-layout-gsub-table.hh
++++ b/libs/harfbuzz/harfbuzz-src/src/hb-ot-layout-gsub-table.hh
+@@ -36,6 +36,9 @@ namespace OT {
+ using Layout::GSUB::SubstLookup;
+ using Layout::GSUB::ExtensionSubst;
+
++namespace Layout {
++namespace GSUB {
++
+ // TODO(garretrieger): Move into the new layout directory.
+ /* Out-of-class implementation for methods recursing */
+
+@@ -82,8 +85,8 @@ inline bool SubstLookup::dispatch_recurse_func<hb_ot_apply_context_t> (hb_ot_app
+ }
+ #endif
+
+-
++} /* namespace GSUB */
++} /* namespace Layout */
+ } /* namespace OT */
+
+-
+ #endif /* HB_OT_LAYOUT_GSUB_TABLE_HH */
+--
+2.37.1
+
Property changes on: trunk/Build/source/libs/harfbuzz/TLpatches/0002-Fix-dispatch_recurse_func-for-older-g.patch
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Build/source/libs/harfbuzz/TLpatches/ChangeLog
===================================================================
--- trunk/Build/source/libs/harfbuzz/TLpatches/ChangeLog 2022-07-18 15:41:37 UTC (rev 63926)
+++ trunk/Build/source/libs/harfbuzz/TLpatches/ChangeLog 2022-07-18 15:41:40 UTC (rev 63927)
@@ -1,6 +1,8 @@
-2022-07/18 Andreas Scherer <andreas_github at freenet.de>
+2022-07-18 Andreas Scherer <andreas_github at freenet.de>
- Add 0001-Fix-harfbuzz-4.4.1-for-older-g for older gcc.
+ * 0001-Fix-harfbuzz-4.4.1-for-older-g.patch,
+ * 0002-Fix-dispatch_recurse_func-for-older-g.patch:
+ Try to fix namespace/template conundrum for g++ 5 and 6.
2022-06-30 Akira Kakuto <kakuto at jcom.zaq.ne.jp>
More information about the tex-live-commits
mailing list.