diff --git a/.gitlab-ci/fedora-base.Dockerfile b/.gitlab-ci/fedora-base.Dockerfile index cf31b534f7..4789ca1758 100644 --- a/.gitlab-ci/fedora-base.Dockerfile +++ b/.gitlab-ci/fedora-base.Dockerfile @@ -75,7 +75,6 @@ RUN dnf -y install \ python3-wheel \ redhat-rpm-config \ sassc \ - sysprof-devel \ systemtap-sdt-devel \ vulkan-devel \ wayland-devel \ diff --git a/meson.build b/meson.build index 3ab900eb06..71d7fd399f 100644 --- a/meson.build +++ b/meson.build @@ -687,7 +687,20 @@ endif profiler_enabled = get_option('profiler') if profiler_enabled - profiler_dep = dependency('sysprof-capture-3', static: true, required: true) + # libsysprof-capture support + profiler_dep = dependency('sysprof-capture-4', + required: true, + default_options: [ + 'enable_examples=false', + 'enable_gtk=false', + 'enable_tests=false', + 'enable_tools=false', + 'libsysprof=false', + 'with_sysprofd=none', + 'help=false', + ], + fallback: ['sysprof', 'libsysprof_capture_dep'], + ) if profiler_dep.found() cdata.set('HAVE_SYSPROF_CAPTURE', profiler_dep.found()) else diff --git a/subprojects/sysprof.wrap b/subprojects/sysprof.wrap new file mode 100644 index 0000000000..b1cff4b09f --- /dev/null +++ b/subprojects/sysprof.wrap @@ -0,0 +1,4 @@ +[wrap-git] +directory=sysprof +url=https://gitlab.gnome.org/GNOME/sysprof.git +revision=master diff --git a/tests/testperf.c b/tests/testperf.c index c674516241..a605720c6d 100644 --- a/tests/testperf.c +++ b/tests/testperf.c @@ -1,3 +1,4 @@ +#include #include #include #include @@ -7,7 +8,7 @@ typedef struct { gint64 value; } Data; -static gboolean +static bool callback (const SysprofCaptureFrame *frame, gpointer user_data) { @@ -94,9 +95,9 @@ main (int argc, char *argv[]) g_object_unref (subprocess); g_object_unref (launcher); - reader = sysprof_capture_reader_new (name, &error); - if (error) - g_error ("Opening syscap file: %s", error->message); + reader = sysprof_capture_reader_new (name); + if (!reader) + g_error ("Opening syscap file: %s", g_strerror (errno)); data.group = "style"; data.value = 0; diff --git a/testsuite/performance/test-performance.c b/testsuite/performance/test-performance.c index 8715eefcb0..be135c73ba 100644 --- a/testsuite/performance/test-performance.c +++ b/testsuite/performance/test-performance.c @@ -14,9 +14,9 @@ typedef struct { gint64 value; } Data; -static gboolean +static bool callback (const SysprofCaptureFrame *frame, - gpointer user_data) + gpointer user_data) { Data *data = user_data; @@ -148,9 +148,9 @@ main (int argc, char *argv[]) g_object_unref (subprocess); g_object_unref (launcher); - reader = sysprof_capture_reader_new (name, &error); - if (error) - g_error ("Opening syscap file: %s", error->message); + reader = sysprof_capture_reader_new (name); + if (!reader) + g_error ("Opening syscap file: %s", g_strerror (errno)); data.mark = opt_mark ? opt_mark : "css validation"; data.detail = opt_detail ? opt_detail : NULL;