-
-
Notifications
You must be signed in to change notification settings - Fork 2.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Enable texlive #752
Enable texlive #752
Conversation
Great job creating texlive for termux! :) I've been trying to compile the package version but I can't figure out how to compile teckit. This is the error from make:
Does it look familiar? It feels like one of the teckit headers needs a patch to work for android (or maybe I'm missing some obvious package in my build environment). |
compiles here on docker image for aarch64 and arm |
@its-pointless Thanks for verifying! I'm also using the docker image and building for arm. |
its not ready to be enabled as yet. Script issues and other non working things. |
@its-pointless could you please list those issues and how to reproduce them? Then we can eradicate them piece by piece! |
Hi, could you please test this? |
this is a lot better |
Really impressive! I'm wondering about the |
I really don't like that it uses @fornwall It contains arch independent data for texlive. I suspect the size of it is very large and will greatly increase the size of the package repo. |
@fornwall as @vishalbiswas already said, the texlive data files are >1GB. So the approach of this package is to only contain the binaries, use the official texlive installer to fetch a minimal set from the canonical sources and further use the native texlive packet manager. This is done by the termux-install-tl script, which is a wrapper around the texlive installer. By using the texlive package manager, we get a really get the fine-grained packages that are needed for mobile devices, rather than repackaging them in big chunks, as the other distros do https://www.tug.org/texlive/distro.html ... Regarding the profile.d change, what is the best way to add something to the PATH in termux? |
Disabling pmx removed the need for termux_step_post_extract_package
part. This removed the a hardcoded minor version letter ("b") from SRCURL. Had to use _MAJOR_VERSION in PKG_FOLDERNAME though.
Small simplification to texlive build.sh
http://www.pathname.com/fhs/pub/fhs-2.3.html |
packages/texlive/termux-install-tl
Outdated
TEXMFLOCAL $PREFIX/local/texlive/texmf-local | ||
TEXMFSYSCONFIG $PREFIX/local/texlive/${TL_VERSION}/texmf-config | ||
TEXMFSYSVAR $PREFIX/local/texlive/${TL_VERSION}/texmf-var | ||
TEXMFLOCAL $PREFIX/opt/texlive/texmf-local |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"$PREFIX/opt/texlive/" could be replaced by "${TL_ROOT}/"
I'm getting another error when trying to build now. (My previous error was due to a badly configured build-environment). It seems like configuring in /home/builder/.termux-build/texlive/build/libs/luajit/native fails:
CC, CFLAGS, CPPFLAGS and LDFLAGS are passed twice in the configure command (and the second time they are empty) so the build seem to fail due to not finding headers etc (I at least think that this is the problem). I'm not sure if this is due to how build-package.sh builds or if it's an error in some Makefile in texlive. Does anyone have a suggestion for a fix or could you point me in the right direction? |
strange, it works for me at 77a2e1e for arm outside a docker container: |
Can anyone build |
|
@mklein994 Which arch do you need? @fornwall you're probably right that gcc-multilib isn't really needed. It was needed for compiling luajit but luajit shouldn't be necessary (I think). I tried building with a
function, and it built fine without gcc-multilib (and seems to work on my arm device). |
@Grimler91 arm would be great. Thank you! Space is not an issue; I was guessing over 1 GB. |
@mklein994 I've uploaded all the debs needed here. These are built with the latest commit to rnauber/termux-packages. |
Thank you very much, but but before I bork my phone, I noticed that |
@mklein994 Hmm, termux's harfbuzz + libicu (+harfbuzz-icu?) should work instead of the 1.4.1 version I uploaded. Both have been built with icu and graphite2. I can upload updated .deb files to the same repo tomorrow. |
Removed gcc-multilib from setup-ubuntu.sh. Reverted previous changes to the texlive.sh profile. Added patch for texlive's install-tl script to get rid off warning when fmtutil is run during installation. Removing gcc-multilib meant adding a termux_step_post_extract_package function to remote luajit folder from source as well. (Recursive build fails otherwise) install-tl currently run's fmtutil with the '--no-strict', but this isn't implemented in current texlive version (development version of fmtutil.pl has this option).
@Grimler91 good news: it works! I used the existing packages from termux.net, and just installed the texlive package. Here's the install-tl.log file:
A few things:
|
@mklein994 Thanks for testing! I agree that the echo'ed message should be removed. Have fmtutil created the format files needed? (I think it exits due to the faulty option and never creates pdflatex.fmt and all the others)
with pdflatex to see if it works, it might say that it can't locate pdflatex.fmt. |
Here's the log:
The PDF looks fine. |
texlive: various updates
So, its finally done? You may want to open another pull request after rebasing those 27 commits to have a cleaner history. |
I haven't used TeX Live outside of a distribution before, but I'd recommend installing extra fonts, i.e. running |
Well that patch improved a lot, thank you all for contributing! @vishalbiswas fornwall has the option to squash all commits of this PR |
Ping @fornwall |
@rnauber Impressive work! I guess texlive should depend on |
@fornwall right! I fixed it... |
@rnauber Merged, thanks! I'm building the packages and will run some validation on them, I'll post an update here soon! |
The package builds fine! What is the reason for having a custom prefix?
Using the standard prefix would have e.g. binaries in the $PATH automatically and man pages would work if they are placed in the standard location. |
@fornwall I'm guessing it just to keep the installation similar to the standard one. On linux it installs to /usr/local/texlive/2016/bin per default when built. The texlive installation currently has 331 binaries, which is quite a lot. Would we want that many binaries from a single package in $PREFIX/usr/bin folder? |
@fornwall @Grimler91 |
@Grimler91 @rnauber Ok, I'll let you as texlive users and packagers decide how you want to have it :)! |
This PR finishes the work of making texlive build without bundled dependencies. Therefore it makes harfbuzz depend on icu and graphite. This should not bloat this package too much.
Thanks for merging,
Richard