From 3e68a47f15f14e7a8f71d8b3fd0136fda63b4b4c Mon Sep 17 00:00:00 2001 From: Zeke Fast Date: Tue, 30 Dec 2025 03:09:14 +0100 Subject: [PATCH 01/10] Upgrade relm4 dependency in Cargo.toml: 0.10.0 -> 0.10.1. Update edition: 2021 -> 2024. Set rust-version to 1.92. This changes allow to align relm4-template with latest release of "relm4" crate. Additional changes: - Update Cargo.lock. - Enable "gnome_49" feature for relm4 dependency in Cargo.toml. --- Cargo.lock | 48 ++++++++++++++++++++++++------------------------ Cargo.toml | 5 +++-- 2 files changed, 27 insertions(+), 26 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index a3b85ee..4cedc05 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -60,9 +60,9 @@ dependencies = [ [[package]] name = "cc" -version = "1.2.50" +version = "1.2.51" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f50d563227a1c37cc0a263f64eca3334388c01c5e4c4861a9def205c614383c" +checksum = "7a0aeaff4ff1a90589618835a598e545176939b97874f7abc7851caa0618f203" dependencies = [ "find-msvc-tools", "shlex", @@ -90,6 +90,15 @@ version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" +[[package]] +name = "fastrand" +version = "2.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be" +dependencies = [ + "getrandom", +] + [[package]] name = "field-offset" version = "0.3.6" @@ -102,19 +111,19 @@ dependencies = [ [[package]] name = "find-msvc-tools" -version = "0.1.5" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3a3076410a55c90011c298b04d0cfa770b00fa04e1e3c97d3f6c9de105a03844" +checksum = "645cbb3a84e60b7531617d5ae4e57f7e27308f6445f5abf653209ea76dec8dff" [[package]] name = "flume" -version = "0.11.1" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da0e4dd2a88388a1f4ccc7c9ce104604dab68d9f408dc34cd45823d5a9069095" +checksum = "5e139bc46ca777eb5efaf62df0ab8cc5fd400866427e56c68b22e414e53bd3be" dependencies = [ + "fastrand", "futures-core", "futures-sink", - "nanorand", "spin", ] @@ -632,15 +641,6 @@ dependencies = [ "autocfg", ] -[[package]] -name = "nanorand" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a51313c5820b0b02bd422f4b44776fbf47961755c74ce64afc73bfad10226c3" -dependencies = [ - "getrandom", -] - [[package]] name = "nu-ansi-term" version = "0.50.3" @@ -738,9 +738,9 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.103" +version = "1.0.104" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ee95bc4ef87b8d5ba32e8b7714ccc834865276eab0aed5c9958d00ec45f49e8" +checksum = "9695f8df41bb4f3d222c95a67532365f569318332d03d5f3f67f37b20e6ebdf0" dependencies = [ "unicode-ident", ] @@ -785,9 +785,9 @@ checksum = "7a2d987857b319362043e95f5353c0535c1f58eec5336fdfcf626430af7def58" [[package]] name = "relm4" -version = "0.10.0" +version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6bae902de22fd92e62641f047975abf228573425b9b8de175e8ab5b6cda10379" +checksum = "1701679d08c984064e3e920f52ae10c8a0b522eeee223625622b23c27008a472" dependencies = [ "flume", "fragile", @@ -803,15 +803,15 @@ dependencies = [ [[package]] name = "relm4-css" -version = "0.10.0" +version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "37dbe7a114855a22618f0e13595ce6b3f165478c13c2dfc4f4f99614da105797" +checksum = "b1df289e1d41618db75feada5b4c59ea3f7fe83a4e2690c44e14fe0c8c5c2b16" [[package]] name = "relm4-macros" -version = "0.10.0" +version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "175fce497fc6f11dde7ea56daa30ff7ad29a534bbc209d59d766659c880ba5f1" +checksum = "25edbb5b2e8126975f1dd8e85c48cd310afc150beed0dc97df22247b3243971e" dependencies = [ "proc-macro2", "quote", diff --git a/Cargo.toml b/Cargo.toml index 786c4a3..b8da71b 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -2,15 +2,16 @@ name = "gtk-rust-template" version = "0.1.0" authors = ["Bilal Elmoussaoui "] -edition = "2021" +edition = "2024" publish = false +rust-version = "1.92" [profile.release] lto = true [dependencies] gettext-rs = { version = "0.7.7", features = ["gettext-system"] } -relm4 = { version = "0.10.0", features = ["libadwaita", "gnome_48"] } +relm4 = { version = "0.10.1", features = ["libadwaita", "gnome_49"] } adw = { version = "0.8.1", package = "libadwaita", features = ["v1_8"] } tracing = "0.1.44" tracing-subscriber = "0.3.22" From 2ec335e99bc25ef2158a464ed48d0d0574fb3f6a Mon Sep 17 00:00:00 2001 From: Zeke Fast Date: Tue, 30 Dec 2025 03:16:40 +0100 Subject: [PATCH 02/10] Format code. --- src/app.rs | 3 ++- src/main.rs | 4 ++-- src/modals/about.rs | 2 +- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/src/app.rs b/src/app.rs index 4ba3885..8b23933 100644 --- a/src/app.rs +++ b/src/app.rs @@ -1,6 +1,7 @@ use relm4::{ + Component, ComponentParts, ComponentSender, SimpleComponent, actions::{AccelsPlus, RelmAction, RelmActionGroup}, - adw, gtk, main_application, Component, ComponentParts, ComponentSender, SimpleComponent, + adw, gtk, main_application, }; use gtk::prelude::{ApplicationExt, GtkWindowExt, OrientableExt, SettingsExt, WidgetExt}; diff --git a/src/main.rs b/src/main.rs index e70ff84..f254190 100644 --- a/src/main.rs +++ b/src/main.rs @@ -4,10 +4,10 @@ mod app; mod modals; use config::{APP_ID, GETTEXT_PACKAGE, LOCALEDIR, RESOURCES_FILE}; -use gettextrs::{gettext, LocaleCategory}; +use gettextrs::{LocaleCategory, gettext}; use gtk::prelude::ApplicationExt; use gtk::{gio, glib}; -use relm4::{gtk, main_application, RelmApp}; +use relm4::{RelmApp, gtk, main_application}; use app::App; diff --git a/src/modals/about.rs b/src/modals/about.rs index ed6129e..72b1f61 100644 --- a/src/modals/about.rs +++ b/src/modals/about.rs @@ -1,6 +1,6 @@ use adw::prelude::AdwDialogExt; use gtk::prelude::GtkApplicationExt; -use relm4::{adw, gtk, ComponentParts, ComponentSender, SimpleComponent}; +use relm4::{ComponentParts, ComponentSender, SimpleComponent, adw, gtk}; use crate::config::{APP_ID, VERSION}; From f4f3e72304d7d8ca179b4f198bde4bd3648dd2bc Mon Sep 17 00:00:00 2001 From: Zeke Fast Date: Tue, 30 Dec 2025 16:19:08 +0100 Subject: [PATCH 03/10] Remove dependency on `libadwaita` in Cargo.toml. The dependency was added to specify correct version of `libadwaita` as `gnome_49` feature flag addition incorrectly enable `libadwaita/v1_9` while Gnome 49 ships with `libadwaita` 1.8. As we made the fix for `gnome_49` flag in `relm4` we can remove the direct dependency on `libadwaita` with version specifications. Co-authored-by: bahrom04 <116780481+bahrom04@users.noreply.github.com> --- Cargo.toml | 1 - 1 file changed, 1 deletion(-) diff --git a/Cargo.toml b/Cargo.toml index b8da71b..a6b1548 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -12,6 +12,5 @@ lto = true [dependencies] gettext-rs = { version = "0.7.7", features = ["gettext-system"] } relm4 = { version = "0.10.1", features = ["libadwaita", "gnome_49"] } -adw = { version = "0.8.1", package = "libadwaita", features = ["v1_8"] } tracing = "0.1.44" tracing-subscriber = "0.3.22" From 90742a6b885e5faaf5b7b762f6f493389cbe18ce Mon Sep 17 00:00:00 2001 From: bahrom04 Date: Sun, 10 May 2026 18:43:29 +0500 Subject: [PATCH 04/10] remove: hard code versioning rustc --- Cargo.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Cargo.toml b/Cargo.toml index a6b1548..38ff6b4 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -4,7 +4,7 @@ version = "0.1.0" authors = ["Bilal Elmoussaoui "] edition = "2024" publish = false -rust-version = "1.92" +# rust-version = "1.92" [profile.release] lto = true From c457533556316254667e1d26f0400acc455be3b8 Mon Sep 17 00:00:00 2001 From: bahrom04 Date: Sun, 10 May 2026 18:53:12 +0500 Subject: [PATCH 05/10] refactor(nix): put every nix related thing into flake.nix --- default.nix | 72 ---------------------------- flake.lock | 6 +-- flake.nix | 136 ++++++++++++++++++++++++++++++++++++++++++++-------- shell.nix | 47 ------------------ 4 files changed, 119 insertions(+), 142 deletions(-) delete mode 100644 default.nix delete mode 100644 shell.nix diff --git a/default.nix b/default.nix deleted file mode 100644 index 40cc0c0..0000000 --- a/default.nix +++ /dev/null @@ -1,72 +0,0 @@ -{ - pkgs ? let - lock = (builtins.fromJSON (builtins.readFile ./flake.lock)).nodes.nixpkgs.locked; - nixpkgs = fetchTarball { - url = "https://github.com/nixos/nixpkgs/archive/${lock.rev}.tar.gz"; - sha256 = lock.narHash; - }; - in - import nixpkgs {overlays = [];}, - ... -}: let - # Helpful nix function - getLibFolder = pkg: "${pkg}/lib"; - - # Manifest via Cargo.toml - manifest = (pkgs.lib.importTOML ./Cargo.toml).package; -in - pkgs.stdenv.mkDerivation { - pname = manifest.name; - version = manifest.version; - - src = pkgs.lib.cleanSource ./.; - - cargoDeps = pkgs.rustPlatform.importCargoLock { - lockFile = ./Cargo.lock; - # Use this if you have dependencies from git instead - # of crates.io in your Cargo.toml - # outputHashes = { - # # Sha256 of the git repository, doesn't matter if it's monorepo - # "example-0.1.0" = "sha256-80EwvwMPY+rYyti8DMG4hGEpz/8Pya5TGjsbOBF0P0c="; - # }; - }; - - # Compile time dependencies - nativeBuildInputs = with pkgs; [ - git - rustc - cargo - ninja - meson - clippy - gettext - pkg-config - rust-analyzer - wrapGAppsHook4 - appstream - desktop-file-utils - rustPlatform.cargoSetupHook - ]; - - # Runtime dependencies which will be shipped - # with nix package - buildInputs = with pkgs; [ - gtk4 - glib - openssl - libadwaita - gdk-pixbuf - gnome-desktop - adwaita-icon-theme - desktop-file-utils - rustPlatform.bindgenHook - ]; - - # Compiler LD variables - NIX_LDFLAGS = "-L${(getLibFolder pkgs.libiconv)}"; - LD_LIBRARY_PATH = pkgs.lib.makeLibraryPath [ - pkgs.gcc - pkgs.libiconv - pkgs.llvmPackages.llvm - ]; - } diff --git a/flake.lock b/flake.lock index 715c899..92ac56b 100644 --- a/flake.lock +++ b/flake.lock @@ -20,11 +20,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1766070988, - "narHash": "sha256-G/WVghka6c4bAzMhTwT2vjLccg/awmHkdKSd2JrycLc=", + "lastModified": 1777954456, + "narHash": "sha256-hGdgeU2Nk87RAuZyYjyDjFL6LK7dAZN5RE9+hrDTkDU=", "owner": "nixos", "repo": "nixpkgs", - "rev": "c6245e83d836d0433170a16eb185cefe0572f8b8", + "rev": "549bd84d6279f9852cae6225e372cc67fb91a4c1", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index 70640c7..3003f16 100644 --- a/flake.nix +++ b/flake.nix @@ -3,27 +3,123 @@ inputs = { # Fresh and new for testing - nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable"; + nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; - # The flake-utils library flake-utils.url = "github:numtide/flake-utils"; }; - outputs = { - nixpkgs, - flake-utils, - ... - }: - flake-utils.lib.eachDefaultSystem (system: let - pkgs = import nixpkgs {inherit system;}; - in { - # Nix script formatter - formatter = pkgs.alejandra; - - # Development environment - devShells.default = import ./shell.nix {inherit pkgs;}; - - # Output package - packages.default = pkgs.callPackage ./. {inherit pkgs;}; - }); -} \ No newline at end of file + outputs = + { + nixpkgs, + flake-utils, + ... + }: + flake-utils.lib.eachDefaultSystem ( + system: + let + pkgs = import nixpkgs { inherit system; }; + in + { + # Nix script formatter + formatter = pkgs.nixfmt-tree; + + # Output package + packages.default = + let + getLibFolder = pkg: "${pkg}/lib"; + manifest = (pkgs.lib.importTOML ./Cargo.toml).package; + in + pkgs.stdenv.mkDerivation { + pname = manifest.name; + version = manifest.version; + + src = pkgs.lib.cleanSource ./.; + + cargoDeps = pkgs.rustPlatform.importCargoLock { + lockFile = ./Cargo.lock; + # Use this if you have dependencies from git instead + # of crates.io in your Cargo.toml + # outputHashes = { + # # Sha256 of the git repository, doesn't matter if it's monorepo + # "example-0.1.0" = "sha256-80EwvwMPY+rYyti8DMG4hGEpz/8Pya5TGjsbOBF0P0c="; + # }; + }; + + # Compile time dependencies + nativeBuildInputs = with pkgs; [ + git + rustc + cargo + ninja + meson + clippy + gettext + pkg-config + rust-analyzer + wrapGAppsHook4 + appstream + desktop-file-utils + rustPlatform.cargoSetupHook + ]; + + # Runtime dependencies which will be shipped + # with nix package + buildInputs = with pkgs; [ + gtk4 + openssl + libadwaita + gnome-desktop + adwaita-icon-theme + desktop-file-utils + rustPlatform.bindgenHook + ]; + + # Compiler LD variables + NIX_LDFLAGS = "-L${(getLibFolder pkgs.libiconv)}"; + LD_LIBRARY_PATH = pkgs.lib.makeLibraryPath [ + pkgs.gcc + pkgs.libiconv + pkgs.llvmPackages.llvm + ]; + }; + + devShells.default = pkgs.mkShell { + + # Compile time dependencies + packages = with pkgs; [ + # Hail the Nix + nixd + statix + deadnix + nixfmt + + # Rust + rustc + cargo + rustfmt + clippy + rust-analyzer + cargo-watch + + openssl + # Gnome related + gtk4 + meson + ninja + gettext + appstream + pkg-config + libadwaita + gnome-desktop + wrapGAppsHook4 + desktop-file-utils + rustPlatform.bindgenHook + ]; + + # Set Environment Variables + RUST_BACKTRACE = "full"; + RUST_SRC_PATH = "${pkgs.rust.packages.stable.rustPlatform.rustLibSrc}"; + }; + } + ); +} diff --git a/shell.nix b/shell.nix deleted file mode 100644 index 9854e4a..0000000 --- a/shell.nix +++ /dev/null @@ -1,47 +0,0 @@ -{pkgs, ...}: let - # Manifest via Cargo.toml - manifest = (pkgs.lib.importTOML ./Cargo.toml).package; -in - pkgs.stdenv.mkDerivation { - name = "${manifest.name}-dev"; - - # Compile time dependencies - nativeBuildInputs = with pkgs; [ - # Hail the Nix - nixd - statix - deadnix - alejandra - - # Rust - rustc - cargo - rustfmt - clippy - rust-analyzer - cargo-watch - - # Other compile time dependencies - openssl - - # Gnome related - gtk4 - meson - ninja - parted - gettext - appstream - pkg-config - gdk-pixbuf - libadwaita - gnome-desktop - wrapGAppsHook4 - desktop-file-utils - gobject-introspection - rustPlatform.bindgenHook - ]; - - # Set Environment Variables - RUST_BACKTRACE = "full"; - RUST_SRC_PATH = "${pkgs.rust.packages.stable.rustPlatform.rustLibSrc}"; - } \ No newline at end of file From 0e739d59615f19fe4a013adaffc1875d873821bb Mon Sep 17 00:00:00 2001 From: bahrom04 Date: Sun, 10 May 2026 19:00:59 +0500 Subject: [PATCH 06/10] chore: update cargo deps --- Cargo.lock | 172 ++++++++++++++++++++++++++--------------------------- Cargo.toml | 4 +- 2 files changed, 85 insertions(+), 91 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 4cedc05..1d3ada3 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -37,9 +37,9 @@ checksum = "5dd9dc738b7a8311c7ade152424974d8115f2cdad61e8dab8dac9f2362298510" [[package]] name = "cairo-rs" -version = "0.21.5" +version = "0.22.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b01fe135c0bd16afe262b6dea349bd5ea30e6de50708cec639aae7c5c14cc7e4" +checksum = "5cc8d9aa793480744cd9a0524fef1a2e197d9eaa0f739cde19d16aba530dcb95" dependencies = [ "bitflags", "cairo-sys-rs", @@ -49,9 +49,9 @@ dependencies = [ [[package]] name = "cairo-sys-rs" -version = "0.21.5" +version = "0.22.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06c28280c6b12055b5e39e4554271ae4e6630b27c0da9148c4cf6485fc6d245c" +checksum = "f8b4985713047f5faee02b8db6a6ef32bbb50269ff53c1aee716d1d195b76d54" dependencies = [ "glib-sys", "libc", @@ -129,15 +129,18 @@ dependencies = [ [[package]] name = "fragile" -version = "2.0.1" +version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28dd6caf6059519a65843af8fe2a3ae298b14b80179855aeb4adc2c1934ee619" +checksum = "8878864ba14bb86e818a412bfd6f18f9eabd4ec0f008a28e8f7eb61db532fcf9" +dependencies = [ + "futures-core", +] [[package]] name = "futures" -version = "0.3.31" +version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "65bc07b1a8bc7c85c5f2e110c476c7389b4554ba72af57d8445ea63a576b0876" +checksum = "8b147ee9d1f6d097cef9ce628cd2ee62288d963e16fb287bd9286455b241382d" dependencies = [ "futures-channel", "futures-core", @@ -150,9 +153,9 @@ dependencies = [ [[package]] name = "futures-channel" -version = "0.3.31" +version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2dff15bf788c671c1934e366d07e30c1814a8ef514e1af724a602e8a2fbe1b10" +checksum = "07bbe89c50d7a535e539b8c17bc0b49bdb77747034daa8087407d655f3f7cc1d" dependencies = [ "futures-core", "futures-sink", @@ -160,15 +163,15 @@ dependencies = [ [[package]] name = "futures-core" -version = "0.3.31" +version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05f29059c0c2090612e8d742178b0580d2dc940c837851ad723096f87af6663e" +checksum = "7e3450815272ef58cec6d564423f6e755e25379b217b0bc688e295ba24df6b1d" [[package]] name = "futures-executor" -version = "0.3.31" +version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e28d1d997f585e54aebc3f97d39e72338912123a67330d723fdbb564d646c9f" +checksum = "baf29c38818342a3b26b5b923639e7b1f4a61fc5e76102d4b1981c6dc7a7579d" dependencies = [ "futures-core", "futures-task", @@ -177,15 +180,15 @@ dependencies = [ [[package]] name = "futures-io" -version = "0.3.31" +version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e5c1b78ca4aae1ac06c48a526a655760685149f0d465d21f37abfe57ce075c6" +checksum = "cecba35d7ad927e23624b22ad55235f2239cfa44fd10428eecbeba6d6a717718" [[package]] name = "futures-macro" -version = "0.3.31" +version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" +checksum = "e835b70203e41293343137df5c0664546da5745f82ec9b84d40be8336958447b" dependencies = [ "proc-macro2", "quote", @@ -194,21 +197,21 @@ dependencies = [ [[package]] name = "futures-sink" -version = "0.3.31" +version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e575fab7d1e0dcb8d0c7bcf9a63ee213816ab51902e6d244a95819acacf1d4f7" +checksum = "c39754e157331b013978ec91992bde1ac089843443c49cbc7f46150b0fad0893" [[package]] name = "futures-task" -version = "0.3.31" +version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f90f7dce0722e95104fcb095585910c0977252f286e354b5e3bd38902cd99988" +checksum = "037711b3d59c33004d3856fbdc83b99d4ff37a24768fa1be9ce3538a1cde4393" [[package]] name = "futures-util" -version = "0.3.31" +version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9fa08315bb612088cc391249efdc3bc77536f16c91f6cf495e6fbe85b20a4a81" +checksum = "389ca41296e6190b48053de0321d02a77f32f8a5d2461dd38762c0593805c6d6" dependencies = [ "futures-channel", "futures-core", @@ -218,15 +221,14 @@ dependencies = [ "futures-task", "memchr", "pin-project-lite", - "pin-utils", "slab", ] [[package]] name = "gdk-pixbuf" -version = "0.21.5" +version = "0.22.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "debb0d39e3cdd84626edfd54d6e4a6ba2da9a0ef2e796e691c4e9f8646fda00c" +checksum = "25f420376dbee041b2db374ce4573892a36222bb3f6c0c43e24f0d67eae9b646" dependencies = [ "gdk-pixbuf-sys", "gio", @@ -236,9 +238,9 @@ dependencies = [ [[package]] name = "gdk-pixbuf-sys" -version = "0.21.5" +version = "0.22.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd95ad50b9a3d2551e25dd4f6892aff0b772fe5372d84514e9d0583af60a0ce7" +checksum = "48f31b37b1fc4b48b54f6b91b7ef04c18e00b4585d98359dd7b998774bbd91fb" dependencies = [ "gio-sys", "glib-sys", @@ -249,9 +251,9 @@ dependencies = [ [[package]] name = "gdk4" -version = "0.10.3" +version = "0.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "756564212bbe4a4ce05d88ffbd2582581ac6003832d0d32822d0825cca84bfbf" +checksum = "fd42fdbbf48612c6e8f47c65fb92d2e8f39c25aecd6af047e83897c1a22d2a4e" dependencies = [ "cairo-rs", "gdk-pixbuf", @@ -264,9 +266,9 @@ dependencies = [ [[package]] name = "gdk4-sys" -version = "0.10.3" +version = "0.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a6d4e5b3ccf591826a4adcc83f5f57b4e59d1925cb4bf620b0d645f79498b034" +checksum = "9d974ac4f15e67472c3a9728daf612590b4a5762a4b33f0edd298df0b80d043c" dependencies = [ "cairo-sys-rs", "gdk-pixbuf-sys", @@ -314,9 +316,9 @@ dependencies = [ [[package]] name = "gio" -version = "0.21.5" +version = "0.22.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c5ff48bf600c68b476e61dc6b7c762f2f4eb91deef66583ba8bb815c30b5811a" +checksum = "e3848bcba3a35cc0a71df8ba8ecfd799d6bfb862342a53a4a915fb62213aa4e6" dependencies = [ "futures-channel", "futures-core", @@ -331,9 +333,9 @@ dependencies = [ [[package]] name = "gio-sys" -version = "0.21.5" +version = "0.22.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0071fe88dba8e40086c8ff9bbb62622999f49628344b1d1bf490a48a29d80f22" +checksum = "64729ba2772c080448f9f966dba8f4456beeb100d8c28a865ef8a0f2ef4987e1" dependencies = [ "glib-sys", "gobject-sys", @@ -344,9 +346,9 @@ dependencies = [ [[package]] name = "glib" -version = "0.21.5" +version = "0.22.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16de123c2e6c90ce3b573b7330de19be649080ec612033d397d72da265f1bd8b" +checksum = "c207e04e51605dcf7b2924c41591b3a10e1438eaac5bcf448fb91f325381104a" dependencies = [ "bitflags", "futures-channel", @@ -365,12 +367,11 @@ dependencies = [ [[package]] name = "glib-macros" -version = "0.21.5" +version = "0.22.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf59b675301228a696fe01c3073974643365080a76cc3ed5bc2cbc466ad87f17" +checksum = "506d23499707c7142898429757e8d9a3871d965239a2cb66dfa05052be6d6f19" dependencies = [ "heck", - "proc-macro-crate", "proc-macro2", "quote", "syn", @@ -378,9 +379,9 @@ dependencies = [ [[package]] name = "glib-sys" -version = "0.21.5" +version = "0.22.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d95e1a3a19ae464a7286e14af9a90683c64d70c02532d88d87ce95056af3e6c" +checksum = "5f7fbac234ed5bc2a28359b7bde8e1b9cdf1441cc2d7f068e4824672d7db9445" dependencies = [ "libc", "system-deps", @@ -388,9 +389,9 @@ dependencies = [ [[package]] name = "gobject-sys" -version = "0.21.5" +version = "0.22.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2dca35da0d19a18f4575f3cb99fe1c9e029a2941af5662f326f738a21edaf294" +checksum = "22a861859b887a79cf461359c192c97a57d8fb0229dd291232e57aa11f6fa72c" dependencies = [ "glib-sys", "libc", @@ -399,9 +400,9 @@ dependencies = [ [[package]] name = "graphene-rs" -version = "0.21.5" +version = "0.22.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2730030ac9db663fd8bfe1e7093742c1cafb92db9c315c9417c29032341fe2f9" +checksum = "c7d1b7881f96869f49808b6adfe906a93a57a34204952253444d68c3208d71f1" dependencies = [ "glib", "graphene-sys", @@ -410,9 +411,9 @@ dependencies = [ [[package]] name = "graphene-sys" -version = "0.21.5" +version = "0.22.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "915e32091ea9ad241e4b044af62b7351c2d68aeb24f489a0d7f37a0fc484fd93" +checksum = "517f062f3fd6b7fd3e57a3f038a74b3c23ca32f51199ff028aa704609943f79c" dependencies = [ "glib-sys", "libc", @@ -422,9 +423,9 @@ dependencies = [ [[package]] name = "gsk4" -version = "0.10.3" +version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e755de9d8c5896c5beaa028b89e1969d067f1b9bf1511384ede971f5983aa153" +checksum = "53c912dfcbd28acace5fc99c40bb9f25e1dcb73efb1f2608327f66a99acdcb62" dependencies = [ "cairo-rs", "gdk4", @@ -437,9 +438,9 @@ dependencies = [ [[package]] name = "gsk4-sys" -version = "0.10.3" +version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ce91472391146f482065f1041876d8f869057b195b95399414caa163d72f4f7" +checksum = "d7d54bbc7a9d8b6ffe4f0c95eede15ccfb365c8bf521275abe6bcfb57b18fb8a" dependencies = [ "cairo-sys-rs", "gdk4-sys", @@ -456,7 +457,6 @@ name = "gtk-rust-template" version = "0.1.0" dependencies = [ "gettext-rs", - "libadwaita", "relm4", "tracing", "tracing-subscriber", @@ -464,9 +464,9 @@ dependencies = [ [[package]] name = "gtk4" -version = "0.10.3" +version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "acb21d53cfc6f7bfaf43549731c43b67ca47d87348d81c8cfc4dcdd44828e1a4" +checksum = "7181b837f04cbe93f79441475f7a00560a92cba7a72e38cc1a68b6f8b78eaae2" dependencies = [ "cairo-rs", "field-offset", @@ -485,9 +485,9 @@ dependencies = [ [[package]] name = "gtk4-macros" -version = "0.10.3" +version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ccfb5a14a3d941244815d5f8101fa12d4577b59cc47245778d8d907b0003e42" +checksum = "3581b242ba62fdff122ebb626ea641582ec326031622bd19d60f85029c804a87" dependencies = [ "proc-macro-crate", "proc-macro2", @@ -497,9 +497,9 @@ dependencies = [ [[package]] name = "gtk4-sys" -version = "0.10.3" +version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "842577fe5a1ee15d166cd3afe804ce0cab6173bc789ca32e21308834f20088dd" +checksum = "20ba8e695e2640455561274e65e45f0a151619e450746007667f4b23ceae4e1b" dependencies = [ "cairo-sys-rs", "gdk-pixbuf-sys", @@ -554,9 +554,9 @@ checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" [[package]] name = "libadwaita" -version = "0.8.1" +version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb09e12bf8f73342b3315c839d0a7668cc0ccebd78490c49fec48bab15d5484b" +checksum = "bc0da4e27b20d3e71f830e5b0f0188d22c257986bf421c02cfde777fe07932a4" dependencies = [ "gdk4", "gio", @@ -569,9 +569,9 @@ dependencies = [ [[package]] name = "libadwaita-sys" -version = "0.8.1" +version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d7f94227ba87eb596fecada2491f04e357d507324142f77bf76d9e6be4a3e31" +checksum = "aaee067051c5d3c058d050d167688b80b67de1950cfca77730549aa761fc5d7d" dependencies = [ "gdk4-sys", "gio-sys", @@ -628,9 +628,9 @@ dependencies = [ [[package]] name = "memchr" -version = "2.7.6" +version = "2.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f52b00d39961fc5b2736ea853c9cc86238e165017a493d1d5c8eac6bdc4cc273" +checksum = "f8ca58f447f06ed17d5fc4043ce1b10dd205e060fb3ce5b979b8ed8e59ff3f79" [[package]] name = "memoffset" @@ -687,9 +687,9 @@ checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d" [[package]] name = "pango" -version = "0.21.5" +version = "0.22.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52d1d85e2078077a065bb7fc072783d5bcd4e51b379f22d67107d0a16937eb69" +checksum = "251bdc6e6487b811be0e406a21e301e07e45c0aa8fa39e00c0c8e12a91752438" dependencies = [ "gio", "glib", @@ -699,9 +699,9 @@ dependencies = [ [[package]] name = "pango-sys" -version = "0.21.5" +version = "0.22.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4f06627d36ed5ff303d2df65211fc2e52ba5b17bf18dd80ff3d9628d6e06cfd" +checksum = "bbd111a20ca90fedf03e09c59783c679c00900f1d8491cca5399f5e33609d5d6" dependencies = [ "glib-sys", "gobject-sys", @@ -715,12 +715,6 @@ version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3b3cff922bd51709b605d9ead9aa71031d81447142d828eb4a6eba76fe619f9b" -[[package]] -name = "pin-utils" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" - [[package]] name = "pkg-config" version = "0.3.32" @@ -785,9 +779,9 @@ checksum = "7a2d987857b319362043e95f5353c0535c1f58eec5336fdfcf626430af7def58" [[package]] name = "relm4" -version = "0.10.1" +version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1701679d08c984064e3e920f52ae10c8a0b522eeee223625622b23c27008a472" +checksum = "6420f090f0545e9ec9656469d139a4e1b66ff9c30b808fe2247892724f71a198" dependencies = [ "flume", "fragile", @@ -803,15 +797,15 @@ dependencies = [ [[package]] name = "relm4-css" -version = "0.10.1" +version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1df289e1d41618db75feada5b4c59ea3f7fe83a4e2690c44e14fe0c8c5c2b16" +checksum = "f3b81d263f784b103c815afa29124486b59741eca069ce7a5999efb14f13c368" [[package]] name = "relm4-macros" -version = "0.10.1" +version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25edbb5b2e8126975f1dd8e85c48cd310afc150beed0dc97df22247b3243971e" +checksum = "36c9dbf50a60c82375e66b61d522c936b187a11b25c0a42e91c516326ad24a4f" dependencies = [ "proc-macro2", "quote", @@ -912,9 +906,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.111" +version = "2.0.117" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "390cc9a294ab71bdb1aa2e99d13be9c753cd2d7bd6560c77118597410c4d2e87" +checksum = "e665b8803e7b1d2a727f4023456bbbbe74da67099c585258af0ad9c5013b9b99" dependencies = [ "proc-macro2", "quote", @@ -957,9 +951,9 @@ dependencies = [ [[package]] name = "tokio" -version = "1.48.0" +version = "1.52.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff360e02eab121e0bc37a2d3b4d4dc622e6eda3a8e5253d5435ecf5bd4c68408" +checksum = "8fc7f01b389ac15039e4dc9531aa973a135d7a4135281b12d7c1bc79fd57fffe" dependencies = [ "pin-project-lite", ] @@ -1060,9 +1054,9 @@ dependencies = [ [[package]] name = "tracing-subscriber" -version = "0.3.22" +version = "0.3.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f30143827ddab0d256fd843b7a66d164e9f271cfa0dde49142c5ca0ca291f1e" +checksum = "cb7f578e5945fb242538965c2d0b04418d38ec25c79d160cd279bf0731c8d319" dependencies = [ "nu-ansi-term", "sharded-slab", diff --git a/Cargo.toml b/Cargo.toml index 38ff6b4..ce2dce4 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -11,6 +11,6 @@ lto = true [dependencies] gettext-rs = { version = "0.7.7", features = ["gettext-system"] } -relm4 = { version = "0.10.1", features = ["libadwaita", "gnome_49"] } +relm4 = { version = "0.11.0", features = ["libadwaita", "gnome_49"] } tracing = "0.1.44" -tracing-subscriber = "0.3.22" +tracing-subscriber = "0.3.23" From 39e80d008b80fae988ef50426c9602ecf50ee23c Mon Sep 17 00:00:00 2001 From: bahrom04 Date: Sun, 10 May 2026 19:01:18 +0500 Subject: [PATCH 07/10] doc: added nixos run options --- README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index ec0b0b7..dc8e250 100644 --- a/README.md +++ b/README.md @@ -65,7 +65,7 @@ flatpak install --user org.gnome.Sdk//49 org.gnome.Platform//49 org.freedesktop flatpak-builder --user flatpak_app build-aux/.Devel.json ``` -### NixOS +### NixOS ```bash nix build . --show-trace ``` @@ -80,9 +80,9 @@ flatpak-builder --run flatpak_app build-aux/.Devel.json Date: Sun, 10 May 2026 19:03:05 +0500 Subject: [PATCH 08/10] chore(meson): upgraded version --- meson.build | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/meson.build b/meson.build index 4e71dc4..73d0871 100644 --- a/meson.build +++ b/meson.build @@ -2,7 +2,7 @@ project( 'gtk-rust-template', 'rust', version: '0.1.0', - meson_version: '>= 0.59', + meson_version: '>= 1.10.1', # license: 'MIT', ) @@ -11,9 +11,9 @@ gnome = import('gnome') base_id = 'com.belmoussaoui.GtkRustTemplate' -dependency('glib-2.0', version: '>= 2.66') -dependency('gio-2.0', version: '>= 2.66') -dependency('gtk4', version: '>= 4.0.0') +dependency('glib-2.0', version: '>= 2.86.3') +dependency('gio-2.0', version: '>= 2.86.3') +dependency('gtk4', version: '>= 4.20.3') find_program('glib-compile-resources') glib_compile_schemas = find_program('glib-compile-schemas') From 522f39ba51da973dba17c82d9424a3b09d712b3b Mon Sep 17 00:00:00 2001 From: bahrom04 Date: Sun, 10 May 2026 19:19:29 +0500 Subject: [PATCH 09/10] fix: flatpak-builder has meson 1.9.2 version --- meson.build | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meson.build b/meson.build index 73d0871..3589cb4 100644 --- a/meson.build +++ b/meson.build @@ -2,7 +2,7 @@ project( 'gtk-rust-template', 'rust', version: '0.1.0', - meson_version: '>= 1.10.1', + meson_version: '>= 1.9.2', # license: 'MIT', ) From fead02e94ee88480a881f0365673a40658a7656d Mon Sep 17 00:00:00 2001 From: bahrom04 Date: Sun, 10 May 2026 19:28:21 +0500 Subject: [PATCH 10/10] ci: update new cargo installer --- .github/workflows/ci.yml | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index a3217e9..a9012e6 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -11,11 +11,8 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v6 - - uses: actions-rs/toolchain@v1 + - uses: dtolnay/rust-toolchain@stable with: - profile: minimal - toolchain: stable - override: true components: rustfmt - name: Create blank versions of configured file run: echo -e "" >> src/config.rs