|
55 | 55 | cp -R ${cursorSrc}/resources/app/resources ${root}/resources/app/ |
56 | 56 | ''; |
57 | 57 |
|
| 58 | + artifactName = os: arch: ext: "cursor_${cursorVersion}_${os}_${arch}.${ext}"; |
| 59 | + |
58 | 60 | # Overrides the VS Code package with Cursor's resources. |
59 | 61 | buildCursorNix = { vscodePackage }: |
60 | 62 | vscodePackage.overrideAttrs (oldAttrs: { |
|
129 | 131 | name = "linux-arm64"; |
130 | 132 | }; |
131 | 133 | arm64-appimage = pkgs.stdenv.mkDerivation { |
132 | | - name = "cursor-linux-arm64-appimage"; |
| 134 | + name = artifactName "linux" "arm64" "AppImage"; |
133 | 135 | src = self.packages.${system}.cursor.linux.arm64; |
134 | 136 | dontPatchShebangs = true; |
135 | 137 | buildInputs = [ pkgs.appimagekit ]; |
136 | 138 | buildPhase = '' |
137 | 139 | mkdir -p $out |
138 | | - ARCH=arm_aarch64 appimagetool $src $out/cursor.AppImage |
139 | | - chmod +x $out/cursor.AppImage |
140 | | - patchelf --set-interpreter /lib/ld-linux-aarch64.so.1 $out/cursor.AppImage |
| 140 | + ARCH=arm_aarch64 appimagetool $src $out/${artifactName "linux" "arm64" "AppImage"} |
| 141 | + chmod +x $out/${artifactName "linux" "arm64" "AppImage"} |
| 142 | + patchelf --set-interpreter /lib/ld-linux-aarch64.so.1 $out/${artifactName "linux" "arm64" "AppImage"} |
141 | 143 | ''; |
142 | 144 | }; |
143 | 145 | arm64-targz = pkgs.runCommand "tarball" { } '' |
144 | 146 | mkdir -p $out |
145 | 147 | cd ${self.packages.${system}.cursor.linux.arm64} |
146 | | - ${pkgs.gnutar}/bin/tar -czvf $out/cursor-linux-arm64-${cursorVersion}.tar.gz . |
| 148 | + ${pkgs.gnutar}/bin/tar -czvf $out/${artifactName "linux" "arm64" "tar.gz"} . |
147 | 149 | ''; |
148 | 150 |
|
149 | 151 | arm32 = buildCursorPrepackaged { |
150 | 152 | vscodeFiles = vscodeLinuxArm32; |
151 | 153 | name = "linux-arm32"; |
152 | 154 | }; |
153 | 155 | arm32-appimage = pkgs.stdenv.mkDerivation { |
154 | | - name = "cursor-linux-arm32-appimage"; |
| 156 | + name = artifactName "linux" "arm32" "AppImage"; |
155 | 157 | src = self.packages.${system}.cursor.linux.arm32; |
156 | 158 | dontPatchShebangs = true; |
157 | 159 | buildInputs = [ pkgs.appimagekit ]; |
158 | 160 | buildPhase = '' |
159 | 161 | mkdir -p $out |
160 | | - ARCH=arm appimagetool $src $out/cursor.AppImage |
161 | | - chmod +x $out/cursor.AppImage |
162 | | - patchelf --set-interpreter /lib/ld-linux.so.3 $out/cursor.AppImage |
| 162 | + ARCH=arm appimagetool $src $out/${artifactName "linux" "arm32" "AppImage"} |
| 163 | + chmod +x $out/${artifactName "linux" "arm32" "AppImage"} |
| 164 | + patchelf --set-interpreter /lib/ld-linux.so.3 $out/${artifactName "linux" "arm32" "AppImage"} |
163 | 165 | ''; |
164 | 166 | }; |
165 | 167 | arm32-targz = pkgs.runCommand "tarball" { } '' |
166 | 168 | mkdir -p $out |
167 | 169 | cd ${self.packages.${system}.cursor.linux.arm32} |
168 | | - ${pkgs.gnutar}/bin/tar -czvf $out/cursor-linux-arm32-${cursorVersion}.tar.gz . |
| 170 | + ${pkgs.gnutar}/bin/tar -czvf $out/${artifactName "linux" "arm32" "tar.gz"} . |
169 | 171 | ''; |
170 | 172 | }; |
171 | 173 | windows = { |
|
174 | 176 | name = "windows-arm64"; |
175 | 177 | isWindows = true; |
176 | 178 | }; |
| 179 | + arm64-zip = pkgs.runCommand "zip" { } '' |
| 180 | + mkdir -p $out |
| 181 | + cd ${self.packages.${system}.cursor.windows.arm64} |
| 182 | + ${pkgs.zip}/bin/zip -r $out/${artifactName "windows" "arm64" "zip"} . |
| 183 | + ''; |
177 | 184 | }; |
178 | 185 |
|
179 | 186 | nix = buildCursorNix { |
|
0 commit comments