Unverified Commit e77c31fb authored by Peder Bergebakken Sundt's avatar Peder Bergebakken Sundt Committed by GitHub
Browse files

cherry-studio: 1.0.1 -> 1.1.8 (#390414)

parents dd1206ce 8eeecc40
Loading
Loading
Loading
Loading
+14 −38
Original line number Diff line number Diff line
{
  lib,
  stdenv,
  stdenvNoCC,
  fetchFromGitHub,
  cacert,
  yarn-berry,
  nodejs,
  electron,
  makeWrapper,
  writableTmpDirAsHomeHook,
  makeDesktopItem,
  copyDesktopItems,
  nix-update-script,
  commandLineArgs ? "",
}:

stdenv.mkDerivation (finalAttrs: {
stdenvNoCC.mkDerivation (finalAttrs: {
  pname = "cherry-studio";
  version = "1.0.1";
  version = "1.1.8";

  src = fetchFromGitHub {
    owner = "CherryHQ";
    repo = "cherry-studio";
    tag = "v${finalAttrs.version}";
    hash = "sha256-C8D0XCwIFWG+5WakAK+TmI4VVuIYJBSgkv5ynM2Ewkc=";
    hash = "sha256-zZwweJso4KaJMXNUJ+kEvbkHOkhvvPv/IYu/evXzsWs=";
  };

  yarnOfflineCache = stdenvNoCC.mkDerivation {
@@ -36,28 +33,11 @@ stdenv.mkDerivation (finalAttrs: {
      writableTmpDirAsHomeHook
    ];

    postConfigure =
      let
        supportedArchitectures = builtins.toJSON {
          os = [
            "darwin"
            "linux"
          ];
          cpu = [
            "x64"
            "ia32"
            "arm64"
          ];
          libc = [
            "glibc"
            "musl"
          ];
        };
      in
      ''
    postConfigure = ''
      yarn config set enableTelemetry false
      yarn config set enableGlobalCache false
        yarn config set supportedArchitectures --json '${supportedArchitectures}'
      yarn config set --json supportedArchitectures.os '[ "linux", "darwin" ]'
      yarn config set --json supportedArchitectures.cpu '["arm", "arm64", "ia32", "x64"]'
      yarn config set cacheFolder $out
    '';

@@ -70,7 +50,7 @@ stdenv.mkDerivation (finalAttrs: {
    '';

    outputHashMode = "recursive";
    outputHash = "sha256-DrEkaXkbaY40uYH7niT10OFJH+PD7ip3A4OCwbKmtz8=";
    outputHash = "sha256-HKtd+zdP7e/6vmlL4NS8X8gZ8AhxThtOS7taQ+iAnK0=";
  };

  nativeBuildInputs = [
@@ -80,11 +60,7 @@ stdenv.mkDerivation (finalAttrs: {
    copyDesktopItems
  ];

  env = {
    ELECTRON_SKIP_BINARY_DOWNLOAD = "1";
    npm_config_build_from_source = "true";
    npm_config_nodedir = nodejs;
  };
  env.ELECTRON_SKIP_BINARY_DOWNLOAD = "1";

  postConfigure = ''
    yarn config set enableTelemetry false
@@ -126,7 +102,7 @@ stdenv.mkDerivation (finalAttrs: {
    mkdir -p $out/lib/cherry-studio
    cp -r dist/linux-unpacked/{resources,LICENSE*} $out/lib/cherry-studio
    install -Dm644 build/icon.png $out/share/pixmaps/cherry-studio.png
    makeWrapper "${lib.getExe electron}" $out/bin/cherry-studio \
    makeWrapper ${lib.getExe electron} $out/bin/cherry-studio \
      --inherit-argv0 \
      --add-flags $out/lib/cherry-studio/resources/app.asar \
      --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations --enable-wayland-ime=true}}" \
@@ -135,7 +111,7 @@ stdenv.mkDerivation (finalAttrs: {
    runHook postInstall
  '';

  passthru.updateScript = nix-update-script { };
  passthru.updateScript = ./update.sh;

  meta = {
    description = "Desktop client that supports for multiple LLM providers";
+16 −0
Original line number Diff line number Diff line
#!/usr/bin/env nix-shell
#!nix-shell -i bash -p curl gnused jq nix bash coreutils nix-update

set -eou pipefail

latestTag=$(curl ${GITHUB_TOKEN:+-u ":$GITHUB_TOKEN"} -sL https://api.github.com/repos/CherryHQ/cherry-studio/releases/latest | jq --raw-output .tag_name)
latestVersion=$(echo "$latestTag" | sed 's/^v//')

currentVersion=$(nix-instantiate --eval -E "with import ./. {}; cherry-studio.version or (lib.getVersion cherry-studio)" | tr -d '"')

if [[ "$currentVersion" == "$latestVersion" ]]; then
    echo "package is up-to-date: $currentVersion"
    exit 0
fi

nix-update cherry-studio --version "$latestVersion"