I’ve been trying to learn how to create snap packages, and thought a good way to start would be to build a well documented program that lacked a snap package, and had a non-working snapcraft.yaml in the git repository as a base.
I’ve got it building and opening, but when I try and open the file browser in the program, it crashes with this error:
Gtk:ERROR:../../../../gtk/gtkiconhelper.c:494:ensure_surface_for_gicon: assertion failed (error == NULL): Failed to load /org/gtk/libgtk/icons/16x16/status/i
mage-missing.png: Unrecognized image file format (gdk-pixbuf-error-quark, 3)
Bail out! Gtk:ERROR:../../../../gtk/gtkiconhelper.c:494:ensure_surface_for_gicon: assertion failed (error == NULL): Failed to load /org/gtk/libgtk/icons/16x1
6/status/image-missing.png: Unrecognized image file format (gdk-pixbuf-error-quark, 3)
zsh: abort (core dumped) darkradiant
here’s the snapcraft.yaml:
name: darkradiant
version: '2.14.0' # just for humans, typically '1.2+git' or '1.3.2'
summary: Level editing tool for The Dark Mod and Doom 3
description: |
DarkRadiant is a level editing tool for the open source stealth game The Dark
Mod, which is available separately from http://www.thedarkmod.com. It is also
possible to edit levels for Doom 3 and possibly other games using a similar
engine, such as Quake 4, although these are not officially supported.
base: core20
grade: stable
confinement: strict
#confinement: devmode
apps:
darkradiant:
extensions: [gnome-3-38]
command: usr/local/bin/darkradiant
desktop: usr/local/share/applications/darkradiant.desktop
plugs: [desktop, gsettings, home, removable-media, opengl, pulseaudio, x11]
parts:
darkradiant:
plugin: cmake
source: .
source-type: local
#make-parameters: ["FLAVOR=gtk2"]
cmake-parameters:
- -DCMAKE_INSTALL_PREFIX=/usr/local
# - --enable-debug
# - -ENABLE_DM_PLUGINS
# - -ENABLE_RELOCATION
build-packages:
- build-essential
- libgtk2.0-dev
- pkg-config
- zlib1g-dev
- libjpeg-dev
- libwxgtk3.0-gtk3-dev
- libxml2-dev
- libsigc++-2.0-dev
- libpng-dev
- libftgl-dev
- libglew-dev
- libalut-dev
- libvorbis-dev
- python3-dev
- libgtest-dev
- libeigen3-dev
- libgit2-dev
stage-packages:
- libasound2
- libatk-bridge2.0-0
- libatk1.0-0
- libatspi2.0-0
- libcairo-gobject2
- libcairo2
- libdatrie1
- libepoxy0
- libfontconfig1
- libfreetype6
- libfribidi0
- libftgl2
- libgdk-pixbuf2.0-0
- libgit2-28
- libgl1
- libglew2.1
- libglu1-mesa
- libglvnd0
- libglx0
- libgraphite2-3
- libgtk-3-0
- libharfbuzz0b
- libhttp-parser2.9
- libice6
- libicu66
- libjbig0
- libjpeg-turbo8
- libmbedcrypto3
- libmbedtls12
- libmbedx509-0
- libnotify4
- libogg0
- libopenal1
- libpango-1.0-0
- libpangocairo-1.0-0
- libpangoft2-1.0-0
- libpixman-1-0
- libpng16-16
- libpython3.8
- libsigc++-2.0-0v5
- libsm6
- libsndio7.0
- libssh2-1
- libthai0
- libtiff5
- libvorbis0a
- libvorbisfile3
- libwayland-client0
- libwayland-cursor0
- libwayland-egl1
- libwebp6
- libwxbase3.0-0v5
- libwxgtk3.0-gtk3-0v5
- libx11-6
- libxau6
- libxcb-render0
- libxcb-shm0
- libxcb1
- libxcomposite1
- libxcursor1
- libxdamage1
- libxdmcp6
- libxext6
- libxfixes3
- libxi6
- libxinerama1
- libxkbcommon0
- libxml2
- libxrandr2
- libxrender1