Access Gtk C Widget in Python

[1/2] Generating src/Gcal-1.0.gir with a custom command
../src/core/gcal-calendar.c:433: Error: Gcal: identifier not found on the first line:
 * @result:
   ^
../src/core/gcal-event.c:817: Warning: Gcal: multiple comment blocks documenting 'gcal_event_new:' identifier (already seen at gcal-event.c:792).
../src/core/gcal-event.c:1705: Warning: Gcal: unknown annotation: direction
../src/core/gcal-event.c:1707: Warning: Gcal: unknown annotation: direction
../src/core/gcal-manager.c:62: Error: Gcal: identifier not found on the first line:
   * The list of clients we are managing.
     ^
../src/core/gcal-manager.c:1164: Warning: Gcal: unknown annotation: content-type
../src/core/gcal-range.c:209: Warning: Gcal: unknown annotation: direction
../src/core/gcal-timer.c:25: Error: Gcal: identifier not found on the first line:
 * The #GcalTimer object structure.
   ^
../src/gui/views/gcal-year-view.c:91: Error: Gcal: identifier not found on the first line:
   * first day of the week according to user locale, being
     ^
../src/gui/gcal-event-popover.c:619: Warning: Gcal: multiple comment blocks documenting 'GcalEventPopover::context:' identifier (already seen at gcal-import-dialog.c:595).
../src/gui/gcal-window.c:631: Error: Gcal: identifier not found on the first line:
 * create_notification: Internal method for creating a notification
   ^
../src/search/gcal-search-engine.c:216: Warning: Gcal: multiple comment blocks documenting 'GcalSearchEngine::context:' identifier (already seen at gcal-timeline.c:847).
../src/utils/gcal-date-time-utils.c:239: Error: Gcal: identifier not found on the first line:
 * @tz: a #GTimezone
   ^
../src/utils/gcal-utils.c:225: Warning: Gcal: missing ":" at column 38:
 * Returns: (nullable)(transfer full) a new allocated string with the
                                     ^
../src/utils/gcal-utils.c:272: Warning: Gcal: missing ":" at column 28:
 * Returns: (Transfer full) a new allocated string with the description
                           ^
../src/utils/gcal-utils.c:691: Error: Gcal: identifier not found on the first line:
   * At the moment, the popover stack surely contains only
     ^
../src/utils/gcal-utils.c:699: Error: Gcal: identifier not found on the first line:
	 * Get the unique box's children.
    ^
../src/utils/gcal-utils.c:707: Error: Gcal: identifier not found on the first line:
   * Iterate through the GtkModelButtons inside the menu section box.
     ^
../src/utils/gcal-utils.c:718: Error: Gcal: identifier not found on the first line:
       * Since there is no guarantee that the first child is
         ^
../src/weather/gcal-weather-info.c:264: Warning: Gcal: "@Returns" parameter unexpected at this location:
 * @Returns: (transfer full): A newly allocated #GcalWeatherInfo.
    ^
../src/weather/gcal-weather-service.c:40: Error: Gcal: identifier not found on the first line:
 * Internal structure used to manage known
   ^
../src/core/gcal-range.h:33: Warning: Gcal: "@GCAL_RANGE_NO_OVERLAP" parameter unexpected at this location:
 * @GCAL_RANGE_NO_OVERLAP: the ranges don't overlap
    ^
../src/core/gcal-range.h:53: Warning: Gcal: "@GCAL_RANGE_BEFORE" parameter unexpected at this location:
 * @GCAL_RANGE_BEFORE: range @a is before @b
    ^
../src/core/gcal-range.h:69: Warning: Gcal: "@GCAL_RANGE_DEFAULT" parameter unexpected at this location:
 * @GCAL_RANGE_DEFAULT: the default (date and time) range type
    ^
