As of PR #231, Tectonic now can build and pass its test suite on Windows! Many thanks to @crlf0710 who got the ball really rolling in PR #210.
I am super excited about Tectonic getting to this point! There is certainly more work to do, though:
I haven’t done any testing beyond the current test suite and the “xenia” test, and I think it is quite likely that there are undiscovered bugs remaining in the Windows version.
I’m not a Windows developer, so I bet that a lot of the Windows-related build infrastructure could be made more robust and clean.
I don’t know anything about packaging for Windows. Hopefully we can get to a point where at least cargo install and Chocolatey work well, but that will be challenging because Tectonic currently needs to link to libraries like Harfbuzz, and my impression is that Windows development is generally very monolithic in style.
Hi all, I am looking for a solution to package Latex for windows users which can not be expected to have it installed on their own system. Distributing binaries is OK. Do you think that Tectonic could be an option? Do you have any documentation how I can set it up for Windows? Thank you! Marco
Apologies for the extremely slow reply! If you’re still interested in the answer to this question, yes, the hope is that Tectonic can play a useful role here. Tectonic binaries for Windows are available through the conda-forge project, as described here. You might also look at the AppVeyor configuration file used to compile Tectonic on Windows for continuous integration.
I could not get it to build in Windows, do I need to install. All I did was run cargo install tectonic which works fine in Linux but not in Windows. Any help? Here’s the pruned log:
thread 'main' panicked at 'calledResult::unwrap()on anErrvalue: Command { command: "\"pkg-config\" \"--libs\" \"--cflags\" \"fontconfig harfbuzz >= 1.4 harfbuzz-icu icu-uc freetype2 graphite2 libpng zlib\"", cause: Os { code: 2, kind: NotFound, message: "The system cannot find the file specified." } }', src\libcore\result.rs:999:5
There is another Windows package manager https://scoop.sh/ which is gaining popularity (listed as an alternative way to install Node.js on Node.js website). It is basically a package manager for “portable apps” (i.e. thumb drive apps).
If you already have a “portable apps” version of Tectonic, it is quite easy to setup Scoop manifest for it.
What exactly is missing such that we can just make the AppVeyor build push the generated binaries to GitHub releases?
From there a Chocolatey package could easily pick them up. (I am using this strategy for another Choco package I am maintaining.)
But after I managed to build the artifact on windows using github actions, I figured out that you did that too, like two days ago (where you have this massive CI change to azure pipelines)
To actually contribute a bit to the actual discussion. the windows exe from the github pre-release, works on my windows machine (I tested tectonic-0.1.13+20200907-x86_64-pc-windows-msvc.zip)
@dxjoker Thanks for putting the work in even with the unlucky timing about things! And thanks for posting, I think the actions workflow file will be helpful for other folks who might want to build Tectonic themselves.