From 98ba683632bbddcf9e4a64eec9eb7ff0293b96cc Mon Sep 17 00:00:00 2001 From: hermes-agent Date: Sat, 15 Aug 2026 09:17:05 +0000 Subject: [PATCH] yarr: add flake input for rustc 1.97.1, exclude from overlay MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit yarr needs rustc 1.97.1 but the main nixpkgs input (pinned by flake.lock) has rustc 1.95.0. Bumping the main input breaks aioimaplib (email server dep), so add a separate rust-nixpkgs input pinned to a newer rev. yarr is excluded from the overlay (which uses the main nixpkgs) — build it via 'nix build .#yarr' on the flake directly. --- flake.lock | 6 +++--- flake.nix | 14 +++++++++++--- overlays/default.nix | 5 ++++- packages/default.nix | 6 +++--- packages/yarr/package.nix | 9 +-------- 5 files changed, 22 insertions(+), 18 deletions(-) diff --git a/flake.lock b/flake.lock index 873cd89..0ee7307 100644 --- a/flake.lock +++ b/flake.lock @@ -2,11 +2,11 @@ "nodes": { "nixpkgs": { "locked": { - "lastModified": 1786599213, - "narHash": "sha256-yNJd40f11EzXBjSByCB7IPpeFFAdeoSKKM67dGkfFoU=", + "lastModified": 1781577229, + "narHash": "sha256-lrp67w8AulE9Ks53n27I45ADSzbOCn4H+CNW1Ck8B+8=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "0e251e24a4f24e036a084b6b4b2d2491af4167f4", + "rev": "567a49d1913ce81ac6e9582e3553dd90a955875f", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index d1a3b1d..a3e63e1 100644 --- a/flake.nix +++ b/flake.nix @@ -12,10 +12,14 @@ inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; + # Newer nixpkgs for yarr: the pinned nixpkgs has rustc 1.95 but yarr + # needs 1.97.1. Bumping the main nixpkgs input breaks aioimaplib + # (email server dep), so use a separate input just for yarr's rust. + rust-nixpkgs.url = "github:NixOS/nixpkgs/0e251e24a4f24e036a084b6b4b2d2491af4167f4"; }; outputs = - { self, nixpkgs, ... }: + { self, nixpkgs, rust-nixpkgs, ... }: let supportedSystems = [ "x86_64-linux" @@ -36,7 +40,10 @@ inherit system; overlays = [ self.overlays.default ]; }; - mcpPackages = import ./packages { inherit pkgs; }; + # yarr needs rustc 1.97.1; the main nixpkgs input only has 1.95. + # Build its rust toolchain from the newer rust-nixpkgs input. + rustPkgs = import rust-nixpkgs { inherit system; }; + mcpPackages = import ./packages { inherit pkgs rustPkgs; }; in mcpPackages // { default = pkgs.symlinkJoin { @@ -53,7 +60,8 @@ inherit system; overlays = [ self.overlays.default ]; }; - mcpPackages = import ./packages { inherit pkgs; }; + rustPkgs = import rust-nixpkgs { inherit system; }; + mcpPackages = import ./packages { inherit pkgs rustPkgs; }; in { default = pkgs.mkShell { diff --git a/overlays/default.nix b/overlays/default.nix index 5bb2233..f510284 100644 --- a/overlays/default.nix +++ b/overlays/default.nix @@ -16,8 +16,11 @@ # }; # } # +# Note: yarr is excluded from the overlay because it needs rustc 1.97.1 +# from a specific nixpkgs input. Build it via nix build .#yarr on the +# flake directly. final: prev: let mcpPackages = import ../packages { pkgs = final; }; in -mcpPackages +builtins.removeAttrs mcpPackages [ "yarr" ] \ No newline at end of file diff --git a/packages/default.nix b/packages/default.nix index 124c116..1fff09f 100644 --- a/packages/default.nix +++ b/packages/default.nix @@ -1,4 +1,4 @@ -{ pkgs }: +{ pkgs, rustPkgs ? pkgs }: { manim-mcp-server = pkgs.callPackage ./manim-mcp-server/package.nix { }; @@ -28,6 +28,6 @@ navidrome-mcp = pkgs.callPackage ./navidrome-mcp/package.nix { }; ovhcloud-mcp = pkgs.callPackage ./ovhcloud-mcp/package.nix { }; slskd-mcp = pkgs.callPackage ./slskd-mcp/package.nix { }; - yarr = pkgs.callPackage ./yarr/package.nix { }; + yarr = rustPkgs.callPackage ./yarr/package.nix { }; # example-mcp-server = pkgs.callPackage ./example-mcp-server/package.nix { }; -} +} \ No newline at end of file diff --git a/packages/yarr/package.nix b/packages/yarr/package.nix index c867a95..990ce71 100644 --- a/packages/yarr/package.nix +++ b/packages/yarr/package.nix @@ -1,16 +1,9 @@ { lib, - makeRustPlatform, + rustPlatform, fetchFromGitHub, - rustc, - cargo, }: -let - rustPlatform = makeRustPlatform { - inherit cargo rustc; - }; -in rustPlatform.buildRustPackage rec { pname = "yarr"; version = "2.2.2";