tis-conan icon

Conan

Silent install package for Conan

2.33.0-4
Development
Development

  • package: tis-conan
  • name: Conan
  • version: 2.33.0-4
  • categories: Development
  • maintainer: WAPT Team,Tranquil IT,Amel FRADJ
  • editor: JFrog
  • licence: MIT
  • target_os: windows
  • impacted_process: conan
  • architecture: x64
  • signature_date:
  • size: 15.97 Mo
  • homepage : https://conan.io/

package           : tis-conan
version           : 2.33.0-4
architecture      : x64
section           : base
priority          : optional
name              : Conan
categories        : Development
maintainer        : WAPT Team,Tranquil IT,Amel FRADJ
description       : Open source, decentralized and multi-platform C/C++ package manager (portable version)
depends           : 
conflicts         : 
maturity          : PROD
locale            : 
target_os         : windows
min_wapt_version  : 2.3
sources           : https://github.com/conan-io/conan
installed_size    : 
impacted_process  : conan
description_fr    : Gestionnaire de paquets C/C++ open source, décentralisé et multiplateforme (version portable)
description_pl    : Otwartoźródłowy, zdecentralizowany i wieloplatformowy menedżer pakietów C/C++ (wersja przenośna)
description_de    : Dezentraler, plattformübergreifender Open-Source-Paketmanager für C/C++ (portable Version)
description_es    : Gestor de paquetes C/C++ de código abierto, descentralizado y multiplataforma (versión portátil)
description_pt    : Gestor de pacotes C/C++ de código aberto, descentralizado e multiplataforma (versão portátil)
description_it    : Gestore di pacchetti C/C++ open source, decentralizzato e multipiattaforma (versione portatile)
description_nl    : Open source, gedecentraliseerde en platformonafhankelijke pakketbeheerder voor C/C++ (draagbare versie)
description_ru    : Децентрализованный кроссплатформенный менеджер пакетов C/C++ с открытым исходным кодом (портативная версия)
audit_schedule    : 
editor            : JFrog
keywords          : conan,c,c++,cpp,package,manager,dependency,build
licence           : MIT
homepage          : https://conan.io/
package_uuid      : d682c79a-e973-4712-9188-f2a0a60f8c42
valid_from        : 
valid_until       : 
forced_install_on : 
changelog         : https://docs.conan.io/2/changelog.html
min_os_version    : 
max_os_version    : 
icon_sha256sum    : b024c403b7e5de0b5b342b1b7d7475e62533bb40d5f8017c496d27bab829fa33
signer            : Tranquil IT
signer_fingerprint: 8c5127a75392be9cc9afd0dbae1222a673072c308c14d88ab246e23832e8c6bb
signature_date    : 2026-10-10T13:40:11.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         : wMyTf5g5nu91zwLsg8DXEskS/xzp1d7nkrKj9Z4zAaq7Hkx3TeGJXRns0v8RbPZ8wa0Wnh88Iq5Pbu8UFLUyAjc92M+CIOAeAaswHz8/dimCqISXpTHAG5j0Sp2P60D1pWaXXCqbyi/BzUaqxvHPYiU8oL4AJzhmua3Gr0/ttavaS5BxWYjwP/6/65JjGL0zh59hyyQ5dTJqIqZuROPljxK4EWuHwfltF/U/v5DBWNtkBrHX9f5TGraR6rqGu8hT34LV1FHWahc9w+88F2r03izOniooaXc3f258p1XM4Ei6iNtFjs/yDBF/BTPhGiC41iCSq2B9zP6wNB5KDx+C9w==

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

app_name = "Conan"
app_dir = makepath(programfiles, "Conan")
app_path = makepath(app_dir, "conan.exe")
installed_version = get_file_properties(app_path).get("ProductVersion", "")
legacy_uninstallkey = "Conan Package Manager_is1"


def install():
    bin_name = glob.glob("conan-*-windows-*.zip")[0]

    # Removing the Inno Setup version installed by previous package revisions
    for to_uninstall in installed_softwares(uninstallkey=legacy_uninstallkey):
        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"])

    # Uninstall older version before new one
    if installed_version and Version(installed_version) < Version(control.get_software_version()):
        uninstall()

    killalltasks(ensure_list(control.impacted_process))
    print(f"Extracting: {bin_name} to: {app_dir}")
    unzip(bin_name, app_dir)

    add_to_system_path(app_dir)


def audit():
    # Auditing software
    audit_status = "OK"
    if Version(installed_version) < Version(control.get_software_version()):
        print(f"{app_name} is installed in version ({installed_version}) instead of ({control.get_software_version()})")
        audit_status = "WARNING"
    elif isdir(app_dir) and not dir_is_empty(app_dir):
        print(f"{app_name} ({installed_version}) is installed")
        audit_status = "OK"
    else:
        print(f"{app_name} is not installed")
        audit_status = "ERROR"
    return audit_status


def uninstall():
    # Uninstalling software
    killalltasks(ensure_list(control.impacted_process))
    if isdir(app_dir):
        remove_tree(app_dir)
    remove_from_system_path(app_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

    api_url = "https://api.github.com/repos/conan-io/conan/releases/latest"
    print(f"API used is: {api_url}")
    json_load = wgets(api_url, proxies=proxies, as_json=True)
    version = json_load["tag_name"]

    os_type = control.target_os.split("(")[0] + "-" + ensure_list(control.architecture)[0]
    update_dict = {
        "windows-x64": f"conan-{version}-windows-x86_64.zip",
        "windows-x86": f"conan-{version}-windows-i686.zip",
        "windows-arm64": f"conan-{version}-windows-arm64.zip",
    }

    print(f"Latest {app_name} version is: {version}")

    for to_download in json_load["assets"]:
        if to_download["name"].endswith(update_dict[os_type]):
            download_url = to_download["browser_download_url"]
            latest_bin = to_download["name"]
            latest_bin_extension = latest_bin.rsplit(".", 1)[-1]
            break

    # Downloading latest binaries
    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)})")

    # Deleting outdated binaries
    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

38d056ab130f7bf7c481c12636a4e9959de36561d3dfcbe54c6e3571bc0c1dc3 : WAPT/certificate.crt
c805a28770943b72d5b0e5114a25794661dcfbdeb2a8c08137a71b78994ffe88 : WAPT/control
b024c403b7e5de0b5b342b1b7d7475e62533bb40d5f8017c496d27bab829fa33 : WAPT/icon.png
39aa6b6d1bf8d92cb40e0f9afcaa7ad7a7467e729c6f8e76cf621f140516d2c5 : conan-2.33.0-windows-x86_64.zip
a2fda0ae17b8d055a5a689ee498fe32e803ebb1116520dd6132fcd4ed8258c6c : luti.json
17c5291f8c4201c38d4d80daa6d1a5433951599aa4763ac460bc2d64ef60d749 : setup.py
f51ef7ec5107799d8a8292481e4d839b393e3862d09f3edc8905519add101f82 : update_package.py