Hi,
On Sat, Feb 02, 2019 at 12:25:55AM +0100, Matthias Kilian wrote:
> > - In tex live, put synctex into its own subpackage and LIB_DEPEND it.
> > - In tex live, move synctex into -mktexlsr. Evince already LIB_DEPENDS
> > this.
> > - Patch evince to always use its internal copy.
> >
> > FWIW, I'm leaning towards the first option.
>
> First or third.
Alright, so here's a diff which makes the new -syntex subpackage in
texlive and another which adjusts evince to use it. See attached.
I've tested `pkg_add -u` and all seems well. It seems the inequality
conflict constraint is essential, otherwise `pkg_add -u` isn't smart
enough to avoid collisions. Please check my work carefully.
As far as I can see, you cannot build evince without synctex, so even
the light flavor has to pull in synctex.
--
Best Regards
Edd Barrett
http://www.theunixzoo.co.uk
Index: Makefile
===================================================================
RCS file: /cvs/ports/graphics/evince/Makefile,v
retrieving revision 1.166
diff -u -p -r1.166 Makefile
--- Makefile 6 Jan 2019 13:54:15 -0000 1.166
+++ Makefile 4 Feb 2019 20:17:07 -0000
@@ -8,6 +8,8 @@ GNOME_VERSION= 3.30.2
MAJ_V= 3.0
SUBST_VARS= MAJ_V
+REVISION = 0
+
SHARED_LIBS += evdocument3 0.2 # 4.0
SHARED_LIBS += evview3 0.0 # 3.0
@@ -28,7 +30,7 @@ WANTLIB += gstreamer-1.0 gstvideo-1.0 gt
WANTLIB += iconv intl jpeg lcms2 lzma m openjp2 orc-0.4 pango-1.0
WANTLIB += pangocairo-1.0 pangoft2-1.0 pcre pixman-1 png16 poppler
WANTLIB += poppler-glib secret-1 tiff xcb xcb-render xcb-shm xml2
-WANTLIB += z aspell enchant-2 gspell-1
+WANTLIB += z aspell enchant-2 gspell-1 synctex
COMPILER = base-clang ports-gcc base-gcc
@@ -44,7 +46,8 @@ LIB_DEPENDS= multimedia/gstreamer1/plug
print/poppler \
textproc/gspell \
x11/gnome/libsecret \
- x11/gtk+3
+ x11/gtk+3 \
+ print/texlive/base,-synctex
RUN_DEPENDS= archivers/unrar \
archivers/unzip \
Index: Makefile
===================================================================
RCS file: /cvs/ports/print/texlive/base/Makefile,v
retrieving revision 1.107
diff -u -p -r1.107 Makefile
--- Makefile 24 Jan 2019 16:38:41 -0000 1.107
+++ Makefile 4 Feb 2019 16:40:55 -0000
@@ -2,16 +2,18 @@
COMMENT-main = base binaries for TeXLive typesetting distribution
COMMENT-mktexlsr = mktexlsr for TeXLive typesetting distribution
+COMMENT-synctex = synctex for TeXLive typesetting distribution
DISTNAME = texlive-${DIST_V}-source
PKGNAME = texlive_base-${V}
WRKDIST = ${WRKDIR}/texlive-${DIST_V}-source
-REVISION-main = 0
+REVISION-main = 1
-MULTI_PACKAGES = -main -mktexlsr
+MULTI_PACKAGES = -main -mktexlsr -synctex
PKGNAME-mktexlsr = texlive_mktexlsr-${V}
PKGNAME-main = ${PKGNAME}
+PKGNAME-synctex = texlive_synctex-${V}
DISTFILES = ${DISTNAME}${EXTRACT_SUFX} \
texlive-${DIST_V}-extra${EXTRACT_SUFX}
@@ -27,14 +29,15 @@ WANTLIB-main += Xmu Xpm Xrender Xt avahi
WANTLIB-main += cups cupsimage dbus-1 expat ffi fontconfig freetype
WANTLIB-main += gd glib-2.0 gmp gnutls graphite2 gs harfbuzz harfbuzz-icu
WANTLIB-main += hogweed iconv icudata icui18n icuio icuuc idn2 ijs
-WANTLIB-main += intl jbig2dec jpeg lcms2 m nettle p11-kit paper pcre
-WANTLIB-main += pixman-1 png potrace tasn1 tiff unistring webp xcb
+WANTLIB-main += intl jbig2dec jpeg lcms2 m nettle p11-kit paper
+WANTLIB-main += pixman-1 png16 potrace tasn1 tiff unistring webp xcb
WANTLIB-main += xcb-render xcb-shm z zzip
-
WANTLIB-main += kpathsea
WANTLIB-mktexlsr = c
+WANTLIB-synctex = c m z
+
RUN_DEPENDS-main = print/ghostscript/gnu \
print/detex \
print/dvi2tty \
@@ -42,7 +45,8 @@ RUN_DEPENDS-main = print/ghostscript/gnu
print/psutils \
print/t1utils \
texlive_texmf-buildset-${V}:print/texlive/texmf,-buildset \
- devel/desktop-file-utils
+ devel/desktop-file-utils \
+ ${BASE_PKGPATH},-synctex
LIB_DEPENDS-main = converters/libiconv \
graphics/png \
Index: pkg/DESCR-synctex
===================================================================
RCS file: pkg/DESCR-synctex
diff -N pkg/DESCR-synctex
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ pkg/DESCR-synctex 4 Feb 2019 20:10:30 -0000
@@ -0,0 +1,6 @@
+TeX Live is an easy way to get up and running with TeX. It provides a
+comprehensive TeX system which includes all the major TeX-related
+programs, macro packages, and fonts that are free software, including
+support for many languages around the world.
+
+This package contains the synctex library and utility.
Index: pkg/PLIST-main
===================================================================
RCS file: /cvs/ports/print/texlive/base/pkg/PLIST-main,v
retrieving revision 1.4
diff -u -p -r1.4 PLIST-main
--- pkg/PLIST-main 24 Jan 2019 16:38:41 -0000 1.4
+++ pkg/PLIST-main 4 Feb 2019 10:58:11 -0000
@@ -322,7 +322,6 @@ bin/splitindex
bin/srcredact
bin/sty2dtx
bin/svn-multi
-@bin bin/synctex
@bin bin/t1dotlessj
@bin bin/t1lint
@bin bin/t1rawafm
@@ -409,10 +408,6 @@ bin/yplan
include/ptexenc/
include/ptexenc/ptexenc.h
include/ptexenc/unicode.h
-include/synctex/
-include/synctex/synctex_parser.h
-include/synctex/synctex_parser_utils.h
-include/synctex/synctex_version.h
include/texlua52/
include/texlua52/lauxlib.h
include/texlua52/lua.h
@@ -428,9 +423,6 @@ include/texlua53/lualib.h
lib/libptexenc.a
lib/libptexenc.la
@lib lib/libptexenc.so.${LIBptexenc_VERSION}
-lib/libsynctex.a
-lib/libsynctex.la
-@lib lib/libsynctex.so.${LIBsynctex_VERSION}
lib/libtexlua52.a
lib/libtexlua52.la
@lib lib/libtexlua52.so.${LIBtexlua52_VERSION}
@@ -438,7 +430,6 @@ lib/libtexlua53.a
lib/libtexlua53.la
@lib lib/libtexlua53.so.${LIBtexlua53_VERSION}
lib/pkgconfig/ptexenc.pc
-lib/pkgconfig/synctex.pc
lib/pkgconfig/texlua52.pc
@tag mktexlsr
@unexec-delete rm -f %D/share/texmf-dist/ls-R
Index: pkg/PLIST-synctex
===================================================================
RCS file: pkg/PLIST-synctex
diff -N pkg/PLIST-synctex
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ pkg/PLIST-synctex 4 Feb 2019 17:39:55 -0000
@@ -0,0 +1,15 @@
+@comment $OpenBSD$
+@conflict teTeX_base-*
+@conflict pdfjam-*
+@conflict ht-<2
+@conflict texlive_texmf-buildset-<2018
+@conflict texlive_base-<2018p1
+@bin bin/synctex
+include/synctex/
+include/synctex/synctex_parser.h
+include/synctex/synctex_parser_utils.h
+include/synctex/synctex_version.h
+lib/libsynctex.a
+lib/libsynctex.la
+@lib lib/libsynctex.so.${LIBsynctex_VERSION}
+lib/pkgconfig/synctex.pc