From 0cc818cc3bc21208272cc1e8c1001079fefd085a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?= Date: Sat, 22 Feb 2020 12:54:18 +0700 Subject: [PATCH] atril: update to 1.24.0. --- srcpkgs/atril/patches/disable-synctex.patch | 242 ++++++++++++++++++++ srcpkgs/atril/template | 20 +- 2 files changed, 257 insertions(+), 5 deletions(-) create mode 100644 srcpkgs/atril/patches/disable-synctex.patch diff --git a/srcpkgs/atril/patches/disable-synctex.patch b/srcpkgs/atril/patches/disable-synctex.patch new file mode 100644 index 0000000000..2f6d4b7ea4 --- /dev/null +++ b/srcpkgs/atril/patches/disable-synctex.patch @@ -0,0 +1,242 @@ +From c246af6b85bfb326d10eb56e0d2563138495dfa2 Mon Sep 17 00:00:00 2001 +From: Oz Tiram +Date: Fri, 7 Feb 2020 21:57:10 +0100 +Subject: [PATCH] Make synctex optional + +Not everyone who reads PDF's is necessarily a LaTeX user. +These changes allow users to install atril without the huge bagage +of tex-live on systems where synctex isn't provided as a stand alone +library. +--- + configure.ac | 25 +++++++++++++++++-------- + libdocument/ev-document.c | 16 ++++++++++++---- + libview/ev-view.c | 9 ++++++++- + shell/ev-window.c | 5 +++++ + 4 files changed, 42 insertions(+), 13 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 529ef2a0..543808f8 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -361,15 +361,25 @@ AC_SUBST([GIRTYPELIBDIR]) + AM_CONDITIONAL([ENABLE_INTROSPECTION],[test "$enable_introspection" = "yes"]) + + dnl ================== libsynctex =========================================== ++AC_ARG_ENABLE([synctex], ++ [AS_HELP_STRING([--disable-synctex], [Disable support for synctex])], ++ [], ++ [enable_synctex=yes]) + +-PKG_CHECK_MODULES(SYNCTEX, [synctex >= $SYNCTEX_REQUIRED], has_synctex=yes, has_synctex=no) + +-dnl not found? use internal code copy. +-if test "x$has_synctex" = "xno"; then +- AC_MSG_ERROR("SyncTeX support is disabled since library version $SYNCTEX_REQUIRED or newer not found") ++if test "$enable_synctex" = "yes"; then ++ AC_DEFINE([ENABLE_SYNCTEX],[1],[Define if synctex support is enabled]) ++ PKG_CHECK_MODULES(SYNCTEX, [synctex >= $SYNCTEX_REQUIRED], has_synctex=yes, has_synctex=no) ++ dnl not found? use internal code copy. ++ if test "x$has_synctex" = "xno"; then ++ AC_MSG_ERROR("SyncTeX support is disabled since library version $SYNCTEX_REQUIRED or newer not found") ++ fi ++ AC_SUBST(SYNCTEX_LIBS) ++ AC_SUBST(SYNCTEX_CFLAGS) + fi +-AC_SUBST(SYNCTEX_LIBS) +-AC_SUBST(SYNCTEX_CFLAGS) ++ ++AM_CONDITIONAL([ENABLE_SYNCTEX], [test "$enable_synctex" = "yes"]) ++ + + dnl ================== portability checks =========================================== + +@@ -770,6 +780,7 @@ Configure summary: + Tests...............: $enable_tests + + PDF Backend.........: $enable_pdf ++ Synctex enabled.....: $enable_synctex + PostScript Backend..: $enable_ps + TIFF Backend........: $enable_tiff + DJVU Backend........: $enable_djvu +@@ -778,6 +789,4 @@ Configure summary: + Comics Backend......: $enable_comics + XPS Backend.........: $enable_xps + ePub Backend........: $have_webkit +- +- SyncTeX.............: $has_synctex + " +diff --git a/libdocument/ev-document.c b/libdocument/ev-document.c +index b713a671..be082aeb 100644 +--- a/libdocument/ev-document.c ++++ b/libdocument/ev-document.c +@@ -25,7 +25,9 @@ + #include + + #include "ev-document.h" ++#ifdef ENABLE_SYNCTEX + #include "synctex_parser.h" ++#endif + #include "ev-file-helpers.h" + + typedef struct _EvPageSize +@@ -53,8 +55,9 @@ struct _EvDocumentPrivate + gchar **page_labels; + EvPageSize *page_sizes; + EvDocumentInfo *info; +- ++#ifdef ENABLE_SYNCTEX + synctex_scanner_p synctex_scanner; ++#endif + }; + + static gint _ev_document_get_n_pages (EvDocument *document); +@@ -124,12 +127,12 @@ ev_document_finalize (GObject *object) + ev_document_info_free (document->priv->info); + document->priv->info = NULL; + } +- ++#ifdef ENABLE_SYNCTEX + if (document->priv->synctex_scanner) { + synctex_scanner_free (document->priv->synctex_scanner); + document->priv->synctex_scanner = NULL; + } +- ++#endif + G_OBJECT_CLASS (ev_document_parent_class)->finalize (object); + } + +@@ -137,8 +140,9 @@ static void + ev_document_init (EvDocument *document) + { + document->priv = ev_document_get_instance_private (document); ++#ifdef ENABLE_SYNCTEX + document->synctex_version = SYNCTEX_VERSION_STRING; +- ++#endif + /* Assume all pages are the same size until proven otherwise */ + document->priv->uniform = TRUE; + /* Assume that the document is not a web document*/ +@@ -336,6 +340,7 @@ ev_document_load (EvDocument *document, + } + + priv->info = _ev_document_get_info (document); ++#ifdef ENABLE_SYNCTEX + if (_ev_document_support_synctex (document)) { + gchar *filename; + +@@ -346,6 +351,7 @@ ev_document_load (EvDocument *document, + g_free (filename); + } + } ++#endif + } + + return retval; +@@ -388,6 +394,7 @@ _ev_document_support_synctex (EvDocument *document) + return klass->support_synctex ? klass->support_synctex (document) : FALSE; + } + ++#ifdef ENABLE_SYNCTEX + gboolean + ev_document_has_synctex (EvDocument *document) + { +@@ -492,6 +499,7 @@ ev_document_synctex_forward_search (EvDocument *document, + + return result; + } ++#endif /* ENABLE_SYNCTEX */ + + static gint + _ev_document_get_n_pages (EvDocument *document) +diff --git a/libview/ev-view.c b/libview/ev-view.c +index a195ba21..e98582d3 100644 +--- a/libview/ev-view.c ++++ b/libview/ev-view.c +@@ -3210,6 +3210,7 @@ ev_view_remove_annotation (EvView *view, + g_object_unref (annot); + } + ++#ifdef ENABLE_SYNCTEX + static gboolean + ev_view_synctex_backward_search (EvView *view, + gdouble x, +@@ -3235,6 +3236,7 @@ ev_view_synctex_backward_search (EvView *view, + + return FALSE; + } ++#endif + + /* Caret navigation */ + #define CURSOR_ON_MULTIPLIER 2 +@@ -4078,8 +4080,10 @@ ev_view_draw (GtkWidget *widget, + show_annotation_windows (view, i); + if (page_ready && view->focused_element) + draw_focus (view, cr, i, &clip_rect); ++#ifdef ENABLE_SYNCTEX + if (page_ready && view->synctex_result) + highlight_forward_search_results (view, cr, i); ++#endif + } + + if (GTK_WIDGET_CLASS (ev_view_parent_class)->draw) +@@ -4472,9 +4476,10 @@ ev_view_button_press_event (GtkWidget *widget, + EvFormField *field; + EvMapping *link; + gint page; +- ++#ifdef ENABLE_SYNCTEX + if (event->state & GDK_CONTROL_MASK) + return ev_view_synctex_backward_search (view, event->x , event->y); ++#endif + + if (EV_IS_SELECTION (view->document) && view->selection_info.selections) { + if (event->type == GDK_3BUTTON_PRESS) { +@@ -7522,6 +7527,7 @@ ev_view_find_cancel (EvView *view) + view->find_pages = NULL; + } + ++#ifdef ENABLE_SYNCTEX + /*** Synctex ***/ + void + ev_view_highlight_forward_search (EvView *view, +@@ -7549,6 +7555,7 @@ ev_view_highlight_forward_search (EvView *view, + ensure_rectangle_is_visible (view, &view_rect); + gtk_widget_queue_draw (GTK_WIDGET (view)); + } ++#endif /* ENABLE_SYNCTEX */ + + /*** Selections ***/ + static gboolean +diff --git a/shell/ev-window.c b/shell/ev-window.c +index e4cbce93..a2da929d 100644 +--- a/shell/ev-window.c ++++ b/shell/ev-window.c +@@ -7751,6 +7751,8 @@ ev_window_emit_doc_loaded (EvWindow *window) + ev_atril_window_emit_document_loaded (window->priv->skeleton, window->priv->uri); + } + ++ ++#ifdef ENABLE_SYNCTEX + static gboolean + handle_sync_view_cb (EvAtrilWindow *object, + GDBusMethodInvocation *invocation, +@@ -7771,6 +7773,7 @@ handle_sync_view_cb (EvAtrilWindow *object, + + return TRUE; + } ++#endif + #endif /* ENABLE_DBUS */ + + static gboolean +@@ -7831,9 +7834,11 @@ ev_window_init (EvWindow *ev_window) + ev_window->priv->dbus_object_path, + &error)) { + ev_window->priv->skeleton = skeleton; ++#ifdef ENABLE_SYNCTEX + g_signal_connect (skeleton, "handle-sync-view", + G_CALLBACK (handle_sync_view_cb), + ev_window); ++#endif + } else { + g_printerr ("Failed to register bus object %s: %s\n", + ev_window->priv->dbus_object_path, error->message); diff --git a/srcpkgs/atril/template b/srcpkgs/atril/template index dc90116b04..b2747e50f0 100644 --- a/srcpkgs/atril/template +++ b/srcpkgs/atril/template @@ -1,14 +1,15 @@ # Template file for 'atril' pkgname=atril -version=1.22.3 +version=1.24.0 revision=1 build_style=gnu-configure build_helper="gir" -configure_args="--disable-schemas-compile --enable-djvu +configure_args="--disable-schemas-compile --enable-djvu --disable-synctex --enable-dvi --enable-t1lib --enable-pixbuf --enable-comics --enable-xps --disable-static $(vopt_enable gir introspection)" -hostmakedepends="glib-devel intltool itstool pkg-config - $(vopt_if gir 'gobject-introspection') perl-XML-Parser" +hostmakedepends="glib-devel intltool itstool pkg-config automake libtool + gettext-devel perl-XML-Parser yelp-tools mate-common autoconf-archive + $(vopt_if gir 'gobject-introspection')" makedepends="djvulibre-devel libSM-devel libcaja-devel libgxps-devel libnotify-devel libsecret-devel libspectre-devel libunique-devel mate-desktop-devel mate-icon-theme poppler-glib-devel webkit2gtk-devel" @@ -18,11 +19,20 @@ maintainer="Orphaned " license="GPL-2.0-or-later" homepage="https://mate-desktop.org" distfiles="https://pub.mate-desktop.org/releases/${version%.*}/${pkgname}-${version}.tar.xz" -checksum=3a02d67eff090bf368fd5909640111ee2f9e69c768a56307f52d37ee0ef7151a +checksum=be245d445333de35bdad22e4299252e6b30851d94f02caef14100b78787fc724 +patch_args=-Np1 build_options="gir" build_options_default="gir" +pre_configure() { + autoreconf -fi +} + +do_check() { + : dogtail does NOT support Void Linux +} + libatril_package() { short_desc+=" - runtime library" pkg_install() {