blob: 34e1d241ffd053b9c3c9086a2887a8a36bd3f96d (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
|
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
PYTHON_COMPAT=( python3_{10..12} )
PYTHON_REQ_USE="sqlite,threads(+)"
inherit meson python-single-r1 optfeature virtualx xdg
DESCRIPTION="An open source gaming platform for GNU/Linux"
HOMEPAGE="https://lutris.net/"
if [[ ${PV} == *9999* ]] ; then
EGIT_REPO_URI="https://github.com/lutris/lutris.git"
inherit git-r3
else
SRC_URI="https://github.com/lutris/lutris/archive/refs/tags/v${PV/_/-}.tar.gz -> ${P}.gh.tar.gz"
S="${WORKDIR}"/${P/_/-}
if [[ ${PV} != *_beta* ]] ; then
KEYWORDS="~amd64 ~x86"
fi
fi
LICENSE="GPL-3+ CC0-1.0"
SLOT="0"
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
RDEPEND="
${PYTHON_DEPS}
app-arch/cabextract
app-arch/p7zip
app-arch/unzip
$(python_gen_cond_dep '
dev-python/certifi[${PYTHON_USEDEP}]
dev-python/dbus-python[${PYTHON_USEDEP}]
dev-python/distro[${PYTHON_USEDEP}]
dev-python/evdev[${PYTHON_USEDEP}]
dev-python/lxml[${PYTHON_USEDEP}]
dev-python/pillow[${PYTHON_USEDEP}]
dev-python/pygobject:3[cairo,${PYTHON_USEDEP}]
dev-python/pypresence[${PYTHON_USEDEP}]
dev-python/pyyaml[${PYTHON_USEDEP}]
dev-python/requests[${PYTHON_USEDEP}]
dev-python/protobuf-python[${PYTHON_USEDEP}]
dev-python/moddb[${PYTHON_USEDEP}]
')
media-sound/fluid-soundfont
|| (
net-libs/webkit-gtk:4[introspection]
net-libs/webkit-gtk:4.1[introspection]
)
sys-apps/xdg-desktop-portal
x11-apps/mesa-progs
x11-apps/xgamma
x11-apps/xrandr
x11-libs/gtk+:3[introspection]
x11-libs/gdk-pixbuf[jpeg]
"
BDEPEND="
test? (
$(python_gen_cond_dep '
dev-python/pytest[${PYTHON_USEDEP}]
')
)
"
DOCS=( AUTHORS README.rst docs/installers.rst docs/steam.rst )
EPYTEST_IGNORE=(
# Requires a Nvidia GPU and driver
tests/util/graphics/test_drivers.py
)
src_test() {
meson_src_test
virtx epytest
}
src_install() {
meson_src_install
python_optimize
python_fix_shebang "${ED}/usr/" #740048
}
pkg_postinst() {
xdg_pkg_postinst
optfeature "playing various games through Valve's Steam launcher (available in Steam overlay)" games-util/steam-launcher
optfeature "playing games through Valve's micro-compositor" gui-wm/gamescope
optfeature "playing games inside a nested X server" x11-base/xorg-server[xephyr]
optfeature "installing and playing games from Flathub" sys-apps/flatpak
optfeature "playing Microsoft Windows games" virtual/wine
optfeature "playing DirectX based games by translating DirectX to Vulkan" "media-libs/vulkan-loader dev-util/vulkan-tools app-emulation/dxvk virtual/wine"
optfeature "playing Vulkan based games (plus ICD for your hardware)" "media-libs/vulkan-loader dev-util/vulkan-tools"
optfeature "a Vulkan and OpenGL overlay for monitoring system performance (available in GURU overlay)" games-util/mangohud
elog
optfeature_header "${PN} supports various emulators and compatibility layers. \n${PN} can download and install these by itself, but also supports using system-wide installed versions"
optfeature "playing games through x86 PC emulator" app-emulation/86Box
# TODO: Package Adventure Game Studio runner
optfeature "playing Atari 800 games through an emulator" games-emulation/atari800
# TODO: Package Basilisk II Mac emulator
# TODO: Package Wii U emulator
optfeature "playing Nintendo 3DS games through an emulator (available in GURU overlay)" games-emulation/citra
# TODO: Package ColecoVision/Coleco Adam emulator
optfeature "playing Nintendo DS games through an emulator" games-emulation/desmume
optfeature "playing Sega Genesis games through an emulator" games-emulation/dgen-sdl
optfeature "playing GameCube and Wii games through an emulator" games-emulation/dolphin
optfeature "playing DOS games through an emulator" games-emulation/dosbox
optfeature "playing RPG Maker 2000/2003 games (available in GURU overlay)" games-engines/easyrpg-player
optfeature "playing Z-code based text games" games-engines/frotz
optfeature "playing Amiga games through an emulator" app-emulation/fs-uae
optfeature "playing Atari ST games through an emulator" games-emulation/hatari
# TODO: Package Intellivision emulator
optfeature "playing games through various emulators" games-emulation/libretro-info
optfeature "playing Arcade games through an emulator" games-emulation/advancemame
optfeature "playing games through various emulators" games-emulation/mednafen
optfeature "playing Nintendo DS games through an emulator" games-emulation/melonds
# TODO: Package mGBA
# TODO: Package MicroM8 Apple II emulator
# TODO: Package Mini vMac emulator
optfeature "playing Nintendo 64 games through an emulator" games-emulation/mupen64plus
# TODO: Package O2Em emulator
# TODO: Package Sega Master System emulator
optfeature "playing IBM PC games through an emulator" app-emulation/pcem
optfeature "playing Sony PlayStation 2 games through an emulator" games-emulation/pcsx2
optfeature "playing various fantasy games" dev-lang/pico8
optfeature "playing Sony PlayStation Portable games through an emulator" games-emulation/ppsspp
# TODO: Package SEGA Dreamcast emulator redream
# TODO: Package SEGA Dreamcast emulator reicast
# TODO: Package Rosalie's Mupen GUI
optfeature "playing Sony PlayStation 3 games through an emulator (available in GURU overlay)" games-emulation/rpcs3
optfeature "playing Adobe Flash Player games through an emulator" app-emulation/ruffle
# TODO: Package Nintendo Switch emulator
optfeature "playing Lucasarts adventure games" games-engines/scummvm
# TODO: Package PowerMacintosh emulator
optfeature "playing Super Nintendo (SNES) games through an emulator" games-emulation/snes9x
# TODO: Package Sinclair ZX Spectrum emulator
optfeature "playing Atari 2600 VCS games through an emulator" games-emulation/stella
# TODO: Package TIC-80 tiny computer
optfeature "playing Commodore games through an emulator" app-emulation/vice
# TODO: Package Atari Jaguar emulator
# TODO: Package runner for HTML5 web games
# TODO: Package Xbox emulator
optfeature "playing Nintendo Switch games through an emulator (available in GURU overlay)" games-emulation/yuzu
optfeature "playing DOOM games" games-fps/gzdoom
# Quote README.rst
elog
elog "Lutris installations are fully automated through scripts, which can"
elog "be written in either JSON or YAML. The scripting syntax is described"
elog "in ${EROOT}/usr/share/doc/${PF}/installers.rst.bz2, and is also"
elog "available online at lutris.net."
}
|