Cursor
Paquet d'installation silencieuse pour Cursor
3.13.21-1
Development
Development
- package: tis-cursor
- name: Cursor
- version: 3.13.21-1
- categories: Development
- maintainer: WAPT Team,Tranquil IT,Flavien SCHELFAUT
- editor: Anysphere
- locale: all
- target_os: linux
- impacted_process: Cursor
- architecture: x64
- signature_date:
- size: 298.28 Mo
- homepage : https://cursor.com/
package : tis-cursor
version : 3.13.21-1
architecture : x64
section : base
priority : optional
name : Cursor
categories : Development
maintainer : WAPT Team,Tranquil IT,Flavien SCHELFAUT
description : Cursor is a modern IDE built on VS Code, integrating AI to generate, explain, and fix code. It boosts development speed with smart, context-aware assistance.
depends :
conflicts :
maturity : PROD
locale : all
target_os : linux
min_wapt_version : 2.5
sources :
installed_size :
impacted_process : Cursor
description_fr : Cursor est un IDE moderne basé sur VS Code, intégrant une IA pour générer, expliquer et corriger le code. Il accélère le développement grâce à une assistance intelligente et contextuelle.
description_pl : Cursor to nowoczesne IDE oparte na VS Code, integrujące sztuczną inteligencję do generowania, wyjaśniania i naprawiania kodu. Przyspiesza rozwój dzięki inteligentnej i kontekstowej pomocy.
description_de : Cursor ist eine moderne IDE auf Basis von VS Code, die KI integriert, um Code zu generieren, zu erklären und zu korrigieren. Sie beschleunigt die Entwicklung durch intelligente, kontextbezogene Unterstützung.
description_es : Cursor es un IDE moderno basado en VS Code que integra IA para generar, explicar y corregir código. Acelera el desarrollo con asistencia inteligente y contextual.
description_pt : Cursor é um IDE moderno baseado no VS Code, integrando IA para gerar, explicar e corrigir código. Ele acelera o desenvolvimento com assistência inteligente e contextual.
description_it : Cursor è un IDE moderno basato su VS Code che integra l'IA per generare, spiegare e correggere il codice. Accelera lo sviluppo grazie a un'assistenza intelligente e contestuale.
description_nl : Cursor is een moderne IDE gebaseerd op VS Code, met geïntegreerde AI om code te genereren, uitleggen en corrigeren. Het versnelt de ontwikkeling met slimme, contextuele assistentie.
description_ru : Cursor — это современная IDE на основе VS Code, интегрирующая ИИ для генерации, объяснения и исправления кода. Она ускоряет разработку благодаря умной и контекстной помощи.
audit_schedule :
editor : Anysphere
keywords : cursor,ide,integrated,development,environment
licence :
homepage : https://cursor.com/
package_uuid : 15f01f94-35b3-47fb-996e-824eca55bce6
valid_from :
valid_until :
forced_install_on :
changelog : https://cursor.com/changelog
min_os_version :
max_os_version :
icon_sha256sum : 9cba6454810418fa31660e69ced09aa546f75bcfd3d873a4414f250694fa623c
signer : Tranquil IT
signer_fingerprint: 8c5127a75392be9cc9afd0dbae1222a673072c308c14d88ab246e23832e8c6bb
signature_date : 2026-08-01T19:21:30.000000
signed_attributes : package,version,architecture,section,priority,name,categories,maintainer,description,depends,conflicts,maturity,locale,target_os,min_wapt_version,sources,installed_size,impacted_process,description_fr,description_pl,description_de,description_es,description_pt,description_it,description_nl,description_ru,audit_schedule,editor,keywords,licence,homepage,package_uuid,valid_from,valid_until,forced_install_on,changelog,min_os_version,max_os_version,icon_sha256sum,signer,signer_fingerprint,signature_date,signed_attributes
signature : WzYtQEzaybu0oXrbywp+rle5/MSELz3EvEEAxm6C3bKRufTLAJ25Jje4DR39SUA9Yo8KZ/KtG1fznMOL/uHZBDE5EOqZkMbZYUWZkn2iI6J0Lrk4fl9/QP8ZNTu/AmglG8MXrPsPQJtlP+O8hGKtzniBYj7/Ty+BZYul8pDemI/7qFd3FOt/QxzkpWM9bbvwXcB9TW+uLetGuWNqeuFszbK3IrbUJUOdqD2eKqZmkY+GMGQ7VqpTGpg6VO5NgSjl+4oIt9PIO3Kxeu3d8YKYJhmfEJ0WvXXgH1rOuqyw4e47mTN0+IlVPl8k6omOt2gba4jtK/uywnW1C23jfc+lJA==
# -*- coding: utf-8 -*-
from setuphelpers import *
from iniparse import ConfigParser
def install():
install_dir = makepath('/','opt',control.package.split('-',1)[1])
appimage = glob.glob("*.AppImage")[0]
install_appimage(appimage,install_dir)
def uninstall():
install_dir = makepath('/','opt',control.package.split('-',1)[1])
uninstall_appimage(install_dir)
def install_appimage(appimage,install_dir,binaliasname=None):
run('chmod a+x ./' + appimage)
if isdir(install_dir):
uninstall_appimage(install_dir)
mkdirs(install_dir)
name_appimage = appimage.split('/')[-1]
filecopyto(appimage, makepath(install_dir, name_appimage))
run('"./%s" --appimage-extract' % appimage)
for desktop in glob.glob(makepath('squashfs-root','*.desktop')):
desktop_cp = ConfigParser()
desktop_cp.optionxform = str
desktop_file = open(desktop, encoding="utf-8")
desktop_cp.readfp(desktop_file)
bin_path = desktop_cp.get('Desktop Entry',"Exec")
newbin_path = install_dir + '/' + name_appimage
if ' %' in bin_path:
newbin_path = newbin_path + ' %' + bin_path.split(' %',1)[1]
icon_path = desktop_cp.get('Desktop Entry',"Icon")
srcicon = makepath('squashfs-root',icon_path +'.svg')
if not isfile(srcicon):
srcicon = makepath('squashfs-root',icon_path +'.png')
new_icon = install_dir + '/' + srcicon.split('/')[-1]
filecopyto(srcicon,new_icon)
desktop_cp.set('Desktop Entry',"Exec",newbin_path)
desktop_cp.set('Desktop Entry',"Icon",new_icon)
with open(desktop, 'w', encoding="utf-8") as f:
desktop_cp.write(f)
pathdesk = makepath(install_dir,desktop.split('/')[-1])
filecopyto(desktop, pathdesk)
run('chown root:root "%s" ' % pathdesk)
for f in glob.glob(makepath(install_dir,'*.desktop')):
run('ln -sf "%s" "/usr/share/applications/%s"' % (f,f.split('/')[-1]))
if binaliasname :
run(f"ln -sf {install_dir}/{name_appimage} /usr/bin/{binaliasname}")
remove_tree('squashfs-root')
def uninstall_appimage(install_dir):
if not glob.glob(makepath(install_dir,'*.desktop')):
error('.desktop not found')
for f in glob.glob(makepath(install_dir,'*.desktop')):
deskfile = f.split('/')[-1]
system_desktop = makepath("/","usr","share","applications",deskfile)
if isfile(system_desktop):
remove_file(system_desktop)
remove_tree(install_dir)
# -*- coding: utf-8 -*-
from setuphelpers import *
from setupdevhelpers import *
def update_package():
# Declaring local variables
package_updated = False
proxies = get_proxies()
if not proxies:
proxies = get_proxies_from_wapt_console()
app_name = control.name
os_dict = {
'windows-x64': 'win32-x64',
'windows-arm64': 'win32-arm64',
'darwin-arm': 'darwin-arm64',
'darwin-x64': 'darwin-x64',
'linux-x64': 'linux-x64',
'linux-arm64': 'linux-arm64',
}
os_type = control.target_os + "-" + ensure_list(control.architecture)[0]
user_agent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Cursor/1.7.43 Chrome/132.0.6834.210 Electron/34.5.8 Safari/537.36"
latest_version = f"https://api2.cursor.sh/updates/download/golden/{os_dict[os_type]}/cursor/latest"
download_url = requests.head(latest_version, proxies=proxies, headers={'User-agent': user_agent}).headers['location']
latest_bin = download_url.rsplit('/', 1)[-1]
latest_bin_extension = latest_bin.rsplit('.', 1)[-1]
version = latest_bin.split('-')[1]
# Downloading latest binaries
print(f"Latest {app_name} version is: {version}")
print(f"Download URL is: {download_url}")
if not isfile(latest_bin):
print(f"Downloading: {latest_bin}")
wget(download_url, latest_bin, proxies=proxies)
else:
print(f"Binary is present: {latest_bin}")
# Changing version of the package
if Version(version) > Version(control.get_software_version()):
print(f"Software version updated (from: {control.get_software_version()} to: {Version(version)})")
package_updated = True
else:
print(f"Software version up-to-date ({Version(version)})")
for f in glob.glob(f'*.{latest_bin_extension}'):
if f != latest_bin:
remove_file(f)
control.set_software_version(version)
control.save_control_to_wapt()
return package_updated
645d1c08ac20af38aef5a179a08be998cd4e0fc1b78f0713ea8d0b7b7c2fdab2 : Cursor-3.13.21-x86_64.AppImage
38d056ab130f7bf7c481c12636a4e9959de36561d3dfcbe54c6e3571bc0c1dc3 : WAPT/certificate.crt
a6d5c9d5050fecdcb1bed4104e2b7d7122239b05599a989e15c5ff3995bf6fd9 : WAPT/control
9cba6454810418fa31660e69ced09aa546f75bcfd3d873a4414f250694fa623c : WAPT/icon.png
ba9e9edf03149981db1314a0718d0133f37b23f7f9e0474468b3f8d3aa5e1248 : luti.json
00ae1ed1d79c947842ba2de3240a3b335ecbea6c4438acda634a0169fabb1042 : setup.py
4e57e0ea91fdca936198baf5c0e34015c19a04cbca2c7d74ff51129339083b75 : update_package.py