GNU bug report logs - #59851
Add Moonlight

Previous Next

Package: guix-patches;

Reported by: phodina <phodina <at> protonmail.com>

Date: Tue, 6 Dec 2022 03:18:01 UTC

Severity: normal

Done: Oleg Pykhalov <go.wigust <at> gmail.com>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 59851 in the body.
You can then email your comments to 59851 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to guix-patches <at> gnu.org:
bug#59851; Package guix-patches. (Tue, 06 Dec 2022 03:18:01 GMT) Full text and rfc822 format available.

Acknowledgement sent to phodina <phodina <at> protonmail.com>:
New bug report received and forwarded. Copy sent to guix-patches <at> gnu.org. (Tue, 06 Dec 2022 03:18:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: phodina <phodina <at> protonmail.com>
To: Guix Patches <guix-patches <at> gnu.org>
Subject: Add Moonlight
Date: Tue, 06 Dec 2022 03:17:28 +0000
[Message part 1 (text/plain, inline)]
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
[Message part 2 (text/html, inline)]
[0002-gnu-Add-enet-moonlight.patch (text/x-patch, attachment)]
[0004-gnu-Add-moonlight-common.patch (text/x-patch, attachment)]
[0001-gnu-Add-qmdnsengine.patch (text/x-patch, attachment)]
[0006-gnu-Add-moonlight.patch (text/x-patch, attachment)]
[0003-gnu-Add-h264bitstream.patch (text/x-patch, attachment)]
[0005-gnu-Add-sdl-gamecontrollerdb.patch (text/x-patch, attachment)]

Information forwarded to guix-patches <at> gnu.org:
bug#59851; Package guix-patches. (Mon, 16 Jan 2023 15:04:02 GMT) Full text and rfc822 format available.

Message #8 received at 59851 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: phodina <phodina <at> protonmail.com>
Cc: 59851 <at> debbugs.gnu.org
Subject: Re: bug#59851: Add Moonlight
Date: Mon, 16 Jan 2023 10:03:13 -0500
Hello,

phodina <phodina <at> 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 3591443080ca8ae4fa775e6ea697f5e1b999a39b Mon Sep 17 00:00:00 2001
> From: Petr Hodina <phodina <at> protonmail.com>
> Date: Sat, 3 Dec 2022 10:32:43 +0100
> Subject: [PATCH 2/6] gnu: Add enet-moonlight.
>
> * gnu/packages/networking.scm (enet-moonlight): New variable.
>
> diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm
> index f5276e330e..27f67c01bf 100644
> --- a/gnu/packages/networking.scm
> +++ b/gnu/packages/networking.scm
> @@ -2591,6 +2591,43 @@ (define-public enet
>      (home-page "http://enet.bespin.org")
>      (license license:expat)))
>  
> +(define-public enet-moonlight
> +  (let ((commit "4cde9cc3dcc5c30775a80da1de87f39f98672a31")
> +        (revision "1"))
> +(package
> +  (inherit enet)
> +  (name "enet")
> +  (version commit)
> +  (source (origin
> +            (method git-fetch)
> +            (uri (git-reference
> +             (url "https://github.com/cgutman/enet")
> +             (commit version)))
> +            (file-name (git-file-name name version))
> +            (sha256
> +             (base32
> +              "07sr32jy989ja23fwg8bvrq2slgm7bhfw6v3xq7yczbw86c1dndv"))))
> +    (build-system cmake-build-system)
> +       (arguments
> +       '(#:tests? #f
> +         #:phases
> +         (modify-phases %standard-phases
> +          (add-after 'unpack 'build-share-lib
> +          (lambda* _
> +          (substitute* "CMakeLists.txt"
> +          (("STATIC") "SHARED"))))

Perhaps having -DBUILD_SHARED_LIBS=ON in #:configure-flags would be
enough.

> +          (replace 'install
> +           (lambda* (#:key outputs source #:allow-other-keys)
> +               (let* ((out (assoc-ref outputs "out"))
> +                      (include (string-append out "/include"))
> +                      (lib (string-append out "/lib")))
> +               (mkdir-p include)
> +               (mkdir-p lib)
> +               (copy-recursively (string-append source "/include") include)
> +               (install-file "libenet.so" lib)))))))

It'd be preferable to use gexps and associated variables.

> +    (native-inputs
> +     (list pkg-config)))))
> +

