step foward

This still fails to actualy install any game and refuses to run in strict mode but at least it opens :)
i belive the not installing games part is beacuse i probably missed a lutris-runtime dependency.

to complile localy use the commands:
* snapcraft try
* snap try time

then to debug run with:
* lutris.lutris
This commit is contained in:
Jaime Marques 2019-05-05 01:17:05 +01:00 committed by Mathieu Comandon
parent 3df7c62321
commit 7b3e33ba8b

View file

@ -1,6 +1,14 @@
name: lutris
version: v0.5.1.3
summary: Lutris
version: git
confinement: devmode #chaning to strict causes errors trying to read nvidia version file, need to figure it out
base: core18
grade: stable
architectures:
- build-on: amd64
- build-on: i386
summary: lutris snap
description: |
Lutris is a gaming platform for GNU/Linux. Its goal is to make
gaming on Linux as easy as possible by taking care of installing
@ -8,52 +16,111 @@ description: |
do is play the game. It aims to support every game that is playable
on Linux.
grade: devel
confinement: devmode
base: core18
parts:
enable-i386:
plugin: nil
override-build: |
snapcraftctl build
if [ "$SNAPCRAFT_ARCH_TRIPLET" = "x86_64-linux-gnu" ]; then
dpkg --add-architecture i386
apt update
fi
desktop-gnome-platform:
source: https://github.com/ubuntu/snapcraft-desktop-helpers.git
source-depth: 1
source-subdir: gtk
plugin: make
build-packages: [build-essential, libgtk-3-dev]
override-build: |
snapcraftctl build
mkdir -pv $SNAPCRAFT_PART_INSTALL/gnome-platform
after: [enable-i386]
wine:
plugin: nil
build-packages: [dpkg, wget]
override-build: |
snapcraftctl build
ARCH="$(dpkg --print-architecture)"
WINE_REL="wine-devel"
WINE_VER="4.7"
# wget and dpkg extract the wine debs
## supporting binaries which are arch-specific but the same filenames in both architectures so we only install the native architecture
DEB_URLS="https://dl.winehq.org/wine-builds/ubuntu/dists/bionic/main/binary-${ARCH}/${WINE_REL}_${WINE_VER}~bionic_${ARCH}.deb"
## wine loaders - this one is the native system architecture
DEB_URLS="$DEB_URLS https://dl.winehq.org/wine-builds/ubuntu/dists/bionic/main/binary-${ARCH}/${WINE_REL}-${ARCH}_${WINE_VER}~bionic_${ARCH}.deb"
if [ "$ARCH" = "amd64" ]; then
## on amd64 builds we need to also bundle the i386 wine loaders
DEB_URLS="$DEB_URLS https://dl.winehq.org/wine-builds/ubuntu/dists/bionic/main/binary-i386/${WINE_REL}-i386_${WINE_VER}~bionic_i386.deb"
fi
for DEB_URL in ${DEB_URLS}; do
DEB=$(basename "${DEB_URL}")
echo "Downloading ${DEB_URL}..."
wget --quiet "${DEB_URL}" -O "${SNAPCRAFT_PART_INSTALL}/${DEB}"
echo "Unpacking ${DEB}..."
dpkg -x "${SNAPCRAFT_PART_INSTALL}/${DEB}" ${SNAPCRAFT_PART_INSTALL}
rm -f "${SNAPCRAFT_PART_INSTALL}/${DEB}"
done
# Organise and cleanup
cp -a ${SNAPCRAFT_PART_INSTALL}/opt/${WINE_REL}/* ${SNAPCRAFT_PART_INSTALL}/
stage: [-opt, -share/applications, -share/man, -usr/share/doc, -usr/share/lintian]
after: [enable-i386]
wine-runtime:
plugin: nil
stage-packages: [libasound2, libasound2-plugins, libglib2.0-0, libgphoto2-6, gstreamer1.0-plugins-base, libgstreamer-plugins-base1.0-0, liblcms2-2, libldap-2.4-2, libmpg123-0, libncurses5, libopenal1, libpcap0.8, libpulse0, libudev1, libxext6, libxml2, zlib1g, libcups2, libdbus-1-3, libfontconfig1, libfreetype6, libgif7, libglu1-mesa, libgnutls30, libgpg-error0, libgsm1, libgssapi-krb5-2, libjpeg8, libodbc1, libosmesa6, libpng16-16, libsane, libsdl2-2.0-0, libsqlite3-0, libtiff5, libva2, libv4l-0, libvulkan1, libxcomposite1, libxcursor1, libxfixes3, libxi6, libxinerama1, libxrandr2, libxrender1, libxslt1.1, libxxf86vm1, locales-all, va-driver-all, samba-libs, winbind, adwaita-icon-theme, dmz-cursor-theme, gnome-themes-standard, ibus-gtk3, libappindicator3-1, libgdk-pixbuf2.0-0, libgtk-3-0, libgtk-3-bin, libibus-1.0-5, libxkbcommon0, light-themes, shared-mime-info, ttf-ubuntu-font-family, unity-gtk3-module, xdg-user-dirs, on amd64: ['libasound2:i386', 'libasound2-plugins:i386', 'libc6:i386', 'libglib2.0-0:i386', 'libgphoto2-6:i386', 'gstreamer1.0-plugins-base:i386', 'libgstreamer-plugins-base1.0-0:i386', 'liblcms2-2:i386', 'libldap-2.4-2:i386', 'libmpg123-0:i386', 'libncurses5:i386', 'libopenal1:i386', 'libpcap0.8:i386', 'libpulse0:i386', 'libudev1:i386', 'libxext6:i386', 'libxml2:i386', 'zlib1g:i386', 'libcups2:i386', 'libdbus-1-3:i386', 'libfontconfig1:i386', 'libfreetype6:i386', 'libgif7:i386', 'libglu1-mesa:i386', 'libgnutls30:i386', 'libgpg-error0:i386', 'libgsm1:i386', 'libgssapi-krb5-2:i386', 'libjpeg8:i386', 'libodbc1:i386', 'libosmesa6:i386', 'libpng16-16:i386', 'libsane:i386', 'libsdl2-2.0-0:i386', 'libsqlite3-0:i386', 'libtiff5:i386', 'libv4l-0:i386', 'libva2:i386', 'libvulkan1:i386', 'libxcomposite1:i386', 'libxcursor1:i386', 'libxfixes3:i386', 'libxi6:i386', 'libxinerama1:i386', 'libxrandr2:i386', 'libxrender1:i386', 'libxslt1.1:i386', 'libxxf86vm1:i386', 'va-driver-all:i386', 'samba-libs:i386', 'winbind:i386', 'ibus-gtk3:i386', 'libappindicator3-1:i386', 'libgdk-pixbuf2.0-0:i386', 'libgtk-3-0:i386', 'libgtk-3-bin:i386', 'libibus-1.0-5:i386', 'libxkbcommon0:i386', 'unity-gtk3-module:i386']]
stage: [-etc/init, -etc/init.d, -etc/logrotate.d, -usr/share/apps, -usr/share/applications, -usr/share/bug, -usr/share/doc, -usr/share/doc-base, -usr/share/debhelper, -usr/share/lintian, -usr/share/man, -usr/share/pixmaps, -usr/share/pkgconfig, -lib/ld-linux.so.2]
after: [enable-i386]
lutris:
plugin: python
python-version: python3
source: https://github.com/lutris/lutris.git
override-build: |
snapcraftctl build
sed -i 's|Name=Lutris|Name=Lutris|' ${SNAPCRAFT_PART_INSTALL}/share/applications/net.lutris.Lutris.desktop
stage-packages: ['python3-all-dev', 'gir1.2-gtk-3.0', 'gir1.2-glib-2.0', 'gir1.2-gnomedesktop-3.0', 'gir1.2-webkit2-4.0', gir1.2-notify-0.7, libgirepository1.0-dev, libc-bin]
after: [enable-i386]
lutris-runtime:
plugin: nil
stage-packages: [python3, python3-yaml, python3-requests, python3-pil, python3-gi, dh-python, curl, cabextract, psmisc, gvfs-backends, unzip, p7zip, mesa-utils, fluid-soundfont-gs, libgnutls30, x11-xserver-utils, on amd64: ['libxrandr-dev:i386', 'libgnutls30:i386', 'x11-xserver-utils:i386', 'libc6-i386', 'lib32gcc1'] ]
stage: [-lib/ld-linux.so.2, -usr/bin/cpp-7, -usr/share/doc/cpp/README.Debian, -usr/share/man/man1/cpp-7.1.gz]
after: [enable-i386]
plugs:
gnome-3-28-1804:
interface: content
target: $SNAP/gnome-platform
default-provider: gnome-3-28-1804
gtk-3-themes:
interface: content
target: $SNAP/data-dir/themes
default-provider: gtk-common-themes
icon-themes:
interface: content
target: $SNAP/data-dir/icons
default-provider: gtk-common-themes
slots:
lutris:
interface: dbus
bus: session
name: net.lutris.Lutris
parts:
lutris:
plugin: python
source: .
stage-packages:
- libc6
- python3-distutils
- python3-gi
- gir1.2-gtk-3.0
- gir1.2-glib-2.0
- gir1.2-gdkpixbuf-2.0
- gir1.2-gnomedesktop-3.0
- gir1.2-webkit2-4.0
- gir1.2-notify-0.7
apps:
lutris:
command: bin/lutris
plugs:
- desktop
- gsettings
- home
command: bin/desktop-launch $SNAP/bin/lutris -d
plugs: [home, daemon-notify, network, network-bind, network-manager, desktop, desktop-legacy, unity7, wayland, opengl, pulseaudio, gsettings, x11, screen-inhibit-control, kvm, libvirt, removable-media, joystick, io-ports-control, hardware-observe, mount-observe]
slots: [ lutris ]
desktop: share/applications/net.lutris.Lutris.desktop
lutris-wrapper:
command: bin/lutris-wrapper
command: bin/desktop-launch $SNAP/bin/lutris-wrapper
wine:
command: bin/desktop-launch $SNAP/bin/wine
wine64:
command: bin/desktop-launch $SNAP/bin/wine64
winecfg:
command: bin/desktop-launch $SNAP/bin/winecfg