tis-figma icon

Figma-desktop

Paquet d’installation silencieuse pour Figma-desktop

125.4.8-3

  • package: tis-figma
  • name: Figma-desktop
  • version: 125.4.8-3
  • maintainer: WAPT Team,Tranquil IT,Amel FRADJ
  • target_os: windows
  • impacted_process: Figma.exe
  • architecture: all
  • signature_date:
  • size: 123.27 Mo
  • homepage : https://www.figma.com

package           : tis-figma
version           : 125.4.8-3
architecture      : all
section           : base
priority          : optional
name              : Figma-desktop
categories        : 
maintainer        : WAPT Team,Tranquil IT,Amel FRADJ
description       : Figma Desktop is a powerful, collaborative design tool for teams
depends           : 
conflicts         : 
maturity          : PROD
locale            : 
target_os         : windows
min_wapt_version  : 2.3
sources           : https://www.figma.com/downloads/
installed_size    : 
impacted_process  : Figma.exe
description_fr    : Figma Desktop est un outil de conception puissant et collaboratif pour les équipes
description_pl    : Figma Desktop to potężne, oparte na współpracy narzędzie do projektowania dla zespołów
description_de    : Figma Desktop ist ein leistungsstarkes, kollaboratives Design-Tool für Teams
description_es    : Figma Desktop es una potente herramienta de diseño colaborativo para equipos
description_pt    : O Figma Desktop é uma ferramenta de design potente e colaborativa para equipas
description_it    : Figma Desktop è uno strumento di progettazione potente e collaborativo per i team
description_nl    : Figma Desktop is een krachtige, collaboratieve ontwerptool voor teams
description_ru    : Figma Desktop - это мощный инструмент совместного проектирования для команд
audit_schedule    : 
editor            : 
keywords          : 
licence           : 
homepage          : https://www.figma.com
package_uuid      : ce6e86ba-9a43-45e9-a01b-3310f3db8456
valid_from        : 
valid_until       : 
forced_install_on : 
changelog         : https://www.figma.com/community/widget/1121039535668586157/changelog
min_os_version    : 8.1
max_os_version    : 
icon_sha256sum    : 4d6e0115853c84df8d5fed75419401079100d52a39289b8c0aa17c6176340dac
signer            : Tranquil IT
signer_fingerprint: 8c5127a75392be9cc9afd0dbae1222a673072c308c14d88ab246e23832e8c6bb
signature_date    : 2025-05-11T23:11:16.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         : ZU9lUCSmGPZlk6OckQzaI+T4ZEVcocXVkedq9+Hi7dTZUWA3dz8ik76NRMbnjIvOonBoNpl6qz6MpEfdAD4Wz5keM9CzrzVqFI+YHX5g9zlb4dFGJv3WW1iGSbML7Ram5Js3cQvU2U4+VbbrI+1jSkDNCdiF6Jb1CcEPiD4k8LP41qkE7aucGp5Oi3kyD04oBeI3G95rc5jVy42DBziOmUA/lQ5BY7eUYCcvjaSPmXVoF9CQiDdZaiu+a5/hPPtsucUoObFZ9yMw9rhBS8Qek7phd/wG3hnnHXOR60WdkIuhNMUuts3mRK1MtyfxtQEDd9f/jY1zzdItUlrj+pm0nw==

# -*- coding: utf-8 -*-
from setuphelpers import *



def install():
    # Declaring local variables
    bin_name = glob.glob("Figma-*.msi")[0]

    uninstall_older_version()

    # Installing the software
    install_msi_if_needed(
        bin_name,
        name="Figma \(Machine \- MSI\)",
        min_version=control.get_software_version()
    )

def uninstall_older_version():

    # Uninstalling older version of the software that can remains
    for to_uninstall in installed_softwares(name="Figma \(Machine \- MSI\)"):
        if Version(to_uninstall["version"]) < Version(control.get_software_version()):
            print(f"Removing: {to_uninstall['name']} ({to_uninstall['version']})")
            killalltasks(ensure_list(control.impacted_process))
            run(uninstall_cmd(to_uninstall["key"]))
            wait_uninstallkey_absent(to_uninstall["key"])


from setupdevhelpers import *
import glob
import waptlicences
import xml.etree.ElementTree as ET


def update_package():
    package_updated = False
    proxies = get_proxies_from_wapt_console()
    if not proxies:
        proxies = get_proxies()
    app_name = control.name

    download_dict = {
        "windows": "https://desktop.figma.com/win/releases.xml",
        "darwin": "https://desktop.figma.com/mac-universal/releases.xml"
    }

    website_xml_data = wgets(download_dict[control.target_os]).decode('utf-8')
    root = ET.fromstring(website_xml_data)
    first_item = root.find('./channel/item')

    download_url = first_item.find('guid').text
    latest_bin = download_url.rsplit("/", 1)[-1]
    latest_bin_extension = latest_bin.rsplit('.', 1)[-1]
    version = latest_bin.split('-')[-1].replace(f'.{latest_bin_extension}', '')
    
    # 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}")

    expected_issuer = 'Figma, Inc.'
    sign_name = waptlicences.check_msi_signature(latest_bin)[0]
    if sign_name != expected_issuer:
        error(f'Bad issuer {sign_name} != {expected_issuer} ')

    # 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

9adb95af22b718de13095fb16ca8a1db7cc290ccc6a1d4e83fe5c62df83fc0ff : Figma-125.4.8.msi
38d056ab130f7bf7c481c12636a4e9959de36561d3dfcbe54c6e3571bc0c1dc3 : WAPT/certificate.crt
f10a1df80d660710c356b96728d824be901f61f8fb66b5ac54c5ea16e2e3c4a9 : WAPT/control
4d6e0115853c84df8d5fed75419401079100d52a39289b8c0aa17c6176340dac : WAPT/icon.png
805ad544cc786b3ef6f0b9f950a2d9fc47a22bbed6029964c9abd0267b40d8b0 : luti.json
88526dfd9b0d38acc5c650b996b42596685890bd9fa0889b79592f1779eefe05 : setup.py
5ce09977452aa3df8ce02df2ef3d6c38df8c10cad7d86ae4bd4f4da7085657b4 : update_package.py