2019-03-26 06:12:22 +00:00
|
|
|
name: lutris
|
2019-05-05 00:17:05 +00:00
|
|
|
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
|
2019-03-26 06:12:22 +00:00
|
|
|
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
|
|
|
|
and setting up the game for the user. The only thing you have to
|
|
|
|
do is play the game. It aims to support every game that is playable
|
|
|
|
on Linux.
|
|
|
|
|
2019-05-05 00:17:05 +00:00
|
|
|
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]
|
2019-03-26 06:12:22 +00:00
|
|
|
|
2019-03-26 06:41:38 +00:00
|
|
|
plugs:
|
2019-05-05 00:17:05 +00:00
|
|
|
|
2019-03-26 06:41:38 +00:00
|
|
|
gnome-3-28-1804:
|
|
|
|
interface: content
|
|
|
|
target: $SNAP/gnome-platform
|
|
|
|
default-provider: gnome-3-28-1804
|
2019-05-05 00:17:05 +00:00
|
|
|
|
2019-03-26 06:41:38 +00:00
|
|
|
|
|
|
|
slots:
|
2019-05-05 00:17:05 +00:00
|
|
|
|
2019-03-26 06:41:38 +00:00
|
|
|
lutris:
|
|
|
|
interface: dbus
|
|
|
|
bus: session
|
|
|
|
name: net.lutris.Lutris
|
|
|
|
|
2019-03-26 06:12:22 +00:00
|
|
|
apps:
|
2019-05-05 00:17:05 +00:00
|
|
|
|
2019-03-26 06:12:22 +00:00
|
|
|
lutris:
|
2019-05-05 00:17:05 +00:00
|
|
|
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]
|
2019-03-26 06:41:38 +00:00
|
|
|
slots: [ lutris ]
|
2019-03-26 07:26:49 +00:00
|
|
|
desktop: share/applications/net.lutris.Lutris.desktop
|
2019-05-05 00:17:05 +00:00
|
|
|
|
2019-03-26 06:12:22 +00:00
|
|
|
lutris-wrapper:
|
2019-05-05 00:17:05 +00:00
|
|
|
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
|