[gnome-builder/wip/gtk4-port: 10/343] build: start on GTK 4 build system changes




commit 3be5cb5fff530610a0f3a8a548860a35dfe84ae7
Author: Christian Hergert <chergert redhat com>
Date:   Thu Sep 23 16:16:30 2021 -0700

    build: start on GTK 4 build system changes
    
    This gets the initial configuration going (with all plugins disabled)
    even though it wont build yet. We will need to start removing the
    libdazzle bits from libide as well as reduce/remove libide-sourceview
    now that most things are in GtkSourceView 5.x.

 meson.build                          | 31 +++++++++++++++++++------------
 src/gstyle/meson.build               |  1 -
 src/libide/code/meson.build          |  1 -
 src/libide/core/meson.build          |  1 -
 src/libide/debugger/meson.build      |  1 -
 src/libide/editor/meson.build        |  1 -
 src/libide/foundry/meson.build       |  1 -
 src/libide/greeter/meson.build       |  1 -
 src/libide/gui/meson.build           |  2 --
 src/libide/lsp/meson.build           |  1 -
 src/libide/plugins/meson.build       |  2 --
 src/libide/projects/meson.build      |  1 -
 src/libide/search/meson.build        |  1 -
 src/libide/sourceview/meson.build    |  1 -
 src/libide/terminal/meson.build      |  1 -
 src/libide/webkit/meson.build        |  5 +++++
 src/meson.build                      |  5 ++---
 src/plugins/dspy/libdspy/meson.build |  1 -
 src/plugins/meson.build              |  1 -
 19 files changed, 26 insertions(+), 33 deletions(-)
---
diff --git a/meson.build b/meson.build
index fec16b10c..ba4406df0 100644
--- a/meson.build
+++ b/meson.build
@@ -22,15 +22,19 @@ pkggirdir = join_paths(get_option('datadir'),'gnome-builder', 'gir-1.0')
 pkgtypelibdir = join_paths(get_option('libdir'), 'gnome-builder', 'girepository-1.0')
 
 # Check dependencies
-glib_req_version = '2.69.1'
-gtk_req_version = '3.24'
+glib_req_version = '2.70.0'
+gtk_req_version = '4.6'
+gtksourceview_req_version = '5.4'
 
 glib_req = '>= @0@'.format(glib_req_version)
 gtk_req = '>= @0@'.format(gtk_req_version)
+gtksourceview_req = '>= @0@'.format(gtksourceview_req_version)
 glib_major = glib_req_version.split('.')[0].to_int()
 glib_minor = glib_req_version.split('.')[1].to_int()
 gtk_major = gtk_req_version.split('.')[0].to_int()
 gtk_minor = gtk_req_version.split('.')[1].to_int()
+gtksourceview_major = gtksourceview_req_version.split('.')[0].to_int()
+gtksourceview_minor = gtksourceview_req_version.split('.')[1].to_int()
 
 if glib_minor % 2 == 1
   glib_minor = glib_minor + 1
@@ -38,6 +42,9 @@ endif
 if gtk_minor % 2 == 1
   gtk_minor = gtk_minor + 1
 endif
+if gtksourceview_minor % 2 == 1
+  gtksourceview_minor = gtksourceview_minor + 1
+endif
 
 # These default values are obtained by running /bin/sh without setting PATH
 safe_path = get_option('with_safe_path')
