aboutsummaryrefslogtreecommitdiff
path: root/nixpkgs/pkgs/applications/misc/lutris/fhsenv.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/applications/misc/lutris/fhsenv.nix')
-rw-r--r--nixpkgs/pkgs/applications/misc/lutris/fhsenv.nix120
1 files changed, 120 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/applications/misc/lutris/fhsenv.nix b/nixpkgs/pkgs/applications/misc/lutris/fhsenv.nix
new file mode 100644
index 00000000000..2b656775ab5
--- /dev/null
+++ b/nixpkgs/pkgs/applications/misc/lutris/fhsenv.nix
@@ -0,0 +1,120 @@
+{ lib, buildFHSUserEnv, lutris-unwrapped
+, steamSupport ? true
+}:
+
+let
+
+ qt5Deps = pkgs: with pkgs.qt5; [ qtbase qtmultimedia ];
+ gnome3Deps = pkgs: with pkgs; [ gnome3.zenity gtksourceview gnome3.gnome-desktop gnome3.libgnome-keyring webkitgtk ];
+ 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; [
+ lutris-unwrapped
+
+ # Adventure Game Studio
+ allegro dumb
+
+ # Desmume
+ lua agg soundtouch openal desktop-file-utils atk
+
+ # DGen // TODO: libarchive is broken
+
+ # Dolphin
+ bluez ffmpeg_3 gettext portaudio wxGTK30 miniupnpc mbedtls lzo sfml gsm
+ wavpack orc nettle gmp pcre vulkan-loader
+
+ # 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..."
+ llvm
+
+ # ScummVM
+ nasm sndio
+
+ # Snes9x
+ epoxy minizip
+
+ # Vice
+ bison flex
+
+ # WINE
+ xorg.xrandr perl which p7zip gnused gnugrep psmisc opencl-headers
+
+ # ZDOOM
+ soundfont-fluid bzip2 game-music-emu
+ ] ++ qt5Deps pkgs
+ ++ gnome3Deps pkgs
+ ++ lib.optional steamSupport pkgs.steam;
+
+ multiPkgs = pkgs: with pkgs; [
+ # Common
+ libsndfile libtheora libogg libvorbis libopus libGLU libpcap libpulseaudio
+ libao libevdev udev libgcrypt libxml2 libusb-compat-0_1 libpng libmpeg2 libv4l
+ libjpeg libxkbcommon libass libcdio libjack2 libsamplerate libzip libmad libaio
+ libcap libtiff libva libgphoto2 libxslt libsndfile giflib zlib glib
+ alsaLib zziplib bash dbus keyutils zip cabextract freetype unzip coreutils
+ readline gcc SDL SDL2 curl graphite2 gtk2 gtk3 udev ncurses wayland libglvnd
+ vulkan-loader xdg_utils sqlite gnutls p11-kit libbsd harfbuzz
+
+ # PCSX2 // TODO: "libgobject-2.0.so.0: wrong ELF class: ELFCLASS64"
+
+ # WINE
+ cups lcms2 mpg123 cairo unixODBC samba4 sane-backends openldap
+ ocl-icd utillinux libkrb5
+
+ # Proton
+ libselinux
+
+ # Winetricks
+ fribidi
+ ] ++ xorgDeps pkgs;
+
+ extraInstallCommands = ''
+ mkdir -p $out/share
+ ln -sf ${lutris-unwrapped}/share/applications $out/share
+ ln -sf ${lutris-unwrapped}/share/icons $out/share
+ '';
+}