shlomif / PySolFC

A comprehensive, feature-rich, open source, and portable, collection of Solitaire games.
http://pysolfc.sourceforge.net/
GNU General Public License v3.0
445 stars 97 forks source link

3.0 release #358

Closed joeraz closed 2 months ago

joeraz commented 3 months ago

I was hoping to push this out by now, but had some personal issues that limited my ability to proceed with a few changes. But since I just finished and added the last major WIP game I had, I think it's the right time. Plan is to push the release on either the last weekend of March or the first of April.

Due to the number of changes since 2.21, this will be the 3.0 release - I don't think calling this 2.22, or even skipping to 2.30 would be appropriate.

There are a few half-finished easier games (maybe we can get the number of new games to a nice, even 120) I'll try to squeeze in, and a couple other tweaks I'd like to get in. But probably the biggest thing left to do is finalize and publish the cardsets repo and try to fix the release scripts (well enough to get the code out there).

Anything else, or any objections?

joeraz commented 3 months ago

By the way, just to let everyone know, after the 3.0 release, I plan to take a break from PySol.

I'll be back, and will continue to respond to messages, but I feel I need some time to rest, and plan where to go from here.

joeraz commented 3 months ago

Based on my current progress, I feel like we're on track for a 3/30 release date. The code should be ready before then, but I don't want to rush things (in case other developers need to comment). Any objections?

Mind you, releases to other platforms (i.e. Flathub, Android) could be a little later, but a very nice, stable package, with everything properly updated, should be tagged at that point.

joeraz commented 3 months ago

The cardsets package has been prepared. All that's left to do is make sure the new releases build with it.

It's getting late, so I'll finish up in the morning.

joeraz commented 2 months ago

I pushed the release, just need to update the website.

Having some issues with the Flatpak though - something has changed and is causing some errors. It's not one of the Python modules - it's something else. I'll take a closer look, but @ssokolow - if you're available and know anything that might help, let me know.

Also, @lufebe16 - can you prep an Android 3.0 release too?

ssokolow commented 2 months ago

If you mean this build, it's saying that SDL2_Mixer can't find libxmp.

I haven't been monitoring things, so I don't know if that's a change in the runtime, a change in SDL2_mixer's default build configuration, or both, and I can't remember if PySolFC needed that before, but this StackOverflow answer suggests that SDL2_mixer supports using a vendored copy if turning it off isn't an option.

lufebe16 commented 2 months ago

SDL2 is used (at least) by the kivy framework. The android build uses currently version 2.2.1 of kivy (and 2.26.1 of sdl2) and 2.6.2 of sdl2_mixer. In the log referenced by ssokolw I see you are compiling version 2.8 of 'mixer'. I further know that kivy version 2.3.0 and sdl2_mixer 2.6.3 also work. But newer version have not been tested yet.

@ version 3.0.0: My estimate is about a month to publish. Some additional updates are needed, especially metadata for fdroid. Fdroid changed the server version two weeks ago from debian 'bullseye' to 'bookworm'. This may need some additional intervention.

ssokolow commented 2 months ago

@lufebe16 To give some context for why SDL2_mixer is there at all when there's a copy included in the Freedesktop runtime:

If I remember correctly, libmodplug is the relevant library that the Freedesktop runtime's copy was built without support for.

joeraz commented 2 months ago

I'll look into that closer, but there were two errors - I got a different one when I tried to just update the metadata to see if I could skip the other package updates as a temporary workaround. Something off with the Perl Moo module used by the FreeCell solver (https://buildbot.flathub.org/#/builders/6/builds/111229).

ssokolow commented 2 months ago

That rung a bell. I'm pretty sure you're tripping over something I had to use a hack for because the Freedesktop runtime and flatpak-builder didn't seem to provide a ready-made solution for installing app-specific Perl dependencies.

Try changing all instances of this definition...

            "build-options": {
                "env": {
                    "PERL5LIB": "/app/lib/perl5/site_perl/5.36.0"
                }
            },

...so the version number in the path is 5.36.3 instead of 5.36.0.

The key is the paths in this line:

27587  Can't locate Moo.pm in @INC (you may need to install the Moo module) (@INC contains: /app/lib/perl5/site_perl/5.36.0 /usr/lib/perl5/site_perl/5.36.3/x86_64-linux /usr/lib/perl5/site_perl/5.36.3 /usr/lib/perl5/vendor_perl/5.36.3/x86_64-linux /usr/lib/perl5/vendor_perl/5.36.3 /usr/lib/perl5/5.36.3/x86_64-linux /usr/lib/perl5/5.36.3).

Specifically, that version in the /app/lib/... path is older than the version in the /usr/lib/... paths.

(The hack is that I'm not skilled enough with flatpak-builder to know know how to feed in a programmatically derived or glob-derived env value when using "buildsystem": "cmake-ninja" and I felt this approach was less evil than throwing away that preset and reinventing it using shell scripts.)

joeraz commented 2 months ago

I'll give that a try and see if it gets a new package up, at least.

joeraz commented 2 months ago

@ssokolow Yes, thanks - that did the trick. There were a couple formatting requirement changes in the XML file that I had to fix, but those were easily handled. The release should be going out shortly - I'll take another look at the other updates in the next couple days, to see if I can sort those out. If I need further assistance on that, I'll open up another issue for them.

@lufebe16 Okay. I don't expect to be doing much with PySol for the next couple months (outside of looking at the Flathub issues, and maybe some website cleanup), so I doubt anything more will change on my side. Should I leave this issue open for you?

lufebe16 commented 2 months ago

Version 3.0.0 is now available on fdroid. Enjoy.

joeraz commented 2 months ago

Then that should cover all the main platforms. Closing.