@@ -132,6 +139,8 @@ global_c_args = [
   '-DGLIB_VERSION_MAX_ALLOWED=GLIB_VERSION_@0@_@1@'.format(glib_major, glib_minor),
   '-DGDK_VERSION_MIN_REQUIRED=GDK_VERSION_@0@_@1@'.format(gtk_major, gtk_minor),
   '-DGDK_VERSION_MAX_ALLOWED=GDK_VERSION_@0@_@1@'.format(gtk_major, gtk_minor),
+  '-DGTK_SOURCE_VERSION_MIN_REQUIRED=GTK_SOURCE_VERSION_@0@_@1@'.format(gtk_major, gtksourceview_minor),
+  '-DGTK_SOURCE_VERSION_MAX_ALLOWED=GTK_SOURCE_VERSION_@0@_@1@'.format(gtk_major, gtksourceview_minor),
 ]
 test_c_args = [
   '-Wcast-align',
@@ -273,25 +282,23 @@ ld_supports_version_script = cc.links('''
 message('Linker supports --version-script: @0@'.format(ld_supports_version_script))
 
 # Commonly used deps
-libdazzle_dep = dependency('libdazzle-1.0', version: '>= 3.37.0')
 libglib_dep = dependency('glib-2.0', version: glib_req)
 libgio_dep = dependency('gio-2.0', version: glib_req)
 libgiounix_dep = dependency('gio-unix-2.0', version: glib_req)
-libgtk_dep = dependency('gtk+-3.0', version: gtk_req)
-libgtksource_dep = dependency('gtksourceview-4', version: '>= 4.0.0')
-libhandy_dep = dependency('libhandy-1', version: '>= 1.5.0')
+libgtk_dep = dependency('gtk4', version: gtk_req)
+libgtksource_dep = dependency('gtksourceview-5', version: gtksourceview_req)
 libjson_glib_dep = dependency('json-glib-1.0', version: '>= 1.2.0')
-libjsonrpc_glib_dep = dependency('jsonrpc-glib-1.0', version: '>= 3.41.0')
+libjsonrpc_glib_dep = dependency('jsonrpc-glib-1.0', version: '>= 3.42.0')
 libm_dep = cc.find_library('m', required: false)
 libpangoft2_dep = dependency('pangoft2', version: '>= 1.38.0')
-libpeas_dep = dependency('libpeas-1.0', version: '>= 1.22.0')
-libportal_dep = dependency('libportal-gtk3', required: false)
+libpeas_dep = dependency('libpeas-1.0', version: '>= 1.32.0')
+libportal_dep = dependency('libportal-gtk4', required: false)
 libtemplate_glib_dep = dependency('template-glib-1.0', version: '>= 3.28.0')
-libvte_dep = dependency('vte-2.91', version: '>= 0.65.0')
+libvte_dep = dependency('vte-2.91-gtk4', version: '>= 0.69.0')
 libxml2_dep = dependency('libxml-2.0', version: '>= 2.9.0')
 
 if get_option('webkit').enabled()
-  libwebkit_dep = dependency('webkit2gtk-4.0', version: '>= 2.26')
+  libwebkit_dep = dependency('webkit2gtk-5.0')
   config_h.set10('HAVE_WEBKIT', 1)
 endif
 
@@ -315,7 +322,7 @@ endforeach
 # to the SYSPROF_TRACE_FD. We use sysprof-4 instead since we will
 # already have to link against that for the plugin.
 #
-libsysprof_capture = dependency('sysprof-4', version: '>= 3.37.1', required: false)
+libsysprof_capture = dependency('sysprof-capture-4', version: '>= 3.42.0', static: true, required: false)
 if libsysprof_capture.found()
   config_h.set10('ENABLE_TRACING_SYSCAP', true)
 endif
diff --git a/src/gstyle/meson.build b/src/gstyle/meson.build
index 95e00ed62..950bdcc35 100644
--- a/src/gstyle/meson.build
+++ b/src/gstyle/meson.build
@@ -69,7 +69,6 @@ libgstyle_sources = [
 ]
 
 libgstyle_deps = [
-  libdazzle_dep,
   libgtk_dep,
   libportal_dep,
   libm_dep,
diff --git a/src/libide/code/meson.build b/src/libide/code/meson.build
index 9a956e73e..6f32f3b20 100644
--- a/src/libide/code/meson.build
+++ b/src/libide/code/meson.build
@@ -153,7 +153,6 @@ libide_code_deps = [
   libgio_dep,
   libgtk_dep,
   libgtksource_dep,
-  libdazzle_dep,
   libtemplate_glib_dep,
 
   libide_core_dep,
diff --git a/src/libide/core/meson.build b/src/libide/core/meson.build
index 48299428d..5faca8a0b 100644
--- a/src/libide/core/meson.build
+++ b/src/libide/core/meson.build
@@ -105,7 +105,6 @@ libide_core_sources += libide_core_public_sources
 libide_core_deps = [
   libgio_dep,
   libgtk_dep,
-  libdazzle_dep,
   libpeas_dep,
 ]
 
diff --git a/src/libide/debugger/meson.build b/src/libide/debugger/meson.build
index b5e72d5c0..87c56c7a0 100644
--- a/src/libide/debugger/meson.build
+++ b/src/libide/debugger/meson.build
@@ -62,7 +62,6 @@ libide_debugger_private_sources = [
 libide_debugger_deps = [
   libgio_dep,
   libgtk_dep,
-  libdazzle_dep,
 
   libide_core_dep,
   libide_io_dep,
diff --git a/src/libide/editor/meson.build b/src/libide/editor/meson.build
index 808ed784f..db9a5d905 100644
--- a/src/libide/editor/meson.build
+++ b/src/libide/editor/meson.build
@@ -80,7 +80,6 @@ libide_editor_sources += libide_editor_resources
 libide_editor_deps = [
   libgio_dep,
   libgtk_dep,
-  libdazzle_dep,
   libpeas_dep,
 
   libide_core_dep,
diff --git a/src/libide/foundry/meson.build b/src/libide/foundry/meson.build
index 9faaf1f39..723e09c00 100644
--- a/src/libide/foundry/meson.build
+++ b/src/libide/foundry/meson.build
@@ -162,7 +162,6 @@ libide_foundry_generated_headers += [libide_foundry_enums[1]]
 libide_foundry_deps = [
   libgio_dep,
   libgtk_dep,
-  libdazzle_dep,
   libpeas_dep,
   libvte_dep,
   libjson_glib_dep,
diff --git a/src/libide/greeter/meson.build b/src/libide/greeter/meson.build
index 121d498d0..4825fd46f 100644
--- a/src/libide/greeter/meson.build
+++ b/src/libide/greeter/meson.build
@@ -61,7 +61,6 @@ libide_greeter_private_sources += libide_greeter_resources
 libide_greeter_deps = [
   libgio_dep,
   libgtk_dep,
-  libdazzle_dep,
 
   libide_core_dep,
   libide_gui_dep,
diff --git a/src/libide/gui/meson.build b/src/libide/gui/meson.build
index 585ba7d30..7abf4837f 100644
--- a/src/libide/gui/meson.build
+++ b/src/libide/gui/meson.build
@@ -176,8 +176,6 @@ libide_gui_deps = [
   libgio_dep,
   libgtk_dep,
   libgtksource_dep,
-  libdazzle_dep,
-  libhandy_dep,
   libpeas_dep,
 
   dependency('libcmark', version: '>= 0.29.0'),
diff --git a/src/libide/lsp/meson.build b/src/libide/lsp/meson.build
index 620170d74..f623287d5 100644
--- a/src/libide/lsp/meson.build
+++ b/src/libide/lsp/meson.build
@@ -91,7 +91,6 @@ libide_lsp_sources = libide_lsp_public_sources + libide_lsp_private_sources + li
 libide_lsp_deps = [
   libgio_dep,
   libjsonrpc_glib_dep,
-  libdazzle_dep,
 
   libide_code_dep,
   libide_core_dep,
diff --git a/src/libide/plugins/meson.build b/src/libide/plugins/meson.build
index fff599db3..c3337a283 100644
--- a/src/libide/plugins/meson.build
+++ b/src/libide/plugins/meson.build
@@ -37,8 +37,6 @@ libide_plugins_private_sources = [
 libide_plugins_deps = [
   libgio_dep,
   libpeas_dep,
-  libdazzle_dep,
-
   libide_core_dep,
 ]
 
diff --git a/src/libide/projects/meson.build b/src/libide/projects/meson.build
index 3cc9725c6..7db2627da 100644
--- a/src/libide/projects/meson.build
+++ b/src/libide/projects/meson.build
@@ -56,7 +56,6 @@ libide_projects_sources = libide_projects_public_sources + libide_projects_priva
 libide_projects_deps = [
   libgio_dep,
   libgtk_dep,
-  libdazzle_dep,
   libtemplate_glib_dep,
   libxml2_dep,
 
diff --git a/src/libide/search/meson.build b/src/libide/search/meson.build
index 760c5a882..ef39c4da2 100644
--- a/src/libide/search/meson.build
+++ b/src/libide/search/meson.build
@@ -35,7 +35,6 @@ libide_search_sources = libide_search_public_sources
 
 libide_search_deps = [
   libgio_dep,
-  libdazzle_dep,
   libpeas_dep,
   libide_core_dep,
   libide_threading_dep,
diff --git a/src/libide/sourceview/meson.build b/src/libide/sourceview/meson.build
index 99641298b..1fd63e0ee 100644
--- a/src/libide/sourceview/meson.build
+++ b/src/libide/sourceview/meson.build
@@ -132,7 +132,6 @@ libide_sourceview_deps = [
   libgio_dep,
   libgtk_dep,
   libgtksource_dep,
-  libdazzle_dep,
 
   libide_core_dep,
   libide_threading_dep,
diff --git a/src/libide/terminal/meson.build b/src/libide/terminal/meson.build
index 6affcae14..8caa0bb94 100644
--- a/src/libide/terminal/meson.build
+++ b/src/libide/terminal/meson.build
@@ -71,7 +71,6 @@ libide_terminal_generated_headers += [libide_terminal_resources[1]]
 libide_terminal_deps = [
   libgio_dep,
   libgtk_dep,
-  libdazzle_dep,
   libvte_dep,
 
   libide_core_dep,
diff --git a/src/libide/webkit/meson.build b/src/libide/webkit/meson.build
index fce477b36..e1457270f 100644
--- a/src/libide/webkit/meson.build
+++ b/src/libide/webkit/meson.build
@@ -1,3 +1,6 @@
+libwebkit_dep = dependency('webkit2gtk-5.0', required: false)
+
+if libwebkit_dep.found()
 
 #
 # Sources
@@ -43,3 +46,5 @@ libide_webkit_dep = declare_dependency(
   include_directories: include_directories('.'),
               sources: libide_webkit_generated_headers,
 )
+
+endif
diff --git a/src/meson.build b/src/meson.build
index 9128f766f..692235b1f 100644
--- a/src/meson.build
+++ b/src/meson.build
@@ -24,7 +24,6 @@ subdir('plugins')
 gnome_builder_deps = [
   libgio_dep,
   libgiounix_dep,
-  libdazzle_dep,
   libgtk_dep,
 
   libide_code_dep,
@@ -99,7 +98,7 @@ pkgconfig.generate(
      filebase: 'gnome-builder-@0@.@1@'.format(MAJOR_VERSION, MINOR_VERSION),
   description: 'Contains the plugin container for Builder.',
   install_dir: join_paths(get_option('libdir'), 'pkgconfig'),
-     requires: [ 'gio-2.0', 'gio-unix-2.0', 'gtk+-3.0', 'gtksourceview-4', 'libdazzle-1.0', 'vte-2.91', 
'template-glib-1.0', 'libpeas-1.0' ],
+     requires: [ 'gio-2.0', 'gio-unix-2.0', 'gtk4', 'vte-2.91-gtk4', 'gtksourceview-5', 'template-glib-1.0', 
'libpeas-1.0' ],
 )
 
 libide_gir = gnome.generate_gir(gnome_builder,
@@ -111,7 +110,7 @@ libide_gir = gnome.generate_gir(gnome_builder,
             namespace: 'Ide',
         symbol_prefix: 'ide',
     identifier_prefix: 'Ide',
-             includes: [ 'Gio-2.0', 'Gtk-3.0', 'Dazzle-1.0', 'Peas-1.0', 'Vte-2.91', 'GtkSource-4', 
'Template-1.0' ],
+             includes: [ 'Gio-2.0', 'Gtk-4.0', 'Peas-1.0', 'Vte-2.91', 'GtkSource-5', 'Template-1.0' ],
               install: true,
       install_dir_gir: pkggirdir,
   install_dir_typelib: pkgtypelibdir,
diff --git a/src/plugins/dspy/libdspy/meson.build b/src/plugins/dspy/libdspy/meson.build
index e87b2bab6..fe7d9d5a9 100644
--- a/src/plugins/dspy/libdspy/meson.build
+++ b/src/plugins/dspy/libdspy/meson.build
@@ -17,7 +17,6 @@ libdspy_sources = [
 libdspy_deps = [
   libgio_dep,
   libgtk_dep,
-  libdazzle_dep,
 ]
 
 libdspy_sources += gnome.compile_resources('libdspy-resources', 'libdspy.gresource.xml',
diff --git a/src/plugins/meson.build b/src/plugins/meson.build
index f4d29a5b2..fb3d98f20 100644
--- a/src/plugins/meson.build
+++ b/src/plugins/meson.build
@@ -7,7 +7,6 @@ plugins_generated_sources = []
 plugins_link_with = []
 
 plugins_deps = [
-  libdazzle_dep,
   libgtk_dep,
   libgtksource_dep,
   libjsonrpc_glib_dep,


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