Subject: Re: bug#59851: Add Moonlight

From: Maxim Cournoyer <[email-masked]>
Date: Tue, 21 Mar 2023 10:07:37 -0400

Hello Petr,

Maxim Cournoyer <[email-masked]> writes:

> Hi Petr,
>
> phodina <[email-masked]> writes:
>
>> From a18528bd178c177f50e73de4b89ccbf758ab1774 Mon Sep 17 00:00:00 2001
>> From: Petr Hodina <[email-masked]>
>> 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