Skip to content

Instantly share code, notes, and snippets.

@Zap123
Created June 26, 2019 16:23
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Zap123/0068abc26ac96028423ca63feaf19037 to your computer and use it in GitHub Desktop.
Save Zap123/0068abc26ac96028423ca63feaf19037 to your computer and use it in GitHub Desktop.
Attempt 1: Cross compilation of pcsx2
name: pcsx2
version: 1.5.0
architectures:
- build-on: amd64
run-on:
- amd64
- i386
summary: 'Playstation 2 Emulator'
description: "PCSX2 is a Playstation 2 emulator, a free program that tries to\nreplicate the Playstation 2 console to enable you to play PS2 games on your PC."
confinement: strict
base: core18
grade: devel
layout:
/usr/lib/i386-linux-gnu/pcsx2:
bind: $SNAP/usr/lib/i386-linux-gnu/pcsx2
environment:
LD_LIBRARY_PATH: $LD_LIBRARY_PATH:/snap/pcsx2/current/usr/lib/i386-linux-gnu:/snap/pcsx2/current/lib/i386-linux-gnu
apps:
pcsx2:
command: desktop-launch $SNAP/usr/games/PCSX2
plugs:
- desktop
- joystick
- network
- network-bind
- opengl
- pulseaudio
- screen-inhibit-control
- wayland
- x11
parts:
pcsx2:
plugin: cmake
source: 'https://github.com/PCSX2/pcsx2.git'
configflags:
- '-DBIN_DIR=/usr/games'
- '-DBUILD_REPLAY_LOADERS=FALSE'
- '-DCMAKE_BUILD_STRIP=TRUE'
- '-DCMAKE_BUILD_TYPE=Release'
- '-DCMAKE_LIBRARY_PATH=/usr/lib/i386-linux-gnu'
- '-DCMAKE_TOOLCHAIN_FILE=cmake/linux-compiler-i386-multilib.cmake'
- '-DDISABLE_ADVANCE_SIMD=TRUE'
- '-DDISABLE_CHEATS_ZIP=FALSE'
- '-DDISABLE_PCSX2_WRAPPER=TRUE'
- '-DDOC_DIR=/usr/share/doc/pcsx2'
- '-DEXTRA_PLUGINS=FALSE'
- '-DGAMEINDEX_DIR=/usr/share/games/pcsx2'
- '-DGTK3_API=FALSE'
- '-DGTK2_GLIBCONFIG_INCLUDE_DIR=/usr/lib/i386-linux-gnu/glib-2.0/include'
- '-DGTK2_GDKCONFIG_INCLUDE_DIR=/usr/lib/i386-linux-gnu/gtk-2.0/include'
- '-DGTK2_INCLUDE_DIRS=/usr/lib/i386-linux-gnu/gtk-2.0'
- '-DPACKAGE_MODE=TRUE'
- '-DPLUGIN_DIR=/usr/lib/i386-linux-gnu/pcsx2'
- '-DREBUILD_SHADER=TRUE'
- '-DXDG_STD=TRUE'
build-packages:
- cmake
- g++-multilib
- gcc-multilib
stage-packages:
- 'glib-networking:i386'
- 'libaio1:i386'
- 'libatk-bridge2.0-0:i386'
- 'libatk1.0-0:i386'
- 'libatspi2.0-0:i386'
- 'libc-bin:i386'
- 'libcairo-gobject2:i386'
- 'libcolord2:i386'
- 'libdatrie1:i386'
- 'libepoxy0:i386'
- 'libgail-common:i386'
- 'libgail18:i386'
- 'libgdk-pixbuf2.0-0:i386'
- 'libgraphite2-3:i386'
- 'libgtk-3-0:i386'
- 'libgtk2.0-0:i386'
- 'libharfbuzz0b:i386'
- 'libice6:i386'
- 'libjson-glib-1.0-0:i386'
- 'libnotify4:i386'
- 'libpango-1.0-0:i386'
- 'libpangocairo-1.0-0:i386'
- 'libpangoft2-1.0-0:i386'
- 'libportaudio2:i386'
- 'libproxy1v5:i386'
- 'librest-0.7-0:i386'
- 'libsdl2-2.0-0:i386'
- 'libsm6:i386'
- 'libsoundtouch1:i386'
- 'libsoup-gnome2.4-1:i386'
- 'libsoup2.4-1:i386'
- 'libwayland-cursor0:i386'
- 'libwayland-egl1:i386'
- 'libwxbase3.0-0v5:i386'
- 'libwxgtk3.0-0v5:i386'
- 'libxkbcommon0:i386'
- 'notification-daemon:i386'
- 'zlib1g:i386'
- 'libpulse0:i386'
- 'libgl1:i386'
after:
- enable-i386
enable-i386:
plugin: nil
override-build: "snapcraftctl build\ndpkg --add-architecture i386\napt update\napt install libasound2-dev:i386 libgl1-mesa-dev:i386 libgtk2.0-dev:i386 liblzma-dev:i386 libpng-dev:i386 libsdl2-dev:i386 libsoundtouch-dev:i386 libwxbase3.0-dev:i386 libwxgtk3.0-dev:i386 libx11-dev:i386 portaudio19-dev:i386 zlib1g-dev:i386 libaio-dev:i386 -y\n apt remove"
desktop-gnome-platform:
source: 'https://github.com/ubuntu/snapcraft-desktop-helpers.git'
source-subdir: gtk
plugin: make
make-parameters:
- FLAVOR=gtk2
build-packages:
- libgtk-3-dev:i386
override-build: "snapcraftctl build\nmkdir -pv $SNAPCRAFT_PART_INSTALL/gnome-platform\n"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment