Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Require GTK 4.10 #1103

Merged
merged 1 commit into from
May 26, 2024
Merged

Conversation

SqAtx
Copy link
Contributor

@SqAtx SqAtx commented May 19, 2024

Relates to #1093

GTK 4.10 has been required since
23a9868

Tested by setting the requirement to 4.13, and getting

Run-time dependency gtk4 found: NO (tried cmake)

../meson.build:55:11: ERROR: Dependency lookup for gtk4 with method 'pkgconfig' failed: Invalid version, need 'gtk4' ['>= 4.13'] found '4.12.3'.

# Check for some runtime dependencies so they are displayed with an "NO"
# when building which could give the user an idea what could be missing.
dep_glib = dependency('glib-2.0', required: false)
dep_gtk = dependency('gtk+-3.0', required: false)
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm pretty sure GTK3 is no longer a dependency! Also, I think we want GtkSourceView 5, but one thing at a time.

@SqAtx SqAtx marked this pull request as draft May 19, 2024 01:34
@SqAtx
Copy link
Contributor Author

SqAtx commented May 19, 2024

Hm, GHA doesn't like this because it uses Ubuntu 22.04 and GTK 4.6... Maybe we should just check at runtime then.

@diegogangl
Copy link
Contributor

Why not update the action to 24.04?
https://github.com/actions/runner-images/blob/main/images/ubuntu/Ubuntu2404-Readme.md

There are packages for Gtk 4.14 for that version

@SqAtx
Copy link
Contributor Author

SqAtx commented May 20, 2024

Because I didn't know that GHA already had 24.04 runners =D

But I was also wondering whether this should be a compile-time check. On one hand, it makes sense to fail early, and not compile something that we know won't run. On the other hand, the Ubuntu runners will eventually fall behind too much - if we want to require GTK >4.14 before 2026, we won't be able to use Ubuntu directly on GHA and do something as simple as

jobs:
  build:
    runs-on: ubuntu-xxx

But now that I've typed this out, I think the compile-time check makes the most sense. If/when we require a version that's not available on Ubuntu LTS, we'll adapt the GHA workflow.

@diegogangl
Copy link
Contributor

Ubuntu has backports: https://help.ubuntu.com/community/UbuntuBackports
Not sure if those apply to LTS, or if they will increase the GHA time too much though

@SqAtx SqAtx force-pushed the require_gtk_4_10 branch from 553a873 to a061490 Compare May 25, 2024 17:50
@SqAtx
Copy link
Contributor Author

SqAtx commented May 25, 2024

Hm Python 3.8 isn't available to be installed on Ubuntu 2404.04 - https://github.com/getting-things-gnome/gtg/actions/runs/9237207451/job/25413900625

I'm not sure where the limitation comes from exactly. Maybe from the Ubuntu repos. Or maybe form GitHub when they create the images from their VM. Either way, there doesn't seem to be a simple way to use a VM that has both Python 3.8 and GTK 4.10.

I'd be tempted to just raise the minimum requirement to 3.9. 3.8's EOL is at the end of October, and I'm guessing we'd probably be releasing GTG 0.7 before then, so this isn't the most technically precise. But that'd be the pragmatic option.

Or we could keep the minimum requirement at 3.8 nominally, and just check 3.9 on GHA. We can keep the 3.8 requirement in mind when coding, and just not check it automatically. If somebody feels strongly about being able to run GTG 0.7 on Python 3.8, we/they can do whatever backporting work is necessary then.

@SqAtx SqAtx force-pushed the require_gtk_4_10 branch from a061490 to acfe93c Compare May 25, 2024 18:06
Relates to getting-things-gnome#1093

GTK 4.10 has been required since
getting-things-gnome@23a9868
@SqAtx SqAtx force-pushed the require_gtk_4_10 branch from acfe93c to 32f9d94 Compare May 25, 2024 18:10
@SqAtx
Copy link
Contributor Author

SqAtx commented May 25, 2024

I think this is a decent solution!

@SqAtx SqAtx marked this pull request as ready for review May 25, 2024 18:13
@SqAtx
Copy link
Contributor Author

SqAtx commented May 26, 2024

Ah, but I just noticed that 05dc6b1 introduced a match statement, which means GTG needs Python 3.10 to run now (FYI @diegogangl).

@diegogangl diegogangl merged commit 7abf62c into getting-things-gnome:master May 26, 2024
1 check passed
@diegogangl
Copy link
Contributor

Merged, thanks!
I've been abusing match so much, that I forgot we couldn't use it here :)
We can replace that bit with some if...elif later

@SqAtx SqAtx deleted the require_gtk_4_10 branch June 1, 2024 16:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants