- fix building using meson 0.52
authorJan Rękorajski <baggins@pld-linux.org>
Sat, 26 Oct 2019 14:04:13 +0000 (16:04 +0200)
committerJan Rękorajski <baggins@pld-linux.org>
Sat, 26 Oct 2019 14:04:13 +0000 (16:04 +0200)
- updated files

gnome-builder.spec
meson0.52.patch [new file with mode: 0644]

index bb4d231c07d583d56669ee0e34f16a3c61e20a77..1cef5aba9084c76b25fe6837f61e4f22ee3410e1 100644 (file)
@@ -15,6 +15,7 @@ License:      GPL v3+
 Group:         X11/Applications
 Source0:       http://ftp.gnome.org/pub/GNOME/sources/gnome-builder/3.34/%{name}-%{version}.tar.xz
 # Source0-md5: 88e43a49678309a41db35f48aa0ce4fc
+Patch0:                meson0.52.patch
 URL:           https://wiki.gnome.org/Apps/Builder
 BuildRequires: appstream-glib-devel
 BuildRequires: clang-devel >= 3.5
@@ -167,6 +168,7 @@ Dokumentacja do GNOME Buildera.
 
 %prep
 %setup -q
+%patch0 -p1
 
 %build
 %meson build \
@@ -199,9 +201,10 @@ rm -rf $RPM_BUILD_ROOT
 %attr(755,root,root) %{_bindir}/gnome-builder
 %dir %{_libdir}/gnome-builder
 %dir %{_libdir}/gnome-builder/girepository-1.0
-%{_libdir}/gnome-builder/girepository-1.0/Ide-3.32.typelib
+%{_libdir}/gnome-builder/girepository-1.0/Ide-*.typelib
 %dir %{_libdir}/gnome-builder/plugins
 %attr(755,root,root) %{_libexecdir}/gnome-builder-clang
+%attr(755,root,root) %{_libexecdir}/gnome-builder-git
 %dir %{_datadir}/gnome-builder
 %{_datadir}/gnome-builder/fonts
 
@@ -255,7 +258,7 @@ rm -rf $RPM_BUILD_ROOT
 %{_libdir}/gnome-builder/plugins/rustup_plugin.gresource
 %{_libdir}/gnome-builder/plugins/rustup_plugin.py
 
-%{_libdir}/gnome-builder/plugins/Ide-3.32.metadata
+#%{_libdir}/gnome-builder/plugins/Ide-*.metadata
 
 %{_libdir}/gnome-builder/plugins/gradle.plugin
 %{_libdir}/gnome-builder/plugins/gradle_plugin.py
@@ -310,14 +313,15 @@ rm -rf $RPM_BUILD_ROOT
 %files devel
 %defattr(644,root,root,755)
 %{_includedir}/gnome-builder
-%{_includedir}/gnome-builder-3.32
+%{_includedir}/gnome-builder-*
 %dir %{_datadir}/gnome-builder/gir-1.0
-%{_datadir}/gnome-builder/gir-1.0/Ide-3.32.gir
+%{_datadir}/gnome-builder/gir-1.0/Ide-*.gir
 %dir %{_libdir}/gnome-builder/pkgconfig
-%{_libdir}/gnome-builder/pkgconfig/gnome-builder-3.32.pc
+%{_libdir}/gnome-builder/pkgconfig/gnome-builder-*.pc
 
 %files -n vala-gnome-builder
 %defattr(644,root,root,755)
 %dir %{_datadir}/gnome-builder/vapi
