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.