11{
22 lib ,
3- stdenv ,
43 stdenvNoCC ,
54 fetchFromGitHub ,
65 cacert ,
76 yarn-berry ,
8- nodejs ,
97 electron ,
108 makeWrapper ,
119 writableTmpDirAsHomeHook ,
1210 makeDesktopItem ,
1311 copyDesktopItems ,
14- nix-update-script ,
1512 commandLineArgs ? "" ,
1613} :
1714
18- stdenv . mkDerivation ( finalAttrs : {
15+ stdenvNoCC . mkDerivation ( finalAttrs : {
1916 pname = "cherry-studio" ;
20- version = "1.0.1 " ;
17+ version = "1.1.8 " ;
2118
2219 src = fetchFromGitHub {
2320 owner = "CherryHQ" ;
2421 repo = "cherry-studio" ;
2522 tag = "v${ finalAttrs . version } " ;
26- hash = "sha256-C8D0XCwIFWG+5WakAK+TmI4VVuIYJBSgkv5ynM2Ewkc =" ;
23+ hash = "sha256-zZwweJso4KaJMXNUJ+kEvbkHOkhvvPv/IYu/evXzsWs =" ;
2724 } ;
2825
2926 yarnOfflineCache = stdenvNoCC . mkDerivation {
@@ -36,30 +33,13 @@ stdenv.mkDerivation (finalAttrs: {
3633 writableTmpDirAsHomeHook
3734 ] ;
3835
39- postConfigure =
40- let
41- supportedArchitectures = builtins . toJSON {
42- os = [
43- "darwin"
44- "linux"
45- ] ;
46- cpu = [
47- "x64"
48- "ia32"
49- "arm64"
50- ] ;
51- libc = [
52- "glibc"
53- "musl"
54- ] ;
55- } ;
56- in
57- ''
58- yarn config set enableTelemetry false
59- yarn config set enableGlobalCache false
60- yarn config set supportedArchitectures --json '${ supportedArchitectures } '
61- yarn config set cacheFolder $out
62- '' ;
36+ postConfigure = ''
37+ yarn config set enableTelemetry false
38+ yarn config set enableGlobalCache false
39+ yarn config set --json supportedArchitectures.os '[ "linux", "darwin" ]'
40+ yarn config set --json supportedArchitectures.cpu '["arm", "arm64", "ia32", "x64"]'
41+ yarn config set cacheFolder $out
42+ '' ;
6343
6444 buildPhase = ''
6545 runHook preBuild
@@ -70,7 +50,7 @@ stdenv.mkDerivation (finalAttrs: {
7050 '' ;
7151
7252 outputHashMode = "recursive" ;
73- outputHash = "sha256-DrEkaXkbaY40uYH7niT10OFJH+PD7ip3A4OCwbKmtz8 =" ;
53+ outputHash = "sha256-HKtd+zdP7e/6vmlL4NS8X8gZ8AhxThtOS7taQ+iAnK0 =" ;
7454 } ;
7555
7656 nativeBuildInputs = [
@@ -80,11 +60,7 @@ stdenv.mkDerivation (finalAttrs: {
8060 copyDesktopItems
8161 ] ;
8262
83- env = {
84- ELECTRON_SKIP_BINARY_DOWNLOAD = "1" ;
85- npm_config_build_from_source = "true" ;
86- npm_config_nodedir = nodejs ;
87- } ;
63+ env . ELECTRON_SKIP_BINARY_DOWNLOAD = "1" ;
8864
8965 postConfigure = ''
9066 yarn config set enableTelemetry false
@@ -126,7 +102,7 @@ stdenv.mkDerivation (finalAttrs: {
126102 mkdir -p $out/lib/cherry-studio
127103 cp -r dist/linux-unpacked/{resources,LICENSE*} $out/lib/cherry-studio
128104 install -Dm644 build/icon.png $out/share/pixmaps/cherry-studio.png
129- makeWrapper " ${ lib . getExe electron } " $out/bin/cherry-studio \
105+ makeWrapper ${ lib . getExe electron } $out/bin/cherry-studio \
130106 --inherit-argv0 \
131107 --add-flags $out/lib/cherry-studio/resources/app.asar \
132108 --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: {
135111 runHook postInstall
136112 '' ;
137113
138- passthru . updateScript = nix- update-script { } ;
114+ passthru . updateScript = ./ update.sh ;
139115
140116 meta = {
141117 description = "Desktop client that supports for multiple LLM providers" ;
0 commit comments