[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#59851] Add Moonlight
From: |
Maxim Cournoyer |
Subject: |
[bug#59851] Add Moonlight |
Date: |
Mon, 16 Jan 2023 11:11:18 -0500 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/28.2 (gnu/linux) |
Hi again,
phodina <phodina@protonmail.com> writes:
> Hello,
>
> these patches add support for game streaming solution for Nvidia GameStream
> protocol. The client is open source. However, the games and the server is a
> non-libre application.
>
> ----
> Petr
>
>
>
> From 6f6e1a55787059f520428287fba474fe72c4a86b Mon Sep 17 00:00:00 2001
> From: Petr Hodina <phodina@protonmail.com>
> Date: Sat, 3 Dec 2022 10:36:38 +0100
> Subject: [PATCH 6/6] gnu: Add moonlight.
>
> * gnu/packages/games.scm (moonlight): New variable.
>
> diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
> index 131784bc2a..d3628266ac 100644
> --- a/gnu/packages/games.scm
> +++ b/gnu/packages/games.scm
> @@ -5857,6 +5857,61 @@ (define-public bambam
> colors, pictures, and sounds.")
> (license license:gpl3+)))
>
> +(define-public moonlight
> + (package
> + (name "moonlight")
Should that be called moonlight-qt? Or perhaps it's the flagship
client, and thus 'moonlight' is appropriate, and other clients can have
different names?
> + (version "3.1.4")
> + (source (origin
> + (method git-fetch)
> + (uri (git-reference
> + (url "https://github.com/moonlight-stream/moonlight-qt")
> + (commit (string-append "v" version))))
> + (file-name (git-file-name name version))
> + (sha256
> + (base32
> + "02y2rbiiawhj1dvgxdaz8k9kpz6zkv20zsk17fbqj8259m3g5xr5"))))
> + (build-system qt-build-system)
> + (arguments
> + (list #:tests? #f
An explanatory comment (;no test suite) ? is required.
> + #:phases #~(modify-phases %standard-phases
> + (replace 'configure
> + (lambda* _
> + (symlink (string-append #$(this-package-input
> +
> "sdl-gamecontrollerdb")
> + "/gamecontrollerdb.txt")
> + "app/SDL_GameControllerDB/gamecontrollerdb.txt")
> + (substitute* "moonlight-qt.pro"
> + (("moonlight-common-c \\\\")
> + "#moonlight-common-c \\")
> + (("qmdnsengine \\\\") "#qmdnsengine \\")
> + (("app \\\\") "app")
> + (("app.depends") "INCLUDEPATH +=")
> + (("h264bitstream \\\\") "#h264bitstream \\"))
> + (invoke "qmake"
> + (string-append "PREFIX=" #$output)))))))
Please explain what the non-obvious substitutions (commenting stuff) are
for.
> + (native-inputs (list pkg-config qttools-5))
> + (inputs (list moonlight-common
> + libva
> + libvdpau
> + openssl
> + opus
> + qtbase-5
> + sdl-gamecontrollerdb
> + qtquickcontrols2-5
> + qtdeclarative-5
> + qtsvg-5
> + qmdnsengine
> + sdl2
> + sdl2-ttf
> + h264bitstream
> + ffmpeg))
Please sort inputs :-).
> + (synopsis "GameStream client for PCs")
I'd drop "for PCs", since it doesn't add much.
> + (description
> + "Moonlight PC is an open source implementation of NVIDIA's GameStream,
> as
> +used by the NVIDIA Shield.")
> + (home-page "https://moonlight-stream.org")
> + (license license:gpl3)))
That should also be gpl3+.
--
Thanks,
Maxim