OctoPrint Gentoo ebuild now available


I recently got 64-bit Gentoo up and running on a Raspberry Pi 3. With Raspbian (1) having a 32-bit userland (even if you boot a 64-bit kernel) and (2) using systemd instead of a proper init system, I'm now looking at migrating my OctoPrint setup over from Raspbian to Gentoo.

As a step in that direction, I knocked together an ebuild for today's release of OctoPrint 1.3.9, as well as all of its dependencies that weren't already in Portage. There were lots of Python packages that either weren't already in Portage or for which OctoPrint wants older versions than are currently in Portage, so 18 additional ebuilds take care of that.

Installation of OctoPrint on Gentoo ends up being just two commands:

sudo layman -a salfter
sudo emerge --autounmask-write octoprint

The first command pulls in my Portage overlay; the second installs OctoPrint. Easy. :slight_smile:

The first time around, you'll probably need to keyword a bunch of packages ~arm64 (on the RPi 3; use whatever's appropriate for your system otherwise) and run the second command again. --autounmask-write (if you don't already have it in EMERGE_DEFAULT_OPTS in /etc/portage/make.conf) will help you out with that.

Once it's installed, run it like any other program:

octoprint serve --port=5000

It'll save everything (settings, gcode files, etc.) to ~/.octoprint, same as it normally does.


A little context for people who perhaps haven't heard of it.

Gentoo Linux is a Linux distribution built using the Portage package management system. Unlike a binary software distribution, the source code is compiled locally according to the user's preferences

Portage is a package management system originally created for and used by Gentoo Linux and also by Chrome OS, Sabayon, and Funtoo Linux among others. Portage is based on the concept of ports collections.

Layman is a ebuild repository management tool. It offers a single command-line interface to repository management for end users.