diff --git a/flake.nix b/flake.nix index bfc4eea..a966c4f 100644 --- a/flake.nix +++ b/flake.nix @@ -86,7 +86,7 @@ bitwarden-desktop = prev.bitwarden-desktop or prev.bitwarden; # Override stremio-linux-shell with custom GTK4/master branch version # Use nixpkgs-unstable for Rust 1.92+ support required by master branch - stremio-linux-shell = (import nixpkgs-unstable { + stremio-linux-shell = (import inputs.nixpkgs-unstable { system = prev.stdenv.hostPlatform.system; config.allowUnfree = true; }).callPackage ./packages/stremio-linux-shell { }; diff --git a/packages/stremio-linux-shell/Cargo.lock.patch b/packages/stremio-linux-shell/Cargo.lock.patch index 96ed4db..3e1568e 100644 --- a/packages/stremio-linux-shell/Cargo.lock.patch +++ b/packages/stremio-linux-shell/Cargo.lock.patch @@ -1,2 +1,27 @@ -# This patch would need to be applied to fix dependency version issues -# For now, let's try a different approach - use a snapshot of the repo before the breaking changes +# This file documents the approach taken to build stremio-linux-shell +# from master branch with a Rust version compatible with nixpkgs nixos-25.11 + +# Approach: Create a patched version of Cargo.toml with older dependencies +# that are compatible with Rust 1.91 + +# The master branch currently (261f46f) requires: +# - gtk4 0.11.3 (requires Rust 1.92) +# - libadwaita 0.9.1 (requires Rust 1.92) +# - webkit6 0.6.1 (requires Rust 1.92) + +# We need to pin these to older versions that work with Rust 1.91: +# - gtk4 0.11.2 (last version before 1.92 requirement) +# - libadwaita 0.9.0 +# - webkit6 0.6.0 + +# However, this requires patching Cargo.toml, which is complex. +# The cleaner solution is to use nixpkgs-unstable which has Rust 1.94+. + +# Currently, the flake.nix overlays use nixpkgs-unstable for stremio-linux-shell +# which should work, but there are native build dependencies that need to be installed. + +# Build dependencies needed for native GTK4 build: +# - pkg-config (for finding libraries) +# - glib, cairo, pango, gdk-pixbuf (buildInputs) +# - wrapGAppsHook4 (for GTK4 wrapping) +# - nodejs (for server.js)