tis-librecad icon

LibreCAD

Silent install package for LibreCAD

2.2.1.5-14
Utilities
Media
Utilities
Media

Preprod packages are packages built on LUTI. They remain in PREPROD usually for 5 days, after which a second VirusTotal scan is performed to verify that the status has not changed.
If the package passes this last check, it is promoted to PROD and published on the store.

  • package: tis-librecad
  • name: LibreCAD
  • version: 2.2.1.5-14
  • categories: Utilities,Media
  • maintainer: WAPT Team,Tranquil IT,Simon Fonteneau,Gaëtan SEGAT
  • editor: LibreCAD
  • licence: GPLv2
  • locale: all
  • target_os: windows
  • impacted_process: LibreCAD
  • architecture: x64
  • signature_date:
  • size: 54.36 Mo
  • installed_size: 149.20 Mo
  • homepage : https://librecad.org

package           : tis-librecad
version           : 2.2.1.5-14
architecture      : x64
section           : base
priority          : optional
name              : LibreCAD
categories        : Utilities,Media
maintainer        : WAPT Team,Tranquil IT,Simon Fonteneau,Gaëtan SEGAT
description       : LibreCAD is a free computer-assisted design software. It allows two-dimensional drawing such as technical drawings, construction documentation, or instructions for use.
depends           : 
conflicts         : 
maturity          : PREPROD
locale            : all
target_os         : windows
min_wapt_version  : 2.0
sources           : https://librecad.org/#download
installed_size    : 149204992
impacted_process  : LibreCAD
description_fr    : LibreCAD est un logiciel libre de dessin assisté par ordinateur. Il permet le dessin en deux dimensions comme des plans techniques, des documentations de construction, ou encore des modes d’emploi.
description_pl    : LibreCAD to darmowy program do komputerowego wspomagania projektowania. Umożliwia on dwuwymiarowe rysowanie, takie jak rysunki techniczne, dokumentacja budowlana czy instrukcje obsługi
description_de    : LibreCAD ist eine kostenlose Software für computergestütztes Zeichnen. Sie ermöglicht zweidimensionales Zeichnen wie technische Zeichnungen, Konstruktionsunterlagen oder Gebrauchsanweisungen
description_es    : LibreCAD es un software gratuito de diseño asistido por ordenador. Permite realizar dibujos bidimensionales, como dibujos técnicos, documentación de construcción o instrucciones de uso
description_pt    : O LibreCAD é um software de desenho assistido por computador gratuito. Permite o desenho bidimensional tal como desenhos técnicos, documentação de construção, ou instruções de utilização
description_it    : LibreCAD è un software gratuito di progettazione assistita da computer. Consente di realizzare disegni bidimensionali come disegni tecnici, documentazione di costruzione o istruzioni per l’uso
description_nl    : LibreCAD is een gratis computerondersteunde ontwerpsoftware. Er kunnen tweedimensionale tekeningen mee worden gemaakt, zoals technische tekeningen, constructiedocumentatie of gebruiksaanwijzingen
description_ru    : LibreCAD - это бесплатное программное обеспечение для компьютерного проектирования. Она позволяет выполнять двухмерные чертежи, такие как технические чертежи, строительная документация или инструкции по эксплуатации
audit_schedule    : 
editor            : LibreCAD
keywords          : 
licence           : GPLv2
homepage          : https://librecad.org
package_uuid      : f5da1463-32da-4160-8026-4b5a9ea8bcd5
valid_from        : 
valid_until       : 
forced_install_on : 
changelog         : 
min_os_version    : 
max_os_version    : 
icon_sha256sum    : dd9fbdd1f420a7b8601800a9573bbb73a2803aec623ae75458babe4d42518d9d
signer            : test
signer_fingerprint: b82fc8ef4a4475c0f69ac168176c2bfc58f572eb716c4eadd65e4785c155dd8e
signature_date    : 2026-05-02T03:28:24.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         : GJTKlW7gaL966OUZGuYnGPW5qnsdI7Qr9gl/yA4ietunpWrSCXXoijmORQtDjrgWfM+yrmEzg+ZZlXEh2k6N4HvQEq22imr8SmxlvaaTGw16kKzkVrapJ9rgp90s3vvtKdje1jTH85CJ2W3CfLDr+zZioYbf78M6nUpBoskLibNZj+ANiSqZmmyRQR4fcOlHQ77YKV0Cmxk/ogrwa1ri1Wx3DOHJEX1N7/2HJ8rEoaU7ws9whPVCLP+Ti3AaZTyPxtvLmLBtjLOiPUmfIhy49tBWsYSeNIccVqpOFKtwYzc+tkUOnx18rongdxvbB3XKLgIXRsXKDow+AAgzdQXmBg==

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

