Bug 255217

Summary: games/scummvm: Build all Engines added some LibD's
Product: Ports & Packages Reporter: Gian-Simon Purkert <gspurki>
Component: Individual Port(s)Assignee: Kai Knoblich <kai>
Status: Closed FIXED    
Severity: Affects Only Me Flags: kai: maintainer-feedback+
Priority: ---    
Version: Latest   
Hardware: Any   
OS: Any   
Description Flags
Enable all Engines
scummvm-add-TTS-and-XENGINES-options.patch kai: maintainer-approval+

Description Gian-Simon Purkert 2021-04-19 11:05:55 UTC
Added missing 

USE_GNOME=	gtk30 cairo

Configure Arg:
Comment 1 Gian-Simon Purkert 2021-04-19 11:06:22 UTC
Created attachment 224247 [details]
Enable all Engines
Comment 2 Kai Knoblich freebsd_committer 2021-04-22 17:33:50 UTC
(In reply to Gian-Simon Purkert from comment #0)

Thank you for the patch, I'll take a closer look at it the next few days. 

I have already checked my recent build logs regarding the missing dependencies, but couldn't find anything so I assume that you use a non-poudriere build environment?
Comment 3 Gian-Simon Purkert 2021-04-22 20:17:08 UTC

Since residualvm is getting merged with scummvm is think it's a good idea to build all engines. If you start a game that uses a "non-stable" engine you get a warning anyway.

Yes build the make-way.
Comment 4 Gian-Simon Purkert 2021-06-07 10:55:47 UTC
Hy Kai,

Could you took some time to review the patch.


Comment 5 Kai Knoblich freebsd_committer 2021-06-10 05:15:44 UTC
(In reply to Gian-Simon Purkert from comment #4)

Unfortunately, "next days" has become "next weeks" because I don't have that much time at the moment.  But I have now been able to take a closer look at your patch and do some tests as well.

The problem due to the missing libraries only occurs if the ports accessibility/speech-dispatcher (for "--enable-tts") and "devel/pkgconf" with "x11-toolkits/gtk30" are already installed, e.g. in a non-poudriere build environment.

A few notes/question:

- Adding "--enable-tts" adds Text-to-Speech support for some engines (and the options dialogues, if enabled).  It requires accessibility/speech-dispatcher which also pulls in audio/pulseaudio which probably not everyone would like this.

Therefore, because this feature is currently not used by so many engines, I would add it as non-default option first to let users choose.  If there is greater demand, it can then be converted into a default one afterwards. 

- Using "--enable-gtk" pulls in around ~600MB an additional dependencies and seems only to be related to the option menu dialogues (slightly different rendering and filebrowser).  Therefore I would rather deactivate the option for now.

- The "--build-all-engines", on the other hand, is nice to test some unstable engines and I would add it as an non-default option as well.  In contrast to "--enable-tts", this option should stay non-default, because those engines are considered as unstable and experimental.

What do you think about it?
Comment 6 Gian-Simon Purkert 2021-06-14 12:20:51 UTC
(In reply to Kai Knoblich from comment #5)

Yes, tts should be a non default option, there is no need to install a behemoth like pulseaudio.

--enable-gtk Absolutely with you on that.

--build-all-engines yes it's good for testing, and if you start a game with a "unstable" engine it gives you a warning anyway.

>Unfortunately, "next days" has become "next weeks"

No hurry, thanks for the reply.
Comment 7 Gian-Simon Purkert 2021-07-04 16:29:21 UTC
Any news?
Comment 8 Kai Knoblich freebsd_committer 2021-07-05 11:15:39 UTC
Created attachment 226233 [details]

Attached is an updated patch which does the following:

- add "--disable-gtk" unconditionally
- add non-default TTS option
- add non-default XENGINES option

(In reply to Gian-Simon Purkert from comment #6)

> --build-all-engines yes it's good for testing, and if you start a game with a "unstable" engine it gives you a warning anyway.

That's right and I've tested this too.  Although it doesn't do much harm when activated, I would still set it as a non-default:

- The output of "scummvm --list-engines" doesn't display which engines are experimental/unstable. IMHO, this would lead to false promises for users that use the official FreeBSD package repository.

For example, one could get the impression that game X is supported and invests some time to collect the required files for game X in order to find out in the end that game X is only roughly supported and not playable at all.

- The "--build-all-engines" option isn't a default option of the "configure" script and has to be set explicitly as it's intended mostly for developers and users which know what they're doing.
Comment 9 Gian-Simon Purkert 2021-08-05 09:31:01 UTC
Any news?
Comment 10 commit-hook freebsd_committer 2021-08-05 09:57:56 UTC
A commit in branch main references this bug:

URL: https://cgit.FreeBSD.org/ports/commit/?id=f23c268967bf67b77181efe321228a613632ae0e

commit f23c268967bf67b77181efe321228a613632ae0e
Author:     Kai Knoblich <kai@FreeBSD.org>
AuthorDate: 2021-08-05 09:41:05 +0000
Commit:     Kai Knoblich <kai@FreeBSD.org>
CommitDate: 2021-08-05 09:50:26 +0000

    games/scummvm: Add new options, fix QA warnings

    * Introduce a TTS option to avoid possible QA stage warnings with build
      environments that have already libspeechd.so because the configure
      script automatically adds it as an additional dependency in that case.

      Set the option as non-default because it's only used by a small set of
      engines and pulls in quite a few dependencies.

    * The same as above also applies for enviroments that have GTK3
      installed.  Disable the support for GTK3 for now, as it only affects
      the dialogs in the options menu and it does not cause any major
      changes, but also requires a lot of additional dependencies.

    * Add another option, XENGINES, that also enables experimental engines.

    * Bump PORTREVISION to force a rebuild due changed dependencies.

    PR:             255217
    Reported by:    Gian-Simon Purkert <gspurki@gmail.com>

 games/scummvm/Makefile  | 13 ++++++++++++-
 games/scummvm/pkg-plist |  2 ++
 2 files changed, 14 insertions(+), 1 deletion(-)
Comment 11 Kai Knoblich freebsd_committer 2021-08-05 10:05:25 UTC
(In reply to Gian-Simon Purkert from comment #9)

You were a little faster than me because I had planned the commit for today. :)

Now it has finally landed and at this point many thanks for your report and all the info throughout the whole process.
Comment 12 Gian-Simon Purkert 2021-08-05 10:48:48 UTC
It runs great, pretty happy with the XENGINE-Option.

Thank you very much and have a great Day.