[gtk-osx] Restore freetype-no-harfbuzz.



commit 778abcdd1d57bc76db12fe3ec4b6f8b26df08f4b
Author: John Ralls <jralls ceridwen us>
Date:   Mon Sep 14 12:27:21 2020 -0700

    Restore freetype-no-harfbuzz.
    
    See the comments in the various gtk-osx.modules.

 jhbuildrc-gtk-osx                   |  1 +
 modulesets-stable/gtk-osx.modules   | 19 +++++++++++++++++--
 modulesets-unstable/gtk-osx.modules | 21 +++++++++++++++++++++
 modulesets/gtk-osx.modules          | 21 +++++++++++++++++++--
 4 files changed, 58 insertions(+), 4 deletions(-)
---
diff --git a/jhbuildrc-gtk-osx b/jhbuildrc-gtk-osx
index b039e91..27d2ac1 100644
--- a/jhbuildrc-gtk-osx
+++ b/jhbuildrc-gtk-osx
@@ -495,6 +495,7 @@ alwaysautogen = True
 # the install name to be an absolute path.
 
 module_cmakeargs["freetype"] = '-DCMAKE_INSTALL_NAME_DIR="' + os.path.join(prefix, 'lib') + '"'
+module_cmakeargs["freetype-no-harfbuzz"] = '-DCMAKE_INSTALL_NAME_DIR="' + os.path.join(prefix, 'lib') + '"'
 
 
 # Check and warn if jhbuild is started from within jhbuild, since that
diff --git a/modulesets-stable/gtk-osx.modules b/modulesets-stable/gtk-osx.modules
index 75e1233..8332d03 100644
--- a/modulesets-stable/gtk-osx.modules
+++ b/modulesets-stable/gtk-osx.modules
@@ -107,6 +107,18 @@ configurations of WebKit.
     </dependencies>
   </meson>
 
+  <!-- To build Freetype *with* harfbuzz requires harfbuzz to be built
+       with freetype so we first have to build it *without* harfbuzz,
+       then build harfbuzz without cairo because cairo requires
+       harfbuzz. -->
+  <cmake id="freetype-no-harfbuzz" cmakeargs="-DCMAKE_DISABLE_FIND_PACKAGE_HarfBuzz=TRUE 
-DCMAKE_DISABLE_FIND_PACKAGE_BZip2=TRUE -D BUILD_SHARED_LIBS=true -D CMAKE_BUILD_TYPE=Release">
+    <branch module="freetype/freetype-2.10.2.tar.gz" version="2.10.2"
+            repo="sourceforge"/>
+    <dependencies>
+      <dep package="zlib"/>
+    </dependencies>
+  </cmake>
+
   <meson id="harfbuzz-no-cairo" mesonargs="-Dcoretext=enabled -Ddocs=disabled">
     <branch repo="github-tarball" version="2.7.1"
             module="harfbuzz/harfbuzz/releases/download/2.7.1/harfbuzz-2.7.1.tar.xz" 
@@ -114,6 +126,7 @@ configurations of WebKit.
     </branch>
     <dependencies>
       <dep package="glib"/>
+      <dep package="freetype-no-harfbuzz"/>
     </dependencies>
     <after>
       <dep package="icu"/>
@@ -150,6 +163,9 @@ configurations of WebKit.
     </after>
   </autotools>
 
+  <!-- cairo doesn't really need fontconfig, but if Pango finds
+       freetype it insists that it has to have fontconfig too and that
+       they are both built into cairo. -->
   <autotools id="cairo"  autogen-sh="autoreconf"
              autogenargs="--enable-pdf --enable-quartz --disable-xlib --without-x">
     <branch module="cairo-1.16.0.tar.xz"  version="1.16.0"
@@ -353,14 +369,13 @@ configurations of WebKit.
             hash="sha256:e6f6c5cbecc405bb945c7cd15061276035ae3173bbb3bb25e8a916779c7f69cc"/>
     <dependencies>
       <dep package="libcroco"/>
+      <dep package="freetype"/>
     </dependencies>
     <after>
       <!-- Circular dependency if we depend on meta-gtk-osx or meta-gtk-osx-gtk3 -->
       <dep package="gtk+"/>
       <dep package="gtk+-3.0"/>
       <dep package="gtk+-3.14"/>
-      <dep package="freetype-no-harfbuzz"/>
-      <dep package="freetype"/>
     </after>
   </autotools>
 
diff --git a/modulesets-unstable/gtk-osx.modules b/modulesets-unstable/gtk-osx.modules
index 4bfe654..b36c989 100644
--- a/modulesets-unstable/gtk-osx.modules
+++ b/modulesets-unstable/gtk-osx.modules
@@ -88,8 +88,23 @@
     </dependencies>
   </meson>
 
