diff --git a/pkgs/by-name/wa/waveterm/package.nix b/pkgs/by-name/wa/waveterm/package.nix index a72a83b30f03..b5a335068c3b 100644 --- a/pkgs/by-name/wa/waveterm/package.nix +++ b/pkgs/by-name/wa/waveterm/package.nix @@ -4,7 +4,6 @@ fetchurl, makeDesktopItem, copyDesktopItems, - unzip, autoPatchelfHook, atk, at-spi2-atk, @@ -29,32 +28,34 @@ wrapGAppsHook3, udev, libGL, + fetchzip, }: let pname = "waveterm"; - version = "0.9.1"; + version = "0.9.2"; src = let inherit (stdenv.hostPlatform) system; - selectSystem = attrs: attrs.${system} or (throw "Unsupported system: ${system}"); + selectSystem = attrs: attrs.${system}; suffix = selectSystem { - x86_64-linux = "waveterm-linux-x64-${version}.zip"; - aarch64-linux = "waveterm-linux-arm64-${version}.zip"; - x86_64-darwin = "Wave-darwin-universal-${version}.zip "; - aarch64-darwin = "Wave-darwin-arm64-${version}.zip"; + x86_64-linux = "waveterm-linux-x64"; + aarch64-linux = "waveterm-linux-arm64"; + x86_64-darwin = "Wave-darwin-x64"; + aarch64-darwin = "Wave-darwin-arm64"; }; hash = selectSystem { - x86_64-linux = "sha256-DtpS9jRQljAhPA9Qcpd5acIeCyb5E/Nkyg3LXa4wrk0="; - aarch64-linux = "sha256-xM+34vsp+LFCYAFIrb0mKQRy/vPqn7FFvPlzV4JWPCg="; - x86_64-darwin = "sha256-fadf/qOec1liqpBOH+lTEGnTYJlvL8QJ3kHNcuI1wew="; - aarch64-darwin = "sha256-kKDDeIyO4CSxLWYpJyfz0Egl2S1ADRk4N/XXpsCBXVo="; + x86_64-linux = "sha256-s6s/SfLNVwRN50OgqWTohHT8/rFuu4P3hpxfhA7kPOU="; + aarch64-linux = "sha256-dxQbTPvge3QY40rWKAOV/uuTPzHsfNk9USxICoF1CQM="; + x86_64-darwin = "sha256-/nedzsQxqLclK5uwOKZ/WgRwjoHDCxLuI+/T1B3cyJM="; + aarch64-darwin = "sha256-lBJEJHgBozrR+JF5jlbmuG2c0P19qmjJUhwlJtHqkRE="; }; in - fetchurl { - url = "https://github.com/wavetermdev/waveterm/releases/download/v${version}/${suffix}"; + fetchzip { + url = "https://github.com/wavetermdev/waveterm/releases/download/v${version}/${suffix}-${version}.zip"; inherit hash; + stripRoot = false; }; passthru.updateScript = ./update.sh; @@ -84,12 +85,6 @@ let }) ]; - unpackPhase = '' - runHook preUnpack - unzip ${src} -d ./ - runHook postUnpack - ''; - meta = { description = "Open-source, cross-platform terminal for seamless workflows"; homepage = "https://www.waveterm.dev"; @@ -111,13 +106,11 @@ let version src desktopItems - unpackPhase meta passthru ; nativeBuildInputs = [ - unzip copyDesktopItems autoPatchelfHook wrapGAppsHook3 @@ -152,8 +145,10 @@ let installPhase = '' runHook preInstall + mkdir -p $out/waveterm $out/bin cp -r ./* $out/waveterm/ + runHook postInstall ''; @@ -172,21 +167,18 @@ let pname version src - unpackPhase meta passthru ; - nativeBuildInputs = [ - unzip - ]; - sourceRoot = "Wave.app"; installPhase = '' runHook preInstall + mkdir -p $out/Applications/Wave.app cp -R . $out/Applications/Wave.app + runHook postInstall ''; }; diff --git a/pkgs/by-name/wa/waveterm/update.sh b/pkgs/by-name/wa/waveterm/update.sh index d56927f60bb0..468477fa48f7 100755 --- a/pkgs/by-name/wa/waveterm/update.sh +++ b/pkgs/by-name/wa/waveterm/update.sh @@ -1,7 +1,7 @@ #!/usr/bin/env nix-shell #!nix-shell -i bash -p bash nixVersions.latest curl coreutils jq common-updater-scripts -latestTag=$(curl https://api.github.com/repos/wavetermdev/waveterm/releases/latest | jq -r ".tag_name") +latestTag=$(curl -s ${GITHUB_TOKEN:+" -u \":$GITHUB_TOKEN\""} https://api.github.com/repos/wavetermdev/waveterm/releases/latest | jq -r ".tag_name") latestVersion="$(expr "$latestTag" : 'v\(.*\)')" currentVersion=$(nix-instantiate --eval -E "with import ./. {}; waveterm.version" | tr -d '"') @@ -15,10 +15,10 @@ fi for i in \ "x86_64-linux waveterm-linux-x64" \ "aarch64-linux waveterm-linux-arm64" \ - "x86_64-darwin Wave-darwin-universal" \ + "x86_64-darwin Wave-darwin-x64" \ "aarch64-darwin Wave-darwin-arm64"; do set -- $i - prefetch=$(nix-prefetch-url "https://github.com/wavetermdev/waveterm/releases/download/v$latestVersion/$2-$latestVersion.zip") + prefetch=$(nix-prefetch-url --unpack "https://github.com/wavetermdev/waveterm/releases/download/v$latestVersion/$2-$latestVersion.zip") hash=$(nix hash convert --hash-algo sha256 --to sri $prefetch) update-source-version waveterm $latestVersion $hash --system=$1 --ignore-same-version done