Otherwise LGTM.

-- 
Thanks,
Maxim




Information forwarded to guix-patches <at> gnu.org:
bug#59851; Package guix-patches. (Mon, 16 Jan 2023 15:05:02 GMT) Full text and rfc822 format available.

Message #11 received at 59851 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: phodina <phodina <at> protonmail.com>
Cc: 59851 <at> debbugs.gnu.org
Subject: Re: bug#59851: Add Moonlight
Date: Mon, 16 Jan 2023 10:04:28 -0500
Hello,

phodina <phodina <at> 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 038069c5a4b7034ac2a33b822a84744419ecb3c6 Mon Sep 17 00:00:00 2001
> From: Petr Hodina <phodina <at> protonmail.com>
> Date: Sat, 3 Dec 2022 10:30:01 +0100
> Subject: [PATCH 1/6] gnu: Add qmdnsengine.
>
> * gnu/packages/qt.scm (qmdnsengine): New variable.
>
> diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
> index 0f5e1c3530..c095eae871 100644
> --- a/gnu/packages/qt.scm
> +++ b/gnu/packages/qt.scm
> @@ -123,6 +123,31 @@ (define-module (gnu packages qt)
>    #:use-module (gnu packages xml)
>    #:use-module (srfi srfi-1))
>  
> +(define-public qmdnsengine
> +  (let ((commit "b7a5a9f225d5e14b39f9fd1f905c4f505cf2ee99")
> +        (revision "1"))

Please mention why we use a commit, e.g. ";; No release or tags.  Use
the latest commit".

> +    (package
> +      (name "qmdnsengine")
> +      (version commit)
> +      (source (origin
> +                (method git-fetch)
> +                (uri (git-reference
> +                      (url "https://github.com/cgutman/qmdnsengine")
> +                      (commit version)))
> +                (file-name (git-file-name name version))
> +                (sha256
> +                 (base32
> +                  "1f5v5n9w4aszcdjxmw81cwmd26ssywvfiyr8x0vbyamp4kqd8mww"))))
> +      (build-system cmake-build-system)
> +      (arguments
> +       '(#:configure-flags (list "-DBUILD_TESTS=ON")))
> +      (inputs (list qtbase-5))
> +      (synopsis "Multicast DNS library for Qt application")
> +      (description "This package provides multicast DNS library for Qt
> +  applications.")
> +      (home-page "https://github.com/moonlight-stream/moonlight-common-c")
> +      (license license:expat))))

Apart from the above, LGTM.

-- 
Thanks,
Maxim




Information forwarded to guix-patches <at> gnu.org:
bug#59851; Package guix-patches. (Mon, 16 Jan 2023 16:01:02 GMT) Full text and rfc822 format available.

Message #14 received at 59851 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: phodina <phodina <at> protonmail.com>
Cc: 59851 <at> debbugs.gnu.org
Subject: Re: bug#59851: Add Moonlight
Date: Mon, 16 Jan 2023 10:59:59 -0500
Hi,

phodina <phodina <at> 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 2034d229893bd6b96e66c588f235da36efc025b9 Mon Sep 17 00:00:00 2001
> From: Petr Hodina <phodina <at> protonmail.com>
> Date: Sat, 3 Dec 2022 10:34:03 +0100
> Subject: [PATCH 3/6] gnu: Add h264bitstream.
>
> * gnu/packages/video.scm (h264bitstream): New variable.

[...]

> +      (build-system gnu-build-system)
> +      (arguments
> +       (list #:tests? #f ;no test suite
> +             #:phases #~(modify-phases %standard-phases
> +                          (add-after 'install 'fix-include-bs-h
> +                            (lambda* _

Replace lambda* with lambda.

> +                              (display "")

Remove this extraneous display call.

> +                              (symlink (string-append #$output
> +                                        "/include/h264bitstream/bs.h")
> +                                       (string-append #$output "/include/bs.h")))))))
> +      (native-inputs (list autoconf automake libtool pkg-config))
> +      (inputs (list ffmpeg))
> +      (synopsis "Library to read and write H.264 video bitstreams")
> +      (description
> +       "This package provides the code GameStream code shared between @code{Moonlight} clients.")

There's a typo above, with 'code' repeated twice.  Since Moonlight is a
proper noun, I'd leave out the @code decorator for it.

Otherwise, LGTM.

-- 
Thanks,
Maxim




Information forwarded to guix-patches <at> gnu.org:
bug#59851; Package guix-patches. (Mon, 16 Jan 2023 16:07:02 GMT) Full text and rfc822 format available.

Message #17 received at 59851 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: phodina <phodina <at> protonmail.com>
Cc: 59851 <at> debbugs.gnu.org
Subject: Re: bug#59851: Add Moonlight
Date: Mon, 16 Jan 2023 11:05:53 -0500
Hello,

phodina <phodina <at> 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 413514efa6d87236d6f3e26166ac82fc3a85a9dd Mon Sep 17 00:00:00 2001
> From: Petr Hodina <phodina <at> protonmail.com>
> Date: Sat, 3 Dec 2022 10:35:36 +0100
> Subject: [PATCH 4/6] gnu: Add moonlight-common.
>
> * gnu/packages/games.scm (moonlight-common): New variable.
>
> diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
> index 9d79efbe94..131784bc2a 100644
> --- a/gnu/packages/games.scm
> +++ b/gnu/packages/games.scm
> @@ -5857,6 +5857,50 @@ (define-public bambam
>  colors, pictures, and sounds.")
>      (license license:gpl3+)))
>  
> +(define-public moonlight-common
> +  (let ((commit "8c55c086d596607041e4394fb62a1bc800b7f37c")
> +        (revision "1"))
> +    (package
> +      (name "moonlight-common")
> +      (version commit)
> +      (source (origin
> +                (method git-fetch)
> +                (uri (git-reference
> +                      (url
> +                       "https://github.com/moonlight-stream/moonlight-common-c")
> +                      (commit version)))
> +                (file-name (git-file-name name version))
> +                (sha256
> +                 (base32
> +                  "0pqm0a2p2sqvazv5gak6gl7d405kaaq6r13l7yhycm0myayqavrp"))))
> +      (build-system cmake-build-system)
> +      (arguments
> +       `(#:tests? #f
> +         #:phases (modify-phases %standard-phases
> +                    (add-after 'unpack 'use-enet-pkg

Perhaps name the phase 'use-system-enet-package' or
'unbundle-enet-moonlight'.

> +                      (lambda _
> +                        (substitute* "CMakeLists.txt"
> +                          (("add_subdirectory\\(enet\\)")
> +                           ""))))
> +                    (replace 'install
> +                      (lambda* (#:key outputs source #:allow-other-keys)
> +                        (let* ((out (assoc-ref outputs "out"))
> +                               (include (string-append out "/include"))
> +                               (lib (string-append out "/lib")))
> +                          (mkdir-p include)
> +                          (mkdir-p lib)
> +                          (install-file (string-append source
> +                                                       "/src/Limelight.h")
> +                                        include)
> +                          (install-file "libmoonlight-common-c.so" lib)))))))

It seems their build system is broken if it doesn't install these, and
thus should be reported upstream (with a comment linking to it here).

> +      (native-inputs (list pkg-config))
> +      (inputs (list qtbase-5 openssl enet-moonlight))

Please sort inputs :-).

> +      (synopsis "Core implementation of Nvidia's GameStream protocol")

I'd use "GameStream protocol core implementation"

> +      (description
> +       "This package provides the code GameStream code shared between @code{Moonlight} clients.")j

Provides the "core".

> +      (home-page "https://github.com/moonlight-stream/moonlight-common-c")
> +      (license license:gpl3))))

The license should be gpl3+, as the LICENSE text contains the original
"or any later version" and there doesn't seem to be source headers
contradicting that.

-- 
Thanks,
Maxim




Information forwarded to guix-patches <at> gnu.org:
bug#59851; Package guix-patches. (Mon, 16 Jan 2023 16:12:02 GMT) Full text and rfc822 format available.

Message #20 received at 59851 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: phodina <phodina <at> protonmail.com>
Cc: 59851 <at> debbugs.gnu.org
Subject: Re: bug#59851: Add Moonlight
Date: Mon, 16 Jan 2023 11:11:18 -0500
Hi again,

phodina <phodina <at> 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 <at> 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




Information forwarded to guix-patches <at> gnu.org:
bug#59851; Package guix-patches. (Mon, 16 Jan 2023 16:13:01 GMT) Full text and rfc822 format available.

Message #23 received at 59851 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: phodina <phodina <at> protonmail.com>
Cc: 59851 <at> debbugs.gnu.org
Subject: Re: bug#59851: Add Moonlight
Date: Mon, 16 Jan 2023 11:12:43 -0500
Hi,

phodina <phodina <at> protonmail.com> writes:

[...]

> Subject: [PATCH 3/6] gnu: Add h264bitstream.

[...]

> +      (synopsis "Library to read and write H.264 video bitstreams")
> +      (description
> +       "This package provides the code GameStream code shared between @code{Moonlight} clients.")
> +      (home-page "https://github.com/aizvorski/h264bitstream")
> +      (license license:lgpl2.1))))

I overlooked that in my previous review, but the license of
h264bitstream should be lgpl2.1+.

-- 
Thanks,
Maxim




Information forwarded to guix-patches <at> gnu.org:
bug#59851; Package guix-patches. (Tue, 17 Jan 2023 08:08:02 GMT) Full text and rfc822 format available.

Message #26 received at 59851 <at> debbugs.gnu.org (full text, mbox):

From: phodina <phodina <at> protonmail.com>
To: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Cc: 59851 <at> debbugs.gnu.org
Subject: Re: bug#59851: Add Moonlight
Date: Tue, 17 Jan 2023 08:07:14 +0000
[Message part 1 (text/plain, inline)]
Hi Maxim,

thanks for review. Here are the patches with the fixes.

----
Petr
[v2-0003-gnu-Add-h264bitstream.patch (text/x-patch, attachment)]
[v2-0006-gnu-Add-moonlight-qt.patch (text/x-patch, attachment)]
[v2-0005-gnu-Add-sdl-gamecontrollerdb.patch (text/x-patch, attachment)]
[v2-0002-gnu-Add-enet-moonlight.patch (text/x-patch, attachment)]
[v2-0004-gnu-Add-moonlight-common.patch (text/x-patch, attachment)]
[v2-0001-gnu-Add-qmdnsengine.patch (text/x-patch, attachment)]

Information forwarded to guix-patches <at> gnu.org:
bug#59851; Package guix-patches. (Tue, 17 Jan 2023 16:30:02 GMT) Full text and rfc822 format available.

Message #29 received at 59851 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: phodina <phodina <at> protonmail.com>
Cc: 59851 <at> debbugs.gnu.org
Subject: Re: bug#59851: Add Moonlight
Date: Tue, 17 Jan 2023 11:29:21 -0500
Hi Petr,

phodina <phodina <at> protonmail.com> writes:

> From a923f2a2e49a0a9851e43aec325fbaee1ee8b4cb Mon Sep 17 00:00:00 2001
> From: Petr Hodina <phodina <at> protonmail.com>
> Date: Mon, 5 Dec 2022 16:19:08 +0100
> Subject: [PATCH v2 5/6] gnu: Add sdl-gamecontrollerdb.
>
> * gnu/packages/sdl.scm (sdl-gamecontrollerdb): New variable.

Apologies, it looks like I forgot to review that one in the original
submission.

> diff --git a/gnu/packages/sdl.scm b/gnu/packages/sdl.scm
> index 0c419dfaca..90c04c98d9 100644
> --- a/gnu/packages/sdl.scm
> +++ b/gnu/packages/sdl.scm
> @@ -14,6 +14,7 @@
>  ;;; Copyright © 2020 Timotej Lazar <timotej.lazar <at> araneo.si>
>  ;;; Copyright © 2020 Oleg Pykhalov <go.wigust <at> gmail.com>
>  ;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
> +;;; Copyright © 2022 Petr Hodina <phodina <at> protonmail.com>
>  ;;;
>  ;;; This file is part of GNU Guix.
>  ;;;
> @@ -41,6 +42,7 @@ (define-module (gnu packages sdl)
>    #:use-module (guix download)
>    #:use-module (guix git-download)
>    #:use-module (guix utils)
> +  #:use-module (guix build-system copy)
>    #:use-module (guix build-system gnu)
>    #:use-module (guix build-system trivial)
>    #:use-module (gnu packages audio)
> @@ -199,6 +201,29 @@ (define-public libmikmod
>      (license license:lgpl2.1)
>      (home-page "http://mikmod.sourceforge.net/")))
>  
> +(define-public sdl-gamecontrollerdb
> +  (let ((commit "9bd061ec6282cd9f8ee0eff36112d98096183a82")
> +        (revision "1"))
> +    (package
> +      (name "sdl-gamecontrollerdb")
> +      (version "")
                  ^
Oops! :-)

> +      (source (origin
> +                (method git-fetch)
> +                (uri (git-reference
> +                      (url "https://github.com/gabomdq/SDL_GameControllerDB")
> +                      (commit commit)))
> +                (sha256
> +                 (base32
> +                  "1dzch3c39n1kq8m5h8fpi7aqqv6k5jqwmlyagsh6fmyzwjviqgji"))))
> +      (build-system copy-build-system)
> +      (arguments
> +       '(#:install-plan '(("gamecontrollerdb.txt" "gamecontrollerdb.txt"))))
> +      (synopsis "Database of game controller mappings to be used with SDL2
> +	Game Controller")
> +      (description "")

                      ^
The synopsis and description need to be reworked here.

Otherwise, LGTM.

-- 
Thanks,
Maxim




Information forwarded to guix-patches <at> gnu.org:
bug#59851; Package guix-patches. (Tue, 17 Jan 2023 16:36:01 GMT) Full text and rfc822 format available.

Message #32 received at 59851 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: phodina <phodina <at> protonmail.com>
Cc: 59851 <at> debbugs.gnu.org
Subject: Re: bug#59851: Add Moonlight
Date: Tue, 17 Jan 2023 11:35:29 -0500
Hi Petr,

phodina <phodina <at> protonmail.com> writes:

> From a18528bd178c177f50e73de4b89ccbf758ab1774 Mon Sep 17 00:00:00 2001
> From: Petr Hodina <phodina <at> protonmail.com>
> Date: Sat, 3 Dec 2022 10:36:38 +0100
> Subject: [PATCH v2 6/6] gnu: Add moonlight-qt.
>
> * gnu/packages/games.scm (moonlight-qt): New variable.
>
> diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
> index 5f5bd8795e..6600c1ee60 100644
> --- a/gnu/packages/games.scm
> +++ b/gnu/packages/games.scm
> @@ -5841,6 +5841,66 @@ (define-public bambam
>  colors, pictures, and sounds.")
>      (license license:gpl3+)))
>  
> +(define-public moonlight-qt
> +  (package
> +    (name "moonlight-qt")
> +    (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 ;no test suite
> +           #: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)))))))

The above could benefit from a comment explaining what this is about
(mostly unbundling libraries, it seems).

> +    (native-inputs (list pkg-config qttools-5))
> +    (inputs (list ffmpeg
> +                  h264bitstream
> +                  libva
> +                  libvdpau
> +                  moonlight-common
> +                  openssl
> +                  opus
> +                  qmdnsengine
> +                  qtbase-5
> +                  qtdeclarative-5
> +                  qtquickcontrols2-5
> +                  qtsvg-5
> +                  sdl2
> +                  sdl2-ttf
> +                  sdl-gamecontrollerdb))
> +    (synopsis "GameStream client")
> +    (description
> +     "Moonlight is an open source implementation of NVIDIA's GameStream, as
> +used by the NVIDIA Shield.")

There's no need to use 'open source' or similar adjective in Guix, as
this is already implied for the whole collection of software offered.

Thank you, and apologies for sending my comments in multiple small
chunks.

-- 
Thanks,
Maxim




Information forwarded to guix-patches <at> gnu.org:
bug#59851; Package guix-patches. (Tue, 21 Mar 2023 14:08:01 GMT) Full text and rfc822 format available.

Message #35 received at 59851 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: phodina <phodina <at> protonmail.com>
Cc: 59851 <at> debbugs.gnu.org
Subject: Re: bug#59851: Add Moonlight
Date: Tue, 21 Mar 2023 10:07:37 -0400
Hello Petr,

Maxim Cournoyer <maxim.cournoyer <at> gmail.com> writes:

> Hi Petr,
>
> phodina <phodina <at> protonmail.com> writes:
>
>> From a18528bd178c177f50e73de4b89ccbf758ab1774 Mon Sep 17 00:00:00 2001
>> From: Petr Hodina <phodina <at> protonmail.com>
>> Date: Sat, 3 Dec 2022 10:36:38 +0100
>> Subject: [PATCH v2 6/6] gnu: Add moonlight-qt.
>>
>> * gnu/packages/games.scm (moonlight-qt): New variable.
>>
>> diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
>> index 5f5bd8795e..6600c1ee60 100644
>> --- a/gnu/packages/games.scm
>> +++ b/gnu/packages/games.scm
>> @@ -5841,6 +5841,66 @@ (define-public bambam
>>  colors, pictures, and sounds.")
>>      (license license:gpl3+)))
>>  
>> +(define-public moonlight-qt
>> +  (package
>> +    (name "moonlight-qt")
>> +    (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 ;no test suite
>> +           #: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)))))))
>
> The above could benefit from a comment explaining what this is about
> (mostly unbundling libraries, it seems).
>
>> +    (native-inputs (list pkg-config qttools-5))
>> +    (inputs (list ffmpeg
>> +                  h264bitstream
>> +                  libva
>> +                  libvdpau
>> +                  moonlight-common
>> +                  openssl
>> +                  opus
>> +                  qmdnsengine
>> +                  qtbase-5
>> +                  qtdeclarative-5
>> +                  qtquickcontrols2-5
>> +                  qtsvg-5
>> +                  sdl2
>> +                  sdl2-ttf
>> +                  sdl-gamecontrollerdb))
>> +    (synopsis "GameStream client")
>> +    (description
>> +     "Moonlight is an open source implementation of NVIDIA's GameStream, as
>> +used by the NVIDIA Shield.")
>
> There's no need to use 'open source' or similar adjective in Guix, as
> this is already implied for the whole collection of software offered.
>
> Thank you, and apologies for sending my comments in multiple small
> chunks.

Gentle ping.  See the thread for the full review comments.

-- 
Thanks,
Maxim




Reply sent to Oleg Pykhalov <go.wigust <at> gmail.com>:
You have taken responsibility. (Sun, 21 Jan 2024 13:23:02 GMT) Full text and rfc822 format available.

Notification sent to phodina <phodina <at> protonmail.com>:
bug acknowledged by developer. (Sun, 21 Jan 2024 13:23:02 GMT) Full text and rfc822 format available.

Message #40 received at 59851-done <at> debbugs.gnu.org (full text, mbox):

From: Oleg Pykhalov <go.wigust <at> gmail.com>
To: 59851-done <at> debbugs.gnu.org
Cc: phodina <phodina <at> protonmail.com>,
 Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: Re: bug#59851: Add Moonlight
Date: Sun, 21 Jan 2024 16:22:09 +0300
[Message part 1 (text/plain, inline)]
Hello Maxim and Petr,

Thank you for packaging this tool!  The patch series modified according
to Maxim suggestions and pushed to master, if you don't mind.

Maxim Cournoyer <maxim.cournoyer <at> gmail.com> writes:

[…]

> Gentle ping.  See the thread for the full review comments.

Also:

The ‘sdl2-gamecontrollerdb’ input is used instead of
‘sdl-gamecontrollerdb’ (the same thing but newer source commit).

Added to ‘version’ package fields ‘git-commit’ with respectful upstream
versions.

Pushed as f649f820535312c031b3392721cf23ed06ae310b to master.


Petr, if you have a package recipe for the Sunshine (a FOSS streaming
server compatible with Moonlight), I would happy to add it, too.


Thanks,
Oleg.
[signature.asc (application/pgp-signature, inline)]

bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Mon, 19 Feb 2024 12:24:14 GMT) Full text and rfc822 format available.

This bug report was last modified 1 year and 80 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.