../src/utils/gcal-utils.h:55: Warning: Gcal: symbol='get_circle_surface_from_color': Unknown namespace for symbol 'get_circle_surface_from_color'
../src/utils/gcal-utils.h:58: Warning: Gcal: symbol='get_color_name_from_source': Unknown namespace for symbol 'get_color_name_from_source'
../src/utils/gcal-utils.h:61: Warning: Gcal: symbol='get_desc_from_component': Unknown namespace for symbol 'get_desc_from_component'
../src/utils/gcal-utils.h:64: Warning: Gcal: symbol='get_uuid_from_component': Unknown namespace for symbol 'get_uuid_from_component'
../src/utils/gcal-utils.h:67: Warning: Gcal: symbol='get_first_weekday': Unknown namespace for symbol 'get_first_weekday'
../src/utils/gcal-utils.h:69: Warning: Gcal: symbol='build_component_from_details': Unknown namespace for symbol 'build_component_from_details'
../src/utils/gcal-utils.h:73: Warning: Gcal: symbol='icaltime_compare_date': Unknown namespace for symbol 'icaltime_compare_date'
../src/utils/gcal-utils.h:76: Warning: Gcal: symbol='icaltime_compare_with_current': Unknown namespace for symbol 'icaltime_compare_with_current'
../src/utils/gcal-utils.h:80: Warning: Gcal: symbol='is_clock_format_24h': Unknown namespace for symbol 'is_clock_format_24h'
../src/utils/gcal-utils.h:83: Warning: Gcal: symbol='e_strftime_fix_am_pm': Unknown namespace for symbol 'e_strftime_fix_am_pm'
../src/utils/gcal-utils.h:88: Warning: Gcal: symbol='e_utf8_strftime_fix_am_pm': Unknown namespace for symbol 'e_utf8_strftime_fix_am_pm'
../src/utils/gcal-utils.h:93: Warning: Gcal: symbol='fix_popover_menu_icons': Unknown namespace for symbol 'fix_popover_menu_icons'
../src/utils/gcal-utils.h:96: Warning: Gcal: symbol='get_source_parent_name_color': Unknown namespace for symbol 'get_source_parent_name_color'
../src/utils/gcal-utils.h:101: Warning: Gcal: symbol='format_utc_offset': Unknown namespace for symbol 'format_utc_offset'
../src/utils/gcal-utils.h:103: Warning: Gcal: symbol='get_alarm_trigger_minutes': Unknown namespace for symbol 'get_alarm_trigger_minutes'
../src/utils/gcal-utils.h:106: Warning: Gcal: symbol='should_change_date_for_scroll': Unknown namespace for symbol 'should_change_date_for_scroll'
../src/utils/gcal-utils.h:109: Warning: Gcal: symbol='is_source_enabled': Unknown namespace for symbol 'is_source_enabled'
../src/utils/gcal-utils.h:111: Warning: Gcal: symbol='ask_recurrence_modification_type': Unknown namespace for symbol 'ask_recurrence_modification_type'
../src/utils/gcal-utils.h:115: Warning: Gcal: symbol='is_workday': Unknown namespace for symbol 'is_workday'
../src/utils/gcal-utils.h:117: Warning: Gcal: symbol='filter_event_list_by_uid_and_modtype': Unknown namespace for symbol 'filter_event_list_by_uid_and_modtype'
../src/gui/importer/gcal-importer.h:30: Warning: Gcal: symbol='i_cal_error_quark': Unknown namespace for symbol 'i_cal_error_quark'
../src/core/gcal-timer.h:27: Warning: Gcal: symbol='GCalTimerFunc': Unknown namespace for identifier 'GCalTimerFunc'
../src/gui/css-code.h:22: Warning: Gcal: symbol='CSS_TEMPLATE': Unknown namespace for symbol 'CSS_TEMPLATE'
../src/gconstructor.h:23: Warning: Gcal: symbol='G_HAS_CONSTRUCTORS': Unknown namespace for symbol 'G_HAS_CONSTRUCTORS'
../src/gconstructor.h:25: Warning: Gcal: symbol='G_DEFINE_CONSTRUCTOR': Unknown namespace for symbol 'G_DEFINE_CONSTRUCTOR'
../src/gconstructor.h:26: Warning: Gcal: symbol='G_DEFINE_DESTRUCTOR': Unknown namespace for symbol 'G_DEFINE_DESTRUCTOR'
../src/gconstructor.h:31: Warning: Gcal: symbol='G_HAS_CONSTRUCTORS': Unknown namespace for symbol 'G_HAS_CONSTRUCTORS'
../src/gconstructor.h:47: Warning: Gcal: symbol='G_MSVC_SYMBOL_PREFIX': Unknown namespace for symbol 'G_MSVC_SYMBOL_PREFIX'
../src/gconstructor.h:49: Warning: Gcal: symbol='G_MSVC_SYMBOL_PREFIX': Unknown namespace for symbol 'G_MSVC_SYMBOL_PREFIX'
../src/gconstructor.h:52: Warning: Gcal: symbol='G_DEFINE_CONSTRUCTOR': Unknown namespace for symbol 'G_DEFINE_CONSTRUCTOR'
../src/gconstructor.h:53: Warning: Gcal: symbol='G_DEFINE_DESTRUCTOR': Unknown namespace for symbol 'G_DEFINE_DESTRUCTOR'
../src/gconstructor.h:55: Warning: Gcal: symbol='G_MSVC_CTOR': Unknown namespace for symbol 'G_MSVC_CTOR'
../src/gconstructor.h:63: Warning: Gcal: symbol='G_MSVC_DTOR': Unknown namespace for symbol 'G_MSVC_DTOR'
../src/gconstructor.h:73: Warning: Gcal: symbol='G_HAS_CONSTRUCTORS': Unknown namespace for symbol 'G_HAS_CONSTRUCTORS'
../src/gconstructor.h:76: Warning: Gcal: symbol='G_DEFINE_CONSTRUCTOR_NEEDS_PRAGMA': Unknown namespace for symbol 'G_DEFINE_CONSTRUCTOR_NEEDS_PRAGMA'
../src/gconstructor.h:77: Warning: Gcal: symbol='G_DEFINE_DESTRUCTOR_NEEDS_PRAGMA': Unknown namespace for symbol 'G_DEFINE_DESTRUCTOR_NEEDS_PRAGMA'
../src/gconstructor.h:79: Warning: Gcal: symbol='G_DEFINE_CONSTRUCTOR_PRAGMA_ARGS': Unknown namespace for symbol 'G_DEFINE_CONSTRUCTOR_PRAGMA_ARGS'
../src/gconstructor.h:81: Warning: Gcal: symbol='G_DEFINE_CONSTRUCTOR': Unknown namespace for symbol 'G_DEFINE_CONSTRUCTOR'
../src/gconstructor.h:86: Warning: Gcal: symbol='G_DEFINE_DESTRUCTOR_PRAGMA_ARGS': Unknown namespace for symbol 'G_DEFINE_DESTRUCTOR_PRAGMA_ARGS'
../src/gconstructor.h:88: Warning: Gcal: symbol='G_DEFINE_DESTRUCTOR': Unknown namespace for symbol 'G_DEFINE_DESTRUCTOR'
../src/gconstructor.h:99: Warning: Gcal: symbol='G_HAS_CONSTRUCTORS': Unknown namespace for symbol 'G_HAS_CONSTRUCTORS'
../src/gconstructor.h:101: Warning: Gcal: symbol='G_DEFINE_CONSTRUCTOR_NEEDS_PRAGMA': Unknown namespace for symbol 'G_DEFINE_CONSTRUCTOR_NEEDS_PRAGMA'
../src/gconstructor.h:102: Warning: Gcal: symbol='G_DEFINE_DESTRUCTOR_NEEDS_PRAGMA': Unknown namespace for symbol 'G_DEFINE_DESTRUCTOR_NEEDS_PRAGMA'
../src/gconstructor.h:104: Warning: Gcal: symbol='G_DEFINE_CONSTRUCTOR_PRAGMA_ARGS': Unknown namespace for symbol 'G_DEFINE_CONSTRUCTOR_PRAGMA_ARGS'
../src/gconstructor.h:106: Warning: Gcal: symbol='G_DEFINE_CONSTRUCTOR': Unknown namespace for symbol 'G_DEFINE_CONSTRUCTOR'
../src/gconstructor.h:109: Warning: Gcal: symbol='G_DEFINE_DESTRUCTOR_PRAGMA_ARGS': Unknown namespace for symbol 'G_DEFINE_DESTRUCTOR_PRAGMA_ARGS'
../src/gconstructor.h:111: Warning: Gcal: symbol='G_DEFINE_DESTRUCTOR': Unknown namespace for symbol 'G_DEFINE_DESTRUCTOR'
../src/utils/gcal-utils.h:29: Warning: Gcal: symbol='ALIGNED': Unknown namespace for symbol 'ALIGNED'
../src/utils/gcal-utils.h:30: Warning: Gcal: symbol='MINUTES_PER_DAY': Unknown namespace for symbol 'MINUTES_PER_DAY'
../src/utils/gcal-utils.h:31: Warning: Gcal: symbol='MAX_MINUTES': Unknown namespace for symbol 'MAX_MINUTES'
g-ir-scanner: link: x86_64-linux-gnu-gcc -o /home/secureboot/Downloads/gnome-calendar/build/tmp-introspectl7sws1zk/Gcal-1.0 /home/secureboot/Downloads/gnome-calendar/build/tmp-introspectl7sws1zk/Gcal-1.0.o -L. -Wl,-rpath,. -Wl,--no-as-needed -L/home/secureboot/Downloads/gnome-calendar/build/src -Wl,-rpath,/home/secureboot/Downloads/gnome-calendar/build/src -lgcal -ledataserver-1.2 -ledataserverui-1.2 -lgtk-3 -lgdk-3 -lpangocairo-1.0 -lpango-1.0 -lharfbuzz -latk-1.0 -lcairo-gobject -lcairo -lgdk_pixbuf-2.0 -lecal-2.0 -lical-glib -lical -licalss -licalvcal -lsecret-1 -lxml2 -lsoup-2.4 -lgmodule-2.0 -lgio-2.0 -lgobject-2.0 -lglib-2.0 -ldazzle-1.0 -lhandy-1 -lgoa-1.0 -lgweather-3 -lgeoclue-2 -lgeocode-glib -lm -lgirepository-1.0 -lgio-2.0 -lgobject-2.0 -Wl,--export-dynamic -lgmodule-2.0 -pthread -lglib-2.0
../src/core/gcal-event.c:819: Warning: Gcal: gcal_event_new: unknown parameter 'self' in documentation comment, should be one of 'calendar', 'component', 'error'
../src/core/gcal-event.c:1418: Warning: Gcal: gcal_event_set_summary: unknown parameter 'event' in documentation comment, should be 'self'
../src/core/gcal-event.c:1643: Warning: Gcal: gcal_event_set_recurrence: unknown parameter 'self' in documentation comment, should be 'event'
../src/core/gcal-event.c:1705: Warning: Gcal: gcal_event_get_original_timezones: unknown parameter 'out_start_timezone' in documentation comment, should be one of 'end_tz', 'start_tz'
../src/core/gcal-event.c:1707: Warning: Gcal: gcal_event_get_original_timezones: unknown parameter 'out_end_timezone' in documentation comment, should be one of 'end_tz', 'start_tz'
../src/core/gcal-manager.c:805: Warning: Gcal: gcal_manager_add_source: unknown parameter 'base_uri' in documentation comment, should be one of 'backend', 'name'
../src/core/gcal-manager.c:806: Warning: Gcal: gcal_manager_add_source: unknown parameter 'relative_uri' in documentation comment, should be one of 'backend', 'name'
../src/core/gcal-manager.c:1157: Warning: Gcal: gcal_manager_get_events: unknown parameter 'start_date' in documentation comment, should be one of 'range_end', 'range_start'
../src/core/gcal-manager.c:1158: Warning: Gcal: gcal_manager_get_events: unknown parameter 'end_date' in documentation comment, should be one of 'range_end', 'range_start'
../src/weather/gcal-weather-service.c:1012: Warning: Gcal: gcal_weather_service_set_time_zone: unknown parameter 'days' in documentation comment, should be 'value'
../src/weather/gcal-weather-service.c:1181: Warning: Gcal: gcal_weather_service_connect_widget: unknown parameter 'new_service' in documentation comment, should be 'self'
../src/weather/gcal-weather-service.c:1180: Warning: Gcal: gcal_weather_service_connect_widget: unknown parameter 'old_service' in documentation comment, should be 'self'
../src/gui/gcal-event-widget.c:1151: Warning: Gcal: gcal_event_widget_set_date_start: unknown parameter 'date_end' in documentation comment, should be 'date_start'
../src/gui/event-editor/gcal-event-editor-dialog.c:594: Warning: Gcal: gcal_event_editor_dialog_set_event: unknown parameter 'dialog' in documentation comment, should be one of 'new_event', 'self'
../src/core/gcal-range-tree.h:33: Warning: Gcal: GcalRangeTraverseFunc: unknown parameter 'start' in documentation comment, should be 'range'
../src/core/gcal-range-tree.h:34: Warning: Gcal: GcalRangeTraverseFunc: unknown parameter 'end' in documentation comment, should be 'range'
../src/gui/views/gcal-view.c:91: Warning: Gcal: incorrect number of parameters in comment block, parameter annotations will be ignored.
../src/gui/views/gcal-view.c:59: Warning: Gcal: incorrect number of parameters in comment block, parameter annotations will be ignored.
../src/gui/views/gcal-view.c:76: Warning: Gcal: incorrect number of parameters in comment block, parameter annotations will be ignored.
<unknown>:: Error: Gcal: constructor found but GObject is not in includes
<unknown>:: Error: Gcal: constructor found but GObject is not in includes
<unknown>:: Error: Gcal: constructor found but GObject is not in includes
<unknown>:: Error: Gcal: constructor found but GObject is not in includes
<unknown>:: Error: Gcal: constructor found but GObject is not in includes
<unknown>:: Error: Gcal: constructor found but GObject is not in includes
<unknown>:: Error: Gcal: constructor found but GObject is not in includes
<unknown>:: Error: Gcal: constructor found but GObject is not in includes
<unknown>:: Error: Gcal: constructor found but GObject is not in includes
../src/core/gcal-recurrence.c:252: Warning: Gcal: gcal_recurrence_to_rrule: return value: Unresolved type: 'ICalRecurrence*'
../src/core/gcal-recurrence.c:150: Warning: Gcal: gcal_recurrence_parse_recurrence_rules: argument comp: Unresolved type: 'ECalComponent*'
../src/core/gcal-recurrence.c:150: Warning: Gcal: gcal_recurrence_parse_recurrence_rules: argument comp: Unresolved type: 'ECalComponent*'
../src/core/gcal-range.c:118: Warning: Gcal: gcal_range_new: argument range_start: Unresolved type: 'GDateTime*'
../src/core/gcal-range.c:118: Warning: Gcal: gcal_range_new: argument range_end: Unresolved type: 'GDateTime*'
../src/core/gcal-range.c:140: Warning: Gcal: gcal_range_new_take: argument range_start: Unresolved type: 'GDateTime*'
../src/core/gcal-range.c:140: Warning: Gcal: gcal_range_new_take: argument range_end: Unresolved type: 'GDateTime*'
../src/core/gcal-range.c:177: Warning: Gcal: gcal_range_get_start: return value: Unresolved type: 'GDateTime*'
../src/core/gcal-range.c:194: Warning: Gcal: gcal_range_get_end: return value: Unresolved type: 'GDateTime*'
../src/utils/gcal-date-time-utils.h:36: Warning: Gcal: gcal_set_date_time: argument dest: Unresolved type: 'GDateTime**'
../src/utils/gcal-date-time-utils.h:36: Warning: Gcal: gcal_set_date_time: argument src: Unresolved type: 'GDateTime*'
../src/utils/gcal-date-time-utils.c:48: Warning: Gcal: gcal_date_time_get_days_in_month: argument date: Unresolved type: 'GDateTime*'
../src/utils/gcal-date-time-utils.c:64: Warning: Gcal: gcal_date_time_get_start_of_week: argument date: Unresolved type: 'GDateTime*'
../src/utils/gcal-date-time-utils.c:73: Warning: Gcal: gcal_date_time_get_start_of_week: return value: Unresolved type: 'GDateTime*'
../src/utils/gcal-date-time-utils.c:97: Warning: Gcal: gcal_date_time_get_end_of_week: argument date: Unresolved type: 'GDateTime*'
../src/utils/gcal-date-time-utils.c:107: Warning: Gcal: gcal_date_time_get_end_of_week: return value: Unresolved type: 'GDateTime*'
../src/utils/gcal-date-time-utils.c:118: Warning: Gcal: gcal_date_time_compare_date: argument dt1: Unresolved type: 'GDateTime*'
../src/utils/gcal-date-time-utils.c:118: Warning: Gcal: gcal_date_time_compare_date: argument dt2: Unresolved type: 'GDateTime*'
../src/utils/gcal-date-time-utils.c:154: Warning: Gcal: gcal_date_time_to_icaltime: argument dt: Unresolved type: 'GDateTime*'
../src/utils/gcal-date-time-utils.c:160: Warning: Gcal: gcal_date_time_to_icaltime: return value: Unresolved type: 'ICalTime*'
../src/utils/gcal-date-time-utils.c:189: Warning: Gcal: gcal_date_time_is_date: argument dt: Unresolved type: 'GDateTime*'
../src/utils/gcal-date-time-utils.c:208: Warning: Gcal: gcal_date_time_from_icaltime: argument date: Unresolved type: 'ICalTime*'
../src/utils/gcal-date-time-utils.c:214: Warning: Gcal: gcal_date_time_from_icaltime: return value: Unresolved type: 'GDateTime*'
../src/utils/gcal-date-time-utils.h:54: Warning: Gcal: gcal_timezone_to_icaltimezone: argument tz: Unresolved type: 'GTimeZone*'
../src/utils/gcal-date-time-utils.h:54: Warning: Gcal: gcal_timezone_to_icaltimezone: return value: Unresolved type: 'ICalTimezone*'
../src/utils/gcal-utils.c:134: Warning: Gcal: gcal_get_surface_from_color: argument color: Unresolved type: 'GdkRGBA*'
../src/utils/gcal-utils.c:142: Warning: Gcal: gcal_get_surface_from_color: return value: Unresolved type: 'cairo_surface_t*'
../src/utils/gcal-utils.h:121: Warning: Gcal: gcal_translate_child_window_position: argument target: Unresolved type: 'GtkWidget*'
../src/utils/gcal-utils.h:121: Warning: Gcal: gcal_translate_child_window_position: argument child_window: Unresolved type: 'GdkWindow*'
../src/utils/gcal-utils.h:128: Warning: Gcal: gcal_utils_launch_online_accounts_panel: argument connection: Unresolved type: 'GDBusConnection*'
../src/gui/importer/gcal-importer.c:133: Warning: Gcal: gcal_importer_import_file: argument file: Unresolved type: 'GFile*'
../src/gui/importer/gcal-importer.c:133: Warning: Gcal: gcal_importer_import_file: argument cancellable: Unresolved type: 'GCancellable*'
../src/gui/importer/gcal-importer.c:133: Warning: Gcal: gcal_importer_import_file: argument callback: Unresolved type: 'GAsyncReadyCallback'
../src/gui/importer/gcal-importer.h:37: Warning: Gcal: gcal_importer_import_file_finish: argument result: Unresolved type: 'GAsyncResult*'
../src/gui/importer/gcal-importer.h:37: Warning: Gcal: gcal_importer_import_file_finish: return value: Unresolved type: 'ICalComponent*'
../src/core/gcal-timer.c:277: Warning: Gcal: gcal_timer_set_callback: argument func: Unresolved type: 'GCalTimerFunc'
../src/core/gcal-timer.c:277: Warning: Gcal: gcal_timer_set_callback: argument notify: Unresolved type: 'GDestroyNotify'
../src/core/gcal-timer.c:147: Warning: Gcal: gcal_timer_new: return value: Invalid non-constant return of bare structure or union; register as boxed type or (skip)
../src/core/gcal-timer.c:147: Warning: Gcal: gcal_timer_new: return value: Invalid non-constant return of bare structure or union; register as boxed type or (skip)
../src/utils/gcal-source-discoverer.h:42: Warning: Gcal: gcal_discover_sources_from_uri: argument cancellable: Unresolved type: 'GCancellable*'
../src/utils/gcal-source-discoverer.h:42: Warning: Gcal: gcal_discover_sources_from_uri: argument callback: Unresolved type: 'GAsyncReadyCallback'
../src/utils/gcal-source-discoverer.h:49: Warning: Gcal: gcal_discover_sources_from_uri_finish: argument result: Unresolved type: 'GAsyncResult*'
../src/utils/gcal-source-discoverer.h:49: Warning: Gcal: gcal_discover_sources_from_uri_finish: return value: Missing (element-type) annotation
../src/core/gcal-range-tree.c:500: Warning: Gcal: gcal_range_tree_new_with_free_func: argument destroy_func: Unresolved type: 'GDestroyNotify'
../src/core/gcal-range-tree.c:642: Warning: Gcal: gcal_range_tree_traverse: argument type: Unresolved type: 'GTraverseType'
../src/core/gcal-range-tree.c:642: Warning: Gcal: gcal_range_tree_traverse: argument func: Missing (scope) annotation for callback without GDestroyNotify (valid: call, async, forever)
../src/core/gcal-range-tree.c:668: Warning: Gcal: gcal_range_tree_get_all_data: return value: Missing (element-type) annotation
../src/core/gcal-range-tree.c:691: Warning: Gcal: gcal_range_tree_get_data_at_range: return value: Missing (element-type) annotation
../src/core/gcal-time-zone-monitor.h:33: Warning: Gcal: gcal_time_zone_monitor_get_timezone: return value: Unresolved type: 'GTimeZone*'
../src/core/gcal-time-zone-monitor.h:31: Warning: Gcal: gcal_time_zone_monitor_new: return value: Missing (transfer) annotation
../src/gui/gcal-calendar-popover.h:30: Warning: Gcal: gcal_calendar_popover_get_icon: return value: Unresolved type: 'GtkWidget*'
../src/core/gcal-calendar.c:609: Warning: Gcal: gcal_calendar_get_client: return value: Unresolved type: 'ECalClient*'
../src/core/gcal-calendar.c:466: Warning: Gcal: gcal_calendar_get_color: return value: Unresolved type: 'GdkRGBA*'
../src/core/gcal-calendar.c:478: Warning: Gcal: gcal_calendar_set_color: argument color: Unresolved type: 'GdkRGBA*'
../src/core/gcal-calendar.c:591: Warning: Gcal: gcal_calendar_get_source: return value: Unresolved type: 'ESource*'
../src/core/gcal-calendar.c:407: Warning: Gcal: gcal_calendar_new: argument source: Unresolved type: 'ESource*'
../src/core/gcal-calendar.c:407: Warning: Gcal: gcal_calendar_new: argument cancellable: Unresolved type: 'GCancellable*'
../src/core/gcal-calendar.c:407: Warning: Gcal: gcal_calendar_new: argument callback: Unresolved type: 'GAsyncReadyCallback'
<unknown>:: Warning: Gcal: (ErrorQuarkFunction)error_quark: gcal_calendar_error_quark: return value: Unresolved type: 'GQuark'
../src/core/gcal-calendar.h:57: Warning: Gcal: gcal_calendar_new_finish: argument result: Unresolved type: 'GAsyncResult*'
../src/core/gcal-calendar.h:57: Warning: Gcal: gcal_calendar_new_finish: return value: Missing (transfer) annotation
../src/core/gcal-event.h:56: Warning: Gcal: gcal_event_new_from_event: return value: Missing (transfer) annotation
../src/core/gcal-event.c:861: Warning: Gcal: gcal_event_get_color: return value: Unresolved type: 'GdkRGBA*'

