Hello community, here is the log from the commit of package libgepub for openSUSE:Factory checked in at 2018-03-26 12:35:59 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/libgepub (Old) and /work/SRC/openSUSE:Factory/.libgepub.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libgepub" Mon Mar 26 12:35:59 2018 rev:6 rq:589161 version:0.6.0 Changes: -------- --- /work/SRC/openSUSE:Factory/libgepub/libgepub.changes 2018-03-08 10:47:27.915011128 +0100 +++ /work/SRC/openSUSE:Factory/.libgepub.new/libgepub.changes 2018-03-26 12:36:07.023694509 +0200 @@ -1,0 +2,13 @@ +Thu Mar 15 12:23:09 UTC 2018 - [email protected] + +- Update to version 0.6.0: + + Support setting font-family in GepubWidget. + + Fix the gir generation. + + widget: Fix warning at run-time. + + lib: Fix gepub-widget chapter change signal. +- Bump basever to 0.6 and soname to 0_6 following upstream changes. +- Rename libgepub0 subpackage following upstream changes to + libgepub-0_6-0, make needed changes in post(un) handling due to + namechange. + +------------------------------------------------------------------- Old: ---- libgepub-0.5.3.tar.xz New: ---- libgepub-0.6.0.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ libgepub.spec ++++++ --- /var/tmp/diff_new_pack.cDp7Vp/_old 2018-03-26 12:36:08.295648831 +0200 +++ /var/tmp/diff_new_pack.cDp7Vp/_new 2018-03-26 12:36:08.303648544 +0200 @@ -16,17 +16,19 @@ # -%define basever 0.5 -%define soname 0_5 +%define basever 0.6 +%define soname 0_6 %global sover 0 + Name: libgepub -Version: 0.5.3 +Version: 0.6.0 Release: 0 Summary: EPUB document reader and render library License: LGPL-2.1-or-later Group: Development/Languages/C and C++ URL: https://git.gnome.org/browse/libgepub -Source: https://download.gnome.org/sources/%{name}/%{basever}/%{name}-%{version}.tar.xz +Source0: https://download.gnome.org/sources/%{name}/%{basever}/%{name}-%{version}.tar.xz + BuildRequires: meson BuildRequires: pkgconfig BuildRequires: pkgconfig(gio-2.0) @@ -42,11 +44,11 @@ %description A GObject-based library for handling and rendering EPUB documents. -%package -n %{name}%{sover} +%package -n %{name}-%{soname}-%{sover} Summary: EPUB document reader library Group: System/Libraries -%description -n %{name}%{sover} +%description -n %{name}-%{soname}-%{sover} A GObject-based library for handling and rendering EPUB documents. %package -n typelib-1_0-Gepub-%{soname} @@ -59,7 +61,7 @@ %package devel Summary: Development files for libgepub Group: Development/Languages/C and C++ -Requires: %{name}%{sover} = %{version} +Requires: %{name}-%{soname}-%{sover} = %{version} Requires: typelib-1_0-Gepub-%{soname} = %{version} %description devel @@ -76,23 +78,22 @@ %install %meson_install -find %{buildroot} -type f -name "*.la" -delete -print -%post -n %{name}%{sover} -p /sbin/ldconfig -%postun -n %{name}%{sover} -p /sbin/ldconfig +%post -n %{name}-%{soname}-%{sover} -p /sbin/ldconfig +%postun -n %{name}-%{soname}-%{sover} -p /sbin/ldconfig -%files -n %{name}%{sover} +%files -n %{name}-%{soname}-%{sover} %license COPYING -%doc README -%{_libdir}/%{name}.so.* +%{_libdir}/%{name}-%{basever}.so.* %files -n typelib-1_0-Gepub-%{soname} %{_libdir}/girepository-1.0/Gepub-%{basever}.typelib %files devel -%{_includedir}/%{name}/ -%{_libdir}/%{name}.so -%{_libdir}/pkgconfig/%{name}.pc +%doc AUTHORS MAINTAINERS NEWS README +%{_includedir}/%{name}-%{basever}/ +%{_libdir}/%{name}-%{basever}.so +%{_libdir}/pkgconfig/%{name}-%{basever}.pc %{_datadir}/gir-1.0/Gepub-%{basever}.gir %changelog ++++++ libgepub-0.5.3.tar.xz -> libgepub-0.6.0.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libgepub-0.5.3/NEWS new/libgepub-0.6.0/NEWS --- old/libgepub-0.5.3/NEWS 2018-01-16 07:36:54.000000000 +0100 +++ new/libgepub-0.6.0/NEWS 2018-03-15 08:39:19.000000000 +0100 @@ -1,3 +1,27 @@ +Version 0.6.0 +============= + + - Support setting font-family in GepubWidget + - Fix the gir generation + - widget: Fix warning at run-time + - lib: Fix gepub-widget chapter change signal + +Version 0.5.3 +============= + + - Fixed SVG image resource replacement + - Rename introspection build option + - Removed autotools + - build: Conform to build-api expectations + - build: Remove default warning level + - build: Remove unused defines + - build: Improved linker script handling + - build: Set prefix-relative install_dir for libgepub + - build: Fix typo in symbol path creation + - tests: Fix crash on exit + - widget: Replace "100" with a constant + - widget: Don't change LC_NUMERIC at runtime + Version 0.5.2 ============= diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libgepub-0.5.3/libgepub/gepub-doc.c new/libgepub-0.6.0/libgepub/gepub-doc.c --- old/libgepub-0.5.3/libgepub/gepub-doc.c 2018-01-16 07:36:54.000000000 +0100 +++ new/libgepub-0.6.0/libgepub/gepub-doc.c 2018-03-15 08:39:19.000000000 +0100 @@ -63,7 +63,7 @@ GHashTable *resources; GList *spine; - GList *page; + GList *chapter; }; struct _GepubDocClass { @@ -73,7 +73,7 @@ enum { PROP_0, PROP_PATH, - PROP_PAGE, + PROP_CHAPTER, NUM_PROPS }; @@ -120,8 +120,8 @@ case PROP_PATH: doc->path = g_value_dup_string (value); break; - case PROP_PAGE: - gepub_doc_set_page (doc, g_value_get_int (value)); + case PROP_CHAPTER: + gepub_doc_set_chapter (doc, g_value_get_int (value)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); @@ -141,8 +141,8 @@ case PROP_PATH: g_value_set_string (value, doc->path); break; - case PROP_PAGE: - g_value_set_int (value, gepub_doc_get_page (doc)); + case PROP_CHAPTER: + g_value_set_int (value, gepub_doc_get_chapter (doc)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); @@ -179,10 +179,10 @@ G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_STRINGS); - properties[PROP_PAGE] = - g_param_spec_int ("page", - "Current page", - "The current page index", + properties[PROP_CHAPTER] = + g_param_spec_int ("chapter", + "Current chapter", + "The current chapter index", -1, G_MAXINT, 0, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); @@ -329,7 +329,7 @@ } doc->spine = g_list_reverse (spine); - doc->page = doc->spine; + doc->chapter = doc->spine; xmlFreeDoc (xdoc); } @@ -504,9 +504,9 @@ gepub_doc_get_current_mime (GepubDoc *doc) { g_return_val_if_fail (GEPUB_IS_DOC (doc), NULL); - g_return_val_if_fail (doc->page != NULL, NULL); + g_return_val_if_fail (doc->chapter != NULL, NULL); - return gepub_doc_get_resource_mime_by_id (doc, doc->page->data); + return gepub_doc_get_resource_mime_by_id (doc, doc->chapter->data); } /** @@ -519,9 +519,9 @@ gepub_doc_get_current (GepubDoc *doc) { g_return_val_if_fail (GEPUB_IS_DOC (doc), NULL); - g_return_val_if_fail (doc->page != NULL, NULL); + g_return_val_if_fail (doc->chapter != NULL, NULL); - return gepub_doc_get_resource_by_id (doc, doc->page->data); + return gepub_doc_get_resource_by_id (doc, doc->chapter->data); } /** @@ -625,14 +625,14 @@ } static gboolean -gepub_doc_set_page_internal (GepubDoc *doc, - GList *page) +gepub_doc_set_chapter_internal (GepubDoc *doc, + GList *chapter) { - if (!page || doc->page == page) + if (!chapter || doc->chapter == chapter) return FALSE; - doc->page = page; - g_object_notify_by_pspec (G_OBJECT (doc), properties[PROP_PAGE]); + doc->chapter = chapter; + g_object_notify_by_pspec (G_OBJECT (doc), properties[PROP_CHAPTER]); return TRUE; } @@ -641,40 +641,40 @@ * gepub_doc_go_next: * @doc: a #GepubDoc * - * Returns: TRUE on success, FALSE if there's no next pages + * Returns: TRUE on success, FALSE if there's no next chapter */ gboolean gepub_doc_go_next (GepubDoc *doc) { g_return_val_if_fail (GEPUB_IS_DOC (doc), FALSE); - g_return_val_if_fail (doc->page != NULL, FALSE); + g_return_val_if_fail (doc->chapter != NULL, FALSE); - return gepub_doc_set_page_internal (doc, doc->page->next); + return gepub_doc_set_chapter_internal (doc, doc->chapter->next); } /** * gepub_doc_go_prev: * @doc: a #GepubDoc * - * Returns: TRUE on success, FALSE if there's no prev pages + * Returns: TRUE on success, FALSE if there's no previous chapter */ gboolean gepub_doc_go_prev (GepubDoc *doc) { g_return_val_if_fail (GEPUB_IS_DOC (doc), FALSE); - g_return_val_if_fail (doc->page != NULL, FALSE); + g_return_val_if_fail (doc->chapter != NULL, FALSE); - return gepub_doc_set_page_internal (doc, doc->page->prev); + return gepub_doc_set_chapter_internal (doc, doc->chapter->prev); } /** - * gepub_doc_get_n_pages: + * gepub_doc_get_n_chapters: * @doc: a #GepubDoc * - * Returns: the number of pages in the document + * Returns: the number of chapters in the document */ int -gepub_doc_get_n_pages (GepubDoc *doc) +gepub_doc_get_n_chapters (GepubDoc *doc) { g_return_val_if_fail (GEPUB_IS_DOC (doc), 0); @@ -682,40 +682,40 @@ } /** - * gepub_doc_get_page: + * gepub_doc_get_chapter: * @doc: a #GepubDoc * - * Returns: the current page index, starting from 0 + * Returns: the current chapter index, starting from 0 */ int -gepub_doc_get_page (GepubDoc *doc) +gepub_doc_get_chapter (GepubDoc *doc) { g_return_val_if_fail (GEPUB_IS_DOC (doc), 0); g_return_val_if_fail (doc->spine != NULL, 0); - g_return_val_if_fail (doc->page != NULL, 0); + g_return_val_if_fail (doc->chapter != NULL, 0); - return g_list_position (doc->spine, doc->page); + return g_list_position (doc->spine, doc->chapter); } /** - * gepub_doc_set_page: + * gepub_doc_set_chapter: * @doc: a #GepubDoc - * @index: the index of the new page + * @index: the index of the new chapter * - * Sets the document current page to @index. + * Sets the document current chapter to @index. */ void -gepub_doc_set_page (GepubDoc *doc, +gepub_doc_set_chapter (GepubDoc *doc, gint index) { - GList *page; + GList *chapter; g_return_if_fail (GEPUB_IS_DOC (doc)); - g_return_if_fail (index >= 0 && index <= gepub_doc_get_n_pages (doc)); + g_return_if_fail (index >= 0 && index <= gepub_doc_get_n_chapters (doc)); - page = g_list_nth (doc->spine, index); - gepub_doc_set_page_internal (doc, page); + chapter = g_list_nth (doc->spine, index); + gepub_doc_set_chapter_internal (doc, chapter); } /** @@ -783,9 +783,9 @@ gepub_doc_get_current_path (GepubDoc *doc) { g_return_val_if_fail (GEPUB_IS_DOC (doc), NULL); - g_return_val_if_fail (doc->page != NULL, NULL); + g_return_val_if_fail (doc->chapter != NULL, NULL); - return gepub_doc_get_resource_path (doc, doc->page->data); + return gepub_doc_get_resource_path (doc, doc->chapter->data); } /** @@ -799,7 +799,7 @@ gepub_doc_get_current_id (GepubDoc *doc) { g_return_val_if_fail (GEPUB_IS_DOC (doc), NULL); - g_return_val_if_fail (doc->page != NULL, NULL); + g_return_val_if_fail (doc->chapter != NULL, NULL); - return doc->page->data; + return doc->chapter->data; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libgepub-0.5.3/libgepub/gepub-doc.h new/libgepub-0.6.0/libgepub/gepub-doc.h --- old/libgepub-0.5.3/libgepub/gepub-doc.h 2018-01-16 07:36:54.000000000 +0100 +++ new/libgepub-0.6.0/libgepub/gepub-doc.h 2018-03-15 08:39:19.000000000 +0100 @@ -64,9 +64,9 @@ gboolean gepub_doc_go_next (GepubDoc *doc); gboolean gepub_doc_go_prev (GepubDoc *doc); -gint gepub_doc_get_n_pages (GepubDoc *doc); -gint gepub_doc_get_page (GepubDoc *doc); -void gepub_doc_set_page (GepubDoc *doc, +gint gepub_doc_get_n_chapters (GepubDoc *doc); +gint gepub_doc_get_chapter (GepubDoc *doc); +void gepub_doc_set_chapter (GepubDoc *doc, gint index); G_END_DECLS diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libgepub-0.5.3/libgepub/gepub-widget.c new/libgepub-0.6.0/libgepub/gepub-widget.c --- old/libgepub-0.5.3/libgepub/gepub-widget.c 2018-01-16 07:36:54.000000000 +0100 +++ new/libgepub-0.6.0/libgepub/gepub-widget.c 2018-03-15 08:39:19.000000000 +0100 @@ -35,6 +35,7 @@ gint init_chapter_pos; gint margin; // lateral margin in px gint font_size; // font size in pt + gchar *font_family; gfloat line_height; }; @@ -163,17 +164,18 @@ { GepubWidget *gwidget = GEPUB_WIDGET (widget); WebKitWebView *web_view = WEBKIT_WEB_VIEW (widget); - int m, f; - float l; - char *script; + int margin, font_size; + float line_height; + gchar *script, *font_family; webkit_web_view_run_javascript (web_view, "window.innerWidth", NULL, get_length_finished, (gpointer)widget); - m = GEPUB_WIDGET (widget)->margin; - f = GEPUB_WIDGET (widget)->font_size; - l = GEPUB_WIDGET (widget)->line_height; + margin = gwidget->margin; + font_size = gwidget->font_size; + font_family = gwidget->font_family; + line_height = gwidget->line_height; script = g_strdup_printf ( "if (!document.querySelector('#gepubwrap'))" @@ -181,28 +183,36 @@ "document.querySelector('#gepubwrap').style.marginLeft = '%dpx';" "document.querySelector('#gepubwrap').style.marginRight = '%dpx';" - , m, m); + , margin, margin); webkit_web_view_run_javascript (web_view, script, NULL, NULL, NULL); g_free (script); - if (f) { + if (font_size) { script = g_strdup_printf ( "document.querySelector('#gepubwrap').style.fontSize = '%dpt';" - , f); + , font_size); webkit_web_view_run_javascript (web_view, script, NULL, NULL, NULL); g_free (script); } - if (l) { - char line_height[G_ASCII_DTOSTR_BUF_SIZE]; + if (font_family) { + script = g_strdup_printf ( + "document.querySelector('#gepubwrap').style.fontFamily = '%s';" + , font_family); + webkit_web_view_run_javascript (web_view, script, NULL, NULL, NULL); + g_free (script); + } - g_ascii_formatd (line_height, + if (line_height) { + gchar line_height_buffer[G_ASCII_DTOSTR_BUF_SIZE]; + + g_ascii_formatd (line_height_buffer, G_ASCII_DTOSTR_BUF_SIZE, "%f", - l); + line_height); script = g_strdup_printf ( "document.querySelector('#gepubwrap').style.lineHeight = %s;" - , line_height); + , line_height_buffer); webkit_web_view_run_javascript (web_view, script, NULL, NULL, NULL); g_free (script); } @@ -251,9 +261,16 @@ contents = gepub_doc_get_resource (widget->doc, path); mime = gepub_doc_get_resource_mime (widget->doc, path); + // if the resource requested doesn't exist, we should serve an + // empty document instead of nothing at all (otherwise some + // poorly-structured ebooks will fail to render). + if (!contents) { + contents = g_byte_array_free_to_bytes(g_byte_array_sized_new(0)); + mime = g_strdup("application/octet-stream"); + } + if (!mime) { - g_free (uri); - return; + mime = g_strdup("application/octet-stream"); } stream = g_memory_input_stream_new_from_bytes (contents); @@ -281,7 +298,7 @@ gepub_widget_set_paginate (widget, g_value_get_boolean (value)); break; case PROP_CHAPTER: - gepub_doc_set_page (widget->doc, g_value_get_int (value)); + gepub_doc_set_chapter (widget->doc, g_value_get_int (value)); break; case PROP_CHAPTER_POS: gepub_widget_set_pos (widget, g_value_get_float (value)); @@ -308,10 +325,10 @@ g_value_set_boolean (value, widget->paginate); break; case PROP_CHAPTER: - g_value_set_int (value, gepub_doc_get_page (widget->doc)); + g_value_set_int (value, gepub_doc_get_chapter (widget->doc)); break; case PROP_N_CHAPTERS: - g_value_set_int (value, gepub_doc_get_n_pages (widget->doc)); + g_value_set_int (value, gepub_doc_get_n_chapters (widget->doc)); break; case PROP_CHAPTER_POS: g_value_set_float (value, gepub_widget_get_pos (widget)); @@ -327,6 +344,7 @@ { GepubWidget *widget = GEPUB_WIDGET (object); + g_clear_pointer (&widget->font_family, g_free); g_clear_object (&widget->doc); G_OBJECT_CLASS (gepub_widget_parent_class)->finalize (object); @@ -342,6 +360,7 @@ widget->init_chapter_pos = 0; widget->margin = 20; widget->font_size = 0; + widget->font_family = NULL; widget->line_height = 0; } @@ -443,6 +462,9 @@ widget->chapter_pos = 0; widget->length = 0; + if (widget->doc == NULL) + return; + current = gepub_doc_get_current_with_epub_uris (widget->doc); webkit_web_view_load_bytes (WEBKIT_WEB_VIEW (widget), current, @@ -478,7 +500,7 @@ if (widget->doc != NULL) { g_object_ref (widget->doc); reload_current_chapter (widget); - g_signal_connect_swapped (widget->doc, "notify::page", + g_signal_connect_swapped (widget->doc, "notify::chapter", G_CALLBACK (reload_current_chapter), widget); } @@ -526,7 +548,7 @@ gepub_widget_get_n_chapters (GepubWidget *widget) { g_return_val_if_fail (GEPUB_IS_DOC (widget->doc), 0); - return gepub_doc_get_n_pages (widget->doc); + return gepub_doc_get_n_chapters (widget->doc); } /** @@ -539,7 +561,7 @@ gepub_widget_get_chapter (GepubWidget *widget) { g_return_val_if_fail (GEPUB_IS_DOC (widget->doc), 0); - return gepub_doc_get_page (widget->doc); + return gepub_doc_get_chapter (widget->doc); } /** @@ -567,7 +589,7 @@ gint index) { g_return_if_fail (GEPUB_IS_DOC (widget->doc)); - return gepub_doc_set_page (widget->doc, index); + return gepub_doc_set_chapter (widget->doc, index); } /** @@ -733,6 +755,35 @@ reload_length_cb (GTK_WIDGET (widget), NULL, NULL); } +/** + * gepub_widget_get_fontfamily: + * @widget: a #GepubWidget + * + * Gets the widget custom font family + */ +gchar * +gepub_widget_get_fontfamily (GepubWidget *widget) +{ + return widget->font_family; +} + +/** + * gepub_widget_set_fontfamily: + * @widget: a #GepubWidget + * @family: the custom font family name + * + * Sets the widget custom font family + */ +void +gepub_widget_set_fontfamily (GepubWidget *widget, + gchar *family) +{ + g_clear_pointer (&widget->font_family, g_free); + + widget->font_family = g_strdup (family); + reload_length_cb (GTK_WIDGET (widget), NULL, NULL); +} + /** * gepub_widget_get_lineheight: * @widget: a #GepubWidget diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libgepub-0.5.3/libgepub/gepub-widget.h new/libgepub-0.6.0/libgepub/gepub-widget.h --- old/libgepub-0.5.3/libgepub/gepub-widget.h 2018-01-16 07:36:54.000000000 +0100 +++ new/libgepub-0.6.0/libgepub/gepub-widget.h 2018-03-15 08:39:19.000000000 +0100 @@ -71,6 +71,10 @@ void gepub_widget_set_fontsize (GepubWidget *widget, gint size); +gchar *gepub_widget_get_fontfamily (GepubWidget *widget); +void gepub_widget_set_fontfamily (GepubWidget *widget, + gchar *family); + gfloat gepub_widget_get_lineheight (GepubWidget *widget); void gepub_widget_set_lineheight (GepubWidget *widget, gfloat size); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libgepub-0.5.3/libgepub/meson.build new/libgepub-0.6.0/libgepub/meson.build --- old/libgepub-0.5.3/libgepub/meson.build 2018-01-16 07:36:54.000000000 +0100 +++ new/libgepub-0.6.0/libgepub/meson.build 2018-03-15 08:39:19.000000000 +0100 @@ -8,7 +8,7 @@ install_headers( headers, - subdir: meson.project_name() + subdir: gepub_lib_name ) private_headers = files('gepub-utils.h') @@ -31,7 +31,7 @@ endif libgepub = library( - 'gepub', + 'gepub-'+gepub_api_version, sources: sources, version: libversion, soversion: soversion, @@ -52,10 +52,10 @@ pkg.generate( libraries: libgepub, version: gepub_version, - name: meson.project_name(), + name: gepub_lib_name, description: 'epub Documents library', - filebase: meson.project_name(), - subdirs: meson.project_name(), + filebase: gepub_lib_name, + subdirs: gepub_lib_name, requires: 'gio-2.0', requires_private: [ 'libxml-2.0', @@ -77,8 +77,9 @@ gir_dir = join_paths(gepub_datadir, '@0@-@1@'.format('gir', gepub_gir_version)) typelib_dir = join_paths(gepub_libdir, '@0@-@1@'.format('girepository', gepub_gir_version)) - gnome.generate_gir( + libgepub_gir = gnome.generate_gir( libgepub, + header: 'gepub.h', sources: sources + headers + private_headers, namespace: gepub_gir_ns, nsversion: gepub_api_version, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libgepub-0.5.3/meson.build new/libgepub-0.6.0/meson.build --- old/libgepub-0.5.3/meson.build 2018-01-16 07:36:54.000000000 +0100 +++ new/libgepub-0.6.0/meson.build 2018-03-15 08:39:19.000000000 +0100 @@ -1,6 +1,6 @@ project( 'libgepub', 'c', - version: '0.5.2', + version: '0.6.0', license: 'LGPL2+', default_options: 'buildtype=debugoptimized', meson_version: '>= 0.41.0' @@ -12,6 +12,7 @@ gepub_minor_version = version_array[1].to_int() gepub_version_micro = version_array[2].to_int() gepub_api_version = '@0@.@1@'.format(gepub_major_version, gepub_minor_version) +gepub_lib_name = '@0@-@1@'.format(meson.project_name(), gepub_api_version) gepub_gir_ns = 'Gepub' gepub_gir_version = '1.0'
