From f9f46346b745a7cabdfbc7009cff215ad10f81fb Mon Sep 17 00:00:00 2001 From: Robin Appelman Date: Tue, 23 Jun 2026 15:22:00 +0200 Subject: [PATCH] chore: update nixpkgs to 26.05 Signed-off-by: Robin Appelman --- flake.lock | 20 ++--- flake.nix | 249 ++++++++++++++++++++++++++++++----------------------- 2 files changed, 150 insertions(+), 119 deletions(-) diff --git a/flake.lock b/flake.lock index 73d6916..d068a82 100644 --- a/flake.lock +++ b/flake.lock @@ -53,11 +53,11 @@ ] }, "locked": { - "lastModified": 1769799857, - "narHash": "sha256-88IFXZ7Sa1vxbz5pty0Io5qEaMQMMUPMonLa3Ls/ss4=", + "lastModified": 1782220280, + "narHash": "sha256-thLTFbp9D5Qknmh8q/v4FRpLGphUSijT3E86cbLYTXo=", "owner": "nix-community", "repo": "naersk", - "rev": "9d4ed44d8b8cecdceb1d6fd76e74123d90ae6339", + "rev": "9aa07bb0256d300219b30622d2454e85f7f3667e", "type": "github" }, "original": { @@ -68,16 +68,16 @@ }, "nixpkgs": { "locked": { - "lastModified": 1772047000, - "narHash": "sha256-7DaQVv4R97cii/Qdfy4tmDZMB2xxtyIvNGSwXBBhSmo=", + "lastModified": 1782116945, + "narHash": "sha256-G3tw/IXmaH6IQ2upZvhuN9sG8CkuX+BLuJDpE8hz0Ds=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "1267bb4920d0fc06ea916734c11b0bf004bbe17e", + "rev": "34268251cf5547d39063f2c5ea9a196246f7f3a6", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixos-25.11", + "ref": "nixos-26.05", "repo": "nixpkgs", "type": "github" } @@ -115,11 +115,11 @@ ] }, "locked": { - "lastModified": 1772420823, - "narHash": "sha256-q3oVwz1Rx41D1D+F6vg41kpOkk3Zi3KwnkHEZp7DCGs=", + "lastModified": 1782184651, + "narHash": "sha256-4XHdXp3MRa++XiGkltJChCtdbCmSlNTwQRfWQOhqbRw=", "owner": "oxalica", "repo": "rust-overlay", - "rev": "458eea8d905c609e9d889423e6b8a1c7bc2f792c", + "rev": "f59bc28dd0b89e9c0240d1b80195559fc79c2471", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index b4775e5..6a4123c 100644 --- a/flake.nix +++ b/flake.nix @@ -1,6 +1,6 @@ { inputs = { - nixpkgs.url = "github:NixOS/nixpkgs/nixos-25.11"; + nixpkgs.url = "github:NixOS/nixpkgs/nixos-26.05"; utils.url = "github:numtide/flake-utils"; naersk.url = "github:nix-community/naersk"; naersk.inputs.nixpkgs.follows = "nixpkgs"; @@ -12,125 +12,156 @@ cross-naersk.inputs.naersk.follows = "naersk"; }; - outputs = { - self, - nixpkgs, - utils, - naersk, - rust-overlay, - cross-naersk, - }: - utils.lib.eachDefaultSystem (system: let - overlays = [(import rust-overlay)]; - pkgs = import nixpkgs { - inherit system overlays; - }; - lib = pkgs.lib; - - hostTarget = pkgs.stdenv.hostPlatform.config; - targets = [ - "x86_64-unknown-linux-musl" - "i686-unknown-linux-musl" - "armv7-unknown-linux-musleabihf" - "aarch64-unknown-linux-musl" - "x86_64-unknown-freebsd" - ]; - clientTargets = [ - "x86_64-unknown-linux-musl" - "i686-unknown-linux-musl" - "armv7-unknown-linux-musleabihf" - "aarch64-unknown-linux-musl" - "x86_64-unknown-freebsd" - "x86_64-pc-windows-gnu" - ]; - - inherit (builtins) listToAttrs fromTOML readFile; - inherit (lib.attrsets) genAttrs nameValuePair; - inherit (lib.lists) map; - inherit (cross-naersk') execSufficForTarget; + outputs = + { + self, + nixpkgs, + utils, + naersk, + rust-overlay, + cross-naersk, + }: + utils.lib.eachDefaultSystem ( + system: + let + overlays = [ (import rust-overlay) ]; + pkgs = import nixpkgs { + inherit system overlays; + }; + lib = pkgs.lib; - artifactForTarget = target: "notify_push"; - assetNameForTarget = target: "notify_push-${target}"; + hostTarget = pkgs.stdenv.hostPlatform.config; + targets = [ + "x86_64-unknown-linux-musl" + "i686-unknown-linux-musl" + "armv7-unknown-linux-musleabihf" + "aarch64-unknown-linux-musl" + "x86_64-unknown-freebsd" + ]; + clientTargets = [ + "x86_64-unknown-linux-musl" + "i686-unknown-linux-musl" + "armv7-unknown-linux-musleabihf" + "aarch64-unknown-linux-musl" + "x86_64-unknown-freebsd" + "x86_64-pc-windows-gnu" + ]; - cross-naersk' = pkgs.callPackage cross-naersk { - inherit naersk; - toolchain = pkgs.rust-bin.stable.latest.default; - }; + inherit (builtins) listToAttrs fromTOML readFile; + inherit (lib.attrsets) genAttrs nameValuePair; + inherit (lib.lists) map; + inherit (cross-naersk') execSufficForTarget; - src = lib.sources.sourceByRegex (lib.cleanSource ./.) ["Cargo.*" "(src|tests|test_client|build.rs|appinfo)(/.*)?"]; + artifactForTarget = target: "notify_push"; + assetNameForTarget = target: "notify_push-${target}"; - nearskOpt = { - pname = "notify_push"; - inherit src; - }; - testClientOpts = nearskOpt // { - cargoBuildOptions = x: x ++ ["-p" "test_client"]; - }; - buildServer = target: (cross-naersk'.buildPackage target) nearskOpt; - buildTestClient = target: (cross-naersk'.buildPackage target) testClientOpts; - hostNaersk = cross-naersk'.hostNaersk; + cross-naersk' = pkgs.callPackage cross-naersk { + inherit naersk; + toolchain = pkgs.rust-bin.stable.latest.default; + }; - checks = ["check" "clippy" "test"]; + src = lib.sources.sourceByRegex (lib.cleanSource ./.) [ + "Cargo.*" + "(src|tests|test_client|build.rs|appinfo)(/.*)?" + ]; - msrv = (fromTOML (readFile ./Cargo.toml)).package.rust-version; - msrvToolchain = pkgs.rust-bin.stable."${msrv}".default; - naerskMsrv = let - toolchain = msrvToolchain; - in - pkgs.callPackage naersk { - cargo = toolchain; - rustc = toolchain; + nearskOpt = { + pname = "notify_push"; + inherit src; }; + testClientOpts = nearskOpt // { + cargoBuildOptions = + x: + x + ++ [ + "-p" + "test_client" + ]; + }; + buildServer = target: (cross-naersk'.buildPackage target) nearskOpt; + buildTestClient = target: (cross-naersk'.buildPackage target) testClientOpts; + hostNaersk = cross-naersk'.hostNaersk; - testClientArtifactForTarget = target: "test_client${execSufficForTarget target}"; + checks = [ + "check" + "clippy" + "test" + ]; - in rec { - # `nix build` - packages = - # cross compile notify_push for all targets - (genAttrs targets buildServer) // - # cross compile build test_client for all test_client-targets - (listToAttrs (map (target: nameValuePair "test_client-${target}" (buildTestClient target)) clientTargets)) // - # check,test,clippy for notify_push - (genAttrs checks (mode: hostNaersk.buildPackage (nearskOpt // { inherit mode;}))) // - # check,test,clippy for test_client - (listToAttrs (map (mode: nameValuePair "test_client-${mode}" (hostNaersk.buildPackage (testClientOpts // { inherit mode;}))) checks)) - // rec { - notify_push = hostNaersk.buildPackage nearskOpt; - test_client = hostNaersk.buildPackage testClientOpts; - checkMsrv = naerskMsrv.buildPackage (nearskOpt - // { - mode = "check"; - }); - default = notify_push; - }; + msrv = (fromTOML (readFile ./Cargo.toml)).package.rust-version; + msrvToolchain = pkgs.rust-bin.stable."${msrv}".default; + naerskMsrv = + let + toolchain = msrvToolchain; + in + pkgs.callPackage naersk { + cargo = toolchain; + rustc = toolchain; + }; - inherit targets clientTargets; - testClientMatrix = { - include = map (target: { - inherit target; - extension = execSufficForTarget target; - }) clientTargets; - }; + testClientArtifactForTarget = target: "test_client${execSufficForTarget target}"; - devShells = { - default = cross-naersk'.mkShell ["x86_64-unknown-linux-gnu"] { - nativeBuildInputs = with pkgs; [ - (rust-bin.stable.latest.default.override {targets = targets ++ [hostTarget];}) - krankerl - cargo-edit - cargo-outdated - cargo-audit - bacon - php - phpPackages.composer - ]; + in + rec { + # `nix build` + packages = + # cross compile notify_push for all targets + (genAttrs targets buildServer) + // + # cross compile build test_client for all test_client-targets + (listToAttrs ( + map (target: nameValuePair "test_client-${target}" (buildTestClient target)) clientTargets + )) + // + # check,test,clippy for notify_push + (genAttrs checks (mode: hostNaersk.buildPackage (nearskOpt // { inherit mode; }))) + // + # check,test,clippy for test_client + (listToAttrs ( + map ( + mode: + nameValuePair "test_client-${mode}" (hostNaersk.buildPackage (testClientOpts // { inherit mode; })) + ) checks + )) + // rec { + notify_push = hostNaersk.buildPackage nearskOpt; + test_client = hostNaersk.buildPackage testClientOpts; + checkMsrv = naerskMsrv.buildPackage ( + nearskOpt + // { + mode = "check"; + } + ); + default = notify_push; + }; + + inherit targets clientTargets; + testClientMatrix = { + include = map (target: { + inherit target; + extension = execSufficForTarget target; + }) clientTargets; }; - msrv = cross-naersk'.mkShell ["x86_64-unknown-linux-gnu"] { - nativeBuildInputs = with pkgs; [ - msrvToolchain - ]; + + devShells = { + default = cross-naersk'.mkShell [ "x86_64-unknown-linux-gnu" ] { + nativeBuildInputs = with pkgs; [ + (rust-bin.stable.latest.default.override { targets = targets ++ [ hostTarget ]; }) + krankerl + cargo-edit + cargo-outdated + cargo-audit + bacon + php + phpPackages.composer + ]; + }; + msrv = cross-naersk'.mkShell [ "x86_64-unknown-linux-gnu" ] { + nativeBuildInputs = with pkgs; [ + msrvToolchain + ]; + }; }; - }; - }); + } + ); }