Continuation of the error:

../src/core/gcal-event.c:871: Warning: Gcal: gcal_event_set_color: argument color: Unresolved type: 'GdkRGBA*'
../src/core/gcal-event.c:900: Warning: Gcal: gcal_event_get_component: return value: Unresolved type: 'ECalComponent*'
../src/core/gcal-event.c:941: Warning: Gcal: gcal_event_get_date_end: return value: Unresolved type: 'GDateTime*'
../src/core/gcal-event.c:952: Warning: Gcal: gcal_event_set_date_end: argument dt: Unresolved type: 'GDateTime*'
../src/core/gcal-event.c:988: Warning: Gcal: gcal_event_get_date_start: return value: Unresolved type: 'GDateTime*'
../src/core/gcal-event.c:998: Warning: Gcal: gcal_event_set_date_start: argument dt: Unresolved type: 'GDateTime*'
../src/core/gcal-event.c:1151: Warning: Gcal: gcal_event_get_alarms: return value: Missing (element-type) annotation
../src/core/gcal-event.c:1224: Warning: Gcal: gcal_event_add_alarm: argument alarm: Unresolved type: 'ECalComponentAlarm*'
../src/core/gcal-event.c:1353: Warning: Gcal: gcal_event_get_calendar: return value: Missing (transfer) annotation
../src/core/gcal-event.c:1702: Warning: Gcal: gcal_event_get_original_timezones: argument start_tz: Unresolved type: 'GTimeZone**'
../src/core/gcal-event.c:1702: Warning: Gcal: gcal_event_get_original_timezones: argument end_tz: Unresolved type: 'GTimeZone**'
<unknown>:: Warning: Gcal: (ErrorQuarkFunction)error_quark: gcal_event_error_quark: return value: Unresolved type: 'GQuark'
../src/core/gcal-event.c:817: Warning: Gcal: gcal_event_new: argument component: Unresolved type: 'ECalComponent*'
../src/core/gcal-manager.c:730: Warning: Gcal: gcal_manager_get_source: return value: Unresolved type: 'ESource*'
../src/core/gcal-manager.h:38: Warning: Gcal: gcal_manager_get_calendars: return value: Missing (element-type) annotation
../src/core/gcal-manager.c:1070: Warning: Gcal: gcal_manager_move_event_to_source: argument dest: Unresolved type: 'ESource*'
../src/core/gcal-manager.c:858: Warning: Gcal: gcal_manager_save_source: argument source: Unresolved type: 'ESource*'
../src/core/gcal-manager.c:1154: Warning: Gcal: gcal_manager_get_events: argument range_start: Unresolved type: 'GDateTime*'
../src/core/gcal-manager.c:1154: Warning: Gcal: gcal_manager_get_events: argument range_end: Unresolved type: 'GDateTime*'
../src/core/gcal-manager.c:1164: Warning: Gcal: gcal_manager_get_events: return value: Missing (element-type) annotation
../src/search/gcal-search-engine.h:34: Warning: Gcal: gcal_search_engine_search: argument cancellable: Unresolved type: 'GCancellable*'
../src/search/gcal-search-engine.h:34: Warning: Gcal: gcal_search_engine_search: argument callback: Unresolved type: 'GAsyncReadyCallback'
../src/search/gcal-search-engine.h:41: Warning: Gcal: gcal_search_engine_search_finish: argument result: Unresolved type: 'GAsyncResult*'
../src/search/gcal-search-engine.h:41: Warning: Gcal: gcal_search_engine_search_finish: return value: Unresolved type: 'GListModel*'
../src/search/gcal-search-engine.h:32: Warning: Gcal: gcal_search_engine_new: return value: Missing (transfer) annotation
../src/weather/gcal-weather-info.c:285: Warning: Gcal: gcal_weather_info_get_date: argument date: Unresolved type: 'GDate*'
../src/weather/gcal-weather-info.c:256: Warning: Gcal: gcal_weather_info_new: argument date: Unresolved type: 'GDate*'
../src/weather/gcal-weather-service.c:995: Warning: Gcal: gcal_weather_service_get_time_zone: return value: Unresolved type: 'GTimeZone*'
../src/weather/gcal-weather-service.c:1009: Warning: Gcal: gcal_weather_service_set_time_zone: argument value: Unresolved type: 'GTimeZone*'
../src/weather/gcal-weather-service.c:1041: Warning: Gcal: gcal_weather_service_get_weather_infos: return value: Missing (element-type) annotation
../src/weather/gcal-weather-service.c:1091: Warning: Gcal: gcal_weather_service_run: argument location: Unresolved type: 'GWeatherLocation*'
../src/weather/gcal-weather-service.c:1178: Warning: Gcal: gcal_weather_service_connect_widget: argument update_func: Missing (scope) annotation for callback without GDestroyNotify (valid: call, async, forever)
../src/weather/gcal-weather-service.c:1178: Warning: Gcal: gcal_weather_service_connect_widget: argument weather_changed_cb: Unresolved type: 'GCallback'
../src/weather/gcal-weather-service.c:1178: Warning: Gcal: gcal_weather_service_connect_widget: argument data: Unresolved type: 'GtkWidget*'
../src/core/gcal-context.c:323: Warning: Gcal: gcal_context_get_goa_client: return value: Unresolved type: 'GoaClient*'
../src/core/gcal-context.c:368: Warning: Gcal: gcal_context_get_settings: return value: Unresolved type: 'GSettings*'
../src/core/gcal-context.c:398: Warning: Gcal: gcal_context_get_timezone: return value: Unresolved type: 'GTimeZone*'
../src/gui/gcal-event-widget.c:1138: Warning: Gcal: gcal_event_widget_get_date_start: return value: Unresolved type: 'GDateTime*'
../src/gui/gcal-event-widget.c:1148: Warning: Gcal: gcal_event_widget_set_date_start: argument date_start: Unresolved type: 'GDateTime*'
../src/gui/gcal-event-widget.c:1089: Warning: Gcal: gcal_event_widget_get_date_end: return value: Unresolved type: 'GDateTime*'
../src/gui/gcal-event-widget.c:1099: Warning: Gcal: gcal_event_widget_set_date_end: argument date_end: Unresolved type: 'GDateTime*'
../src/gui/gcal-event-widget.c:1180: Warning: Gcal: gcal_event_widget_show_preview: argument callback: Missing (scope) annotation for callback without GDestroyNotify (valid: call, async, forever)
../src/gui/gcal-event-widget.h:66: Warning: Gcal: gcal_event_widget_clone: return value: Unresolved type: 'GtkWidget*'
../src/gui/gcal-event-widget.h:42: Warning: Gcal: gcal_event_widget_new: return value: Unresolved type: 'GtkWidget*'
../src/gui/views/gcal-week-grid.h:45: Warning: Gcal: gcal_week_grid_get_children_by_uuid: return value: Missing (element-type) annotation
../src/gui/views/gcal-week-grid.h:51: Warning: Gcal: gcal_week_grid_set_date: argument date: Unresolved type: 'GDateTime*'
../src/core/gcal-timeline.h:46: Warning: Gcal: gcal_timeline_get_events_at_range: argument range_start: Unresolved type: 'GDateTime*'
../src/core/gcal-timeline.h:46: Warning: Gcal: gcal_timeline_get_events_at_range: argument range_end: Unresolved type: 'GDateTime*'
../src/core/gcal-timeline.h:46: Warning: Gcal: gcal_timeline_get_events_at_range: return value: Missing (element-type) annotation
../src/gui/event-editor/gcal-event-editor-dialog.c:584: Warning: Gcal: gcal_event_editor_dialog_new: return value: Unresolved type: 'GtkWidget*'
../src/search/gcal-search-hit-event.h:34: Warning: Gcal: gcal_search_hit_event_get_event: return value: Missing (transfer) annotation
../src/search/gcal-search-hit-event.h:32: Warning: Gcal: gcal_search_hit_event_new: return value: Missing (transfer) annotation
../src/gui/event-editor/gcal-alarm-row.h:34: Warning: Gcal: gcal_alarm_row_get_alarm: return value: Unresolved type: 'ECalComponentAlarm*'
../src/gui/event-editor/gcal-alarm-row.h:32: Warning: Gcal: gcal_alarm_row_new: argument alarm: Unresolved type: 'ECalComponentAlarm*'
../src/gui/event-editor/gcal-alarm-row.h:32: Warning: Gcal: gcal_alarm_row_new: return value: Unresolved type: 'GtkWidget*'
../src/gui/importer/gcal-import-file-row.h:35: Warning: Gcal: gcal_import_file_row_get_ical_components: return value: Missing (element-type) annotation
../src/gui/importer/gcal-import-file-row.h:36: Warning: Gcal: gcal_import_file_row_get_timezones: return value: Missing (element-type) annotation
../src/gui/importer/gcal-import-file-row.h:30: Warning: Gcal: gcal_import_file_row_new: argument file: Unresolved type: 'GFile*'
../src/gui/importer/gcal-import-file-row.h:30: Warning: Gcal: gcal_import_file_row_new: argument title_sizegroup: Unresolved type: 'GtkSizeGroup*'
../src/gui/importer/gcal-import-file-row.h:30: Warning: Gcal: gcal_import_file_row_new: return value: Unresolved type: 'GtkWidget*'
<unknown>:: Warning: Gcal: (Signal)file-loaded: argument object: Missing (element-type) annotation
../src/gui/event-editor/gcal-date-chooser.h:43: Warning: Gcal: gcal_date_chooser_get_date: return value: Unresolved type: 'GDateTime*'
../src/gui/event-editor/gcal-date-chooser.h:45: Warning: Gcal: gcal_date_chooser_set_date: argument date: Unresolved type: 'GDateTime*'
../src/gui/event-editor/gcal-date-chooser.h:48: Warning: Gcal: gcal_date_chooser_set_day_options_callback: argument callback: Missing (scope) annotation for callback without GDestroyNotify (valid: call, async, forever)
../src/gui/event-editor/gcal-date-chooser.h:48: Warning: Gcal: gcal_date_chooser_set_day_options_callback: argument destroy: Unresolved type: 'GDestroyNotify'
../src/gui/event-editor/gcal-date-chooser.h:41: Warning: Gcal: gcal_date_chooser_new: return value: Unresolved type: 'GtkWidget*'
../src/gui/event-editor/gcal-date-chooser-day.h:34: Warning: Gcal: gcal_date_chooser_day_get_date: return value: Unresolved type: 'GDateTime*'
../src/gui/event-editor/gcal-date-chooser-day.h:36: Warning: Gcal: gcal_date_chooser_day_set_date: argument date: Unresolved type: 'GDateTime*'
../src/gui/event-editor/gcal-date-chooser-day.h:32: Warning: Gcal: gcal_date_chooser_day_new: return value: Unresolved type: 'GtkWidget*'
../src/gui/gcal-application.h:41: Warning: Gcal: gcal_application_set_initial_date: argument initial_date: Unresolved type: 'GDateTime*'
../src/gui/gcal-application.h:34: Warning: Gcal: gcal_application_new: return value: Missing (transfer) annotation
../src/gui/gcal-window.h:44: Warning: Gcal: gcal_window_import_files: argument files: Unresolved type: 'GFile**'
../src/gui/gcal-window.c:1226: Warning: Gcal: gcal_window_new_with_date: argument date: Unresolved type: 'GDateTime*'
../src/gui/gcal-window.c:1233: Warning: Gcal: gcal_window_new_with_date: return value: Unresolved type: 'GtkWidget*'
../src/gui/gcal-meeting-row.h:31: Warning: Gcal: gcal_meeting_row_new: return value: Unresolved type: 'GtkWidget*'
../src/gui/views/gcal-view.c:105: Warning: Gcal: gcal_view_set_date: argument date: Unresolved type: 'GDateTime*'
../src/gui/views/gcal-view.c:149: Warning: Gcal: gcal_view_get_date: return value: Unresolved type: 'GDateTime*'
../src/gui/views/gcal-view.c:182: Warning: Gcal: gcal_view_get_children_by_uuid: return value: Missing (element-type) annotation
../src/gui/views/gcal-view.c:204: Warning: Gcal: gcal_view_get_next_date: return value: Unresolved type: 'GDateTime*'
../src/gui/views/gcal-view.c:234: Warning: Gcal: gcal_view_get_previous_date: return value: Unresolved type: 'GDateTime*'
<unknown>:: Warning: Gcal: (Signal)create-event: argument object: Unresolved type: 'GDateTime'
<unknown>:: Warning: Gcal: (Signal)create-event: argument p0: Unresolved type: 'GDateTime'
<unknown>:: Warning: Gcal: (Signal)create-event-detailed: argument object: Unresolved type: 'GDateTime'
<unknown>:: Warning: Gcal: (Signal)create-event-detailed: argument p0: Unresolved type: 'GDateTime'
../src/gui/views/gcal-week-header.h:44: Warning: Gcal: gcal_week_header_get_children_by_uuid: return value: Missing (element-type) annotation
../src/gui/views/gcal-week-header.h:48: Warning: Gcal: gcal_week_header_get_sidebar_size_group: return value: Unresolved type: 'GtkSizeGroup*'
../src/gui/views/gcal-week-header.h:52: Warning: Gcal: gcal_week_header_set_date: argument date: Unresolved type: 'GDateTime*'
../src/gui/views/gcal-month-cell.h:35: Warning: Gcal: gcal_month_cell_get_date: return value: Unresolved type: 'GDateTime*'
../src/gui/views/gcal-month-cell.h:37: Warning: Gcal: gcal_month_cell_set_date: argument date: Unresolved type: 'GDateTime*'
../src/gui/views/gcal-month-cell.h:48: Warning: Gcal: gcal_month_cell_get_context: return value: Missing (transfer) annotation
../src/gui/views/gcal-month-cell.h:33: Warning: Gcal: gcal_month_cell_new: return value: Unresolved type: 'GtkWidget*'
<unknown>:: Warning: Gcal: (Signal)show-overflow: argument object: Unresolved type: 'GtkWidget'
../src/gui/event-editor/gcal-time-selector.h:36: Warning: Gcal: gcal_time_selector_get_time: return value: Unresolved type: 'GDateTime*'
../src/gui/event-editor/gcal-time-selector.h:38: Warning: Gcal: gcal_time_selector_set_time: argument time: Unresolved type: 'GDateTime*'
../src/gui/event-editor/gcal-time-selector.h:31: Warning: Gcal: gcal_time_selector_new: return value: Unresolved type: 'GtkWidget*'
../src/search/gcal-search-hit.h:43: Warning: Gcal: gcal_search_hit_activate: argument for_widget: Unresolved type: 'GtkWidget*'
../src/gui/gcal-quick-add-popover.c:947: Warning: Gcal: gcal_quick_add_popover_get_date_start: return value: Unresolved type: 'GDateTime*'
../src/gui/gcal-quick-add-popover.c:957: Warning: Gcal: gcal_quick_add_popover_set_date_start: argument dt: Unresolved type: 'GDateTime*'
../src/gui/gcal-quick-add-popover.c:989: Warning: Gcal: gcal_quick_add_popover_get_date_end: return value: Unresolved type: 'GDateTime*'
../src/gui/gcal-quick-add-popover.c:999: Warning: Gcal: gcal_quick_add_popover_set_date_end: argument dt: Unresolved type: 'GDateTime*'
../src/gui/gcal-quick-add-popover.h:34: Warning: Gcal: gcal_quick_add_popover_new: return value: Unresolved type: 'GtkWidget*'
../src/search/gcal-search-model.h:35: Warning: Gcal: gcal_search_model_wait_for_hits: argument cancellable: Unresolved type: 'GCancellable*'
../src/search/gcal-search-model.h:30: Warning: Gcal: gcal_search_model_new: argument cancellable: Unresolved type: 'GCancellable*'
../src/search/gcal-search-model.h:30: Warning: Gcal: gcal_search_model_new: argument range_start: Unresolved type: 'GDateTime*'
../src/search/gcal-search-model.h:30: Warning: Gcal: gcal_search_model_new: argument range_end: Unresolved type: 'GDateTime*'
../src/search/gcal-search-model.h:30: Warning: Gcal: gcal_search_model_new: return value: Missing (transfer) annotation
../src/gui/gcal-expandable-entry.h:28: Warning: Gcal: gcal_expandable_entry_new: return value: Unresolved type: 'GtkWidget*'
../src/gui/gcal-event-popover.h:33: Warning: Gcal: gcal_event_popover_new: return value: Unresolved type: 'GtkWidget*'
../src/gui/calendar-management/gcal-calendar-management-page.h:64: Warning: Gcal: gcal_calendar_management_page_get_titlebar: return value: Unresolved type: 'HdyHeaderBar*'
../src/gui/calendar-management/gcal-calendar-management-dialog.h:39: Warning: Gcal: gcal_calendar_management_dialog_get_titlebar: return value: Unresolved type: 'HdyHeaderBar*'
../src/core/gcal-shell-search-provider.h:35: Warning: Gcal: gcal_shell_search_provider_dbus_export: argument connection: Unresolved type: 'GDBusConnection*'
../src/core/gcal-shell-search-provider.h:40: Warning: Gcal: gcal_shell_search_provider_dbus_unexport: argument connection: Unresolved type: 'GDBusConnection*'
../src/core/gcal-shell-search-provider.h:33: Warning: Gcal: gcal_shell_search_provider_new: return value: Missing (transfer) annotation
../src/gui/event-editor/gcal-multi-choice.h:44: Warning: Gcal: gcal_multi_choice_set_format_callback: argument callback: Missing (scope) annotation for callback without GDestroyNotify (valid: call, async, forever)
../src/gui/event-editor/gcal-multi-choice.h:44: Warning: Gcal: gcal_multi_choice_set_format_callback: argument notify: Unresolved type: 'GDestroyNotify'
../src/gui/event-editor/gcal-multi-choice.h:30: Warning: Gcal: gcal_multi_choice_new: return value: Unresolved type: 'GtkWidget*'
../src/core/gcal-night-light-monitor.h:32: Warning: Gcal: gcal_night_light_monitor_new: return value: Missing (transfer) annotation
../src/gui/event-editor/gcal-date-selector.c:276: Warning: Gcal: gcal_date_selector_get_date: return value: Unresolved type: 'GDateTime*'
../src/gui/event-editor/gcal-date-selector.c:249: Warning: Gcal: gcal_date_selector_set_date: argument date: Unresolved type: 'GDateTime*'
../src/gui/event-editor/gcal-date-selector.h:30: Warning: Gcal: gcal_date_selector_new: return value: Unresolved type: 'GtkWidget*'
../src/gui/views/gcal-month-popover.h:35: Warning: Gcal: gcal_month_popover_set_relative_to: argument relative_to: Unresolved type: 'GtkWidget*'
../src/gui/views/gcal-month-popover.h:42: Warning: Gcal: gcal_month_popover_get_date: return value: Unresolved type: 'GDateTime*'
../src/gui/views/gcal-month-popover.h:44: Warning: Gcal: gcal_month_popover_set_date: argument date: Unresolved type: 'GDateTime*'
../src/gui/views/gcal-month-popover.h:32: Warning: Gcal: gcal_month_popover_new: return value: Unresolved type: 'GtkWidget*'
../src/gui/importer/gcal-import-dialog.h:32: Warning: Gcal: gcal_import_dialog_new_for_files: argument files: Unresolved type: 'GFile**'
../src/gui/importer/gcal-import-dialog.h:32: Warning: Gcal: gcal_import_dialog_new_for_files: return value: Unresolved type: 'GtkWidget*'
../src/core/gcal-calendar-monitor.h:33: Warning: Gcal: gcal_calendar_monitor_new: return value: Missing (transfer) annotation
<unknown>:: Warning: Gcal: (ErrorQuarkFunction)source_discoverer_error_quark: gcal_source_discoverer_error_quark: return value: Unresolved type: 'GQuark'
[2/2] Generating src/Gcal-1.0.typelib with a custom command
FAILED: src/Gcal-1.0.typelib 
/usr/bin/g-ir-compiler src/Gcal-1.0.gir --output src/Gcal-1.0.typelib --includedir=/usr/share/gir-1.0
**
ERROR:../girepository/girparser.c:343:state_switch: assertion failed: (ctx->state != newstate)
Bail out! ERROR:../girepository/girparser.c:343:state_switch: assertion failed: (ctx->state != newstate)
Aborted (core dumped)
ninja: build stopped: subcommand failed.