-%{_datadir}/gnome-builder/vapi/libide-3.32.deps
-%{_datadir}/gnome-builder/vapi/libide-3.32.vapi
+%{_datadir}/gnome-builder/vapi/libide-*.deps
+%{_datadir}/gnome-builder/vapi/libide-*.vapi
+%attr(755,root,root) %{_libexecdir}/gnome-builder-vala
diff --git a/meson0.52.patch b/meson0.52.patch
new file mode 100644 (file)
index 0000000..2890273
--- /dev/null
@@ -0,0 +1,334 @@
+From c8b862b491cfbbb4f79b24d7cd90e4fb1f37cb9f Mon Sep 17 00:00:00 2001
+From: Diego Escalante Urrelo <diegoe@gnome.org>
+Date: Fri, 25 Oct 2019 04:49:15 -0500
+Subject: [PATCH] WIP: build: Fix link_whole usage for meson 0.52.0
+
+Meson 0.52.0 changed how link_whole behaves and in doing so broke our
+usage of link_whole internally.
+
+A quick glance over mesonbuild/backend/ninjabackend.py seems to confirm
+Christian's suspicion that link_with is what we want for internal use,
+and link_whole for the final binary.
+
+You can see some more references to this and similar issues in the
+following jhbuild commit:
+https://gitlab.gnome.org/GNOME/jhbuild/commit/dbe679045ff5982577f22e7af8dc8fdfbd1c6311
+
+Fixes: https://gitlab.gnome.org/GNOME/gnome-builder/issues/1057
+---
+ src/libide/code/meson.build       |  2 +-
+ src/libide/core/meson.build       |  2 +-
+ src/libide/debugger/meson.build   |  2 +-
+ src/libide/editor/meson.build     |  2 +-
+ src/libide/foundry/meson.build    |  2 +-
+ src/libide/greeter/meson.build    |  2 +-
+ src/libide/gui/meson.build        |  2 +-
+ src/libide/io/meson.build         |  2 +-
+ src/libide/lsp/meson.build        |  2 +-
+ src/libide/plugins/meson.build    |  2 +-
+ src/libide/projects/meson.build   |  2 +-
+ src/libide/search/meson.build     |  2 +-
+ src/libide/sourceview/meson.build |  2 +-
+ src/libide/terminal/meson.build   |  2 +-
+ src/libide/themes/meson.build     |  2 +-
+ src/libide/threading/meson.build  |  2 +-
+ src/libide/tree/meson.build       |  2 +-
+ src/libide/vcs/meson.build        |  2 +-
+ src/libide/webkit/meson.build     |  2 +-
+ src/meson.build                   | 26 +++++++++++++++++++++++++-
+ 20 files changed, 44 insertions(+), 20 deletions(-)
+
+diff --git a/src/libide/code/meson.build b/src/libide/code/meson.build
+index ddacdc162..1a4fc5d26 100644
+--- a/src/libide/code/meson.build
++++ b/src/libide/code/meson.build
+@@ -175,7 +175,7 @@ libide_code = static_library('ide-code-' + libide_api_version,
+ libide_code_dep = declare_dependency(
+               sources: libide_code_private_headers + libide_code_generated_headers,
+          dependencies: libide_code_deps,
+-           link_whole: libide_code,
++            link_with: libide_code,
+   include_directories: include_directories('.'),
+ )
+diff --git a/src/libide/core/meson.build b/src/libide/core/meson.build
+index 1fa82fad9..bb75cbf26 100644
+--- a/src/libide/core/meson.build
++++ b/src/libide/core/meson.build
+@@ -117,7 +117,7 @@ libide_core = static_library('ide-core-' + libide_api_version, libide_core_sourc
+ libide_core_dep = declare_dependency(
+               sources: libide_core_private_headers + libide_core_generated_headers,
+          dependencies: libide_core_deps,
+-           link_whole: libide_core,
++            link_with: libide_core,
+   include_directories: include_directories('.'),
+ )
+diff --git a/src/libide/debugger/meson.build b/src/libide/debugger/meson.build
+index dffca20ca..b5e72d5c0 100644
+--- a/src/libide/debugger/meson.build
++++ b/src/libide/debugger/meson.build
+@@ -84,7 +84,7 @@ libide_debugger = static_library('ide-debugger-' + libide_api_version,
+ libide_debugger_dep = declare_dependency(
+               sources: libide_debugger_private_headers + libide_debugger_generated_headers,
+          dependencies: libide_debugger_deps,
+-           link_whole: libide_debugger,
++            link_with: libide_debugger,
+   include_directories: include_directories('.'),
+ )
+diff --git a/src/libide/editor/meson.build b/src/libide/editor/meson.build
+index 2838425b7..808ed784f 100644
+--- a/src/libide/editor/meson.build
++++ b/src/libide/editor/meson.build
+@@ -107,7 +107,7 @@ libide_editor = static_library('ide-editor-' + libide_api_version, libide_editor
+ libide_editor_dep = declare_dependency(
+          dependencies: libide_editor_deps,
+-           link_whole: libide_editor,
++            link_with: libide_editor,
+   include_directories: include_directories('.'),
+               sources: libide_editor_generated_headers,
+ )
+diff --git a/src/libide/foundry/meson.build b/src/libide/foundry/meson.build
+index 226397c15..d4878aa11 100644
+--- a/src/libide/foundry/meson.build
++++ b/src/libide/foundry/meson.build
+@@ -178,7 +178,7 @@ libide_foundry = static_library('ide-foundry-' + libide_api_version,
+ libide_foundry_dep = declare_dependency(
+          dependencies: libide_foundry_deps,
+-           link_whole: libide_foundry,
++            link_with: libide_foundry,
+   include_directories: include_directories('.'),
+               sources: libide_foundry_generated_headers,
+ )
+diff --git a/src/libide/greeter/meson.build b/src/libide/greeter/meson.build
+index 3968ca41e..121d498d0 100644
+--- a/src/libide/greeter/meson.build
++++ b/src/libide/greeter/meson.build
+@@ -83,7 +83,7 @@ libide_greeter = static_library('ide-greeter-' + libide_api_version,
+ libide_greeter_dep = declare_dependency(
+               sources: libide_greeter_private_headers + libide_greeter_generated_headers,
+          dependencies: libide_greeter_deps,
+-           link_whole: libide_greeter,
++            link_with: libide_greeter,
+   include_directories: include_directories('.'),
+ )
+diff --git a/src/libide/gui/meson.build b/src/libide/gui/meson.build
+index 9f469d2fa..94311282f 100644
+--- a/src/libide/gui/meson.build
++++ b/src/libide/gui/meson.build
+@@ -204,7 +204,7 @@ libide_gui = static_library('ide-gui-' + libide_api_version, libide_gui_sources,
+ libide_gui_dep = declare_dependency(
+               sources: libide_gui_private_headers + libide_gui_generated_headers,
+          dependencies: libide_gui_deps,
+-           link_whole: libide_gui,
++            link_with: libide_gui,
+   include_directories: include_directories('.'),
+ )
+diff --git a/src/libide/io/meson.build b/src/libide/io/meson.build
+index b5b6f4c68..f48b3bd8d 100644
+--- a/src/libide/io/meson.build
++++ b/src/libide/io/meson.build
+@@ -63,7 +63,7 @@ libide_io = static_library('ide-io-' + libide_api_version, libide_io_sources,
+ libide_io_dep = declare_dependency(
+          dependencies: [ libgio_dep, libide_core_dep, libide_threading_dep ],
+-           link_whole: libide_io,
++            link_with: libide_io,
+   include_directories: include_directories('.'),
+ )
+diff --git a/src/libide/lsp/meson.build b/src/libide/lsp/meson.build
+index 23aba74fa..c8140ca03 100644
+--- a/src/libide/lsp/meson.build
++++ b/src/libide/lsp/meson.build
+@@ -84,7 +84,7 @@ libide_lsp = static_library('ide-lsp-' + libide_api_version, libide_lsp_sources,
+ libide_lsp_dep = declare_dependency(
+               sources: libide_lsp_private_headers,
+          dependencies: libide_lsp_deps,
+-           link_whole: libide_lsp,
++            link_with: libide_lsp,
+   include_directories: include_directories('.'),
+ )
+diff --git a/src/libide/plugins/meson.build b/src/libide/plugins/meson.build
+index a33c528c9..fff599db3 100644
+--- a/src/libide/plugins/meson.build
++++ b/src/libide/plugins/meson.build
+@@ -51,7 +51,7 @@ libide_plugins = static_library('ide-plugins-' + libide_api_version,
+ libide_plugins_dep = declare_dependency(
+               sources: libide_plugins_private_headers,
+          dependencies: libide_plugins_deps,
+-           link_whole: libide_plugins,
++            link_with: libide_plugins,
+   include_directories: include_directories('.'),
+ )
+diff --git a/src/libide/projects/meson.build b/src/libide/projects/meson.build
+index 463ff06bc..3cc9725c6 100644
+--- a/src/libide/projects/meson.build
++++ b/src/libide/projects/meson.build
+@@ -79,7 +79,7 @@ libide_projects = static_library('ide-projects-' + libide_api_version, libide_pr
+ libide_projects_dep = declare_dependency(
+               sources: libide_projects_private_headers,
+          dependencies: libide_projects_deps,
+-           link_whole: libide_projects,
++            link_with: libide_projects,
+   include_directories: include_directories('.'),
+ )
+diff --git a/src/libide/search/meson.build b/src/libide/search/meson.build
+index e5b3b43ab..cf73aa91d 100644
+--- a/src/libide/search/meson.build
++++ b/src/libide/search/meson.build
+@@ -51,7 +51,7 @@ libide_search = static_library('ide-search-' + libide_api_version, libide_search
+ libide_search_dep = declare_dependency(
+          dependencies: libide_search_deps,
+-           link_whole: libide_search,
++            link_with: libide_search,
+   include_directories: include_directories('.'),
+ )
+diff --git a/src/libide/sourceview/meson.build b/src/libide/sourceview/meson.build
+index c4ba12d1f..99641298b 100644
+--- a/src/libide/sourceview/meson.build
++++ b/src/libide/sourceview/meson.build
+@@ -158,7 +158,7 @@ libide_sourceview = static_library('ide-sourceview-' + libide_api_version,
+ libide_sourceview_dep = declare_dependency(
+               sources: libide_sourceview_private_headers + libide_sourceview_generated_headers,
+          dependencies: libide_sourceview_deps,
+-           link_whole: libide_sourceview,
++            link_with: libide_sourceview,
+   include_directories: include_directories('.'),
+ )
+diff --git a/src/libide/terminal/meson.build b/src/libide/terminal/meson.build
+index 1d7c9f727..6affcae14 100644
+--- a/src/libide/terminal/meson.build
++++ b/src/libide/terminal/meson.build
+@@ -93,7 +93,7 @@ libide_terminal = static_library('ide-terminal-' + libide_api_version,
+ libide_terminal_dep = declare_dependency(
+               sources: libide_terminal_generated_headers,
+          dependencies: libide_terminal_deps,
+-           link_whole: libide_terminal,
++            link_with: libide_terminal,
+   include_directories: include_directories('.'),
+ )
+diff --git a/src/libide/themes/meson.build b/src/libide/themes/meson.build
+index 9d6c8e247..d883a4b86 100644
+--- a/src/libide/themes/meson.build
++++ b/src/libide/themes/meson.build
+@@ -46,7 +46,7 @@ libide_themes = static_library('ide-themes-' + libide_api_version,
+ libide_themes_dep = declare_dependency(
+               sources: libide_themes_resources[1],
+          dependencies: libide_themes_deps,
+-           link_whole: libide_themes,
++            link_with: libide_themes,
+   include_directories: include_directories('.'),
+ )
+diff --git a/src/libide/threading/meson.build b/src/libide/threading/meson.build
+index d38ddfb64..d628be2ff 100644
+--- a/src/libide/threading/meson.build
++++ b/src/libide/threading/meson.build
+@@ -66,7 +66,7 @@ libide_threading = static_library('ide-threading-' + libide_api_version, libide_
+ libide_threading_dep = declare_dependency(
+               sources: libide_threading_private_headers,
+          dependencies: libide_threading_deps,
+-           link_whole: libide_threading,
++            link_with: libide_threading,
+   include_directories: include_directories('.'),
+ )
+diff --git a/src/libide/tree/meson.build b/src/libide/tree/meson.build
+index 7b9922828..5a591106c 100644
+--- a/src/libide/tree/meson.build
++++ b/src/libide/tree/meson.build
+@@ -61,7 +61,7 @@ libide_tree = static_library('ide-tree-' + libide_api_version, libide_tree_sourc
+ libide_tree_dep = declare_dependency(
+               sources: libide_tree_private_headers,
+          dependencies: libide_tree_deps,
+-           link_whole: libide_tree,
++            link_with: libide_tree,
+   include_directories: include_directories('.'),
+ )
+diff --git a/src/libide/vcs/meson.build b/src/libide/vcs/meson.build
+index 6b0e157c4..c762afb64 100644
+--- a/src/libide/vcs/meson.build
++++ b/src/libide/vcs/meson.build
+@@ -84,7 +84,7 @@ libide_vcs = static_library('ide-vcs-' + libide_api_version,
+ libide_vcs_dep = declare_dependency(
+          dependencies: libide_vcs_deps,
+-           link_whole: libide_vcs,
++            link_with: libide_vcs,
+   include_directories: include_directories('.'),
+               sources: libide_vcs_generated_headers,
+ )
+diff --git a/src/libide/webkit/meson.build b/src/libide/webkit/meson.build
+index e1767ae46..fce477b36 100644
+--- a/src/libide/webkit/meson.build
++++ b/src/libide/webkit/meson.build
+@@ -39,7 +39,7 @@ libide_webkit = static_library('ide-webkit-' + libide_api_version, libide_webkit
+ libide_webkit_dep = declare_dependency(
+          dependencies: libide_webkit_deps,
+-           link_whole: libide_webkit,
++            link_with: libide_webkit,
+   include_directories: include_directories('.'),
+               sources: libide_webkit_generated_headers,
+ )
+diff --git a/src/meson.build b/src/meson.build
+index 3eb9ba535..113a142ad 100644
+--- a/src/meson.build
++++ b/src/meson.build
+@@ -48,6 +48,30 @@ gnome_builder_deps = [
+   libide_tree_dep,
+ ]
++gnome_builder_static = [
++  libide_code,
++  libide_core,
++  libide_debugger,
++  libide_editor,
++  libide_foundry,
++  libide_greeter,
++  libide_gui,
++  libide_io,
++  libide_lsp,
++  libide_plugins,
++  libide_projects,
++  libide_search,
++  libide_sourceview,
++  libide_terminal,
++  libide_themes,
++  libide_threading,
++  libide_tree,
++  libide_vcs,
++  libide_webkit,
++
++  plugins,
++]
++
+ if libsysprof_capture.found()
+   gnome_builder_deps += libsysprof_capture
+ endif
+@@ -77,7 +101,7 @@ gnome_builder = executable('gnome-builder', 'main.c', 'bug-buddy.c',
+             c_args: libide_args + exe_c_args + release_args,
+          link_args: exe_link_args,
+                pie: true,
+-        link_whole: plugins,
++        link_whole: gnome_builder_static,
+      install_rpath: pkglibdir_abs,
+       dependencies: gnome_builder_deps,
+ )
+-- 
+2.22.0
+
This page took 0.08847 seconds and 4 git commands to generate.