require 'package' class Cursor < Package description 'The AI Code Editor' homepage 'https://www.cursor.com/' version '0.46.9' license 'Cursor EULA' compatibility 'x86_64' source_url "https://anysphere-binaries.s3.us-east-1.amazonaws.com/production/client/linux/x64/appimage/Cursor-#{version}-3395357a4ee2975d5d03595e7607ee84e3db0f2c.deb.glibc2.25-x86_64.AppImage" source_sha256 '19b945b892f6c7e548b28f2f2bf4d1e377ab1353b44e97c000d03291f24118d0' no_compile_needed no_shrink depends_on 'gdk_base' depends_on 'gtk3' depends_on 'sommelier' def self.patch system "sed -i 's,AppRun,cursor,' cursor.desktop" end def self.build File.write 'cursor.sh', <<~EOF #!/bin/bash cd #{CREW_PREFIX}/share/cursor GDK_BACKEND=x11 ./AppRun "$@" EOF end def self.install FileUtils.mkdir_p "#{CREW_DEST_PREFIX}/bin" FileUtils.cp_r 'usr/share', CREW_DEST_PREFIX FileUtils.install 'cursor.desktop', "#{CREW_DEST_PREFIX}/share/applications/cursor.desktop", mode: 0o644 FileUtils.install 'cursor.sh', "#{CREW_DEST_PREFIX}/bin/cursor", mode: 0o755 FileUtils.mv Dir['*'], "#{CREW_DEST_PREFIX}/share/cursor" end def self.postinstall ExitMessage.add "\nType 'cursor' to get started.\n" end end