So it can’t find a whole bunch of things. Do you think I’m missing some headers? I found this issue, but there is not a lot of discussion.

The doc comments need to be formatted a certain way for gir to understand them. It looks like gcal did not consider this use case so the comments are wrongly formatted. You will likely have to go through each comment and fix them if you want this to work.

Because GCal is not an actual library: it’s the core of an application that is written in the same language. What @Astro_Boy is doing is trying to extract private widgetry out of an unsuspecting code base.

Yes, but for whatever reason there is at least something there that vaguely looks like gtk-doc comments…

It’s not necessarily caused by docblocks: the introspection scanner can work entirely out of C declarations. Docblocks are typically used to specify ownership, argument direction, and other overrides.

You’re missing an include directive; without it, the introspection scanner won’t be able to resolve types that come from other libraries.

1 Like

Thank you Emmanuele! :smiling_face:

Looking at the project dependencies:

libical_dep = dependency('libical', version: '>= 1.0')
gsettings_desktop_schemas_dep = dependency('gsettings-desktop-schemas', version: '>= 3.21.2')
libedataserverui_dep = dependency('libedataserverui-1.2', version: '>= 3.17.1')
libedataserver_dep = dependency('libedataserver-1.2', version: '>= 3.17.1')
libecal_dep = dependency('libecal-2.0', version: '>= 3.33.2')
libsoup_dep = dependency('libsoup-2.4')
libdazzle_dep = dependency('libdazzle-1.0', version: '>= 3.33.1')
libhandy_dep = dependency('libhandy-1', version: '>= 1.0.0')
glib_dep = dependency('glib-2.0', version: '>= 2.67.5')
gtk_dep = dependency('gtk+-3.0', version: '>= 3.22.20')
gio_dep = dependency('gio-2.0', version: '>= 2.58.0')
goa_dep = dependency('goa-1.0', version: '>= 3.2.0')
gweather_dep = dependency('gweather-3.0', version: '>= 40.0')
geoclue_dep = dependency('libgeoclue-2.0', version: '>=2.4')
geocode_dep = dependency('geocode-glib-1.0', version: '>=3.23')
m_dep = cc.find_library('m')

