2019-07-18 10:42:28 +01:00
|
|
|
{ lib, buildFHSUserEnv, lutris-unwrapped
|
2021-07-16 20:07:41 +01:00
|
|
|
, extraPkgs ? pkgs: [ ]
|
|
|
|
, extraLibraries ? pkgs: [ ]
|
2019-07-18 10:32:39 +01:00
|
|
|
, steamSupport ? true
|
|
|
|
}:
|
|
|
|
|
|
|
|
let
|
|
|
|
|
|
|
|
qt5Deps = pkgs: with pkgs.qt5; [ qtbase qtmultimedia ];
|
2021-05-07 22:18:14 +01:00
|
|
|
gnomeDeps = pkgs: with pkgs; [ gnome.zenity gtksourceview gnome.gnome-desktop gnome.libgnome-keyring webkitgtk ];
|
2019-07-18 10:32:39 +01:00
|
|
|
xorgDeps = pkgs: with pkgs.xorg; [
|
|
|
|
libX11 libXrender libXrandr libxcb libXmu libpthreadstubs libXext libXdmcp
|
|
|
|
libXxf86vm libXinerama libSM libXv libXaw libXi libXcursor libXcomposite
|
|
|
|
];
|
|
|
|
|
|
|
|
in buildFHSUserEnv {
|
|
|
|
name = "lutris";
|
|
|
|
|
|
|
|
runScript = "lutris";
|
|
|
|
|
|
|
|
targetPkgs = pkgs: with pkgs; [
|
2019-07-18 10:42:28 +01:00
|
|
|
lutris-unwrapped
|
2019-07-18 10:32:39 +01:00
|
|
|
|
|
|
|
# Adventure Game Studio
|
|
|
|
allegro dumb
|
|
|
|
|
|
|
|
# Desmume
|
2019-12-18 23:53:42 +00:00
|
|
|
lua agg soundtouch openal desktop-file-utils atk
|
2019-07-18 10:32:39 +01:00
|
|
|
|
|
|
|
# DGen // TODO: libarchive is broken
|
|
|
|
|
|
|
|
# Dolphin
|
2021-02-11 05:55:41 +00:00
|
|
|
bluez ffmpeg gettext portaudio wxGTK30 miniupnpc mbedtls lzo sfml gsm
|
2019-10-30 02:51:49 +00:00
|
|
|
wavpack orc nettle gmp pcre vulkan-loader
|
2019-07-18 10:32:39 +01:00
|
|
|
|
|
|
|
# DOSBox
|
|
|
|
SDL_net SDL_sound
|
|
|
|
|
|
|
|
# GOG
|
|
|
|
glib-networking
|
|
|
|
|
|
|
|
# Higan // TODO: "higan is not available for the x86_64 architecture"
|
|
|
|
|
|
|
|
# Libretro
|
|
|
|
fluidsynth hidapi mesa libdrm
|
|
|
|
|
|
|
|
# MAME
|
|
|
|
qt48 fontconfig SDL2_ttf
|
|
|
|
|
|
|
|
# Mednafen
|
|
|
|
freeglut mesa_glu
|
|
|
|
|
|
|
|
# MESS
|
|
|
|
expat
|
|
|
|
|
|
|
|
# Minecraft
|
|
|
|
nss
|
|
|
|
|
|
|
|
# Mupen64Plus
|
|
|
|
boost dash
|
|
|
|
|
|
|
|
# Osmose
|
|
|
|
qt4
|
|
|
|
|
|
|
|
# PPSSPP
|
|
|
|
glew snappy
|
|
|
|
|
|
|
|
# Redream // "redream is not available for the x86_64 architecture"
|
|
|
|
|
|
|
|
# ResidualVM
|
|
|
|
flac
|
|
|
|
|
|
|
|
# rpcs3 // TODO: "error while loading shared libraries: libz.so.1..."
|
2020-01-18 22:42:51 +00:00
|
|
|
llvm
|
2019-07-18 10:32:39 +01:00
|
|
|
|
|
|
|
# ScummVM
|
|
|
|
nasm sndio
|
|
|
|
|
|
|
|
# Snes9x
|
|
|
|
epoxy minizip
|
|
|
|
|
|
|
|
# Vice
|
|
|
|
bison flex
|
|
|
|
|
|
|
|
# WINE
|
2019-07-22 12:36:43 +01:00
|
|
|
xorg.xrandr perl which p7zip gnused gnugrep psmisc opencl-headers
|
2019-07-18 10:32:39 +01:00
|
|
|
|
|
|
|
# ZDOOM
|
|
|
|
soundfont-fluid bzip2 game-music-emu
|
|
|
|
] ++ qt5Deps pkgs
|
2021-05-07 22:18:14 +01:00
|
|
|
++ gnomeDeps pkgs
|
2021-07-16 20:07:41 +01:00
|
|
|
++ lib.optional steamSupport pkgs.steam
|
|
|
|
++ extraPkgs pkgs;
|
2019-07-18 10:32:39 +01:00
|
|
|
|
2019-07-22 12:36:43 +01:00
|
|
|
multiPkgs = pkgs: with pkgs; [
|
|
|
|
# Common
|
|
|
|
libsndfile libtheora libogg libvorbis libopus libGLU libpcap libpulseaudio
|
2020-04-28 04:29:39 +01:00
|
|
|
libao libevdev udev libgcrypt libxml2 libusb-compat-0_1 libpng libmpeg2 libv4l
|
2019-07-22 12:36:43 +01:00
|
|
|
libjpeg libxkbcommon libass libcdio libjack2 libsamplerate libzip libmad libaio
|
2020-03-16 08:21:15 +00:00
|
|
|
libcap libtiff libva libgphoto2 libxslt libsndfile giflib zlib glib
|
2021-06-10 03:57:09 +01:00
|
|
|
alsa-lib zziplib bash dbus keyutils zip cabextract freetype unzip coreutils
|
2019-07-22 12:36:43 +01:00
|
|
|
readline gcc SDL SDL2 curl graphite2 gtk2 gtk3 udev ncurses wayland libglvnd
|
2021-02-01 08:05:09 +00:00
|
|
|
vulkan-loader xdg-utils sqlite gnutls p11-kit libbsd harfbuzz
|
2019-07-22 12:36:43 +01:00
|
|
|
|
|
|
|
# PCSX2 // TODO: "libgobject-2.0.so.0: wrong ELF class: ELFCLASS64"
|
|
|
|
|
|
|
|
# WINE
|
|
|
|
cups lcms2 mpg123 cairo unixODBC samba4 sane-backends openldap
|
2020-11-24 15:29:28 +00:00
|
|
|
ocl-icd util-linux libkrb5
|
2019-09-11 20:06:37 +01:00
|
|
|
|
2020-04-06 03:32:22 +01:00
|
|
|
# Proton
|
|
|
|
libselinux
|
|
|
|
|
2019-09-11 20:06:37 +01:00
|
|
|
# Winetricks
|
|
|
|
fribidi
|
2021-07-16 20:07:41 +01:00
|
|
|
] ++ xorgDeps pkgs
|
|
|
|
++ extraLibraries pkgs;
|
2019-07-22 12:36:43 +01:00
|
|
|
|
2019-07-18 10:32:39 +01:00
|
|
|
extraInstallCommands = ''
|
|
|
|
mkdir -p $out/share
|
2019-07-18 10:42:28 +01:00
|
|
|
ln -sf ${lutris-unwrapped}/share/applications $out/share
|
|
|
|
ln -sf ${lutris-unwrapped}/share/icons $out/share
|
2019-07-18 10:32:39 +01:00
|
|
|
'';
|
|
|
|
}
|