+  <!-- To build Freetype *with* harfbuzz requires harfbuzz to be built
+       with freetype so we first have to build it *without* harfbuzz,
+       then build harfbuzz without cairo because cairo requires
+       harfbuzz. -->
+  <cmake id="freetype-no-harfbuzz" cmakeargs="-DCMAKE_DISABLE_FIND_PACKAGE_HarfBuzz=TRUE 
-DCMAKE_DISABLE_FIND_PACKAGE_BZip2=TRUE -D BUILD_SHARED_LIBS=true -D CMAKE_BUILD_TYPE=Release">
+    <branch module="freetype/freetype2" repo="nongnu"/>
+    <dependencies>
+      <dep package="zlib"/>
+    </dependencies>
+  </cmake>
+
   <meson id="harfbuzz-no-cairo" mesonargs="-Dcoretext=enabled -Ddocs=disabled">
     <branch repo="github" module="harfbuzz/harfbuzz"/>
+    <dependencies>
+      <dep package="glib"/>
+      <dep package="freetype-no-harfbuzz"/>
+    </dependencies>
     <after>
       <dep package="icu"/>
       <dep package="icu55"/>
@@ -118,6 +133,9 @@
     </after>
   </autotools>
 
+  <!-- cairo doesn't really need fontconfig, but if Pango finds
+       freetype it insists that it has to have fontconfig too and that
+       they are both built into cairo. -->
   <autotools id="cairo"
              autogenargs="--enable-pdf --enable-quartz --disable-xlib --without-x">
     <branch repo="freedesktop-jralls" module="cairo" />
@@ -141,6 +159,9 @@
     </after>
   </meson>
 
+  <!-- This harfbuzz doesn't really need cairo, but if Pango is going
+       to use introspection it requires harfbuzz to have
+       introspection, and gobject-introspection needs cairo. -->
   <meson id="harfbuzz" mesonargs="-Dcoretext=enabled -Ddocs=disabled">
     <branch repo="github" module="harfbuzz/harfbuzz"/>
     <dependencies>
diff --git a/modulesets/gtk-osx.modules b/modulesets/gtk-osx.modules
index 22bf54f..bd4f3a9 100644
--- a/modulesets/gtk-osx.modules
+++ b/modulesets/gtk-osx.modules
@@ -86,10 +86,22 @@
     </dependencies>
   </meson>
 
+  <!-- To build Freetype *with* harfbuzz requires harfbuzz to be built
+       with freetype so we first have to build it *without* harfbuzz,
+       then build harfbuzz without cairo because cairo requires
+       harfbuzz. -->
+  <cmake id="freetype-no-harfbuzz" cmakeargs="-DCMAKE_DISABLE_FIND_PACKAGE_HarfBuzz=TRUE 
-DCMAKE_DISABLE_FIND_PACKAGE_BZip2=TRUE -D BUILD_SHARED_LIBS=true -D CMAKE_BUILD_TYPE=Release">
+    <branch module="freetype/freetype2" repo="nongnu"/>
+    <dependencies>
+      <dep package="zlib"/>
+    </dependencies>
+  </cmake>
+
   <meson id="harfbuzz-no-cairo" mesonargs="-Dcoretext=enabled -Ddocs=disabled">
     <branch repo="github" module="harfbuzz/harfbuzz" tag="2.7.1"/>
     <dependencies>
       <dep package="glib"/>
+      <dep package="freetype-no-harfbuzz"/>
     </dependencies>
     <after>
       <dep package="icu"/>
@@ -120,6 +132,9 @@
     </after>
   </autotools>
 
+  <!-- cairo doesn't really need fontconfig, but if Pango finds
+       freetype it insists that it has to have fontconfig too and that
+       they are both built into cairo. -->
   <autotools id="cairo"
              autogenargs="--enable-pdf --enable-quartz --disable-xlib --without-x">
     <branch repo="freedesktop" module="cairo" revision="1.16"/>
@@ -143,6 +158,9 @@
     </after>
   </meson>
 
+  <!-- This harfbuzz doesn't really need cairo, but if Pango is going
+       to use introspection it requires harfbuzz to have
+       introspection, and gobject-introspection needs cairo. -->
   <meson id="harfbuzz" mesonargs="-Dcoretext=enabled -Ddocs=disabled">
     <branch repo="github" module="harfbuzz/harfbuzz" tag="2.7.1"/>
     <dependencies>
@@ -261,13 +279,12 @@
     <branch module="librsvg" tag="librsvg-2-40"/>
     <dependencies>
       <dep package="libcroco"/>
+      <dep package="freetype"/>
     </dependencies>
     <after>
 <!-- Circular dependency if we depend on meta-gtk-osx or meta-gtk-osx-gtk3 -->
       <dep package="gtk+"/>
       <dep package="gtk+-3.0"/>
-      <dep package="freetype-no-harfbuzz"/>
-      <dep package="freetype"/>
     </after>
   </autotools>
 


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]