flathub / net.supertuxkart.SuperTuxKart

https://flathub.org/apps/details/net.supertuxkart.SuperTuxKart
6 stars 8 forks source link

Update SuperTuxKart to 0.9.3 #1

Closed ahayzen closed 6 years ago

ahayzen commented 6 years ago

Please note this is my first patch to a flatpak project, so I've probably done some things wrong :-)

I had issues with Fribidi building on my machine.

Firstly the previous location of it (http://fribidi.org/download/fribidi-0.19.7.tar.bz2) states "Not Found", so I updated it to the github url.

Then it failed to compile due to multiple reasons:

Then after updating SuperTuxKart from 0.9.2 to 0.9.3 the following message was shown

CMake Error at CMakeLists.txt:163 (message):
  libopenglrecorder not found.  Either install libopenglrecorder or disable
  in-game recorder with -DBUILD_RECORDER=0

To get it building i've disabled the in-game recorder, but happy to add the lib if required?

Below is a screenshot of SuperTuxKart 0.9.3 running :-)

screenshot from 2017-11-26 21-15-21

ahayzen commented 6 years ago

Also I saw that Fribidi is used in some other flatpaks (https://github.com/search?q=org%3Aflathub+fribidi&type=Code) I wonder if those will also need the download path updating? And potentially some of the patches applied?

TingPing commented 6 years ago

bot, build

TingPing commented 6 years ago

Also I saw that Fribidi is used in some other flatpaks (https://github.com/search?q=org%3Aflathub+fribidi&type=Code) I wonder if those will also need the download path updating? And potentially some of the patches applied?

Might be worth adding to flathub/shared-modules

ahayzen commented 6 years ago

I'm going to see how simple libopenglrecorder is to get included as well, as this then allows for in-game recording I believe?

ahayzen commented 6 years ago

OK, so I found that the warnings patch wasn't actually required (the docs patch probably fixed what I was trying to fix :-) ), so I have removed that.

I have added libopenglrecorder to the build and enabled recording, following the instructions here https://supertuxkart.net/Artist_Debug_Mode#In-game_Screen-recorder I was able to spit out a webm of gameplay.

Now I just have a weird situation on my machine, that I hope is a caching issue or something as I've been updating/rebuilding the app many times. After installing the app from my local repository, if I run the app the "normal" way I get the following:

$ flatpak run net.supertuxkart.SuperTuxKart 
supertuxkart: error while loading shared libraries: libturbojpeg.so.0: cannot open shared object file: No such file or directory

But if I run from the shell it works fine

$ flatpak run --devel --command=sh net.supertuxkart.SuperTuxKart 
sh-4.3$ supertuxkart 
[verbose  ] main: Error messages and other text output will be logged to /home/andrew/.var/app/net.supertuxkart.SuperTuxKart/config/supertuxkart/0.8.2/stdout.log.

And I can see libturbojpeg in /lib

ahayzen commented 6 years ago

Ah without the --devel it also fails using the command, does this mean that the --devel is bringing in the SDK and then libturbojpeg ? So then I need to include libturbojpeg myself ?

ahayzen commented 6 years ago

Resolved the issue, I have added libjpeg-turbo to the modules.

Please re-review now, it should be in a good state :-)

alexlarsson commented 6 years ago

Hmm, it seems that the sdk contains libjpeg62 only, but the sdk contains libjpeg-dev, libjpeg62 and libturbojpeg0. Note that our libjpeg62 is still libjpeg-turbo, but without the turbo ABI.

I guess we should add the turbo one, as we're shipping the headers for it.

knurd commented 6 years ago

@ahayzen FYI (FWIW): I also looked into updating to 0.9.3 before seeing this. I noticed you can avoid all the hassle with fribidi if you stick to the older tarball (pre-github move), which I for example found at https://ftp.osuosl.org/pub/blfs/conglomeration/fribidi/fribidi-0.19.7.tar.bz2

ahayzen commented 6 years ago

@knurd thanks for the info, but I guess as we've managed to get it working with the 'new' github releases that'll be the preferred route.

ahayzen commented 6 years ago

libjpeg-turbo is now in the runtime, so I have removed this from the modules and have checked that the app launches correctly.

TingPing commented 6 years ago

bot, build