mirror of
https://github.com/gentoo-mirror/guru.git
synced 2026-07-21 13:03:31 -04:00
net-misc/sunshine: new ebuild
Signed-off-by: Adam Pimentel <adam.pimentel@protonmail.com>
This commit is contained in:
1
net-misc/sunshine/files/85-sunshine.rules
Normal file
1
net-misc/sunshine/files/85-sunshine.rules
Normal file
@@ -0,0 +1 @@
|
|||||||
|
KERNEL=="uinput", SUBSYSTEM=="misc", OPTIONS+="static_node=uinput", TAG+="uaccess"
|
||||||
12
net-misc/sunshine/files/sunshine.service
Normal file
12
net-misc/sunshine/files/sunshine.service
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
[Unit]
|
||||||
|
Description=Sunshine self-hosted game stream host for Moonlight.
|
||||||
|
StartLimitIntervalSec=500
|
||||||
|
StartLimitBurst=5
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
ExecStart=/usr/bin/sunshine
|
||||||
|
Restart=on-failure
|
||||||
|
RestartSec=5s
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=graphical-session.target
|
||||||
18
net-misc/sunshine/metadata.xml
Normal file
18
net-misc/sunshine/metadata.xml
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
|
||||||
|
<pkgmetadata>
|
||||||
|
<maintainer type="person">
|
||||||
|
<email>adam.pimentel46@gmail.com</email>
|
||||||
|
<name>Adam Pimentel</name>
|
||||||
|
</maintainer>
|
||||||
|
<upstream>
|
||||||
|
<remote-id type="github">net-misc/sunshine</remote-id>
|
||||||
|
</upstream>
|
||||||
|
<longdescription lang="en">
|
||||||
|
Sunshine is a self-hosted game stream host for Moonlight.
|
||||||
|
Offering low latency, cloud gaming server capabilities with support for AMD, Intel, and Nvidia GPUs for hardware encoding.
|
||||||
|
Software encoding is also available. You can connect to Sunshine from any Moonlight client on a variety of devices.
|
||||||
|
A web UI is provided to allow configuration, and client pairing, from your favorite web browser.
|
||||||
|
Pair from the local server or any mobile device.
|
||||||
|
</longdescription>
|
||||||
|
</pkgmetadata>
|
||||||
113
net-misc/sunshine/sunshine-9999.ebuild
Normal file
113
net-misc/sunshine/sunshine-9999.ebuild
Normal file
@@ -0,0 +1,113 @@
|
|||||||
|
# Copyright 1999-2023 Gentoo Authors
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
|
EAPI=8
|
||||||
|
|
||||||
|
inherit cmake git-r3 desktop udev systemd #fcaps
|
||||||
|
|
||||||
|
DESCRIPTION="Self-hosted game stream host for Moonlight"
|
||||||
|
HOMEPAGE="https://app.lizardbyte.dev/Sunshine/"
|
||||||
|
SRC_URI=""
|
||||||
|
EGIT_REPO_URI="https://github.com/LizardByte/Sunshine.git"
|
||||||
|
EGIT_BRANCH="nightly"
|
||||||
|
|
||||||
|
# Licenses (may be incomplete)
|
||||||
|
#-----------------------------
|
||||||
|
# Sunshine: GPL3
|
||||||
|
# Simple Web Server: MIT
|
||||||
|
# TPCircularBuffer: BSD 3-Clause
|
||||||
|
# ViGEmClient: unlicensed?
|
||||||
|
# ffmpeg: LGPL2.1+
|
||||||
|
# miniupnp: BSD 3-Clause
|
||||||
|
# moonlight-common-c: GPL3
|
||||||
|
# enet: MIT
|
||||||
|
# nanors: MIT
|
||||||
|
# tray: MIT
|
||||||
|
# wayland-protocols: MIT
|
||||||
|
# wlr-protocols: unlicensed?
|
||||||
|
LICENSE="GPL-3 MIT LGPL-2.1+ BSD"
|
||||||
|
SLOT="0"
|
||||||
|
KEYWORDS=""
|
||||||
|
IUSE="nvenc cuda wayland X libdrm systemd"
|
||||||
|
REQUIRED_USE="
|
||||||
|
nvenc? ( cuda )
|
||||||
|
|| ( wayland X )
|
||||||
|
"
|
||||||
|
|
||||||
|
DEPEND="
|
||||||
|
net-dns/avahi
|
||||||
|
dev-libs/libinput
|
||||||
|
dev-libs/boost
|
||||||
|
net-misc/curl
|
||||||
|
dev-libs/libayatana-appindicator
|
||||||
|
dev-libs/libevdev
|
||||||
|
media-libs/intel-mediasdk
|
||||||
|
x11-libs/libnotify
|
||||||
|
media-libs/libpulse
|
||||||
|
media-libs/libva
|
||||||
|
x11-libs/libvdpau
|
||||||
|
X? (
|
||||||
|
x11-libs/libX11
|
||||||
|
x11-libs/libxcb
|
||||||
|
x11-libs/libXfixes
|
||||||
|
x11-libs/libXrandr
|
||||||
|
x11-libs/libXtst
|
||||||
|
)
|
||||||
|
sys-process/numactl
|
||||||
|
dev-libs/openssl
|
||||||
|
media-libs/opus
|
||||||
|
virtual/udev
|
||||||
|
sys-libs/libcap
|
||||||
|
libdrm? (
|
||||||
|
x11-libs/libdrm
|
||||||
|
)
|
||||||
|
"
|
||||||
|
RDEPEND="
|
||||||
|
${DEPEND}
|
||||||
|
"
|
||||||
|
BDEPEND="
|
||||||
|
virtual/pkgconfig
|
||||||
|
net-libs/nodejs
|
||||||
|
"
|
||||||
|
|
||||||
|
src_configure() {
|
||||||
|
local mycmakeargs=(
|
||||||
|
-DCMAKE_INSTALL_PREFIX=/usr
|
||||||
|
-DSUNSHINE_EXECUTABLE_PATH=/usr/bin/sunshine
|
||||||
|
-DSUNSHINE_ASSETS_DIR="share/sunshine"
|
||||||
|
)
|
||||||
|
if use cuda; then
|
||||||
|
mycmakeargs+=(-DSUNSHINE_ENABLE_CUDA=ON)
|
||||||
|
fi
|
||||||
|
if use libdrm; then
|
||||||
|
mycmakeargs+=(-DSUNSHINE_ENABLE_DRM=ON)
|
||||||
|
fi
|
||||||
|
if use wayland; then
|
||||||
|
mycmakeargs+=(-DSUNSHINE_ENABLE_WAYLAND=ON)
|
||||||
|
fi
|
||||||
|
if use X; then
|
||||||
|
mycmakeargs+=(-DSUNSHINE_ENABLE_X11=ON)
|
||||||
|
fi
|
||||||
|
cmake_src_configure
|
||||||
|
}
|
||||||
|
|
||||||
|
src_install() {
|
||||||
|
dobin "${BUILD_DIR}/sunshine"
|
||||||
|
newicon -s 256 "${WORKDIR}"/${P}/sunshine.png sunshine.png
|
||||||
|
newicon -s scalable "${WORKDIR}"/${P}/sunshine.svg sunshine.svg
|
||||||
|
domenu "${BUILD_DIR}"/sunshine.desktop
|
||||||
|
|
||||||
|
udev_dorules "${FILESDIR}"/85-sunshine.rules
|
||||||
|
systemd_dounit "${FILESDIR}"/sunshine.service
|
||||||
|
#fcaps cap_sys_admin+p "${BUILD_DIR}/sunshine"
|
||||||
|
}
|
||||||
|
|
||||||
|
pkg_postinst() {
|
||||||
|
udev_reload
|
||||||
|
|
||||||
|
einfo "If you get \"Error: Failed to gain CAP_SYS_ADMIN\", run \`setcap cap_sys_admin+p \$(readlink -f \$(which sunshine))\` as root"
|
||||||
|
}
|
||||||
|
|
||||||
|
pkg_postrm() {
|
||||||
|
udev_reload
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user