I was able to add needed includes:

gnome.generate_gir(libgcal,
  sources: [sources, headers_gir],
  namespace: 'Gcal',
  nsversion: '1.0',
  identifier_prefix: 'Gcal',
  dependencies: gcal_deps,
  symbol_prefix: 'gcal',
  includes: ['Handy-1', 'Soup-2.4', 'ICal-3.0', 'Dazzle-1.0', 'ECal-2.0', 'EDataServer-1.2', 'EDataServerUI-1.2', 'GLib-2.0', 'Gtk-3.0', 'Gio-2.0', 'Goa-1.0', 'GWeather-3.0', 'Geoclue-2.0', 'GeocodeGlib-1.0'],
)

I was looking up names in the /usr/share/gir-1.0, here is what I have in this folder:

Atk-1.0.gir
Atspi-2.0.gir
cairo-1.0.gir
Camel-1.2.gir
CScreensaver-1.0.gir
Dazzle-1.0.gir
DBus-1.0.gir
DBusGLib-1.0.gir
EBackend-1.2.gir
EBookContacts-1.2.gir
ECal-2.0.gir
EDataBook-1.2.gir
EDataServer-1.2.gir
EDataServerUI-1.2.gir
fontconfig-2.0.gir
freetype2-2.0.gir
Gcal-1.0.gir
GCalc-2.gir
GCi-1.gir
Gck-1.gir
Gcr-3.gir
GcrUi-3.gir
GData-0.0.gir
GDesktopEnums-3.0.gir
Gdk-3.0.gir
GdkPixbuf-2.0.gir
GdkPixdata-2.0.gir
GdkX11-3.0.gir
Geoclue-2.0.gir
GeocodeGlib-1.0.gir
Gio-2.0.gir
gir-1.2.rnc
GIRepository-2.0.gir
GL-1.0.gir
GLib-2.0.gir
GModule-2.0.gir
Goa-1.0.gir
GObject-2.0.gir
Gtk-3.0.gir
GWeather-3.0.gir
Handy-1.gir
HarfBuzz-0.0.gir
ICal-3.0.gir
ICalGLib-3.0.gir
JavaScriptCore-4.0.gir
Json-1.0.gir
libxml2-2.0.gir
Pango-1.0.gir
PangoCairo-1.0.gir
PangoFc-1.0.gir
PangoFT2-1.0.gir
PangoOT-1.0.gir
PangoXft-1.0.gir
Secret-1.gir
Soup-2.4.gir
Vulkan-1.0.gir
WebKit2-4.0.gir
WebKit2WebExtension-4.0.gir
xfixes-4.0.gir
xft-2.0.gir
xlib-2.0.gir
xrandr-1.3.gir
XreaderDocument-1.5.gir
XreaderView-1.5.gir

