From 476009ef9985570a298ce1d586fbc67bf33c76f4 Mon Sep 17 00:00:00 2001 From: Eric Helgeson Date: Sun, 5 Apr 2026 10:45:05 -0500 Subject: [PATCH] pioasm: 2.1.1 -> 2.2.0 - Use cmake's built-in install targets instead of manually installing only the binary. This installs cmake config files (pioasmConfig.cmake, pioasmConfigVersion.cmake, pioasmTargets.cmake) to lib/cmake/pioasm/, enabling find_package(pioasm CONFIG) to work. Without these files, projects using pico-sdk fall back to rebuilding pioasm from source via ExternalProject_Add for every build target. - Remove gcc-15 patch (included upstream) - Add updateScript and changelog --- pkgs/by-name/pi/pioasm/package.nix | 30 +++++++++--------------------- 1 file changed, 9 insertions(+), 21 deletions(-) diff --git a/pkgs/by-name/pi/pioasm/package.nix b/pkgs/by-name/pi/pioasm/package.nix index c37ca3dba5a9..6e65a52d9d97 100644 --- a/pkgs/by-name/pi/pioasm/package.nix +++ b/pkgs/by-name/pi/pioasm/package.nix @@ -2,33 +2,22 @@ lib, stdenv, fetchFromGitHub, - fetchpatch, cmake, ninja, + nix-update-script, }: stdenv.mkDerivation (finalAttrs: { pname = "pioasm"; - version = "2.1.1"; + version = "2.2.0"; src = fetchFromGitHub { owner = "raspberrypi"; repo = "pico-sdk"; - rev = finalAttrs.version; - hash = "sha256-epO7yw6/21/ess3vMCkXvXEqAn6/4613zmH/hbaBbUw="; + tag = finalAttrs.version; + hash = "sha256-hQdEZD84/cnLSzP5Xr9vbOGROQz4BjeVOnvbyhe6rfM="; }; - patches = [ - # Pull upstream fix for gcc-15: - # https://github.com/raspberrypi/pico-sdk/pull/2468 - (fetchpatch { - name = "gcc-15.patch"; - url = "https://github.com/raspberrypi/pico-sdk/commit/66540fe88e86a9f324422b7451a3b5dff4c0449f.patch"; - hash = "sha256-KwTED7/IWorgRTw1XMU2ILJhf6DAioGuVIunlC1QdNE="; - stripLen = 2; - }) - ]; - sourceRoot = "${finalAttrs.src.name}/tools/pioasm"; nativeBuildInputs = [ @@ -36,17 +25,16 @@ stdenv.mkDerivation (finalAttrs: { ninja ]; - installPhase = '' - runHook preInstall + cmakeFlags = [ + (lib.cmakeFeature "PIOASM_VERSION_STRING" finalAttrs.version) + ]; - install -D pioasm $out/bin/pioasm - - runHook postInstall - ''; + passthru.updateScript = nix-update-script { }; meta = { description = "Assemble PIO programs for Raspberry Pi Pico"; homepage = "https://github.com/raspberrypi/pico-sdk"; + changelog = "https://github.com/raspberrypi/pico-sdk/releases/tag/${finalAttrs.version}"; license = lib.licenses.bsd3; maintainers = with lib.maintainers; [ emilytrau ]; platforms = lib.platforms.unix;