texlive & evince (was: CVS: cvs.openbsd.org: ports)

classic Classic list List threaded Threaded
21 messages Options
12
Reply | Threaded
Open this post in threaded view
|

texlive & evince (was: CVS: cvs.openbsd.org: ports)

Matthias Kilian
Hi,

(putting this back to ports@, because i don't like discussions on
ports-changes@)

On Wed, Jan 23, 2019 at 12:01:12AM +0100, Antoine Jacoutot wrote:
> On Sun, Jan 20, 2019 at 04:17:54AM -0700, Edd Barrett wrote:
> > CVSROOT: /cvs
> > Module name: ports
> > Changes by: [hidden email] 2019/01/20 04:17:54
[...]
> > Log message:
> > Update TeX Live to 2018.
>=20
> I think this broke evince:
[...]
> cc -DHAVE_CONFIG_H -I. -I.. -DG_LOG_DOMAIN=3D"EvinceDocument" -DGNOMELOCA=
LEDIR=3D"/usr/local/share/locale" -DEV_BACKENDSDIR=3D"/usr/local/lib/evince=
/4/backends" -DEV_BACKENDSBINARYVERSION=3D"4" -DEVINCE_COMPILATION -I/usr/l=
ocal/include -I/usr/local/include/gtk-3.0 -I/usr/local/include/at-spi2-atk/=
2.0 -I/usr/local/include/at-spi-2.0 -I/usr/local/include/dbus-1.0 -I/usr/lo=
cal/lib/dbus-1.0/include -I/usr/local/include/gio-unix-2.0 -I/usr/X11R6/inc=
lude -I/usr/local/include/cairo -I/usr/X11R6/include/libdrm -I/usr/local/in=
clude/pango-1.0 -I/usr/local/include/harfbuzz -I/usr/local/include -I/usr/l=
ocal/include/fribidi -I/usr/local/include/atk-1.0 -I/usr/X11R6/include/pixm=
an-1 -I/usr/X11R6/include/freetype2 -I/usr/local/include/libpng16 -I/usr/lo=
cal/include/gdk-pixbuf-2.0 -pthread -I/usr/local/include/glib-2.0 -I/usr/lo=
cal/lib/glib-2.0/include -I/usr/local/include/synctex -Wall -Wstrict-protot=
ypes -Wnested-externs -Werror=3Dmissing-prototypes -Werror=3Dimplicit-funct=
ion-declaration -Werror=3Dpointer-arith -Werror=3Dinit-self -Werror=3Dforma=
t-security -Werror=3Dformat=3D2 -Werror=3Dmissing-include-dirs -Werror=3Dre=
turn-type -O2 -pipe -Wno-error=3Dformat-nonliteral -MT libevdocument3_la-ev=
-document.lo -MD -MP -MF .deps/libevdocument3_la-ev-document.Tpo -c ev-docu=
ment.c -fPIC -DPIC -o .libs/libevdocument3_la-ev-document.o
> In file included from ev-document.c:29:
> /usr/local/include/synctex/synctex_parser.h:53:10: fatal error: 'synctex_=
version.h' file not found
> #include "synctex_version.h"
>          ^~~~~~~~~~~~~~~~~~~
> 1 error generated.

This iw weird. When I tested edd's diff for texlive-2018, I also
removed all ports depending on it from my package repository,
including evince. And it did not fail, and I got proper evince
package (buit *after* texlive). Looking at recently built packages:

-rw-rw-r--  3 _pbuild  _pbuild    3702804 Jan 22 19:59 evince-3.30.2.tgz
-rw-rw-r--  3 _pbuild  _pbuild    3491721 Jan 21 22:14 evince-3.30.2-light.=
tgz
-rw-rw-r--  3 _pbuild  _pbuild     186028 Jan 20 04:46 texlive_mktexlsr-201=
8.tgz
-rw-rw-r--  3 _pbuild  _pbuild   26209865 Jan 20 04:46 texlive_base-2018.tgz
-rw-rw-r--  4 _pbuild  _pbuild  177361642 Jan 15 00:18 texlive_texmf-builds=
et-2018.tgz
-rw-rw-r--  4 _pbuild  _pbuild  270794739 Jan 15 00:16 texlive_texmf-minima=
l-2018.tgz
-rw-rw-r--  4 _pbuild  _pbuild  847869307 Jan 15 00:09 texlive_texmf-full-2=
018.tgz
-rw-rw-r--  4 _pbuild  _pbuild  948758093 Jan 14 23:33 texlive_texmf-docs-2=
018.tgz
-rw-rw-r--  4 _pbuild  _pbuild   12400397 Jan 14 23:27 texlive_texmf-contex=
t-2018.tgz

I'll try to rebuild evince on my (f*cking slow) build machine again and com=
pare
the build log against yours.

Ciao,
        Kili

Reply | Threaded
Open this post in threaded view
|

Re: texlive & evince (was: CVS: cvs.openbsd.org: ports)

Edd Barrett-3
Hi,

On Wed, Jan 23, 2019 at 12:43:18AM +0100, Matthias Kilian wrote:
> This iw weird. When I tested edd's diff for texlive-2018, I also
> removed all ports depending on it from my package repository,
> including evince. And it did not fail, and I got proper evince
> package (buit *after* texlive).

I was also suprised that Kili's bulk didn't hit this.

If you can reproduce the build failure, Kili, I'd say these upstream
commits look like good candidates to try. They update the synctex parser
that everyone seems to be copy-pasting into their projects these days.

In order:

https://gitlab.gnome.org/GNOME/evince/commit/ed2d42b8ed1496de951460cf0e9f4bb9f941695c
https://gitlab.gnome.org/GNOME/evince/commit/dab0dc31dba530b7c5d92122cd2047e0f3f97452
https://gitlab.gnome.org/GNOME/evince/commit/678410e81d0c889f4db4e995ca451ed62b8a2eee

(FWIW, there were some synctex changes between TL17 and TL18)

--
Best Regards
Edd Barrett

http://www.theunixzoo.co.uk

Reply | Threaded
Open this post in threaded view
|

Re: texlive & evince (was: CVS: cvs.openbsd.org: ports)

Antoine Jacoutot-7
In reply to this post by Matthias Kilian
On Wed, Jan 23, 2019 at 12:43:18AM +0100, Matthias Kilian wrote:

> Hi,
>=20
> (putting this back to ports@, because i don't like discussions on
> ports-changes@)
>=20
> On Wed, Jan 23, 2019 at 12:01:12AM +0100, Antoine Jacoutot wrote:
> > On Sun, Jan 20, 2019 at 04:17:54AM -0700, Edd Barrett wrote:
> > > CVSROOT: /cvs
> > > Module name: ports
> > > Changes by: [hidden email] 2019/01/20 04:17:54
> [...]
> > > Log message:
> > > Update TeX Live to 2018.
> >=20
> > I think this broke evince:
> [...]
> > cc -DHAVE_CONFIG_H -I. -I.. -DG_LOG_DOMAIN=3D"EvinceDocument" -DGNOMELO=
CALEDIR=3D"/usr/local/share/locale" -DEV_BACKENDSDIR=3D"/usr/local/lib/evin=
ce/4/backends" -DEV_BACKENDSBINARYVERSION=3D"4" -DEVINCE_COMPILATION -I/usr=
/local/include -I/usr/local/include/gtk-3.0 -I/usr/local/include/at-spi2-at=
k/2.0 -I/usr/local/include/at-spi-2.0 -I/usr/local/include/dbus-1.0 -I/usr/=
local/lib/dbus-1.0/include -I/usr/local/include/gio-unix-2.0 -I/usr/X11R6/i=
nclude -I/usr/local/include/cairo -I/usr/X11R6/include/libdrm -I/usr/local/=
include/pango-1.0 -I/usr/local/include/harfbuzz -I/usr/local/include -I/usr=
/local/include/fribidi -I/usr/local/include/atk-1.0 -I/usr/X11R6/include/pi=
xman-1 -I/usr/X11R6/include/freetype2 -I/usr/local/include/libpng16 -I/usr/=
local/include/gdk-pixbuf-2.0 -pthread -I/usr/local/include/glib-2.0 -I/usr/=
local/lib/glib-2.0/include -I/usr/local/include/synctex -Wall -Wstrict-prot=
otypes -Wnested-externs -Werror=3Dmissing-prototypes -Werror=3Dimplicit-fun=
ction-declaration -Werror=3Dpointer-arith -Werror=3Dinit-self -Werror=3Dfor=
mat-security -Werror=3Dformat=3D2 -Werror=3Dmissing-include-dirs -Werror=3D=
return-type -O2 -pipe -Wno-error=3Dformat-nonliteral -MT libevdocument3_la-=
ev-document.lo -MD -MP -MF .deps/libevdocument3_la-ev-document.Tpo -c ev-do=
cument.c -fPIC -DPIC -o .libs/libevdocument3_la-ev-document.o
> > In file included from ev-document.c:29:
> > /usr/local/include/synctex/synctex_parser.h:53:10: fatal error: 'syncte=
x_version.h' file not found
> > #include "synctex_version.h"
> >          ^~~~~~~~~~~~~~~~~~~
> > 1 error generated.
>=20
> This iw weird. When I tested edd's diff for texlive-2018, I also
> removed all ports depending on it from my package repository,
> including evince. And it did not fail, and I got proper evince
> package (buit *after* texlive). Looking at recently built packages:

Might be dpb junking?


--=20
Antoine

Reply | Threaded
Open this post in threaded view
|

Re: texlive & evince (was: CVS: cvs.openbsd.org: ports)

Edd Barrett-3
On Wed, Jan 23, 2019 at 01:38:30AM +0100, Antoine Jacoutot wrote:
> Might be dpb junking?

FWIW, I just did a manual "make build" in graphics/evince, which resulted in:

```
In file included from ev-document.c:29:
/usr/local/include/synctex/synctex_parser.h:53:10: fatal error: 'synctex_version.h' file not found
#include "synctex_version.h"
         ^~~~~~~~~~~~~~~~~~~
```

--
Best Regards
Edd Barrett

http://www.theunixzoo.co.uk

Reply | Threaded
Open this post in threaded view
|

Re: texlive & evince (was: CVS: cvs.openbsd.org: ports)

Matthias Kilian
Hi,