I still get an error, it’s shorter so that’s good:

[2/3] Generating src/Gcal-1.0.gir with a custom command
../src/core/gcal-calendar.c:433: Error: Gcal: identifier not found on the first line:
 * @result:
   ^
../src/core/gcal-event.c:817: Warning: Gcal: multiple comment blocks documenting 'gcal_event_new:' identifier (already seen at gcal-event.c:792).
../src/core/gcal-event.c:1705: Warning: Gcal: unknown annotation: direction
../src/core/gcal-event.c:1707: Warning: Gcal: unknown annotation: direction
../src/core/gcal-manager.c:62: Error: Gcal: identifier not found on the first line:
   * The list of clients we are managing.
     ^
../src/core/gcal-manager.c:1164: Warning: Gcal: unknown annotation: content-type
../src/core/gcal-range.c:209: Warning: Gcal: unknown annotation: direction
../src/core/gcal-timer.c:25: Error: Gcal: identifier not found on the first line:
 * The #GcalTimer object structure.
   ^
../src/gui/views/gcal-year-view.c:91: Error: Gcal: identifier not found on the first line:
   * first day of the week according to user locale, being
     ^
../src/gui/gcal-event-popover.c:619: Warning: Gcal: multiple comment blocks documenting 'GcalEventPopover::context:' identifier (already seen at gcal-import-dialog.c:595).
../src/gui/gcal-window.c:631: Error: Gcal: identifier not found on the first line:
 * create_notification: Internal method for creating a notification
   ^
../src/search/gcal-search-engine.c:216: Warning: Gcal: multiple comment blocks documenting 'GcalSearchEngine::context:' identifier (already seen at gcal-timeline.c:847).
../src/utils/gcal-date-time-utils.c:239: Error: Gcal: identifier not found on the first line:
 * @tz: a #GTimezone
   ^
../src/utils/gcal-utils.c:225: Warning: Gcal: missing ":" at column 38:
 * Returns: (nullable)(transfer full) a new allocated string with the
                                     ^
../src/utils/gcal-utils.c:272: Warning: Gcal: missing ":" at column 28:
 * Returns: (Transfer full) a new allocated string with the description
                           ^
../src/utils/gcal-utils.c:691: Error: Gcal: identifier not found on the first line:
   * At the moment, the popover stack surely contains only
     ^
../src/utils/gcal-utils.c:699: Error: Gcal: identifier not found on the first line:
	 * Get the unique box's children.
    ^
../src/utils/gcal-utils.c:707: Error: Gcal: identifier not found on the first line:
   * Iterate through the GtkModelButtons inside the menu section box.
     ^
../src/utils/gcal-utils.c:718: Error: Gcal: identifier not found on the first line:
       * Since there is no guarantee that the first child is
         ^
../src/weather/gcal-weather-info.c:264: Warning: Gcal: "@Returns" parameter unexpected at this location:
 * @Returns: (transfer full): A newly allocated #GcalWeatherInfo.
    ^
../src/weather/gcal-weather-service.c:40: Error: Gcal: identifier not found on the first line:
 * Internal structure used to manage known
   ^
../src/core/gcal-range.h:33: Warning: Gcal: "@GCAL_RANGE_NO_OVERLAP" parameter unexpected at this location:
 * @GCAL_RANGE_NO_OVERLAP: the ranges don't overlap
    ^
../src/core/gcal-range.h:53: Warning: Gcal: "@GCAL_RANGE_BEFORE" parameter unexpected at this location:
 * @GCAL_RANGE_BEFORE: range @a is before @b
    ^
../src/core/gcal-range.h:69: Warning: Gcal: "@GCAL_RANGE_DEFAULT" parameter unexpected at this location:
 * @GCAL_RANGE_DEFAULT: the default (date and time) range type
    ^
