Skip to content

Port to GTK4 - #849

Draft
danirabbit wants to merge 85 commits into
masterfrom
danirabbit/gtk4
Draft

Port to GTK4#849
danirabbit wants to merge 85 commits into
masterfrom
danirabbit/gtk4

Conversation

@danirabbit

@danirabbit danirabbit commented Jul 22, 2025

Copy link
Copy Markdown
Member

Fixes #290
Fixes #732
Closes #804

todo:

  • VAutoHider
  • Drag and drop
  • Backgrounding

@danirabbit danirabbit moved this to In Progress in GTK4 Porting Jul 22, 2025
@TheEvilSkeleton

Copy link
Copy Markdown

I made some changes to the Flatpak manifest and got it working:

From 46e706e0b8a83efcb418554ebb772a807f4ac3c5 Mon Sep 17 00:00:00 2001
From: Hari Rana <theevilskeleton@riseup.net>
Date: Fri, 27 Feb 2026 20:34:08 -0500
Subject: [PATCH] Make Flatpak work

---
 io.elementary.calendar.yml | 76 ++++++++++++++++++++++------------------------------------------------------
 1 file changed, 22 insertions(+), 54 deletions(-)

diff --git a/io.elementary.calendar.yml b/io.elementary.calendar.yml
index 895e518..7fa2b1f 100644
--- a/io.elementary.calendar.yml
+++ b/io.elementary.calendar.yml
@@ -1,6 +1,6 @@
 id: io.elementary.calendar
 runtime: io.elementary.Platform
-runtime-version: '8.2'
+runtime-version: 'daily'
 sdk: io.elementary.Sdk
 command: io.elementary.calendar
 finish-args:
@@ -50,7 +50,7 @@ modules:
     sources:
       - type: git
         url: https://github.com/libical/libical.git
-        tag: v3.0.9
+        tag: v3.0.20
 
   - name: evolution-data-server
     buildsystem: cmake-ninja
@@ -77,8 +77,8 @@ modules:
       - -DENABLE_EXAMPLES=OFF
     sources:
       - type: archive
-        url: https://download.gnome.org/sources/evolution-data-server/3.59/evolution-data-server-3.59.2.tar.xz
-        sha256: 15bd798c85dee923462bebe880761b4668b6c5065584e840900988389add83bf
+        url: https://download.gnome.org/sources/evolution-data-server/3.59/evolution-data-server-3.59.3.tar.xz
+        sha256: 49f7c887dd2c11de6c880c2de260b8efb1dfb843fc6812db2566c3aeba7310c6
         x-checker-data:
           type: gnome
           name: evolution-data-server
@@ -91,56 +91,6 @@ modules:
             url: https://launchpad.net/intltool/trunk/0.51.0/+download/intltool-0.51.0.tar.gz
             md5: 12e517cac2b57a0121cda351570f1e63
 
-  - name: clutter-gtk
-    cleanup:
-      - /share/gtk-doc
-    sources:
-      - type: archive
-        url: https://download.gnome.org/sources/clutter-gtk/1.8/clutter-gtk-1.8.4.tar.xz
-        sha256: 521493ec038973c77edcb8bc5eac23eed41645117894aaee7300b2487cb42b06
-    modules:
-      - name: cogl
-        config-opts:
-          - --disable-cogl-gst
-          - --disable-gtk-doc
-          - --enable-xlib-egl-platform
-          - --enable-wayland-egl-platform
-        cleanup:
-          - /share/gtk-doc
-          - /share/cogl/examples-data
-        sources:
-          - type: archive
-            url: https://download.gnome.org/sources/cogl/1.22/cogl-1.22.8.tar.xz
-            sha256: a805b2b019184710ff53d0496f9f0ce6dcca420c141a0f4f6fcc02131581d759
-      - name: clutter
-        config-opts:
-          - --disable-gtk-doc
-          - --enable-egl-backend
-          - --enable-wayland-backend
-          - --enable-deprecated=no
-        cleanup:
-          - /share/gtk-doc
-        sources:
-          - type: archive
-            url: https://download.gnome.org/sources/clutter/1.26/clutter-1.26.4.tar.xz
-            sha256: 8b48fac159843f556d0a6be3dbfc6b083fc6d9c58a20a49a6b4919ab4263c4e6
-      - name: clutter-gst
-        config-opts:
-          - --disable-gtk-doc
-        cleanup:
-          - /share/gtk-doc
-        sources:
-          - type: archive
-            url: https://download.gnome.org/sources/clutter-gst/3.0/clutter-gst-3.0.27.tar.xz
-            sha256: fe69bd6c659d24ab30da3f091eb91cd1970026d431179b0724f13791e8ad9f9d
-
-  - name: champlain
-    buildsystem: meson
-    sources:
-      - type: archive
-        url: https://download.gnome.org/sources/libchamplain/0.12/libchamplain-0.12.21.tar.xz
-        sha256: a915cd172a0c52944c5579fcb4683f8a878c571bf5e928254b5dafefc727e5a7
-
   - name: folks
     buildsystem: meson
     config-opts:
@@ -171,6 +121,24 @@ modules:
           type: gnome
           name: geocode-glib
 
+  - name: libshumate
+    buildsystem: meson
+    config-opts:
+      - -Dgtk_doc=false
+    sources:
+      - type: git
+        url: https://gitlab.gnome.org/GNOME/libshumate.git
+        branch: main
+    modules:
+      - name: protobuf-c
+        buildsystem: autotools
+        config-opts:
+          - --disable-protoc
+        sources:
+          - type: archive
+            url: https://github.com/protobuf-c/protobuf-c/releases/download/v1.5.2/protobuf-c-1.5.2.tar.gz
+            sha256: e2c86271873a79c92b58fef7ebf8de1aa0df4738347a8bd5d4e65a80a16d0d24
+
   - name: calendar
     buildsystem: meson
     sources:
--
libgit2 1.7.2

@ryonakano ryonakano added this to OS 9 Aug 10, 2026
@ryonakano ryonakano moved this to In progress in OS 9 Aug 10, 2026
@ryonakano

Copy link
Copy Markdown
Member

I hadn't gotten to a solution in GTK4 that was actually working so wasn't sure if this was the right direction

(quoted #930 (comment) here because this is related to GTK 4)

@danirabbit Could you elaborate on what's not working related to VAutoHider?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: In Progress
Status: In progress

Development

Successfully merging this pull request may close these issues.

Port to GTK4 Need a zoom slider on the location page (Create a new event)

3 participants