On Wed, Jan 23, 2019 at 10:54:02AM +0000, Edd Barrett wrote:
> FWIW, I just did a manual "make build" in graphics/evince, which resulted in:
>
> ```
> In file included from ev-document.c:29:
> /usr/local/include/synctex/synctex_parser.h:53:10: fatal error: 'synctex_version.h' file not found
> #include "synctex_version.h"
>          ^~~~~~~~~~~~~~~~~~~

First, this looks like synctex_version.h is missing from texlive_base,
which should be fixed anyway.

Second, the error happens if texlive_base is installed. If it's not
installed, evince uses it's own bunded version of synctex. Diff between
build log without and with texlive_base installed:

--- build1.log  Wed Jan 23 19:39:03 2019
+++ build2.log  Wed Jan 23 19:46:47 2019
@@ -160,7 +160,7 @@
 checking for NAUTILUS... yes
 checking for PREVIEWER... yes
 checking for gobject-introspection... yes
-checking for SYNCTEX... no
+checking for SYNCTEX... yes
 checking execinfo.h usability... no
 checking execinfo.h presence... no
 checking for execinfo.h... no
@@ -340,7 +340,7 @@
 Thumbnail cache ..........:  yes
 Multimedia ...............:  yes
 Spell Checker.............:  yes
-SyncTeX ..................:  internal
+SyncTeX ..................:  system

I guess we don't want evince to lib-depend on texlive_base, but I didn't
find an autoconf knob for enforcing the internal synctex.

Ciao,
        Kili

Reply | Threaded
Open this post in threaded view
|

Re: texlive & evince (was: CVS: cvs.openbsd.org: ports)

Matthias Kilian
On Wed, Jan 23, 2019 at 08:11:28PM +0100, Matthias Kilian wrote:
> I guess we don't want evince to lib-depend on texlive_base, but I didn't
> find an autoconf knob for enforcing the internal synctex.

Ignore that part. I forgot that evince already run-depends on
texlive_base ;-)

Ciao,
        Kili

Reply | Threaded
Open this post in threaded view
|

Re: texlive & evince (was: CVS: cvs.openbsd.org: ports)

Antoine Jacoutot-7
In reply to this post by Matthias Kilian
On Wed, Jan 23, 2019 at 08:11:28PM +0100, Matthias Kilian wrote:

> Hi,
>
> On Wed, Jan 23, 2019 at 10:54:02AM +0000, Edd Barrett wrote:
> > FWIW, I just did a manual "make build" in graphics/evince, which resulted in:
> >
> > ```
> > In file included from ev-document.c:29:
> > /usr/local/include/synctex/synctex_parser.h:53:10: fatal error: 'synctex_version.h' file not found
> > #include "synctex_version.h"
> >          ^~~~~~~~~~~~~~~~~~~
>
> First, this looks like synctex_version.h is missing from texlive_base,
> which should be fixed anyway.
>
> Second, the error happens if texlive_base is installed. If it's not
> installed, evince uses it's own bunded version of synctex. Diff between
> build log without and with texlive_base installed:
>
> --- build1.log  Wed Jan 23 19:39:03 2019
> +++ build2.log  Wed Jan 23 19:46:47 2019
> @@ -160,7 +160,7 @@
>  checking for NAUTILUS... yes
>  checking for PREVIEWER... yes
>  checking for gobject-introspection... yes
> -checking for SYNCTEX... no
> +checking for SYNCTEX... yes
>  checking execinfo.h usability... no
>  checking execinfo.h presence... no
>  checking for execinfo.h... no
> @@ -340,7 +340,7 @@
>  Thumbnail cache ..........:  yes
>  Multimedia ...............:  yes
>  Spell Checker.............:  yes
> -SyncTeX ..................:  internal
> +SyncTeX ..................:  system
>
> I guess we don't want evince to lib-depend on texlive_base, but I didn't

It already depends on  print/texlive/base,-mktexlsr. For the !light FLAVOR.

--
Antoine

Reply | Threaded
Open this post in threaded view
|

Re: texlive & evince

Jeremie Courreges-Anglas-2
In reply to this post by Matthias Kilian
On Wed, Jan 23 2019, Matthias Kilian <[hidden email]> wrote:

