Page MenuHomeFreeBSD

[new port] print/miktex: cross-platform implementation of TeX/LaTeX and related programs
Changes PlannedPublic

Authored by arrowd on Jan 20 2019, 9:50 AM.

Details

Reviewers
None
Group Reviewers
Contributor Reviewers (ports)
Summary

Open problems:

  • Not sure what to put into LICENSE var. MiKTeX COPYING.md file states MiKTeX has neither a single copyright holder nor a single license covering its entire contents, since it is a collection of many independent packages.
  • To actually use installed package, user have to run miktexsetup finish, which would install additional files into ~/bin. Running this command as root would install into /usr/local/bin. There is no way to override these directories until https://github.com/MiKTeX/miktex/issues/195 is fixed.

Diff Detail

Lint
No Linters Available
Unit
No Unit Test Coverage
Build Status
Buildable 24115
Build 22973: arc lint + arc unit

Event Timeline

arrowd created this revision.Jan 20 2019, 9:50 AM
rigoletto added a comment.EditedFeb 8 2019, 10:34 PM

Hello.

I've updated to 2.9.6975, added some OPTIONS, and shut portlint. There are more OPTIONS opportunities like INSTALL_MIKTEX_HEADERS (fail to build with some Linux file missing) and WITH_LUA54TEX (lua54 is not in ports yet).

You could avail adding OPTIONS to LINK_EVERYTHING_STATICALLY and INSTALL_STATIC_LIBRARIES. :-)

[EDITED]
https://termbin.com/ott7
[EDITED]

The only downside of MiKTex would be the necessity to modify bsd.tex.mk in order to avoid Tex-Live ports installed for ports with USE_TEX.

Thank you! \o/

tcberner added inline comments.
print/miktex/Makefile
20

^ when in doubt, leave it out :D

41

^ I would prefer

USE_QT= core concurrent gui printsupport script scripttools uitools xml \
        buildtools_build qmake_build
print/miktex/pkg-plist
195

^ these probably should not use %%DATADIR%%

rigoletto added a comment.EditedFeb 9 2019, 2:51 PM

From the Handbook:

LICENSE= UNKNOWN
LICENSE_NAME= unknown
LICENSE_TEXT= This program is NOT in public domain. It can be freely distributed for non-commercial purposes only.
LICENSE_PERMS= dist-mirror no-dist-sell pkg-mirror no-pkg-sell auto-accept

mat added a subscriber: mat.Feb 10 2019, 7:42 AM
mat added inline comments.
print/miktex/pkg-plist
193

DATADIR is a directory which means, it must always be %%DATADIR%%/.

There is a problem with luatex:

FATAL error while preloading lua module luatex_url_lua_open(L)Process 45975 stopped
* thread #1, name = 'miktex-luatex', stop reason = signal SIGABRT
    frame #0: 0x00000008011ac17a libc.so.7`__sys_thr_kill at thr_kill.S:3
   1   	#include "compat.h"
   2   	#include "SYS.h"
-> 3   	RSYSCALL(thr_kill)
   4   		.section .note.GNU-stack,"",%progbits
linimon retitled this revision from Add port for MiKTeX. to [new port] print/miktex: cross-platform implementation of TeX/LaTeX and related programs.Feb 18 2019, 2:51 AM
arrowd marked 4 inline comments as done.Feb 19 2019, 12:28 PM
arrowd updated this revision to Diff 54067.
  • Update to 2.9.6980.
  • Incorporate changes by @rigoletto
  • Address comments

miktex-luatex requires net/luasocket for Lua 5.3, but there are no FLAVORS for Lua, so I can't depend on that. @mat, any thoughts how to workaround it?

mat added inline comments.Feb 20 2019, 4:22 PM
print/miktex/Makefile
75–80

Please use options helpers.

arrowd marked an inline comment as done.Apr 5 2019, 6:25 AM
arrowd updated this revision to Diff 55829.
  • Use option helpers for UIQT.
arrowd added a comment.Apr 5 2019, 6:26 AM

The question about net/luasocket stays open.

mat added inline comments.Apr 18 2019, 1:20 PM
print/miktex/Makefile
21

Please remove this. poudriere will build this without a problem, it has auto-accept. If you are testing a restricted port, sipmly add DISABLE_LICENSES=yes the make.conf.

arrowd marked an inline comment as done.May 1 2019, 11:43 AM
arrowd updated this revision to Diff 56903.
  • Update to 7000, remove license hack.

So, I need net/luasocket for LUA 5.3. Should I open a PR requesting lua flavorization, or just create a net/luasocket53?

mat added a comment.May 1 2019, 12:14 PM

So, I need net/luasocket for LUA 5.3. Should I open a PR requesting lua flavorization, or just create a net/luasocket53?

I do not think anyone has plans to write flavors for USES=lua so openning a PR requesting it would probably be pointless.

arrowd added a comment.May 1 2019, 6:01 PM
In D18903#433045, @mat wrote:

I do not think anyone has plans to write flavors for USES=lua so openning a PR requesting it would probably be pointless.

I need a way forward. Should I start looking into flavorizing LUA, switching everything to lua 5.3 or creating a net/luasocket53?

mat added a comment.May 2 2019, 7:56 AM
In D18903#433045, @mat wrote:

I do not think anyone has plans to write flavors for USES=lua so openning a PR requesting it would probably be pointless.

I need a way forward. Should I start looking into flavorizing LUA, switching everything to lua 5.3 or creating a net/luasocket53?

I have no idea if having flavors for lua makes sense. I think the best way to move forward would be a luasocket53 port for now.

arrowd updated this revision to Diff 57071.May 5 2019, 6:39 PM
  • Properly install symlinks.
arrowd added a comment.May 5 2019, 6:40 PM

It turned out that miktex uses internal LUA and luasocket, so the new port isn't needed. Bad news is that I cannot figure out where the error comes from. Any help with debugging this would be welcome.

Upstream has fixed the LUA bug and it will be present in the next release.

arrowd planned changes to this revision.May 17 2019, 3:30 PM