commit
68cae99370
178
pkgs/applications/misc/lutris/default.nix
Normal file
178
pkgs/applications/misc/lutris/default.nix
Normal file
@ -0,0 +1,178 @@
|
||||
{ stdenv, pkgs, buildFHSUserEnv, makeDesktopItem, fetchFromGitHub, fetchpatch
|
||||
, wrapGAppsHook, python2Packages, python3Packages }:
|
||||
|
||||
let
|
||||
qt5Deps = with pkgs; with qt5; [ qtbase qtmultimedia ];
|
||||
gnome3Deps = with pkgs; with gnome3; [ zenity gtksourceview gnome-desktop libgnome-keyring webkitgtk ];
|
||||
|
||||
python3Deps = with pkgs; with python3Packages; [
|
||||
evdev pyyaml pyxdg pygobject3 pyqt5 dbus-python requests pillow
|
||||
];
|
||||
|
||||
xorgDeps = with pkgs; with xorg; [
|
||||
libX11 libXrender libXrandr libxcb libXmu libpthreadstubs libXext libXdmcp
|
||||
libXxf86vm libXinerama libSM libXv libXaw libXi libXcursor libXcomposite
|
||||
xrandr xdg_utils
|
||||
];
|
||||
|
||||
gstDeps = with pkgs; with gst_all_1; [
|
||||
gstreamer gst-plugins-base gst-plugins-good gst-plugins-bad gst-plugins-ugly
|
||||
gst-libav
|
||||
];
|
||||
|
||||
deps = with pkgs; [
|
||||
# Common
|
||||
stdenv.cc.cc libGL libGLU_combined libsndfile libtheora libogg libvorbis
|
||||
libopus libGLU libpcap libpulseaudio libao libusb libevdev libudev libgcrypt
|
||||
libxml2 libusb libpng libmpeg2 libv4l libjpeg libxkbcommon libass libcdio
|
||||
libjack2 libsamplerate libzip libmad libaio libcap libtiff libva libgphoto2
|
||||
libxslt libtxc_dxtn 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
|
||||
|
||||
# Lutris
|
||||
gobjectIntrospection gdk_pixbuf pango openssl sqlite xterm libnotify procps
|
||||
|
||||
# Adventure Game Studio
|
||||
allegro dumb
|
||||
|
||||
# Desmume
|
||||
lua agg soundtouch openal desktop-file-utils pangox_compat atk
|
||||
|
||||
# DGen // TODO: libarchive is broken
|
||||
|
||||
# Dolphin
|
||||
bluez ffmpeg gettext portaudio wxGTK30 miniupnpc mbedtls lzo sfml gsm
|
||||
wavpack gnutls-kdh 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_noglu libdrm
|
||||
|
||||
# MAME
|
||||
qt48 fontconfig SDL2_ttf
|
||||
|
||||
# Mednafen
|
||||
freeglut mesa_glu
|
||||
|
||||
# MESS
|
||||
expat
|
||||
|
||||
# Minecraft
|
||||
nss
|
||||
|
||||
# Mupen64Plus
|
||||
boost dash
|
||||
|
||||
# Osmose
|
||||
qt4
|
||||
|
||||
# PCSX2 // TODO: "libgobject-2.0.so.0: wrong ELF class: ELFCLASS64"
|
||||
|
||||
# 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_4
|
||||
|
||||
# ScummVM
|
||||
nasm sndio
|
||||
|
||||
# Snes9x
|
||||
epoxy minizip
|
||||
|
||||
# Steam
|
||||
steam
|
||||
|
||||
# Vice
|
||||
bison flex
|
||||
|
||||
# WINE
|
||||
perl which p7zip gnused gnugrep psmisc cups lcms2 mpg123 cairo unixODBC
|
||||
samba4 sane-backends openldap opencl-headers ocl-icd utillinux
|
||||
|
||||
(wine.override { wineBuild = "wineWow"; })
|
||||
|
||||
# ZDOOM
|
||||
soundfont-fluid bzip2 game-music-emu
|
||||
] ++ qt5Deps
|
||||
++ gnome3Deps
|
||||
++ python3Deps
|
||||
++ xorgDeps
|
||||
++ gstDeps;
|
||||
|
||||
lutris = python3Packages.buildPythonApplication rec {
|
||||
name = "lutris-original-${version}";
|
||||
version = "0.5.2.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "lutris";
|
||||
repo = "lutris";
|
||||
rev = "v${version}";
|
||||
sha256 = "023yqnzmnkfpq21r6ky6jzwbjxjcw1a5zqrrdl6fwwlr78fdhgpv";
|
||||
};
|
||||
|
||||
enableParallelBuilding = true;
|
||||
nativeBuildInputs = [ wrapGAppsHook ];
|
||||
propagatedBuildInputs = deps;
|
||||
fullPath = stdenv.lib.makeLibraryPath deps;
|
||||
preConfigure = "export HOME=$PWD";
|
||||
|
||||
makeWrapperArgs = [
|
||||
"--prefix LD_LIBRARY_PATH : ${fullPath}:$out/lib"
|
||||
"--set GI_TYPELIB_PATH $GI_TYPELIB_PATH"
|
||||
"--prefix XDG_DATA_DIRS : $out/share"
|
||||
"--suffix XDG_DATA_DIRS : $XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
|
||||
];
|
||||
|
||||
postInstall = ''
|
||||
mkdir -p $out/lib
|
||||
ln -sf ${pkgs.gsm}/lib/libgsm.so $out/lib/libgsm.so.1
|
||||
mv $out/bin/lutris $out/bin/lutris-${version}
|
||||
'';
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
homepage = "https://lutris.net";
|
||||
description = "Open Source gaming platform for GNU/Linux";
|
||||
license = licenses.gpl3;
|
||||
maintainers = with maintainers; [ chiiruno ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
};
|
||||
|
||||
desktopItem = makeDesktopItem {
|
||||
name = "Lutris";
|
||||
exec = "lutris";
|
||||
icon = "lutris";
|
||||
comment = lutris.meta.description;
|
||||
desktopName = "Lutris";
|
||||
genericName = "Gaming Platform";
|
||||
categories = "Network;Game;Emulator;";
|
||||
startupNotify = "false";
|
||||
};
|
||||
|
||||
in buildFHSUserEnv rec {
|
||||
name = "lutris";
|
||||
|
||||
runScript = "lutris-${lutris.version}";
|
||||
targetPkgs = pkgs: [ lutris pkgs.glxinfo pkgs.pciutils ];
|
||||
passthru.lutris = lutris;
|
||||
|
||||
extraInstallCommands = ''
|
||||
mkdir -p $out/share
|
||||
cp -r ${desktopItem}/share/applications $out/share
|
||||
ln -sf ${lutris}/share/icons $out/share
|
||||
'';
|
||||
}
|
29
pkgs/misc/dumb/default.nix
Normal file
29
pkgs/misc/dumb/default.nix
Normal file
@ -0,0 +1,29 @@
|
||||
{ stdenv, fetchFromGitHub, cmake, allegro, SDL2 }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "dumb-${version}";
|
||||
version = "2.0.3";
|
||||
enableParallelBuilding = true;
|
||||
nativeBuildInputs = [ cmake ];
|
||||
buildInputs = [ allegro SDL2 ];
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "kode54";
|
||||
repo = "dumb";
|
||||
rev = version;
|
||||
sha256 = "1cnq6rb14d4yllr0yi32p9jmcig8avs3f43bvdjrx4r1mpawspi6";
|
||||
};
|
||||
|
||||
cmakeFlags = [
|
||||
"-DCMAKE_BUILD_TYPE='Release'"
|
||||
"-DBUILD_EXAMPLES='OFF'"
|
||||
];
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
homepage = "https://github.com/kode54/dumb";
|
||||
description = "Module/tracker based music format parser and player library";
|
||||
license = licenses.free; # Derivative of GPL
|
||||
maintainers = with maintainers; [ chiiruno ];
|
||||
platforms = platforms.all;
|
||||
};
|
||||
}
|
21
pkgs/misc/sndio/default.nix
Normal file
21
pkgs/misc/sndio/default.nix
Normal file
@ -0,0 +1,21 @@
|
||||
{ stdenv, fetchurl, alsaLib }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "sndio-${version}";
|
||||
version = "1.2.0";
|
||||
enableParallelBuilding = true;
|
||||
buildInputs = [ alsaLib ];
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://www.sndio.org/sndio-${version}.tar.gz";
|
||||
sha256 = "1p3cw7s6ylmvafbf9a5w5bkh3cy4s1d73hdh0i24m441jhc8x05r";
|
||||
};
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
homepage = "http://www.sndio.org";
|
||||
description = "Small audio and MIDI framework part of the OpenBSD project";
|
||||
license = licenses.isc;
|
||||
maintainers = with maintainers; [ chiiruno ];
|
||||
platforms = platforms.all;
|
||||
};
|
||||
}
|
@ -18830,6 +18830,8 @@ in
|
||||
|
||||
luppp = callPackage ../applications/audio/luppp { };
|
||||
|
||||
lutris = callPackage ../applications/misc/lutris { };
|
||||
|
||||
lv2bm = callPackage ../applications/audio/lv2bm { };
|
||||
|
||||
lynx = callPackage ../applications/networking/browsers/lynx { };
|
||||
@ -23102,6 +23104,8 @@ in
|
||||
|
||||
ekiga = callPackage ../applications/networking/instant-messengers/ekiga { };
|
||||
|
||||
dumb = callPackage ../misc/dumb { };
|
||||
|
||||
emulationstation = callPackage ../misc/emulators/emulationstation {
|
||||
stdenv = overrideCC stdenv gcc5;
|
||||
};
|
||||
@ -23507,6 +23511,8 @@ in
|
||||
|
||||
sam-ba = callPackage ../tools/misc/sam-ba { };
|
||||
|
||||
sndio = callPackage ../misc/sndio { };
|
||||
|
||||
opkg = callPackage ../tools/package-management/opkg { };
|
||||
|
||||
opkg-utils = callPackage ../tools/package-management/opkg-utils { };
|
||||
|
Loading…
Reference in New Issue
Block a user