../src/utils/gcal-utils.h:55: Warning: Gcal: symbol='get_circle_surface_from_color': Unknown namespace for symbol 'get_circle_surface_from_color'
../src/utils/gcal-utils.h:58: Warning: Gcal: symbol='get_color_name_from_source': Unknown namespace for symbol 'get_color_name_from_source'
../src/utils/gcal-utils.h:61: Warning: Gcal: symbol='get_desc_from_component': Unknown namespace for symbol 'get_desc_from_component'
../src/utils/gcal-utils.h:64: Warning: Gcal: symbol='get_uuid_from_component': Unknown namespace for symbol 'get_uuid_from_component'
../src/utils/gcal-utils.h:67: Warning: Gcal: symbol='get_first_weekday': Unknown namespace for symbol 'get_first_weekday'
../src/utils/gcal-utils.h:69: Warning: Gcal: symbol='build_component_from_details': Unknown namespace for symbol 'build_component_from_details'
../src/utils/gcal-utils.h:73: Warning: Gcal: symbol='icaltime_compare_date': Unknown namespace for symbol 'icaltime_compare_date'
../src/utils/gcal-utils.h:76: Warning: Gcal: symbol='icaltime_compare_with_current': Unknown namespace for symbol 'icaltime_compare_with_current'
../src/utils/gcal-utils.h:80: Warning: Gcal: symbol='is_clock_format_24h': Unknown namespace for symbol 'is_clock_format_24h'
../src/utils/gcal-utils.h:83: Warning: Gcal: symbol='e_strftime_fix_am_pm': Skipping foreign symbol from namespace EDataServerUI
../src/utils/gcal-utils.h:88: Warning: Gcal: symbol='e_utf8_strftime_fix_am_pm': Skipping foreign symbol from namespace EDataServerUI
../src/utils/gcal-utils.h:93: Warning: Gcal: symbol='fix_popover_menu_icons': Unknown namespace for symbol 'fix_popover_menu_icons'
../src/utils/gcal-utils.h:96: Warning: Gcal: symbol='get_source_parent_name_color': Unknown namespace for symbol 'get_source_parent_name_color'
../src/utils/gcal-utils.h:101: Warning: Gcal: symbol='format_utc_offset': Unknown namespace for symbol 'format_utc_offset'
../src/utils/gcal-utils.h:103: Warning: Gcal: symbol='get_alarm_trigger_minutes': Unknown namespace for symbol 'get_alarm_trigger_minutes'
../src/utils/gcal-utils.h:106: Warning: Gcal: symbol='should_change_date_for_scroll': Unknown namespace for symbol 'should_change_date_for_scroll'
../src/utils/gcal-utils.h:109: Warning: Gcal: symbol='is_source_enabled': Unknown namespace for symbol 'is_source_enabled'
../src/utils/gcal-utils.h:111: Warning: Gcal: symbol='ask_recurrence_modification_type': Unknown namespace for symbol 'ask_recurrence_modification_type'
../src/utils/gcal-utils.h:115: Warning: Gcal: symbol='is_workday': Unknown namespace for symbol 'is_workday'
../src/utils/gcal-utils.h:117: Warning: Gcal: symbol='filter_event_list_by_uid_and_modtype': Unknown namespace for symbol 'filter_event_list_by_uid_and_modtype'
../src/gui/importer/gcal-importer.h:30: Warning: Gcal: symbol='i_cal_error_quark': Skipping foreign symbol from namespace ICalGLib
../src/core/gcal-timer.h:27: Warning: Gcal: symbol='GCalTimerFunc': Skipping foreign identifier 'GCalTimerFunc' from namespace Gio
../src/gui/css-code.h:22: Warning: Gcal: symbol='CSS_TEMPLATE': Unknown namespace for symbol 'CSS_TEMPLATE'
../src/gconstructor.h:23: Warning: Gcal: symbol='G_HAS_CONSTRUCTORS': Skipping foreign symbol from namespace Gio
../src/gconstructor.h:25: Warning: Gcal: symbol='G_DEFINE_CONSTRUCTOR': Skipping foreign symbol from namespace Gio
../src/gconstructor.h:26: Warning: Gcal: symbol='G_DEFINE_DESTRUCTOR': Skipping foreign symbol from namespace Gio
../src/gconstructor.h:31: Warning: Gcal: symbol='G_HAS_CONSTRUCTORS': Skipping foreign symbol from namespace Gio
../src/gconstructor.h:47: Warning: Gcal: symbol='G_MSVC_SYMBOL_PREFIX': Skipping foreign symbol from namespace Gio
../src/gconstructor.h:49: Warning: Gcal: symbol='G_MSVC_SYMBOL_PREFIX': Skipping foreign symbol from namespace Gio
../src/gconstructor.h:52: Warning: Gcal: symbol='G_DEFINE_CONSTRUCTOR': Skipping foreign symbol from namespace Gio
../src/gconstructor.h:53: Warning: Gcal: symbol='G_DEFINE_DESTRUCTOR': Skipping foreign symbol from namespace Gio
../src/gconstructor.h:55: Warning: Gcal: symbol='G_MSVC_CTOR': Skipping foreign symbol from namespace Gio
../src/gconstructor.h:63: Warning: Gcal: symbol='G_MSVC_DTOR': Skipping foreign symbol from namespace Gio
../src/gconstructor.h:73: Warning: Gcal: symbol='G_HAS_CONSTRUCTORS': Skipping foreign symbol from namespace Gio
../src/gconstructor.h:76: Warning: Gcal: symbol='G_DEFINE_CONSTRUCTOR_NEEDS_PRAGMA': Skipping foreign symbol from namespace Gio
../src/gconstructor.h:77: Warning: Gcal: symbol='G_DEFINE_DESTRUCTOR_NEEDS_PRAGMA': Skipping foreign symbol from namespace Gio
../src/gconstructor.h:79: Warning: Gcal: symbol='G_DEFINE_CONSTRUCTOR_PRAGMA_ARGS': Skipping foreign symbol from namespace Gio
../src/gconstructor.h:81: Warning: Gcal: symbol='G_DEFINE_CONSTRUCTOR': Skipping foreign symbol from namespace Gio
../src/gconstructor.h:86: Warning: Gcal: symbol='G_DEFINE_DESTRUCTOR_PRAGMA_ARGS': Skipping foreign symbol from namespace Gio
../src/gconstructor.h:88: Warning: Gcal: symbol='G_DEFINE_DESTRUCTOR': Skipping foreign symbol from namespace Gio
../src/gconstructor.h:99: Warning: Gcal: symbol='G_HAS_CONSTRUCTORS': Skipping foreign symbol from namespace Gio
../src/gconstructor.h:101: Warning: Gcal: symbol='G_DEFINE_CONSTRUCTOR_NEEDS_PRAGMA': Skipping foreign symbol from namespace Gio
../src/gconstructor.h:102: Warning: Gcal: symbol='G_DEFINE_DESTRUCTOR_NEEDS_PRAGMA': Skipping foreign symbol from namespace Gio
../src/gconstructor.h:104: Warning: Gcal: symbol='G_DEFINE_CONSTRUCTOR_PRAGMA_ARGS': Skipping foreign symbol from namespace Gio
../src/gconstructor.h:106: Warning: Gcal: symbol='G_DEFINE_CONSTRUCTOR': Skipping foreign symbol from namespace Gio
../src/gconstructor.h:109: Warning: Gcal: symbol='G_DEFINE_DESTRUCTOR_PRAGMA_ARGS': Skipping foreign symbol from namespace Gio
../src/gconstructor.h:111: Warning: Gcal: symbol='G_DEFINE_DESTRUCTOR': Skipping foreign symbol from namespace Gio
../src/utils/gcal-utils.h:29: Warning: Gcal: symbol='ALIGNED': Unknown namespace for symbol 'ALIGNED'
../src/utils/gcal-utils.h:30: Warning: Gcal: symbol='MINUTES_PER_DAY': Unknown namespace for symbol 'MINUTES_PER_DAY'
../src/utils/gcal-utils.h:31: Warning: Gcal: symbol='MAX_MINUTES': Unknown namespace for symbol 'MAX_MINUTES'
g-ir-scanner: link: x86_64-linux-gnu-gcc -o /home/secureboot/Downloads/gnome-calendar/build/tmp-introspectrh781_6d/Gcal-1.0 /home/secureboot/Downloads/gnome-calendar/build/tmp-introspectrh781_6d/Gcal-1.0.o -L. -Wl,-rpath,. -Wl,--no-as-needed -L/home/secureboot/Downloads/gnome-calendar/build/src -Wl,-rpath,/home/secureboot/Downloads/gnome-calendar/build/src -lgcal -ledataserver-1.2 -ledataserverui-1.2 -lgtk-3 -lgdk-3 -lpangocairo-1.0 -lpango-1.0 -lharfbuzz -latk-1.0 -lcairo-gobject -lcairo -lgdk_pixbuf-2.0 -lecal-2.0 -lical-glib -lical -licalss -licalvcal -lsecret-1 -lxml2 -lsoup-2.4 -lgmodule-2.0 -lgio-2.0 -lgobject-2.0 -lglib-2.0 -ldazzle-1.0 -lhandy-1 -lgoa-1.0 -lgweather-3 -lgeoclue-2 -lgeocode-glib -lm -lgirepository-1.0 -lgio-2.0 -lgobject-2.0 -Wl,--export-dynamic -lgmodule-2.0 -pthread -lglib-2.0
../src/core/gcal-event.c:819: Warning: Gcal: gcal_event_new: unknown parameter 'self' in documentation comment, should be one of 'calendar', 'component', 'error'
../src/core/gcal-event.c:1418: Warning: Gcal: gcal_event_set_summary: unknown parameter 'event' in documentation comment, should be 'self'
../src/core/gcal-event.c:1643: Warning: Gcal: gcal_event_set_recurrence: unknown parameter 'self' in documentation comment, should be 'event'
../src/core/gcal-event.c:1707: Warning: Gcal: gcal_event_get_original_timezones: unknown parameter 'out_end_timezone' in documentation comment, should be one of 'end_tz', 'start_tz'
../src/core/gcal-event.c:1705: Warning: Gcal: gcal_event_get_original_timezones: unknown parameter 'out_start_timezone' in documentation comment, should be one of 'end_tz', 'start_tz'
../src/core/gcal-manager.c:805: Warning: Gcal: gcal_manager_add_source: unknown parameter 'base_uri' in documentation comment, should be one of 'backend', 'name'
../src/core/gcal-manager.c:806: Warning: Gcal: gcal_manager_add_source: unknown parameter 'relative_uri' in documentation comment, should be one of 'backend', 'name'
../src/core/gcal-manager.c:1157: Warning: Gcal: gcal_manager_get_events: unknown parameter 'start_date' in documentation comment, should be one of 'range_end', 'range_start'
../src/core/gcal-manager.c:1158: Warning: Gcal: gcal_manager_get_events: unknown parameter 'end_date' in documentation comment, should be one of 'range_end', 'range_start'
../src/weather/gcal-weather-service.c:1012: Warning: Gcal: gcal_weather_service_set_time_zone: unknown parameter 'days' in documentation comment, should be 'value'
../src/weather/gcal-weather-service.c:1181: Warning: Gcal: gcal_weather_service_connect_widget: unknown parameter 'new_service' in documentation comment, should be 'self'
../src/weather/gcal-weather-service.c:1180: Warning: Gcal: gcal_weather_service_connect_widget: unknown parameter 'old_service' in documentation comment, should be 'self'
../src/gui/gcal-event-widget.c:1151: Warning: Gcal: gcal_event_widget_set_date_start: unknown parameter 'date_end' in documentation comment, should be 'date_start'
../src/gui/event-editor/gcal-event-editor-dialog.c:594: Warning: Gcal: gcal_event_editor_dialog_set_event: unknown parameter 'dialog' in documentation comment, should be one of 'new_event', 'self'
../src/core/gcal-range-tree.h:33: Warning: Gcal: GcalRangeTraverseFunc: unknown parameter 'start' in documentation comment, should be 'range'
../src/core/gcal-range-tree.h:34: Warning: Gcal: GcalRangeTraverseFunc: unknown parameter 'end' in documentation comment, should be 'range'
../src/gui/views/gcal-view.c:91: Warning: Gcal: incorrect number of parameters in comment block, parameter annotations will be ignored.
../src/gui/views/gcal-view.c:59: Warning: Gcal: incorrect number of parameters in comment block, parameter annotations will be ignored.
../src/gui/views/gcal-view.c:76: Warning: Gcal: incorrect number of parameters in comment block, parameter annotations will be ignored.
../src/utils/gcal-date-time-utils.h:54: Warning: Gcal: gcal_timezone_to_icaltimezone: return value: Missing (transfer) annotation
../src/gui/importer/gcal-importer.h:37: Warning: Gcal: gcal_importer_import_file_finish: return value: Missing (transfer) annotation
../src/core/gcal-timer.c:277: Warning: Gcal: gcal_timer_set_callback: argument func: Unresolved type: 'GCalTimerFunc'
../src/core/gcal-timer.c:147: Warning: Gcal: gcal_timer_new: return value: Invalid non-constant return of bare structure or union; register as boxed type or (skip)
../src/core/gcal-timer.c:147: Warning: Gcal: gcal_timer_new: return value: Invalid non-constant return of bare structure or union; register as boxed type or (skip)
../src/utils/gcal-source-discoverer.h:49: Warning: Gcal: gcal_discover_sources_from_uri_finish: return value: Missing (element-type) annotation
../src/core/gcal-range-tree.c:642: Warning: Gcal: gcal_range_tree_traverse: argument func: Missing (scope) annotation for callback without GDestroyNotify (valid: call, async, forever)
../src/core/gcal-range-tree.c:668: Warning: Gcal: gcal_range_tree_get_all_data: return value: Missing (element-type) annotation
../src/core/gcal-range-tree.c:691: Warning: Gcal: gcal_range_tree_get_data_at_range: return value: Missing (element-type) annotation
../src/gui/gcal-calendar-popover.h:30: Warning: Gcal: gcal_calendar_popover_get_icon: return value: Missing (transfer) annotation
../src/core/gcal-event.h:56: Warning: Gcal: gcal_event_new_from_event: return value: Missing (transfer) annotation
../src/core/gcal-event.c:1151: Warning: Gcal: gcal_event_get_alarms: return value: Missing (element-type) annotation
../src/core/gcal-event.c:1353: Warning: Gcal: gcal_event_get_calendar: return value: Missing (transfer) annotation
../src/core/gcal-manager.h:38: Warning: Gcal: gcal_manager_get_calendars: return value: Missing (element-type) annotation
../src/core/gcal-manager.c:1164: Warning: Gcal: gcal_manager_get_events: return value: Missing (element-type) annotation
../src/search/gcal-search-engine.h:41: Warning: Gcal: gcal_search_engine_search_finish: return value: Missing (transfer) annotation
../src/weather/gcal-weather-service.c:1041: Warning: Gcal: gcal_weather_service_get_weather_infos: return value: Missing (element-type) annotation
../src/weather/gcal-weather-service.c:1178: Warning: Gcal: gcal_weather_service_connect_widget: argument update_func: Missing (scope) annotation for callback without GDestroyNotify (valid: call, async, forever)
../src/weather/gcal-weather-service.c:1178: Warning: Gcal: gcal_weather_service_connect_widget: argument weather_changed_cb: Missing (scope) annotation for callback without GDestroyNotify (valid: call, async, forever)
../src/gui/gcal-event-widget.c:1180: Warning: Gcal: gcal_event_widget_show_preview: argument callback: Missing (scope) annotation for callback without GDestroyNotify (valid: call, async, forever)
../src/gui/gcal-event-widget.h:66: Warning: Gcal: gcal_event_widget_clone: return value: Missing (transfer) annotation
../src/gui/views/gcal-week-grid.h:45: Warning: Gcal: gcal_week_grid_get_children_by_uuid: return value: Missing (element-type) annotation
../src/core/gcal-timeline.h:46: Warning: Gcal: gcal_timeline_get_events_at_range: return value: Missing (element-type) annotation
../src/search/gcal-search-hit-event.h:34: Warning: Gcal: gcal_search_hit_event_get_event: return value: Missing (transfer) annotation
../src/gui/importer/gcal-import-file-row.h:35: Warning: Gcal: gcal_import_file_row_get_ical_components: return value: Missing (element-type) annotation
../src/gui/importer/gcal-import-file-row.h:36: Warning: Gcal: gcal_import_file_row_get_timezones: return value: Missing (element-type) annotation
<unknown>:: Warning: Gcal: (Signal)file-loaded: argument object: Missing (element-type) annotation
../src/gui/views/gcal-view.c:182: Warning: Gcal: gcal_view_get_children_by_uuid: return value: Missing (element-type) annotation
../src/gui/views/gcal-week-header.h:44: Warning: Gcal: gcal_week_header_get_children_by_uuid: return value: Missing (element-type) annotation
../src/gui/views/gcal-week-header.h:48: Warning: Gcal: gcal_week_header_get_sidebar_size_group: return value: Missing (transfer) annotation
../src/gui/views/gcal-month-cell.h:48: Warning: Gcal: gcal_month_cell_get_context: return value: Missing (transfer) annotation
../src/gui/calendar-management/gcal-calendar-management-page.h:64: Warning: Gcal: gcal_calendar_management_page_get_titlebar: return value: Missing (transfer) annotation
../src/gui/calendar-management/gcal-calendar-management-dialog.h:39: Warning: Gcal: gcal_calendar_management_dialog_get_titlebar: return value: Missing (transfer) annotation
[3/3] Generating src/Gcal-1.0.typelib with a custom command
FAILED: src/Gcal-1.0.typelib 
/usr/bin/g-ir-compiler src/Gcal-1.0.gir --output src/Gcal-1.0.typelib --includedir=/usr/share/gir-1.0
**
ERROR:../girepository/girparser.c:343:state_switch: assertion failed: (ctx->state != newstate)
Bail out! ERROR:../girepository/girparser.c:343:state_switch: assertion failed: (ctx->state != newstate)
Aborted (core dumped)
ninja: build stopped: subcommand failed.