> Hi,
>
> On Wed, Jan 23, 2019 at 10:54:02AM +0000, Edd Barrett wrote:
>> FWIW, I just did a manual "make build" in graphics/evince, which resulted in:
>>
>> ```
>> In file included from ev-document.c:29:
>> /usr/local/include/synctex/synctex_parser.h:53:10: fatal error: 'synctex_version.h' file not found
>> #include "synctex_version.h"
>>          ^~~~~~~~~~~~~~~~~~~
>
> First, this looks like synctex_version.h is missing from texlive_base,
> which should be fixed anyway.

Here's a patch to address this, similar to what debian did:

  https://salsa.debian.org/tex-team/texlive-bin/commit/7764b511543f2218527c068763827f2d5cd44ca5

I only patched the .in file though, to avoid an autoreconf dance.

ok?


Index: base/Makefile
===================================================================
RCS file: /cvs/ports/print/texlive/base/Makefile,v
retrieving revision 1.106
diff -u -p -r1.106 Makefile
--- base/Makefile 20 Jan 2019 11:17:32 -0000 1.106
+++ base/Makefile 23 Jan 2019 21:14:53 -0000
@@ -7,6 +7,8 @@ DISTNAME = texlive-${DIST_V}-source
 PKGNAME = texlive_base-${V}
 WRKDIST = ${WRKDIR}/texlive-${DIST_V}-source
 
+REVISION-main = 0
+
 MULTI_PACKAGES = -main -mktexlsr
 PKGNAME-mktexlsr = texlive_mktexlsr-${V}
 PKGNAME-main = ${PKGNAME}
Index: base/patches/patch-texk_web2c_Makefile_in
===================================================================
RCS file: base/patches/patch-texk_web2c_Makefile_in
diff -N base/patches/patch-texk_web2c_Makefile_in
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ base/patches/patch-texk_web2c_Makefile_in 23 Jan 2019 21:14:53 -0000
@@ -0,0 +1,23 @@
+$OpenBSD$
+
+Install missing header.
+
+Index: texk/web2c/Makefile.in
+--- texk/web2c/Makefile.in.orig
++++ texk/web2c/Makefile.in
+@@ -1762,6 +1762,7 @@ NROFF = nroff
+ MANS = $(dist_man_MANS) $(nodist_man_MANS)
+ DATA = $(pkgconfig_DATA)
+ am__syncinclude_HEADERS_DIST = synctexdir/synctex_parser.h \
++ synctexdir/synctex_version.h \
+ synctexdir/synctex_parser_utils.h
+ HEADERS = $(syncinclude_HEADERS)
+ RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
+@@ -4021,6 +4022,7 @@ syncincludedir = ${includedir}/synctex
+ pkgconfigdir = ${libdir}/pkgconfig
+ @SYNCTEX_TRUE@syncinclude_HEADERS = \
+ @SYNCTEX_TRUE@ synctexdir/synctex_parser.h \
++@SYNCTEX_TRUE@ synctexdir/synctex_version.h \
+ @SYNCTEX_TRUE@ synctexdir/synctex_parser_utils.h
+
+ @SYNCTEX_TRUE@pkgconfig_DATA = synctexdir/synctex.pc
Index: base/pkg/PLIST-main
===================================================================
RCS file: /cvs/ports/print/texlive/base/pkg/PLIST-main,v
retrieving revision 1.3
diff -u -p -r1.3 PLIST-main
--- base/pkg/PLIST-main 20 Jan 2019 11:17:46 -0000 1.3
+++ base/pkg/PLIST-main 23 Jan 2019 21:14:53 -0000
@@ -412,6 +412,7 @@ 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
@@ -450,7 +451,6 @@ lib/pkgconfig/texlua53.pc
 ${P5SITE}/TeXLive/
 ${P5SITE}/TeXLive/TLConfig.pm
 ${P5SITE}/TeXLive/TLUtils.pm
-share/applications/
 share/applications/xdvi.desktop
 share/doc/pkg-readmes/${PKGSTEM}
 @tag update-desktop-database
Index: texmf/Makefile
===================================================================
RCS file: /cvs/ports/print/texlive/texmf/Makefile,v
retrieving revision 1.55
diff -u -p -r1.55 Makefile
--- texmf/Makefile 20 Jan 2019 11:17:48 -0000 1.55
+++ texmf/Makefile 23 Jan 2019 21:14:53 -0000
@@ -24,6 +24,9 @@ PKGNAME-docs = texlive_texmf-docs-${V}
 PKGNAME-context = texlive_texmf-context-${V}
 PKGNAME-buildset = texlive_texmf-buildset-${V}
 
+REVISION-main = 0
+REVISION-docs = 0
+
 NO_BUILD = Yes
 NO_TEST = Yes
 PKG_ARCH = *
@@ -39,14 +42,14 @@ MODRUBY_RUNDEP = No
 MODPY_BUILDDEP = No
 MODPY_RUNDEP = No
 
-RUN_DEPENDS-main += texlive_base-${V}:print/texlive/base,-main \
+RUN_DEPENDS-main += texlive_base-${V}p0:print/texlive/base,-main \
  ${FULLPKGNAME-buildset}:print/texlive/texmf,-buildset
 RUN_DEPENDS-full = ${FULLPKGNAME-main}:print/texlive/texmf,-main \
  ${MODPY_RUN_DEPENDS} \
  ${_MODLUA_RUNDEPENDS}
 RUN_DEPENDS-context += ${FULLPKGNAME-full}:print/texlive/texmf,-full \
  ${MODRUBY_RUNDEPENDS}
-RUN_DEPENDS-docs += texlive_base-${V}:print/texlive/base,-main \
+RUN_DEPENDS-docs += texlive_base-${V}p0:print/texlive/base,-main \
  x11/p5-Tk
 RUN_DEPENDS-buildset += texlive_mktexlsr-${V}:print/texlive/base,-mktexlsr
 


--
jca | PGP : 0x1524E7EE / 5135 92C1 AD36 5293 2BDF  DDCC 0DFA 74AE 1524 E7EE

Reply | Threaded
Open this post in threaded view
|

Re: texlive & evince

Matthias Kilian
Hi,

On Wed, Jan 23, 2019 at 10:16:43PM +0100, Jeremie Courreges-Anglas wrote:

> > First, this looks like synctex_version.h is missing from texlive_base,
> > which should be fixed anyway.
>
> Here's a patch to address this, similar to what debian did:
>
>   https://salsa.debian.org/tex-team/texlive-bin/commit/7764b511543f2218527c068763827f2d5cd44ca5
>
> I only patched the .in file though, to avoid an autoreconf dance.
>
> ok?

Ok, if it packages for you. We still have to watch out for evince
(the default flavor now lib_depends on texlive/base,-main, and we
still don't want more than texlive/base,-mktexlsr for the light
flavor).

Ciao,
        Kili

Reply | Threaded
Open this post in threaded view
|

Re: texlive & evince

Jeremie Courreges-Anglas-2
On Wed, Jan 23 2019, Matthias Kilian <[hidden email]> wrote:

> Hi,
>
> On Wed, Jan 23, 2019 at 10:16:43PM +0100, Jeremie Courreges-Anglas wrote:
>> > First, this looks like synctex_version.h is missing from texlive_base,
>> > which should be fixed anyway.
>>
>> Here's a patch to address this, similar to what debian did:
>>
>>   https://salsa.debian.org/tex-team/texlive-bin/commit/7764b511543f2218527c068763827f2d5cd44ca5
>>
>> I only patched the .in file though, to avoid an autoreconf dance.
>>
>> ok?
>
> Ok, if it packages for you.

Well it does:

$ pkg_info | grep texlive
texlive_base-2018p0 base binaries for TeXLive typesetting distribution
texlive_mktexlsr-2018 mktexlsr for TeXLive typesetting distribution
texlive_texmf-buildset-2018 smallest texlive texmf for building ports
texlive_texmf-minimal-2018p0 texlive texmf for basic functionality

> We still have to watch out for evince
> (the default flavor now lib_depends on texlive/base,-main, and we
> still don't want more than texlive/base,-mktexlsr for the light
> flavor).

Indeed.  Looks like there's no easy way to disable system synctex
auto-detection.  As a quick fix, evince could be patched to always build
the internal copy.

--
jca | PGP : 0x1524E7EE / 5135 92C1 AD36 5293 2BDF  DDCC 0DFA 74AE 1524 E7EE

Reply | Threaded
Open this post in threaded view
|

Re: texlive & evince

Jeremie Courreges-Anglas-2
On Thu, Jan 24 2019, Jeremie Courreges-Anglas <[hidden email]> wrote:

> On Wed, Jan 23 2019, Matthias Kilian <[hidden email]> wrote:
>> Hi,
>>
>> On Wed, Jan 23, 2019 at 10:16:43PM +0100, Jeremie Courreges-Anglas wrote:
>>> > First, this looks like synctex_version.h is missing from texlive_base,
>>> > which should be fixed anyway.
>>>
>>> Here's a patch to address this, similar to what debian did:
>>>
>>>   https://salsa.debian.org/tex-team/texlive-bin/commit/7764b511543f2218527c068763827f2d5cd44ca5
>>>
>>> I only patched the .in file though, to avoid an autoreconf dance.
>>>
>>> ok?
>>
>> Ok, if it packages for you.
>
> Well it does:
>
> $ pkg_info | grep texlive
> texlive_base-2018p0 base binaries for TeXLive typesetting distribution
> texlive_mktexlsr-2018 mktexlsr for TeXLive typesetting distribution
> texlive_texmf-buildset-2018 smallest texlive texmf for building ports
> texlive_texmf-minimal-2018p0 texlive texmf for basic functionality

While here I've noticed complains about an ABI break in libsynctex.

  https://github.com/jlaurens/synctex/issues/23

Please find an updated diff below that also bumps shlib version of
libptexenc and libsynctex.  Still ok?

Here's the check_sym output between tl2017 and tl2018 for the four
libraries shipped by tl2017.

--8<--
usr/local/lib/libkpathsea.so.8.1 --> /usr/local/lib/libkpathsea.so.8.1
No dynamic export changes
usr/local/lib/libptexenc.so.5.1 --> /usr/local/lib/libptexenc.so.5.1
Dynamic export changes:
added:
        setstdinenc

usr/local/lib/libsynctex.so.1.0 --> /usr/local/lib/libsynctex.so.1.0
Dynamic export changes:
added:
        _synctex_debug
        _synctex_free
        _synctex_log
        _synctex_node_next
        synctex_form
        synctex_form_content
        synctex_iterator_count
        synctex_iterator_free
        synctex_iterator_has_next
        synctex_iterator_new_display
        synctex_iterator_new_edit
        synctex_iterator_next_result
        synctex_iterator_reset
        synctex_node_arg_sibling
        synctex_node_depth
        synctex_node_free
        synctex_node_get_name
        synctex_node_hbox_depth
        synctex_node_hbox_h
        synctex_node_hbox_height
        synctex_node_hbox_v
        synctex_node_hbox_width
        synctex_node_height
        synctex_node_last_child
        synctex_node_last_sibling
        synctex_node_new
        synctex_node_parent_form
        synctex_node_parent_sheet
        synctex_node_target
        synctex_node_target_type
        synctex_node_visible_depth
        synctex_node_visible_height
        synctex_node_weight
        synctex_reader_free
        synctex_reader_init_with_output_file
        synctex_scanner_display_switcher
        synctex_scanner_input_with_tag
        synctex_scanner_new
        synctex_scanner_next_result
        synctex_scanner_reset_result
        synctex_scanner_set_display_switcher

removed:
        _synctex_buffer_get_available_size
        _synctex_decode_int
        _synctex_decode_string
        _synctex_hbox_setup_visible
        _synctex_match_string
        _synctex_next_line
        _synctex_node_distance_to_point
        _synctex_open
        _synctex_point_h_distance
        _synctex_point_in_box
        _synctex_point_v_distance
        _synctex_scan_content
        _synctex_scan_float_and_dimension
        _synctex_scan_input
        _synctex_scan_named
        _synctex_scan_nested_sheet
        _synctex_scan_post_scriptum
        _synctex_scan_postamble
        _synctex_scan_preamble
        _synctex_scan_sheet
        _synctex_scanner_get_tag
        _synctex_setup_visible_box
        synctex_next_result
        synctex_node_charindex
        synctex_node_sheet

External reference changes:
added:
        __isthreaded
        exit
        feof
        fgetc
        fputs
        gzwrite
        snprintf
        vasprintf

removed:
        gzprintf

PLT added:
        _synctex_free
        synctex_iterator_new_display
        synctex_iterator_new_edit
        synctex_node_child
        synctex_node_hbox_h
        synctex_node_hbox_v
        synctex_reader_init_with_output_file
        synctex_scanner_new

PLT removed:
        _synctex_buffer_get_available_size
        _synctex_decode_string
        _synctex_hbox_setup_visible
        _synctex_match_string
        _synctex_node_distance_to_point
        _synctex_open
        _synctex_point_h_distance
        _synctex_point_v_distance
        _synctex_scan_content
        _synctex_scan_float_and_dimension
        _synctex_scan_input
        _synctex_scan_nested_sheet
        _synctex_scan_post_scriptum
        _synctex_scan_postamble
        _synctex_scan_preamble
        _synctex_scan_sheet
        _synctex_scanner_get_tag
        _synctex_setup_visible_box

usr/local/lib/libtexlua52.so.0.0 --> /usr/local/lib/libtexlua52.so.0.0
No dynamic export changes
-->8--


Index: base/Makefile
===================================================================
RCS file: /cvs/ports/print/texlive/base/Makefile,v
retrieving revision 1.106
diff -u -p -r1.106 Makefile
--- base/Makefile 20 Jan 2019 11:17:32 -0000 1.106
+++ base/Makefile 24 Jan 2019 02:28:51 -0000
@@ -7,6 +7,8 @@ DISTNAME = texlive-${DIST_V}-source
 PKGNAME = texlive_base-${V}
 WRKDIST = ${WRKDIR}/texlive-${DIST_V}-source
 
+REVISION-main = 0
+
 MULTI_PACKAGES = -main -mktexlsr
 PKGNAME-mktexlsr = texlive_mktexlsr-${V}
 PKGNAME-main = ${PKGNAME}
@@ -14,9 +16,9 @@ PKGNAME-main = ${PKGNAME}
 DISTFILES = ${DISTNAME}${EXTRACT_SUFX} \
  texlive-${DIST_V}-extra${EXTRACT_SUFX}
 
-SHARED_LIBS = kpathsea 8.1 # 8.2
-SHARED_LIBS += ptexenc 5.1 # 4.4
-SHARED_LIBS += synctex 1.0 # 19.0
+SHARED_LIBS = kpathsea 8.1 # 8.3
+SHARED_LIBS += ptexenc 5.2 # 4.5
+SHARED_LIBS += synctex 2.0 # 19.0
 SHARED_LIBS += texlua52 0.0 # 7.4
 SHARED_LIBS += texlua53        0.0 # 8.4
 
Index: base/patches/patch-texk_web2c_Makefile_in
===================================================================
RCS file: base/patches/patch-texk_web2c_Makefile_in
diff -N base/patches/patch-texk_web2c_Makefile_in
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ base/patches/patch-texk_web2c_Makefile_in 24 Jan 2019 02:28:51 -0000
@@ -0,0 +1,23 @@
+$OpenBSD$
+
+Install missing header.
+
+Index: texk/web2c/Makefile.in
+--- texk/web2c/Makefile.in.orig
++++ texk/web2c/Makefile.in
+@@ -1762,6 +1762,7 @@ NROFF = nroff
+ MANS = $(dist_man_MANS) $(nodist_man_MANS)
+ DATA = $(pkgconfig_DATA)
+ am__syncinclude_HEADERS_DIST = synctexdir/synctex_parser.h \
++ synctexdir/synctex_version.h \
+ synctexdir/synctex_parser_utils.h
+ HEADERS = $(syncinclude_HEADERS)
+ RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
+@@ -4021,6 +4022,7 @@ syncincludedir = ${includedir}/synctex
+ pkgconfigdir = ${libdir}/pkgconfig
+ @SYNCTEX_TRUE@syncinclude_HEADERS = \
+ @SYNCTEX_TRUE@ synctexdir/synctex_parser.h \
++@SYNCTEX_TRUE@ synctexdir/synctex_version.h \
+ @SYNCTEX_TRUE@ synctexdir/synctex_parser_utils.h
+
+ @SYNCTEX_TRUE@pkgconfig_DATA = synctexdir/synctex.pc
Index: base/pkg/PLIST-main
===================================================================
RCS file: /cvs/ports/print/texlive/base/pkg/PLIST-main,v
retrieving revision 1.3
diff -u -p -r1.3 PLIST-main
--- base/pkg/PLIST-main 20 Jan 2019 11:17:46 -0000 1.3
+++ base/pkg/PLIST-main 24 Jan 2019 02:28:51 -0000
@@ -412,6 +412,7 @@ 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
@@ -450,7 +451,6 @@ lib/pkgconfig/texlua53.pc
 ${P5SITE}/TeXLive/
 ${P5SITE}/TeXLive/TLConfig.pm
 ${P5SITE}/TeXLive/TLUtils.pm
-share/applications/
 share/applications/xdvi.desktop
 share/doc/pkg-readmes/${PKGSTEM}
 @tag update-desktop-database
Index: texmf/Makefile
===================================================================
RCS file: /cvs/ports/print/texlive/texmf/Makefile,v
retrieving revision 1.55
diff -u -p -r1.55 Makefile
--- texmf/Makefile 20 Jan 2019 11:17:48 -0000 1.55
+++ texmf/Makefile 24 Jan 2019 02:28:51 -0000
@@ -24,6 +24,9 @@ PKGNAME-docs = texlive_texmf-docs-${V}
 PKGNAME-context = texlive_texmf-context-${V}
 PKGNAME-buildset = texlive_texmf-buildset-${V}
 
+REVISION-main = 0
+REVISION-docs = 0
+
 NO_BUILD = Yes
 NO_TEST = Yes
 PKG_ARCH = *
@@ -39,14 +42,14 @@ MODRUBY_RUNDEP = No
 MODPY_BUILDDEP = No
 MODPY_RUNDEP = No
 
-RUN_DEPENDS-main += texlive_base-${V}:print/texlive/base,-main \
+RUN_DEPENDS-main += texlive_base-${V}p0:print/texlive/base,-main \
  ${FULLPKGNAME-buildset}:print/texlive/texmf,-buildset
 RUN_DEPENDS-full = ${FULLPKGNAME-main}:print/texlive/texmf,-main \
  ${MODPY_RUN_DEPENDS} \
  ${_MODLUA_RUNDEPENDS}
 RUN_DEPENDS-context += ${FULLPKGNAME-full}:print/texlive/texmf,-full \
  ${MODRUBY_RUNDEPENDS}
-RUN_DEPENDS-docs += texlive_base-${V}:print/texlive/base,-main \
+RUN_DEPENDS-docs += texlive_base-${V}p0:print/texlive/base,-main \
  x11/p5-Tk
 RUN_DEPENDS-buildset += texlive_mktexlsr-${V}:print/texlive/base,-mktexlsr
 


--
jca | PGP : 0x1524E7EE / 5135 92C1 AD36 5293 2BDF  DDCC 0DFA 74AE 1524 E7EE

Reply | Threaded
Open this post in threaded view
|

Re: texlive & evince

Edd Barrett-3
Hi,

On Thu, Jan 24, 2019 at 03:31:41AM +0100, Jeremie Courreges-Anglas wrote:
> While here I've noticed complains about an ABI break in libsynctex.
>
> Please find an updated diff below that also bumps shlib version of
> libptexenc and libsynctex.  Still ok?

Ah, please feel free to bump all of the libraries. I usually do to be on
the safe side, but it looks like I forgot this time :(

About Kili's concern:

>  We still have to watch out for evince (the default flavor now
>  lib_depends on texlive/base,-main, and we still don't want more than
>  texlive/base,-mktexlsr for the light flavor).

I agree that it's not good for users to have to install a texmf subset
just to use evince. I'm OK with evince lib depending upon texlive-base
in the interim until we decide what to do, but in the long term we don't
want that heavy dependency.

Whilst moving synctex into -mktexlsr is one solution, it kind of renders
the name of the package odd. The current contents of -mktexlsr are not
really all that related to libsynctex. I can think of a couple of other
options:

We could add a new -synctex subpackage, which contains the synctex
includes and lib. However, we may end up in a scenario in the future
where we have many little library subpackages, which will be annoying to
maintain.

We could instead put all of the bits external ports might like to use
without depending on the texmf into -mktexlsr and rename the subpackage
appropriately. I had initially though -libs might be a good name, but
that's also misleading, as there are already binaries included in
-mktexlsr (e.g. kpse* and mktexlsr itself). Maybe -shared or -tools?

The latter option is more work upfront, as we'd have to sweep the tree
updating dependencies, and perhaps add a quirk(?), but I think will be
less effort to maintain in the long run.

Thoughts?

--
Best Regards
Edd Barrett

http://www.theunixzoo.co.uk

Reply | Threaded
Open this post in threaded view
|

Re: texlive & evince

Edd Barrett-3
Hi,

On Thu, Jan 24, 2019 at 10:07:15AM +0000, Edd Barrett wrote:
> I agree that it's not good for users to have to install a texmf subset
> just to use evince. I'm OK with evince lib depending upon texlive-base
> in the interim until we decide what to do, but in the long term we don't
> want that heavy dependency.

So, unless I am mistaken, our evince package works because it either
picks up synctex from texlive_base if it's installed by chance at pkg
time, or else it is using its internal copy of synctex.

What do we want to do?

 - 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.

Cheers!

--
Best Regards
Edd Barrett

http://www.theunixzoo.co.uk

Reply | Threaded
Open this post in threaded view
|

Re: texlive & evince

Matthias Kilian
Hi,

On Fri, Feb 01, 2019 at 10:49:56PM +0000, Edd Barrett wrote:
> On Thu, Jan 24, 2019 at 10:07:15AM +0000, Edd Barrett wrote:
> > I agree that it's not good for users to have to install a texmf subset
> > just to use evince. I'm OK with evince lib depending upon texlive-base
> > in the interim until we decide what to do, but in the long term we don't
> > want that heavy dependency.
>
> So, unless I am mistaken, our evince package works because it either
> picks up synctex from texlive_base if it's installed by chance at pkg
> time, or else it is using its internal copy of synctex.

Yes, that's bad. Please note that evince has a 'light' FLAVOR. which may
make things even more complicated.

> What do we want to do?
>
>  - 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. The second option just sounds wrong -- mktexlsr is
meant to only include, well, mktexlsr and the kpathsea bits, isn't
it?.

Has anyone build logs of evince,light around? Does it check for
synctex, and build differently wether it's already installed or
not?

Ciao,
        Kili

Reply | Threaded
Open this post in threaded view
|

Re: texlive & evince

Edd Barrett-3
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
Reply | Threaded
Open this post in threaded view
|

Re: texlive & evince

Jeremie Courreges-Anglas-5
On Mon, Feb 04 2019, Edd Barrett <[hidden email]> wrote:

> 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.

Same diff from /usr/ports, easier to apply.


Index: graphics/evince/Makefile
===================================================================
RCS file: /cvs/ports/graphics/evince/Makefile,v
retrieving revision 1.166
diff -u -p -r1.166 Makefile
--- graphics/evince/Makefile 6 Jan 2019 13:54:15 -0000 1.166
+++ graphics/evince/Makefile 4 Feb 2019 21:19:29 -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: print/texlive/base/Makefile
===================================================================
RCS file: /cvs/ports/print/texlive/base/Makefile,v
retrieving revision 1.107
diff -u -p -r1.107 Makefile
--- print/texlive/base/Makefile 24 Jan 2019 16:38:41 -0000 1.107
+++ print/texlive/base/Makefile 4 Feb 2019 21:19:29 -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: print/texlive/base/pkg/DESCR-synctex
===================================================================
RCS file: print/texlive/base/pkg/DESCR-synctex
diff -N print/texlive/base/pkg/DESCR-synctex
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ print/texlive/base/pkg/DESCR-synctex 4 Feb 2019 21:19:29 -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: print/texlive/base/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
--- print/texlive/base/pkg/PLIST-main 24 Jan 2019 16:38:41 -0000 1.4
+++ print/texlive/base/pkg/PLIST-main 4 Feb 2019 21:19:29 -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: print/texlive/base/pkg/PLIST-synctex
===================================================================
RCS file: print/texlive/base/pkg/PLIST-synctex
diff -N print/texlive/base/pkg/PLIST-synctex
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ print/texlive/base/pkg/PLIST-synctex 4 Feb 2019 21:19:29 -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


--
jca | PGP : 0x1524E7EE / 5135 92C1 AD36 5293 2BDF  DDCC 0DFA 74AE 1524 E7EE

Reply | Threaded
Open this post in threaded view
|

Re: texlive & evince

Jeremie Courreges-Anglas-5
On Mon, Feb 04 2019, Jeremie Courreges-Anglas <[hidden email]> wrote:

[...]

> Same diff from /usr/ports, easier to apply.

Please ignore, this was just my mail client showing me the attachments
as inlined, without any hint.

Learn something stupid everyday.

--
jca | PGP : 0x1524E7EE / 5135 92C1 AD36 5293 2BDF  DDCC 0DFA 74AE 1524 E7EE

Reply | Threaded
Open this post in threaded view
|

[partially OT] ports and diffs and "smart" mail clients (was: texlive & evince)

Matthias Kilian
Hi,

On Mon, Feb 04, 2019 at 10:41:18PM +0100, Jeremie Courreges-Anglas wrote:
> Date: Mon, 04 Feb 2019 22:41:18 +0100
> > Same diff from /usr/ports, easier to apply.
>
> Please ignore, this was just my mail client showing me the attachments
> as inlined, without any hint.
>
> Learn something stupid everyday.

Well, two things to learn:

1. When sending diffs for multiple ports in a single mail, base
them all from /usr/ports (or at least from some common directory),
to avoid confusion because of smart mail clients. (This was the
not-so-offtopic part)

2. Mail clients hiding technical details (be it inlining of text
attachments without giving a clear hint that they are attachments,
be it hiding the real sender and recipient addresses and only
displaying the comment part of the address) are a pest and should
be patched to not do so by default.

Ciao,
        Kili

Reply | Threaded
Open this post in threaded view
|

Re: texlive & evince

Jeremie Courreges-Anglas-5
In reply to this post by Edd Barrett-3
On Mon, Feb 04 2019, Edd Barrett <[hidden email]> wrote:

> 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.

> 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

The last line looks fine but I doubt that you need to copy the other
@conflict lines.  Were the -synctex files once provided by one of those
packages?

Note that you can't just put this in, you also need to bump some
RUN_DEPENDS (and thus REVISION) in texlive/texmf/Makefile, else
pkg_create will complain:

--8<--
===>  Building package for texlive_texmf-docs-2018p0
Create /usr/ports/packages/amd64/no-arch/texlive_texmf-docs-2018p0.tgz
Creating package texlive_texmf-docs-2018p0
checking dependencies|print/texlive/base,-main
Error: Dependency texlive_base-2018p0 doesn't match FULLPKGNAME: texlive_base-2018p1
checksumming...
Error: @depend print/texlive/base,-main:texlive_base-2018p0:texlive_base-2018p1
  pattern texlive_base-2018p0 doesn't match default texlive_base-2018p1

Fatal error: can't continue
 at /usr/libdata/perl5/OpenBSD/PkgCreate.pm line 1675.
*** Error 1 in . (/usr/ports/infrastructure/mk/bsd.port.mk:2027 '/usr/ports/packages/amd64/no-arch/texlive_texmf-docs-2018p0.tgz')
*** Error 1 in . (/usr/ports/infrastructure/mk/bsd.port.mk:2488 '_internal-package')
*** Error 1 in . (/usr/ports/infrastructure/mk/bsd.port.mk:2467 'package')
*** Error 1 in /usr/ports/print/texlive/texmf (/usr/ports/infrastructure/mk/bsd.port.mk:3459 'repackage')
-->8--

As already discussed, I don't understand how it helps for those depends
to be that strict.  Aren't files more commonly moved between
texlive/texmf subpackages, rather than from texlive/base to
texlive/texmf? Unless I'm missing something, we may easily avoid the
problem by only stating minimal versions: less chances for errors and less
churn for pkg_add -u.  Please find a diff below.

> As far as I can see, you cannot build evince without synctex, so even
> the light flavor has to pull in synctex.

Well, as mentioned by kili there's also the option to force evince to
always use its internal copy.  This means one more copy of synctex to
watch for security/portability issues, but on the other hand this would
decouple evince and texlive updates.  Not a bad idea given the recent,
undocumented API/ABI break in libsynctex...

  https://github.com/jlaurens/synctex/issues/23



Thoughts / ok?

Index: Makefile
===================================================================
RCS file: /cvs/ports/print/texlive/texmf/Makefile,v
retrieving revision 1.56
diff -u -p -r1.56 Makefile
--- Makefile 24 Jan 2019 16:38:41 -0000 1.56
+++ Makefile 5 Feb 2019 03:04:38 -0000
@@ -24,8 +24,9 @@ PKGNAME-docs = texlive_texmf-docs-${V}
 PKGNAME-context = texlive_texmf-context-${V}
 PKGNAME-buildset = texlive_texmf-buildset-${V}
 
-REVISION-main = 0
-REVISION-docs = 0
+REVISION-main = 1
+REVISION-docs = 1
+REVISION-buildset = 0
 
 NO_BUILD = Yes
 NO_TEST = Yes
@@ -42,16 +43,16 @@ MODRUBY_RUNDEP = No
 MODPY_BUILDDEP = No
 MODPY_RUNDEP = No
 
-RUN_DEPENDS-main += texlive_base-${V}p0:print/texlive/base,-main \
+RUN_DEPENDS-main += texlive_base->=${V}p0:print/texlive/base,-main \
  ${FULLPKGNAME-buildset}:print/texlive/texmf,-buildset
 RUN_DEPENDS-full = ${FULLPKGNAME-main}:print/texlive/texmf,-main \
  ${MODPY_RUN_DEPENDS} \
  ${_MODLUA_RUNDEPENDS}
 RUN_DEPENDS-context += ${FULLPKGNAME-full}:print/texlive/texmf,-full \
  ${MODRUBY_RUNDEPENDS}
-RUN_DEPENDS-docs += texlive_base-${V}p0:print/texlive/base,-main \
+RUN_DEPENDS-docs += texlive_base->=${V}p0:print/texlive/base,-main \
  x11/p5-Tk
-RUN_DEPENDS-buildset += texlive_mktexlsr-${V}:print/texlive/base,-mktexlsr
+RUN_DEPENDS-buildset += texlive_mktexlsr->=${V}:print/texlive/base,-mktexlsr
 
 MULTI_PACKAGES = -context -docs -full -main -buildset
 




--
jca | PGP : 0x1524E7EE / 5135 92C1 AD36 5293 2BDF  DDCC 0DFA 74AE 1524 E7EE

Reply | Threaded
Open this post in threaded view
|

Re: texlive & evince

Edd Barrett-3
Hi,

On Thu, Feb 07, 2019 at 05:34:35PM +0100, Jeremie Courreges-Anglas wrote:

> > 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
>
> The last line looks fine but I doubt that you need to copy the other
> @conflict lines.  Were the -synctex files once provided by one of those
> packages?

I looked at what espie@ did with the mktexlsr subpackage.

The only conflict that might have conceivably included synctex was
teTeX_base, but the synctex source code has copyright starting 2008, and
teTeX died in 2006. So, I guess not.

> As already discussed, I don't understand how it helps for those depends
> to be that strict.  Aren't files more commonly moved between
> texlive/texmf subpackages, rather than from texlive/base to
> texlive/texmf? Unless I'm missing something, we may easily avoid the
> problem by only stating minimal versions: less chances for errors and less
> churn for pkg_add -u.  Please find a diff below.

Yep, sounds good. Diff also looks good.

So are we saying that, with that change, the diff I posted to move
synctex into it's own sub-package would then be good to go (once we fix
the merge conflicts that will be caused by your change)?

> Well, as mentioned by kili there's also the option to force evince to
> always use its internal copy.  This means one more copy of synctex to
> watch for security/portability issues, but on the other hand this would
> decouple evince and texlive updates.  Not a bad idea given the recent,
> undocumented API/ABI break in libsynctex...
>
>   https://github.com/jlaurens/synctex/issues/23

My gut feeling says we should use the one from TeX live, but I think we
should hear from jasper@ and/or aja@, since they are the ones who
maintain evince.

Guys, what would you prefer?

Thanks

--
Best Regards
Edd Barrett

http://www.theunixzoo.co.uk

12