Skip to content
Permalink
Branch: master
Find file Copy path
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
279 lines (271 sloc) 7.58 KB
name: retroarch
version: "1.7.8.4"
title: RetroArch
summary: RetroArch is the official reference frontend for the libretro API.
description: |
The official reference frontend for the libretro API.
RetroArch provides a variety of advanced user-facing features and powerful configuration capabilities to programs that target the libretro API. While a majority of these programs are emulators for retro gaming consoles, various gaming engines and other multimedia applications are also represented. The programs, known as "cores", can be downloaded and updated directly from RetroArch's built-in Online Updater.
RetroArch defaults to a gamepad-friendly 10-foot/leanback interface that is perfect for use with living-room and home theater PCs, but there is also a more traditional keyboard-and-mouse interface available by pressing F5.
RetroArch is written in portable C and licensed GPLv3.
license: GPL-3.0
icon: snap/gui/retroarch.svg
confinement: strict
grade: stable
architectures:
- build-on: i386
- build-on: amd64
- build-on: armhf
- build-on: arm64
- build-on: ppc64el
base: core
layout:
/usr/share/vulkan:
symlink: $SNAP/usr/share/vulkan
/usr/lib/$SNAPCRAFT_ARCH_TRIPLET/libvulkan_intel.so:
symlink: $SNAP/usr/lib/$SNAPCRAFT_ARCH_TRIPLET/libvulkan_intel.so
/usr/lib/$SNAPCRAFT_ARCH_TRIPLET/libvulkan_radeon.so:
symlink: $SNAP/usr/lib/$SNAPCRAFT_ARCH_TRIPLET/libvulkan_radeon.so
apps:
retroarch:
command: desktop-launch $SNAP/usr/local/bin/retroarch.wrapper
plugs:
- network
- network-bind
- x11
- opengl
- home
- alsa
- pulseaudio
- bluez
- joystick
- raw-usb
- removable-media
- wayland
- unity7
- desktop
parts:
retroarch:
plugin: autotools
source-type: tar
source: https://github.com/libretro/RetroArch/archive/v1.7.8.4.tar.gz
after: [desktop-qt5]
make-parameters: [ "HAVE_BUILTINZLIB=0 HAVE_ZLIB_COMMON=1" ]
configflags:
- --enable-kms
- --enable-xvideo
- --enable-ffmpeg
- --enable-ssa
- --disable-coreaudio
- --disable-jack
- --enable-pulse
- --disable-roar
- --disable-rsound
- --disable-sdl
- --enable-sdl2
- --disable-vg
- --disable-v4l2
- --disable-xinerama
- --enable-qt
- --enable-vulkan
- --disable-discord
stage-packages:
- libnotify-bin
- fonts-dejavu-core
- libasound2
- libavcodec-ffmpeg56
- libavformat-ffmpeg56
- libavutil-ffmpeg54
- libdrm2
- libegl1-mesa
- libfreetype6
- libgbm1
- libgl1-mesa-dri
- libgl1-mesa-glx
- libgles2-mesa
- libminizip1
- libopenal1
- libpulse0
- libswresample-ffmpeg1
- libswscale-ffmpeg3
- libudev1
- libusb-1.0-0
- libwayland-client0
- libwayland-egl1-mesa
- libx11-6
- libxext6
- libxinerama1
- libxkbcommon0
- libxv1
- libxxf86vm1
- pulseaudio
- zlib1g
- qt5-default
- libqt5waylandclient5
- libstdc++6
- libgcc1
- liblzma5
- libbz2-1.0
- libpcre3
- libsystemd0
- libvulkan1
- libvulkan-dev
- mesa-vulkan-drivers
- libsdl2-2.0-0
- libass5
- libfribidi0
- libsdl1.2debian
- libsdl-net1.2
- libbluetooth3
- libxi6
build-packages:
- gcc
- make
- libasound2-dev
- libass-dev
- libavcodec-dev
- libavdevice-dev
- libavformat-dev
- libdrm-dev
- libegl1-mesa-dev
- libfreetype6-dev
- libgbm-dev
- libgl1-mesa-dev
- libpulse-dev
- libswscale-dev
- libusb-1.0-0-dev
- libudev-dev
- libxml2-dev
- libxv-dev
- mesa-common-dev
- xserver-xorg-input-all
- zlib1g-dev
- qt5-default
- libvulkan-dev
- libsdl2-dev
# stage:
# - bin/
# - lib/
# - usr/
retroarch-wrapper:
plugin: dump
after: [retroarch]
source: .
organize:
retroarch.wrapper: usr/local/bin/retroarch.wrapper
stage:
- usr/local/bin/retroarch.wrapper
retroarch-assets:
plugin: dump
after: [retroarch-wrapper]
source: https://github.com/libretro/retroarch-assets/archive/master.tar.gz
source-type: tar
organize:
xmb: .config/assets/xmb
glui: .config/assets/glui
rgui: .config/assets/rgui
ozone: .config/assets/ozone
sounds: .config/assets/sounds
menu_widgets: .config/assets/menu_widgets
filesets:
assets: [.config/assets/menu_widgets/*, .config/assets/sounds/*, .config/assets/ozone/*, .config/assets/rgui/*, .config/assets/xmb/*, -.config/assets/xmb/*/src, .config/assets/glui/*.png, .config/assets/glui/*.ttf]
stage:
- -configure
- -Makefile
- $assets
prime:
- $assets
retroarch-autoconfig:
plugin: dump
after: [retroarch-assets]
source: https://github.com/libretro/retroarch-joypad-autoconfig/archive/master.tar.gz
source-type: tar
organize:
udev: .config/autoconfig/udev
linuxraw: .config/autoconfig/linuxraw
hid: .config/autoconfig/hid
x: .config/autoconfig/x
filesets:
autoconfig: [ .config/autoconfig/udev, .config/autoconfig/linuxraw, .config/autoconfig/hid, .config/autoconfig/x]
stage:
- $autoconfig
prime:
- $autoconfig
retroarch-database:
plugin: dump
after: [retroarch-autoconfig]
source: https://github.com/libretro/libretro-database/archive/master.tar.gz
source-type : tar
organize:
rdb: .config/database/rdb
cursors: .config/database/cursors
cht: .config/cheats
stage:
- .config/database
- .config/cheats
retroarch-info:
plugin: dump
after: [retroarch-database]
source: https://github.com/libretro/libretro-super/archive/master.tar.gz
source-type : tar
organize:
dist/info: .config/cores
stage:
- .config/cores
retroarch-overlays:
plugin: dump
after: [retroarch-info]
source: https://github.com/libretro/common-overlays/archive/master.tar.gz
source-type : tar
organize:
"*": .config/overlay
stage:
- .config/overlay
retroarch-glsl-shaders:
plugin: dump
after: [retroarch-overlays]
source: https://github.com/libretro/glsl-shaders/archive/master.tar.gz
source-type : tar
organize:
"*": .config/shaders/shaders_glsl/
stage:
- .config/shaders
retroarch-slang-shaders:
plugin: dump
after: [retroarch-glsl-shaders]
source: https://github.com/libretro/slang-shaders/archive/master.tar.gz
source-type : tar
organize:
"*": .config/shaders/shaders_slang/
stage:
- .config/shaders
# This part installs the qt5 dependencies and a `desktop-launch` script to initialise
# desktop-specific features such as fonts, themes and the XDG environment.
#
# It is copied straight from the snapcraft desktop helpers project. Please periodically
# check the source for updates and copy the changes.
# https://github.com/ubuntu/snapcraft-desktop-helpers/blob/master/snapcraft.yaml
#
desktop-qt5:
source: https://github.com/ubuntu/snapcraft-desktop-helpers.git
source-subdir: qt
plugin: make
make-parameters: ["FLAVOR=qt5"]
build-packages:
- build-essential
- qtbase5-dev
- dpkg-dev
stage-packages:
- libxkbcommon0
- ttf-ubuntu-font-family
- dmz-cursor-theme
- light-themes
- adwaita-icon-theme
- gnome-themes-standard
- shared-mime-info
- libqt5gui5
- libgdk-pixbuf2.0-0
- libqt5svg5 # for loading icon themes which are svg
- try: [appmenu-qt5] # not available on core18
- locales-all
- xdg-user-dirs
- fcitx-frontend-qt5
You can’t perform that action at this time.