From e8a3e73cf42c8f7f8406fe32b089a11c3ff215e0 Mon Sep 17 00:00:00 2001 From: Mix <32300164+mnixry@users.noreply.github.com> Date: Tue, 30 Jun 2026 17:29:24 +0800 Subject: [PATCH] powertop-macos: init at 1.3.3 Add the macOS PowerTop menu bar application under a macOS-qualified name to avoid colliding with the existing Linux powertop package. Upstream is source-available and ships build.sh, but the source build currently requires newer Apple Swift Observation macro support than nixpkgs' Swift 5.10 provides. Package the upstream release zip instead and mark the package as binaryNativeCode. Assisted-by: OpenAI Codex --- pkgs/by-name/po/powertop-macos/package.nix | 61 ++++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 pkgs/by-name/po/powertop-macos/package.nix diff --git a/pkgs/by-name/po/powertop-macos/package.nix b/pkgs/by-name/po/powertop-macos/package.nix new file mode 100644 index 000000000000..8afec4ad9362 --- /dev/null +++ b/pkgs/by-name/po/powertop-macos/package.nix @@ -0,0 +1,61 @@ +{ + fetchurl, + lib, + makeWrapper, + nix-update-script, + rcodesign, + stdenvNoCC, + unzip, +}: + +stdenvNoCC.mkDerivation (finalAttrs: { + pname = "powertop-macos"; + version = "1.3.3"; + + strictDeps = true; + __structuredAttrs = true; + + src = fetchurl { + url = "https://github.com/kDolphin/PowerTop/releases/download/v${finalAttrs.version}/PowerTop.zip"; + hash = "sha256-GIuhJVyKjFsltlg9zZByHryaIYV6F+5Uj1yTucOL9Gw="; + }; + + nativeBuildInputs = [ + makeWrapper + rcodesign + unzip + ]; + + dontConfigure = true; + dontBuild = true; + sourceRoot = "."; + + installPhase = '' + runHook preInstall + + app="$out/Applications/PowerTop.app" + mkdir -p "$out/Applications" + cp -R PowerTop.app "$app" + + makeWrapper "$app/Contents/MacOS/PowerTop" "$out/bin/powertop-macos" + + runHook postInstall + ''; + + postFixup = '' + ${lib.getExe rcodesign} sign "$out/Applications/PowerTop.app" + ''; + + passthru.updateScript = nix-update-script { extraArgs = [ "--use-github-releases" ]; }; + + meta = { + changelog = "https://github.com/kDolphin/PowerTop/releases/tag/v${finalAttrs.version}"; + description = "Menu bar app for monitoring MacBook power usage"; + homepage = "https://github.com/kDolphin/PowerTop"; + license = lib.licenses.mit; + maintainers = [ ]; + mainProgram = "powertop-macos"; + platforms = [ "aarch64-darwin" ]; + sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ]; + }; +})