Gnome x Jhbuild x PyGObject x Cmusphinx x Gtk+3 in 🐳
Jhbuild PyGObject3 Docker Image (Dockerfile)
NOTE: This is a prereq for scarlett_os
. It makes some strong assumptions about how you plan on running jhbuild, and should mainly just run on CI systems.
Docker container that installs an jhbuild environment that has the following:
- Python3
- Jhbuild
- Glib
- Gobject-introspection
- Gstreamer
- Gst-Espeak-Plugin
- Gtk3
- Pocketsphinx/Sphinxbase
Building from tarball requires:
- gcc or clang (for compiling)
- libxft (for font rendering)
- libxinerama (for XINERAMA support)
- gdk-pixbuf2 (for pixmap rendering)
- libxrandr (for XRANDR support)
- libsndfile (for sound support)
- libsm (for X11R6 session management)
- fribidi (for i18n text rendering)
Building from git also requires:
- git (for cloning the git repository and updating changelogs)
- autoconf/automake or cmake toolchain (for build scripts)
- xorg-mkfontdir (for installing themes)
- asciidoctor or asciidoc (for creating html documentation)
- markdown (for building release package)
docker build -t docker-gnome-pygobject-gtk3-gst-cmusphinx-jhbuild .
jhbuild_pygobject3_1 | [init] no run.d scripts
jhbuild_pygobject3_1 | [run] starting process manager
jhbuild_pygobject3_1 | [s6-init] making user provided files available at /var/run/s6/etc...exited 0.
jhbuild_pygobject3_1 | [s6-init] ensuring user provided files have correct perms...exited 0.
jhbuild_pygobject3_1 | [fix-attrs.d] applying ownership & permissions fixes...
jhbuild_pygobject3_1 | [fix-attrs.d] done.
jhbuild_pygobject3_1 | [cont-init.d] executing container initialization scripts...
jhbuild_pygobject3_1 | [cont-init.d] 00-init-ssh: executing...
jhbuild_pygobject3_1 | [cont-init.d] 00-init-ssh: exited 0.
jhbuild_pygobject3_1 | [cont-init.d] done.
jhbuild_pygobject3_1 | [services.d] starting services
jhbuild_pygobject3_1 | [services.d] done.
Variable | Example | Description |
---|---|---|
S6_KILL_FINISH_MAXTIME |
S6_KILL_FINISH_MAXTIME=1 |
Wait time (in ms) for zombie reaping before sending a kill signal |
S6_KILL_GRACETIME |
S6_KILL_GRACETIME=1 |
Wait time (in ms) for S6 finish scripts before sending kill signal |
SERVER_LOG_MINIMAL |
SERVER_LOG_MINIMAL=1 |
Wait time (in ms) for S6 finish scripts before sending kill signal |
SERVER_APP_NAME |
SERVER_APP_NAME=jhbuild-compile |
Set application name for stdout logging info |
COMPOSE_PROJECT_NAME |
COMPOSE_PROJECT_NAME=jhbuild-compile |
The default project name is the basename of the project directory. You can set a custom project name by using the -p command line option or the this environment variable. |
SCARLETT_ENABLE_SSHD |
SCARLETT_ENABLE_SSHD=1 |
When set to 0, openssh-server will be enabled for development use w/ VSCode or Sublime |
SCARLETT_ENABLE_DBUS |
SCARLETT_ENABLE_DBUS='true' |
When set, a session dbus service will be started |
SCARLETT_BUILD_GNOME |
SCARLETT_BUILD_GNOME='true' |
When set, jhbuild and deps will be compiled |
TRAVIS_CI |
TRAVIS_CI='true' |
Signal s6 to stop when finished all run.d scripts. Important for CI builds. |
with-contenv
tool, which is used to expose environment variables across scripts, has a limitation that it cannot read beyond 4k characters for environment variable values. To work around this issue, use the script/scripts/with-bigcontenv
instead ofwith-contenv
. You'll need to remove thewith-contenv
from the shebang line, and addsource /scripts/with-bigcontenv
in the next line after the shebang line.
To inject changes just before runtime, shell scripts may be placed into the
/etc/cont-init.d
folder.
As part of the process manager, these scripts are run in advance of the supervised processes. @see https://github.com/just-containers/s6-overlay#executing-initialization-andor-finalization-tasks
Variable | Example | Description |
---|---|---|
SCARLETT_ENABLE_SSHD |
SCARLETT_ENABLE_SSHD=0 |
When set to 0, openssh-server will be enabled for development use w/ VSCode or Sublime |
SCARLETT_ENABLE_DBUS |
SCARLETT_ENABLE_DBUS='true' |
When set, a session dbus service will be started |
SCARLETT_BUILD_GNOME |
SCARLETT_BUILD_GNOME='true' |
When set, jhbuild and deps will be compiled |
TRAVIS_CI |
TRAVIS_CI='true' |
Signal s6 to stop when finished all run.d scripts. Important for CI builds. |