tis-dosbox-x icon

Dosbox-x

Silent install package for Dosbox-x

2025.1.1-4

  • package: tis-dosbox-x
  • name: Dosbox-x
  • version: 2025.1.1-4
  • categories: System and network
  • maintainer: WAPT Team,Tranquil IT,Ingrid TALBOT
  • editor: Jonathan Campbell
  • licence: opensource_free,cpe:/a:gnu:gpl_v2,wapt_public
  • locale: all
  • target_os: windows
  • impacted_process: dosbox-x
  • architecture: x64
  • signature_date:
  • size: 101.08 Mo
  • installed_size: 53.13 Mo
  • homepage : https://dosbox-x.com/

package           : tis-dosbox-x
version           : 2025.1.1-4
architecture      : x64
section           : base
priority          : optional
name              : Dosbox-x
categories        : System and network
maintainer        : WAPT Team,Tranquil IT,Ingrid TALBOT
description       : DOSBox-X is a cross-platform DOS emulator based on the DOSBox project
depends           : 
conflicts         : 
maturity          : PROD
locale            : all
target_os         : windows
min_wapt_version  : 2.3
sources           : 
installed_size    : 53128218
impacted_process  : dosbox-x
description_fr    : DOSBox-X est un émulateur DOS multiplateforme basé sur le projet DOSBox
description_pl    : DOSBox-X to wieloplatformowy emulator DOS oparty na projekcie DOSBox
description_de    : DOSBox-X ist ein plattformübergreifender DOS-Emulator, der auf dem DOSBox-Projekt basiert
description_es    : DOSBox-X es un emulador DOS multiplataforma basado en el proyecto DOSBox
description_pt    : O DOSBox-X é um emulador de DOS multiplataforma baseado no projeto DOSBox
description_it    : DOSBox-X è un emulatore DOS multipiattaforma basato sul progetto DOSBox
description_nl    : DOSBox-X is een cross-platform DOS-emulator gebaseerd op het DOSBox-project
description_ru    : DOSBox-X - это кроссплатформенный эмулятор DOS, основанный на проекте DOSBox
audit_schedule    : 
editor            : Jonathan Campbell
keywords          : dos,emulator
licence           : opensource_free,cpe:/a:gnu:gpl_v2,wapt_public
homepage          : https://dosbox-x.com/
package_uuid      : ee99423a-f3c8-447d-a6d1-b0304bf3d911
valid_from        : 
valid_until       : 
forced_install_on : 
changelog         : https://github.com/joncampbell123/dosbox-x/releases
min_os_version    : 
max_os_version    : 
icon_sha256sum    : 7cfa35f10863878d258a7a7bd2fd754a6d10f46019f9a2ee60598e8bbb4e2dea
signer            : Tranquil IT
signer_fingerprint: 8c5127a75392be9cc9afd0dbae1222a673072c308c14d88ab246e23832e8c6bb
signature_date    : 2025-01-07T09:05:58.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         : FhSSxc+DVV3a1Hgqizd11yhpAaeoXo12wEbvHdz/cz313+w4y4IE3EgNta1iGFvrx+ggql+pqVQfmRMtF7wnzKkvuX8/fXewrECEG7QoUe8LFyI77//ZvCdf9M3SLpM5o10lFo3EtvDsSdP/Vq5jHHFgPwgENhiuaIKqo7uKNK7viFYFLvn9QRdBFzwrmbYN9YdREt0VWUDfZ4UbYWTFg9xlmEfvz4B8d6jj3XFUB/bXRDMybdB3MHuOh6kGVRvCi+Q8A4uDpoBfyiCf+w+Jly/7KkQ3NT92eYQ6M8T6p2D7/PMlEcrjnHHzYhYUYm9Rd7W+KulL5wVFWHHNhpC3ew==

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


def get_version(app_registry_dict):
    return app_registry_dict['version'].split(' ', 1)[0]


def add_leading_zero(version):
    return '.'.join([i.zfill(2) for i in version.split('.')])


def install():
    bin_name = glob.glob("dosbox-x-*.exe")[0]

    install_exe_if_needed(
        bin_name,
        name=f"DOSBox-X {add_leading_zero(control.get_software_version())} \(32\/64bit for Windows\)",
        silentflags="/VERYSILENT /SP- /SUPPRESSMSGBOXES",
        min_version=control.get_software_version(),
        get_version=get_version
    )

# -*- coding: utf-8 -*-
from setuphelpers 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/joncampbell123/dosbox-x/releases/latest"
    releases_dict = wgets(api_url, proxies=proxies, as_json=True)

    version = releases_dict["tag_name"].split("-")[2].replace("v", "")

    update_dict = {
        "windows-x64": f"dosbox-x-windows-{version}-setup.exe", 
    }

    os_type = control.target_os + "-" + ensure_list(control.architecture)[0]

    for asset in releases_dict["assets"]:
        if update_dict[os_type] in asset["name"]:
            download_url = asset["browser_download_url"]
            latest_bin = download_url.split("/")[-1]
            latest_bin_extension = latest_bin.rsplit(".", 1)[-1]
            break

    # 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

38d056ab130f7bf7c481c12636a4e9959de36561d3dfcbe54c6e3571bc0c1dc3 : WAPT/certificate.crt
01e415b03d1035456952267e1c57f357b396b3442965843d7d853635e8714111 : WAPT/control
7cfa35f10863878d258a7a7bd2fd754a6d10f46019f9a2ee60598e8bbb4e2dea : WAPT/icon.png
3dcffe6e7cb6af89ac32db831c58bba2f5543ca9579af7ffc77c7c890da9bb86 : dosbox-x-windows-2025.01.01-setup.exe
d5c0d6313de2452b94855657bc7e6c8abe344047e10cdf354a74c6d8dbd000a7 : luti.json
a3eaf7bcff56e371571bf8d84d24f08cf2d0e38bc0381822bd3ba78fb3b62e1a : setup.py
2673c03e44a63534079786eebff863854a3e2c8d16ac45b10a58308b42022a47 : update_package.py