I wasn’t able to identify the includes for gsettings-desktop-schemas and for m_dep = cc.find_library('m') (not sure if I need the latter). Do you know which include to use for gsettings-desktop-schemas? I tried GDesktopEnums-3.0, but it didn’t help.

I also tried including everything from /usr/share/gir-1.0, but that didn’t work either. It started to complaing that it can’t find Gee-0.8.gir, even though I didn’t even include it.

OK, so there is a problem with my .gir file. It is generated incorrectly so g-ir-compiler doesn’t like it. I’ve been searching around, and found this. So other people have similar problems, and they were able to fix their .gir files. Maybe I could do the same, but how? If I could get more information on what exactly g-ir-compiler doesn’t like in my .gir file…

I tried adding --verbose and --debug options:

g-ir-compiler --verbose --debug src/Gcal-1.0.gir --output src/Gcal-1.0.typelib --includedir=/usr/share/gir-1.0

but they don’t really print any additional info.

Hello everybody! Really sorry for the radio silence, but I actually managed to solve the problem 1 week ago! Here is what I did:

As you remember the error was this:

Bail out! ERROR:../girepository/girparser.c:343:state_switch: assertion failed: (ctx->state != newstate)

I thought, maybe I should build the latest version of g-ir-compiler. So I cloned gobject-introspection; built it; and tried using g-ir-compiler from build/tools/ directory. I went to build/src of my clone of gnome-calendar, put my new g-ir-compiler there, and ran it:

./g-ir-compiler Gcal-1.0.gir --output Gcal-1.0.typelib --includedir=/usr/share/gir-1.0

Of course it didn’t work, it complained with the same error, only line number was different:

Bail out! ERROR:../girepository/girparser.c:353:state_switch: assertion failed: (ctx->state != newstate)

Then a genious idea stroke me: what if I remove the assertion at line 353 from girparser.c in my gobject-introspection repo?

So I went to gobject-introspection/girepository/girparser.c, and removed this line:

g_assert (ctx->state != newstate);

I built a new version of g-ir-compiler, copied it into gnome-calendar/build/src/, ran it, and it worked! I got perfectly working Gcal-1.0.typelib file.

If I put Gcal-1.0.typelib in /usr/lib/girepository-1.0, and libgcal.so into /lib/x86_64-linux-gnu (I will do it correctly later, but for now I put it into global directories).

And Gcal.MonthView constructor is working properly. Here’s a working snippet of code:

#!/usr/bin/env python3

import gi
from gi.repository import Gcal, Gtk, GLib

calendar = Gcal.MonthView()
tz = GLib.TimeZone.new_local()
calendar.props.active_date = GLib.DateTime(tz, 2023, 1, 28, 0, 0, 0)

css_provider = Gtk.CssProvider()
css_provider.load_from_path("gcal/Gcal-theme.css")
Gtk.StyleContext.add_provider_for_screen(
    calendar.get_screen(),
    css_provider,
    Gtk.STYLE_PROVIDER_PRIORITY_USER,
)

calendar.show_all()
win = Gtk.Window()
win.add(calendar)
win.show_all()
Gtk.main()

This produces a window like this:

Which is really awesome, it’s working!

Unfortunately the library wasn’t designed to be used externally, so I can’t add an event to the Gcal.MonthView. Because to create a Gcal.EventWidget you need to create a Gcal.Event, and to create it you need Gcal.Calendar and Gcal.Timeline, and to create it you need Gcal.CalendarManager and … it’s just too much. I was pretty disappointed at the beginning.

The only widget I was able to easily instantiate was Gcal.MonthView. I managed to create my own labels, and add them to the view. It’s a bit clumsy but working:

But today I was able to really appreciate the use of custom widgets. As you can see, sometimes I have too many labels in a MonthCell, they don’t fit inside. In this case gnome-calendar has a button that you press, a popover window appers, and you can see all events.

So today I was playing with Gcal.MonthPopover, it’s still in the works, but here’s what I managed to do:

I will have to add all labels to the popover, but it’s working! The Gcal.MonthPopover is also pretty easy to instantiate and use.

I’m happy with the result. Thank you everybody who helped me: thank you Zander for making a first comment, special thanks to Emmanuele and Nicola for your enormous help, and thanks Jason for participating! I love you all :smiling_face_with_three_hearts:, and you are awesome!

I still wonder though, why removing the assertion helped? It was there probably for a reason, right? Maybe you know, Emmanuele? Since I saw you contributing to gobject-inrospection a lot.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.