r"""
Usable WAPT package functions: install(), uninstall(), session_setup(), audit(), update_package()

"""

# Declaring global variables - Warnings: 1) WAPT context is only available in package functions; 2) Global variables are not persistent between calls
bin_contains = "LibreCAD"
silentflags = "/S"
app_uninstallkey = "LibreCAD (x64)"

def install():
    # Uninstalling other version of LibreCAD
    for to_uninstall in installed_softwares("LibreCAD"):
        print("Removing: %s (%s)" % (to_uninstall["name"], to_uninstall["version"]))
        killalltasks(ensure_list(control.impacted_process))
        run(uninstall_cmd(to_uninstall["key"]))
        wait_uninstallkey_absent(to_uninstall["key"])

    # Declaring local variables
    bin_name = glob.glob("*%s*.exe" % bin_contains)[0]

    # Installing the software
    print("Installing: %s" % bin_name)
    install_exe_if_needed(
        bin_name,
        silentflags=silentflags,
        key=app_uninstallkey,
        min_version = control.get_software_version()
    )
    remove_desktop_shortcut(bin_contains)
    create_programs_menu_shortcut(bin_contains, makepath(programfiles, "LibreCAD", "LibreCAD.exe"))

def uninstall():
    remove_programs_menu_shortcut(bin_contains)

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


def update_package():
    # Declaring local variables
    result = False
    proxies = get_proxies()
    bin_contains = "LibreCAD"
    bin_end = "-win64-msvc.exe"

    if not proxies:
        proxies = get_proxies_from_wapt_console()
    app_name = control.name
    api_url = "https://api.github.com/repos/LibreCAD/LibreCAD/releases/latest"

    # Getting latest version information from official sources
    print("API used is: %s" % api_url)
    json_load = json.loads(wgets(api_url, proxies=proxies))
    for download in json_load["assets"]:
        if bin_contains in download["name"] and bin_end in download["name"]:
            download_url = download["browser_download_url"]
            version = json_load["tag_name"].replace("v", "")
            latest_bin = download["name"]
            break

    print("Latest %s version is: %s" % (app_name, version))
    print("Download URL is: %s" % download_url)

    # Deleting outdated binaries
    remove_outdated_binaries(version)

    # Downloading latest binaries
    if not isfile(latest_bin):
        print("Downloading: %s" % latest_bin)
        wget(download_url, latest_bin, proxies=proxies)
    else:
        print("Binary is present: %s" % latest_bin)

    # Changing version of the package
    if Version(version) > Version(control.get_software_version()):
        print("Software version updated (from: %s to: %s)" % (control.get_software_version(), Version(version)))
        result = True
    else:
        print("Software version up-to-date (%s)" % Version(version))
    control.version = "%s-%s" % (Version(version), control.version.split("-", 1)[-1])
    # control.set_software_version(version)
    control.save_control_to_wapt()

    # Validating update-package-sources
    return result

738912fea40aca934689444af9c5cd281572417983cc081c204fe6c779f6941d : LibreCAD-v2.2.1.5-win64-msvc.exe
01ca7fe94636e5a08fcb73849d3b5df25d51e2c82f4dd1a08f01798b25899819 : WAPT/certificate.crt
5da3a8487a5b2f6ca0bae48a6c2a239b9d8eaf77e73ad77fc518b4ce7c2f7c68 : WAPT/changelog.txt
d0197c7b0555b7d2c1d7f0a5f8a1561360a7fc9dc9e19ff1396b80c8aa4a0f5e : WAPT/control
dd9fbdd1f420a7b8601800a9573bbb73a2803aec623ae75458babe4d42518d9d : WAPT/icon.png
d6bdcd20c67eff44da1ba20e449ce9449642a0e168e77467b1cbd46c479a6bc8 : luti.json
e7674654194642e6c0217c8de53f7f9a76f365e17ceff1e1eafa59ecbe22a5c9 : setup.py
ac23070befabd82c2c13a060b71cc100a246c99910d53bb6c21edb3adacd66b5 : update_package.py

2.1.3
===
improve code
slipt update package