summaryrefslogtreecommitdiff
path: root/app-text/atril
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2020-09-30 17:27:54 +0100
committerV3n3RiX <venerix@redcorelinux.org>2020-09-30 17:27:54 +0100
commitf70a1bfc721336d4fc7dfb711c2f518a6b18cf16 (patch)
treee907cb121b30e3c1df1710719c0ddf4029597a47 /app-text/atril
parentdb063b515939ab15261136b24e4bc44386335c0c (diff)
gentoo resync : 30.09.2020
Diffstat (limited to 'app-text/atril')
-rw-r--r--app-text/atril/Manifest4
-rw-r--r--app-text/atril/atril-1.24.0-r2.ebuild119
-rw-r--r--app-text/atril/files/atril-1.24.0-make-synctex-optional.patch526
-rw-r--r--app-text/atril/metadata.xml2
4 files changed, 650 insertions, 1 deletions
diff --git a/app-text/atril/Manifest b/app-text/atril/Manifest
index 01d1945bea97..54e21b83c684 100644
--- a/app-text/atril/Manifest
+++ b/app-text/atril/Manifest
@@ -1,3 +1,5 @@
+AUX atril-1.24.0-make-synctex-optional.patch 16815 BLAKE2B 13c65b9dbf1afa43aa32d147462c90dbad94366b1795b1409746cde2991180a3b2a3266908469b2ff5a4b3107b457ae86a3cb3bc058384877f885a512fabab2d SHA512 cb4493eca4e0bc1bd4a9bdd4540033aad3318023f6101f5548c14c7c7134ce6a4618849df44573af39af7d561ebca4b9b549668e81c50c7432a525db7d0f620b
DIST atril-1.24.0.tar.xz 2062468 BLAKE2B 374c7769f5c9753b1d9a6143c796a317914aebbb638b6f0a85b732b43b0e9ad2fff1374a5f3f4dc1abc8c265ce003bfef2cddc47cdb18ddc7f24c4905ef5232c SHA512 dfdd5ed82ba76c4f0a446a95b0a6201bedf8b4d00ff46ce697a5b937251f6d7a1888ca76eef623eb84dcddb425c7ad662e179f593686bba064b7491d4d940293
EBUILD atril-1.24.0-r1.ebuild 2253 BLAKE2B ae262b9f622fbbd916898c936e83d5411501596bd4b1c36ddf057ae4a25aca707f6f4eb7ea8a56ffd3662e9db0b46aaafde49e879ddbd32b67eaeee5871b4de0 SHA512 c76e3f3ebcb797648ee2290e6adcd5920c5a55e01b8f529ca3c58a9b4132baa388bb4aceaadd8e2322821b0cf0f135e1950de096f6b6681299c65cf4a145440f
-MISC metadata.xml 782 BLAKE2B f87378442b88dfae4c1b06d6bfc3f3d13770271bb0c589ad37965325bdc0ac13cdbea3dc18fb41d48339a078c2d11c0adfa78a88da9216356c79fece0f5f39d9 SHA512 d3c0b43a5957c49d606b8eafd71ec8a0ef3e428e1953a0e8172c633bede7c9e1d468cf61eecb2f6cd980ff64ab02faf16c9501351ccebbc64175af9fb9b32477
+EBUILD atril-1.24.0-r2.ebuild 2933 BLAKE2B 3a0b1a54743998e9f881227a83350cd4f8e01e4d8295dbcd10f812e83c60e2d4dbd330353fd17c8e2cb082d5006f9a441ee9ce5b98d3329ac10ac5f5e6961a04 SHA512 2d86e498774025b1b9949069808c1dab18d3d0845723e4ba5488fda6e48be22a39c9d438c0559a2513ee8a4db72ca910bae846985641c26dce2855dc63157c43
+MISC metadata.xml 887 BLAKE2B 38b14cf53af3c9728f59bc846fe8664092c545703fe542b9264f20aa867e26186c2a0ade2910c8f9040d33f1f882af5b00fb85b181e9a5ddcae92aa0732f385d SHA512 dbf93874246a0f8da95bf6b80968211b58e15c9d14ceddf7bafcee7f073be9d1eedbf0203c796411b2be38d651b110903501dda4a0ee7a1fb6429d1b3d926934
diff --git a/app-text/atril/atril-1.24.0-r2.ebuild b/app-text/atril/atril-1.24.0-r2.ebuild
new file mode 100644
index 000000000000..6947e34b8f30
--- /dev/null
+++ b/app-text/atril/atril-1.24.0-r2.ebuild
@@ -0,0 +1,119 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+MATE_LA_PUNT="yes"
+
+PYTHON_COMPAT=( python3_{6,7} )
+
+inherit mate python-any-r1 virtualx
+
+if [[ ${PV} != 9999 ]]; then
+ KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+fi
+
+DESCRIPTION="Atril document viewer for MATE"
+LICENSE="FDL-1.1+ GPL-2+ GPL-3+ LGPL-2+ LGPL-2.1+"
+SLOT="0"
+
+IUSE="caja dbus debug djvu dvi epub +introspection gnome-keyring +postscript synctex t1lib test tiff xps"
+
+REQUIRED_USE="t1lib? ( dvi )"
+
+COMMON_DEPEND="
+ >=app-text/poppler-0.22[cairo]
+ dev-libs/atk
+ >=dev-libs/glib-2.62:2
+ >=dev-libs/libxml2-2.5:2
+ sys-libs/zlib
+ x11-libs/gdk-pixbuf:2
+ >=x11-libs/gtk+-3.22:3[introspection?]
+ x11-libs/libICE
+ >=x11-libs/libSM-1:0
+ x11-libs/libX11
+ >=x11-libs/cairo-1.14
+ x11-libs/pango
+ caja? ( >=mate-base/caja-1.17.1[introspection?] )
+ djvu? ( >=app-text/djvu-3.5.17:0 )
+ dvi? (
+ virtual/tex-base
+ t1lib? ( >=media-libs/t1lib-5:5 )
+ )
+ epub? (
+ dev-libs/mathjax
+ >=net-libs/webkit-gtk-2.6.0:4
+ )
+ gnome-keyring? ( >=app-crypt/libsecret-0.5 )
+ introspection? ( >=dev-libs/gobject-introspection-0.6:= )
+ postscript? ( >=app-text/libspectre-0.2 )
+ synctex? ( virtual/tex-base )
+ tiff? ( >=media-libs/tiff-3.6:0 )
+ xps? ( >=app-text/libgxps-0.2.1 )
+"
+
+RDEPEND="${COMMON_DEPEND}
+ virtual/libintl
+ !!app-text/mate-document-viewer
+"
+
+DEPEND="${COMMON_DEPEND}
+ app-text/docbook-xml-dtd:4.1.2
+ app-text/rarian
+ app-text/yelp-tools
+ >=app-text/scrollkeeper-dtd-1:1.0
+ dev-util/gdbus-codegen
+ dev-util/glib-utils
+ dev-util/gtk-doc
+ dev-util/gtk-doc-am
+ >=sys-devel/gettext-0.19.8
+ virtual/pkgconfig
+ test? ( $(python_gen_any_dep 'dev-util/dogtail[${PYTHON_USEDEP}]') )
+"
+
+#RESTRICT="!test? ( test )"
+# Tests use dogtail and require using accessibility services.
+# Until we figure out how to run successfully, don't run tests
+RESTRICT="test"
+
+PATCHES=( "${FILESDIR}/${PN}-1.24.0-make-synctex-optional.patch" )
+
+python_check_deps() {
+ use test && has_version "dev-util/dogtail[${PYTHON_USEDEP}]"
+}
+
+pkg_setup() {
+ use test && python-any-r1_pkg_setup
+}
+
+src_configure() {
+ # Passing --disable-help would drop offline help, that would be inconsistent
+ # with helps of the most of GNOME apps that doesn't require network for that.
+ mate_src_configure \
+ --enable-comics \
+ --enable-pdf \
+ --enable-pixbuf \
+ --enable-previewer \
+ --enable-thumbnailer \
+ $(use_with gnome-keyring keyring) \
+ $(use_enable caja) \
+ $(use_enable dbus) \
+ $(use_enable debug) \
+ $(use_enable djvu) \
+ $(use_enable dvi) \
+ $(use_enable epub) \
+ $(use_enable introspection) \
+ $(use_enable postscript ps) \
+ $(use_enable synctex) \
+ $(use_enable t1lib) \
+ $(use_enable test tests) \
+ $(use_enable tiff) \
+ $(use_enable xps)
+}
+
+src_test() {
+ export GSETTINGS_BACKEND=keyfile
+ gsettings set org.gnome.desktop.interface toolkit-accessibility true || die
+ gsettings set org.mate.interface accessibility true || die
+ virtx emake check
+}
diff --git a/app-text/atril/files/atril-1.24.0-make-synctex-optional.patch b/app-text/atril/files/atril-1.24.0-make-synctex-optional.patch
new file mode 100644
index 000000000000..7b2d3a9c372e
--- /dev/null
+++ b/app-text/atril/files/atril-1.24.0-make-synctex-optional.patch
@@ -0,0 +1,526 @@
+From ed650322792514d69ae54eef4cb105cac1dcb4b8 Mon Sep 17 00:00:00 2001
+From: Oz Tiram <oz.tiram@gmail.com>
+Date: Fri, 7 Feb 2020 21:57:10 +0100
+Subject: [PATCH 1/5] 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 6fee0ff6e..e7a63feed 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 ===========================================
+
+@@ -776,6 +786,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
+@@ -784,6 +795,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 b713a6717..be082aebb 100644
+--- a/libdocument/ev-document.c
++++ b/libdocument/ev-document.c
+@@ -25,7 +25,9 @@
+ #include <string.h>
+
+ #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 a195ba21f..e98582d34 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 e2dfbf727..bffc9a7f9 100644
+--- a/shell/ev-window.c
++++ b/shell/ev-window.c
+@@ -7736,6 +7736,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,
+@@ -7756,6 +7758,7 @@ handle_sync_view_cb (EvAtrilWindow *object,
+
+ return TRUE;
+ }
++#endif
+ #endif /* ENABLE_DBUS */
+
+ static gboolean
+@@ -7816,9 +7819,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);
+
+From c141d2c6ae0b4ce5824817f9aa2f98d5edbf7756 Mon Sep 17 00:00:00 2001
+From: Oz N Tiram <oz.tiram@gmail.com>
+Date: Thu, 11 Jun 2020 09:15:28 +0200
+Subject: [PATCH 2/5] Fix -Wunused-function warnings caused by
+ --enable-synctex=no
+
+---
+ libdocument/ev-document.c | 5 ++++-
+ libview/ev-view-private.h | 3 ++-
+ libview/ev-view.c | 10 ++++++++++
+ 3 files changed, 16 insertions(+), 2 deletions(-)
+
+diff --git a/libdocument/ev-document.c b/libdocument/ev-document.c
+index be082aebb..f7c878956 100644
+--- a/libdocument/ev-document.c
++++ b/libdocument/ev-document.c
+@@ -68,7 +68,9 @@ static void _ev_document_get_page_size (EvDocument *document,
+ static gchar *_ev_document_get_page_label (EvDocument *document,
+ EvPage *page);
+ static EvDocumentInfo *_ev_document_get_info (EvDocument *document);
++#ifdef ENABLE_SYNCTEX
+ static gboolean _ev_document_support_synctex (EvDocument *document);
++#endif
+
+ static GMutex ev_doc_mutex;
+ static GMutex ev_fc_mutex;
+@@ -386,6 +388,8 @@ ev_document_get_page (EvDocument *document,
+ return klass->get_page (document, index);
+ }
+
++
++#ifdef ENABLE_SYNCTEX
+ static gboolean
+ _ev_document_support_synctex (EvDocument *document)
+ {
+@@ -394,7 +398,6 @@ _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)
+ {
+diff --git a/libview/ev-view-private.h b/libview/ev-view-private.h
+index f10593953..4f6179e4a 100644
+--- a/libview/ev-view-private.h
++++ b/libview/ev-view-private.h
+@@ -125,8 +125,9 @@ struct _EvView {
+ GList **find_pages;
+ gint find_result;
+ gboolean jump_to_find_result;
++#ifdef ENABLE_SYNCTEX
+ gboolean highlight_find_results;
+-
++#endif
+ EvDocumentModel *model;
+ EvPixbufCache *pixbuf_cache;
+ gsize pixbuf_cache_size;
+diff --git a/libview/ev-view.c b/libview/ev-view.c
+index e98582d34..7c9281cef 100644
+--- a/libview/ev-view.c
++++ b/libview/ev-view.c
+@@ -177,12 +177,14 @@ static void ev_view_remove_all (EvView
+ static AtkObject *ev_view_get_accessible (GtkWidget *widget);
+
+ /*** Drawing ***/
++#if ENABLE_SYNCTEX
+ static void highlight_find_results (EvView *view,
+ cairo_t *cr,
+ int page);
+ static void highlight_forward_search_results (EvView *view,
+ cairo_t *cr,
+ int page);
++#endif
+ static void draw_one_page (EvView *view,
+ gint page,
+ cairo_t *cr,
+@@ -4074,8 +4076,10 @@ ev_view_draw (GtkWidget *widget,
+
+ if (page_ready && should_draw_caret_cursor (view, i))
+ draw_caret_cursor (view, cr);
++#ifdef ENABLE_SYNCTEX
+ if (page_ready && view->find_pages && view->highlight_find_results)
+ highlight_find_results (view, cr, i);
++#endif
+ if (page_ready && EV_IS_DOCUMENT_ANNOTATIONS (view->document))
+ show_annotation_windows (view, i);
+ if (page_ready && view->focused_element)
+@@ -5654,6 +5658,7 @@ draw_rubberband (EvView *view,
+ }
+
+
++#ifdef ENABLE_SYNCTEX
+ static void
+ highlight_find_results (EvView *view, cairo_t *cr, int page)
+ {
+@@ -5698,6 +5703,7 @@ highlight_forward_search_results (EvView *view, cairo_t *cr, int page)
+ cairo_stroke (cr);
+ cairo_restore (cr);
+ }
++#endif
+
+ static void
+ draw_surface (cairo_t *cr,
+@@ -6497,7 +6503,9 @@ ev_view_init (EvView *view)
+ view->page_layout = EV_PAGE_LAYOUT_SINGLE;
+ view->pending_scroll = SCROLL_TO_KEEP_POSITION;
+ view->jump_to_find_result = TRUE;
++#ifdef ENABLE_SYNCTEX
+ view->highlight_find_results = FALSE;
++#endif
+ view->caret_enabled = FALSE;
+ view->cursor_page = 0;
+ view->zoom_center_x = -1;
+@@ -7517,7 +7525,9 @@ ev_view_find_search_changed (EvView *view)
+ void
+ ev_view_find_set_highlight_search (EvView *view, gboolean value)
+ {
++#ifdef ENABLE_SYNCTEX
+ view->highlight_find_results = value;
++#endif
+ gtk_widget_queue_draw (GTK_WIDGET (view));
+ }
+
+
+From f0054e7011c5cf6ac814ce1c6b42ce1713b25dba Mon Sep 17 00:00:00 2001
+From: Oz N Tiram <oz.tiram@gmail.com>
+Date: Thu, 11 Jun 2020 10:21:00 +0200
+Subject: [PATCH 3/5] Improved detection of --enable/disable synctex option
+
+---
+ configure.ac | 9 ++++++---
+ 1 file changed, 6 insertions(+), 3 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index e7a63feed..ee33f27d9 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -362,9 +362,12 @@ 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])
++ [--enable-synctex enable support for synctex)],
++ [case "${enableval}" in
++ yes) synctex=true ;;
++ no) synctex=false;;
++ *) AC_MSG_ERROR([bad value ${enableval} for --enable-synctex]) ;;
++ esac],[enable_synctex=yes])
+
+
+ if test "$enable_synctex" = "yes"; then
+
+From 37d80d4c862cbd03525fe4393f09b92d1dff8f56 Mon Sep 17 00:00:00 2001
+From: Oz N Tiram <oz.tiram@gmail.com>
+Date: Thu, 11 Jun 2020 10:23:15 +0200
+Subject: [PATCH 4/5] Use ENABLE_SYNCTEX in libdocument/Makefile.am
+
+---
+ libdocument/Makefile.am | 9 +++++++--
+ 1 file changed, 7 insertions(+), 2 deletions(-)
+
+diff --git a/libdocument/Makefile.am b/libdocument/Makefile.am
+index f527f0a4a..d1db419c0 100644
+--- a/libdocument/Makefile.am
++++ b/libdocument/Makefile.am
+@@ -102,11 +102,14 @@ libatrildocument_la_CPPFLAGS = \
+
+ libatrildocument_la_CFLAGS = \
+ $(LIBDOCUMENT_CFLAGS) \
+- $(SYNCTEX_CFLAGS) \
+ $(WARN_CFLAGS) \
+ $(DISABLE_DEPRECATED) \
+ $(AM_CFLAGS)
+
++if ENABLE_SYNCTEX
++libatrildocument_la_CFLAGS += $(SYNCTEX_CFLAGS)
++endif
++
+ libatrildocument_la_LDFLAGS = \
+ -version-info $(EV_DOCUMENT_LT_VERSION_INFO) \
+ -no-undefined \
+@@ -116,9 +119,11 @@ libatrildocument_la_LDFLAGS = \
+ libatrildocument_la_LIBADD = \
+ $(LIBDOCUMENT_LIBS) \
+ $(GMODULE_LIBS) \
+- $(SYNCTEX_LIBS) \
+ $(ZLIB_LIBS)
+
++if ENABLE_SYNCTEX
++libatrildocument_la_LIBADD += $(SYNCTEX_LIBS)
++endif
+
+ BUILT_SOURCES = \
+ ev-document-type-builtins.c \
+
+From 87c8ee575d3ec50a278c5e428d066341ffd3295d Mon Sep 17 00:00:00 2001
+From: Oz N Tiram <oz.tiram@gmail.com>
+Date: Sun, 14 Jun 2020 17:09:56 +0200
+Subject: [PATCH 5/5] Re-enable highlight_find_results
+
+---
+ libview/ev-view-private.h | 2 --
+ libview/ev-view.c | 9 +++------
+ 2 files changed, 3 insertions(+), 8 deletions(-)
+
+diff --git a/libview/ev-view-private.h b/libview/ev-view-private.h
+index 4f6179e4a..e95157234 100644
+--- a/libview/ev-view-private.h
++++ b/libview/ev-view-private.h
+@@ -125,9 +125,7 @@ struct _EvView {
+ GList **find_pages;
+ gint find_result;
+ gboolean jump_to_find_result;
+-#ifdef ENABLE_SYNCTEX
+ gboolean highlight_find_results;
+-#endif
+ EvDocumentModel *model;
+ EvPixbufCache *pixbuf_cache;
+ gsize pixbuf_cache_size;
+diff --git a/libview/ev-view.c b/libview/ev-view.c
+index 7c9281cef..29b06fbef 100644
+--- a/libview/ev-view.c
++++ b/libview/ev-view.c
+@@ -177,10 +177,10 @@ static void ev_view_remove_all (EvView
+ static AtkObject *ev_view_get_accessible (GtkWidget *widget);
+
+ /*** Drawing ***/
+-#if ENABLE_SYNCTEX
+ static void highlight_find_results (EvView *view,
+ cairo_t *cr,
+ int page);
++#if ENABLE_SYNCTEX
+ static void highlight_forward_search_results (EvView *view,
+ cairo_t *cr,
+ int page);
+@@ -4076,10 +4076,8 @@ ev_view_draw (GtkWidget *widget,
+
+ if (page_ready && should_draw_caret_cursor (view, i))
+ draw_caret_cursor (view, cr);
+-#ifdef ENABLE_SYNCTEX
+ if (page_ready && view->find_pages && view->highlight_find_results)
+ highlight_find_results (view, cr, i);
+-#endif
+ if (page_ready && EV_IS_DOCUMENT_ANNOTATIONS (view->document))
+ show_annotation_windows (view, i);
+ if (page_ready && view->focused_element)
+@@ -5627,6 +5625,7 @@ ev_view_style_updated (GtkWidget *widget)
+
+ /*** Drawing ***/
+
++
+ static void
+ draw_rubberband (EvView *view,
+ cairo_t *cr,
+@@ -5658,7 +5657,6 @@ draw_rubberband (EvView *view,
+ }
+
+
+-#ifdef ENABLE_SYNCTEX
+ static void
+ highlight_find_results (EvView *view, cairo_t *cr, int page)
+ {
+@@ -5683,6 +5681,7 @@ highlight_find_results (EvView *view, cairo_t *cr, int page)
+ }
+ }
+
++#ifdef ENABLE_SYNCTEX
+ static void
+ highlight_forward_search_results (EvView *view, cairo_t *cr, int page)
+ {
+@@ -7525,9 +7524,7 @@ ev_view_find_search_changed (EvView *view)
+ void
+ ev_view_find_set_highlight_search (EvView *view, gboolean value)
+ {
+-#ifdef ENABLE_SYNCTEX
+ view->highlight_find_results = value;
+-#endif
+ gtk_widget_queue_draw (GTK_WIDGET (view));
+ }
+
diff --git a/app-text/atril/metadata.xml b/app-text/atril/metadata.xml
index 0b999715ba8c..57f8c6d47b41 100644
--- a/app-text/atril/metadata.xml
+++ b/app-text/atril/metadata.xml
@@ -11,6 +11,8 @@
<flag name="dvi">Enable build-in DVI viewer</flag>
<flag name="epub">Enable build-in DVI viewer using
<pkg>net-libs/webkit-gtk</pkg></flag>
+ <flag name="synctex">Enable search highlighting through synctex
+ (<pkg>virtual/tex-base</pkg>)</flag>
<flag name="t1lib">Enable the Type-1 fonts for the build-in DVI viewer
(<pkg>media-libs/t1lib</pkg>)</flag>
<flag name="xps">Enable XPS viewer using