Subject: [bug#58499] [PATCH] gnu: add citra (stable version)

From: florhizome <[email-masked]>
Date: Thu, 20 Oct 2022 21:49:15 +0000

Hi Liliana!
thx for the revision! I also have yuzu in the pipeline,
which is by the same/similar team, which makes this even more rewarding.

The next patch will remove all submodules that I was able to
remove. More could be done by replacing the rest under external/ with.
symlinks, I guess. Also, tests seem to work under x86, and using only
gst-plugins-bad-minimal in a wrapper seems to be enough to make the
camera work.

This leaves us with the repo/versioning and the discord issue.

On 2022-10-17, 10:37 +0200, Liliana Marie Prikler <[email-masked]> wrote:
> I'd prefer a let-bound revision/commit pair, since this is very much
> experimental software.  Citra seems to be using a build version base of
> "0" [cf. 1], so we can do the same.  
>> +    (source
>> +     (origin
>> +       (method git-fetch)
>> +       (uri (git-reference
>> +             (url "https://github.com/citra-emu/citra-nightly")
> Even if using nightly revisions, I think we might want to prefer the
> main repository.

After reading their repo-policy
The main repo is for development, the nightly one picks out stable
features, the experimental/canary one adds more unstable ones. By going with
"main" we basically skip any stability guarantees, that the devs are trying
to give.
For me personally, the version numbers are very helpful, since they make it easier
to track dependency changes.
The patch I am preparing will use 0 as main version, though.

> Recursive checkouts are discouraged.  Wherefore do you need one?
>> +       (file-name (git-file-name name version))
>> +       (sha256
>> +        (base32
>> +         "1grkrrxs1497i51spgnwmgfkqgkm7gplylhcrk67agaklx65d5s9"))))
>> +    (build-system qt-build-system)
>> +    (arguments
>> +     (list
>> +      #:configure-flags
>> +       #~(list "-DUSE_SYSTEM_BOOST=ON"
>> +               "-DCITRA_USE_BUNDLED_FFMPEG=OFF"
>> +               "-DCITRA_USE_BUNDLED_QT=OFF"
>> +               "-DCITRA_USE_BUNDLED_SDL2=OFF"
> Don't forget to actually unbundle all of the above.

Actually ffmpeg and sdl are not bundled in our version,
but later versions will bundle sdl again.

>> +               "-DCMAKE_BUILD_TYPE=Release"
>> +               "-DCITRA_ENABLE_COMPATIBILITY_REPORTING=OFF"
>> +               "-DENABLE_COMPATIBILITY_LIST_DOWNLOAD=OFF"
>> +               "-DENABLE_QT_TRANSLATION=ON"
>> +               "-DENABLE_WEB_SERVICE=ON"
>> +               "-DENABLE_FFMPEG_AUDIO_DECODER=ON"
>> +               "-DUSE_DISCORD_PRESENCE=ON")
> Don't enable features for the profit of proprietary software.

As far as I understand, there are other programs, and free alternatives
other then discord using its status protocol. 

>> +    (license license:gpl3+)))
> Should be gpl2+.
>
To me it looks like gpl2 only, am I overlooking something?

Cheers, florhizome