tis-figma icon

Figma-desktop

Paquet d’installation silencieuse pour Figma-desktop

125.2.3-3

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

package           : tis-figma
version           : 125.2.3-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      : 66d42ea0-5461-418f-9943-7d688a680af3
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-03-26T00:12:42.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         : cofWI3Yhs618kYsEkWM/szbAOcin/at3vKzwiu+w5ukKRUgUJ2WD/hae5kROX2E/CxTCYlCtrrMNG0QkxQ+DEQ6CN9DpLoQ/t3VSgw+6L/JZGb6Vdc2bU2qNWL1GKAGLagtwzcGmmY2fA2qOe7U+pZluY6gauzj1bdJCno7nbpGoXRZfPGVOT9HUnt6CpSE6NdH9ZQ8W/4RlYtXoupFkKgxTBK8FdOs+umpAWC2jJLpx+AWMktELnyHcc7+kHqnr1yc+bdfYQ33XDV15GFeAmLIsBFs40w2upGHwic80Gxo9oPe9kklpwwIA45rTqVDvXCKDllya6cDFQdlcc6timQ==

# -*- 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

e99ff7ab5c100a78838102d651f34b335bb088e3fe0bbee267294bcc05011c7b : Figma-125.2.3.msi
38d056ab130f7bf7c481c12636a4e9959de36561d3dfcbe54c6e3571bc0c1dc3 : WAPT/certificate.crt
185debff9525c9387957ebba8a2d5b6283e1860bda058dfce8161166cdca8fcb : WAPT/control
4d6e0115853c84df8d5fed75419401079100d52a39289b8c0aa17c6176340dac : WAPT/icon.png
629ee4df46863b539e3cc31d0c9b785ebb220b910fc6c9a63cfb9023d6ee9cf7 : luti.json
88526dfd9b0d38acc5c650b996b42596685890bd9fa0889b79592f1779eefe05 : setup.py
5ce09977452aa3df8ce02df2ef3d6c38df8c10cad7d86ae4bd4f4da7085657b4 : update_package.py