summaryrefslogtreecommitdiff
path: root/net-misc/moonlight/moonlight-9999.ebuild
blob: b991b6f1e5b052a4f1d09b89155c5620620a0637 (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
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=8

if [[ ${PV} = 9999* ]]; then
	EGIT_REPO_URI="https://github.com/moonlight-stream/moonlight-qt.git"
	EGIT_SUBMODULES=( '*' -libs -soundio/libsoundio )
	inherit git-r3
else
	SRC_URI="https://github.com/moonlight-stream/moonlight-qt/releases/download/v${PV}/MoonlightSrc-${PV}.tar.gz"
	KEYWORDS="~amd64 ~arm64"
	S="${WORKDIR}"
fi

inherit qmake-utils xdg

DESCRIPTION="NVIDIA GameStream (and Sunshine) client"
HOMEPAGE="https://github.com/moonlight-stream/moonlight-qt"
LICENSE="GPL-3"
SLOT="0"
IUSE="cuda +libdrm embedded glslow qt5 qt6 soundio +vaapi vdpau vkslow wayland X"
REQUIRED_USE="|| ( qt6 qt5 )"

RDEPEND="
	dev-libs/openssl:=
	media-libs/libglvnd
	media-libs/libplacebo:=
	media-libs/libsdl2[gles2,haptic,kms,joystick,sound,video]
	media-libs/opus
	media-libs/sdl2-ttf
	media-video/ffmpeg:=[cuda?,libdrm?]
	libdrm? ( x11-libs/libdrm )
	qt6? (
		dev-qt/qtbase:6[gui,network]
		dev-qt/qtdeclarative:6[svg]
	)
	!qt6? ( qt5? (
		dev-qt/qtcore:5
		dev-qt/qtgui:5
		dev-qt/qtnetwork:5
		dev-qt/qtquickcontrols2:5
		dev-qt/qtsvg:5
		dev-qt/qtwidgets:5
	) )
	soundio? ( media-libs/libsoundio:= )
	vaapi? ( media-libs/libva:=[wayland?,X?] )
	vdpau? (
		x11-libs/libvdpau
		media-libs/libsdl2[X]
	)
	wayland? ( dev-libs/wayland )
	X? ( x11-libs/libX11 )
"

DEPEND="
	${RDEPEND}
"

BDEPEND="
	dev-qt/qtcore
	virtual/pkgconfig
"

src_prepare() {
	default

	# Force system libsoundio over bundled version.
	rm -r soundio/ || die
}

src_configure() {
	local qmake_args=(
		PREFIX="${EPREFIX}/usr"
		CONFIG+="
			disable-mmal
			$(usex cuda "" disable-cuda)
			$(usex libdrm "" disable-libdrm)
			$(usex vaapi "" disable-libva)
			$(usex vdpau "" disable-libvdpau)
			$(usex wayland "" disable-wayland)
			$(usex X "" disable-x11)
			$(usev embedded)
			$(usev glslow)
			$(usev soundio)
			$(usev vkslow)
		"
	)

	if use qt6; then
		eqmake6 "${qmake_args[@]//$'\n'}"
	else
		eqmake5 "${qmake_args[@]//$'\n'}"
	fi
}

src_install() {
	emake install INSTALL_ROOT="${D}"
	einstalldocs
}