View Single Post
Old 06-11-2020, 12:46 PM   #1
geek1011
Wizard
geek1011 ought to be getting tired of karma fortunes by now.geek1011 ought to be getting tired of karma fortunes by now.geek1011 ought to be getting tired of karma fortunes by now.geek1011 ought to be getting tired of karma fortunes by now.geek1011 ought to be getting tired of karma fortunes by now.geek1011 ought to be getting tired of karma fortunes by now.geek1011 ought to be getting tired of karma fortunes by now.geek1011 ought to be getting tired of karma fortunes by now.geek1011 ought to be getting tired of karma fortunes by now.geek1011 ought to be getting tired of karma fortunes by now.geek1011 ought to be getting tired of karma fortunes by now.
 
Posts: 2,766
Karma: 6990707
Join Date: May 2016
Location: Ontario, Canada
Device: Kobo Mini, Aura Edition 2 v1, Clara HD
NickelTC: A prebuilt, relocatable, fully-functional toolchain using NiLuJe's scripts

NickelTC
A prebuilt, relocatable, fully-functional toolchain using NiLuJe's scripts.
___

I've had this on GitHub for a while, but I've still received messages from people asking about this kind of thing, so I thought I might as well make a post for it here.

The work on this started when we (NiLuJe and I) were experimenting with Kobo plugins in September 2019, and this part was made public on GitHub around the time we (NiLuJe, sherman, and I) started working on NickelMenu in April 2020.

You can download it as a Docker image from Docker Hub, or you can get it as a tarball for modern-ish glibc Linux systems (basically, the last few versions of Debian or Ubuntu, and it'll probably work on Arch and Fedora too) from here (you'll need a GitHub account).

NiLuJe's scripts provide an output which would be almost identical to the ones from the official build scripts if they actually worked. It produces a toolchain which will be binary-compatible with Kobo stuff, including all kobo-specific patches. It also fixes some of the ancient tooling to work on modern Linux distros. NiLuJe did the majority of the hardest parts with the initial build (thanks!).

My Dockerfile builds on NiLuJe's scripts (source), and: fixes the DESTDIR/prefix variables, makes it fully relocatable without any additional steps, makes the builds reproducible (almost), uses versioned dependencies (almost, I'm working on the last bit of that now), reduces host dependencies, patches tooling config files and creates wrappers where necessary, does some basic tests, fixes Qt sysroot stuff, and does a few other improvements.

This toolchain should be usable as-is for building apps which integrate with Nickel (plugins, LD_PRELOAD wrappers, Qt things, etc) or other stuff which needs binary-compatibility with native libs. It is also suitable for being passed to things like buildroot to build other software.

For a lot more info about this, see the README on GitHub.
geek1011 is offline   Reply With Quote