mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-09-24 04:59:14 -07:00
app-text/atril: Bump to 1.24.0-r2, synctex optional, add broken tests
Package-Manager: Portage-2.3.103, Repoman-2.3.23 Signed-off-by: Adam Feldman <NP-Hardass@gentoo.org>
This commit is contained in:
119
app-text/atril/atril-1.24.0-r2.ebuild
Normal file
119
app-text/atril/atril-1.24.0-r2.ebuild
Normal file
@@ -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
|
||||
}
|
||||
526
app-text/atril/files/atril-1.24.0-make-synctex-optional.patch
Normal file
526
app-text/atril/files/atril-1.24.0-make-synctex-optional.patch
Normal file
@@ -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));
|
||||
}
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user