tis-gcompris icon

gcompris

Silent install package for gcompris

26.1-1
Education
Education

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-gcompris
  • name: gcompris
  • version: 26.1-1
  • categories: education
  • maintainer: Jordan ARNAUD
  • licence: GPLv3+
  • target_os: debian_based
  • architecture: x64
  • signature_date:
  • size: 105.80 Mo
  • homepage : https://gcompris.net/index-en.html

package           : tis-gcompris
version           : 26.1-1
architecture      : x64
section           : base
priority          : optional
name              : gcompris
categories        : education
maintainer        : Jordan ARNAUD
description       : GCompris is a high quality educational software suite, including a large number of activities for children aged 2 to 10
depends           : 
conflicts         : 
maturity          : PREPROD
locale            : 
target_os         : debian_based
min_wapt_version  : 
sources           : 
installed_size    : 
impacted_process  : 
description_fr    : GCompris est une suite de logiciels éducatifs de haute qualité, comprenant un grand nombre d'activités pour les enfants de 2 à 10 ans
description_pl    : GCompris to wysokiej jakości pakiet oprogramowania edukacyjnego, obejmujący dużą liczbę zajęć dla dzieci w wieku od 2 do 10 lat
description_de    : GCompris ist eine hochwertige Lernsoftware mit einer Vielzahl von Aktivitäten für Kinder im Alter von 2 bis 10 Jahren
description_es    : GCompris es un paquete de software educativo de alta calidad, que incluye un gran número de actividades para niños de 2 a 10 años
description_pt    : GCompris é um pacote de software educativo de alta qualidade, que inclui um grande número de actividades para crianças dos 2 aos 10 anos
description_it    : GCompris è una suite di software educativo di alta qualità, che comprende un gran numero di attività per bambini dai 2 ai 10 anni
description_nl    : GCompris is een hoogwaardig educatief softwarepakket met een groot aantal activiteiten voor kinderen van 2 tot 10 jaar
description_ru    : GCompris - это высококачественный пакет образовательных программ, включающий большое количество занятий для детей в возрасте от 2 до 10 лет
audit_schedule    : 
editor            : 
keywords          : 
licence           : GPLv3+
homepage          : https://gcompris.net/index-en.html
package_uuid      : 93af0002-8616-4db8-b061-754188a8eda9
valid_from        : 
valid_until       : 
forced_install_on : 
changelog         : 
min_os_version    : 
max_os_version    : 
icon_sha256sum    : 5cfc57ec92ef443e2b1027bf2b291ac651065e15349f9fa7bc42621971410371
signer            : test
signer_fingerprint: b82fc8ef4a4475c0f69ac168176c2bfc58f572eb716c4eadd65e4785c155dd8e
signature_date    : 2026-03-11T09:28:50.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         : FMB4v5S2uhNGJudn34WavDCLBvEdb+FFQC4WwujN9O1QtGM163bJFOsEr4WsemVySrT5eFkk0m44psBU+kQFeI+FcnjminPcX30JlyWVxoq9zVmyiZP9aIPBFDd0IS7aCRQ/NphQZjO4RA2LDB8JIHV7Hw5uTA0PfFNswLRnmPD3fATzXC5WI7lL/hpiG2o9V2QjAFOhz9mORi9Lo3c+wv3ZDlmUzXJkCYYKoqhwHNGBuTM/001mXIa+dsFLRSNXlYlVgmhHkRqxmz/pcAhvm8VBGinN3bJWALycaF7JwO7H4ichkMtQj5creg7p23WpD2iSWSN/HTHZ/rwAhNzVjQ==

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

bin_path = makepath("/","usr","bin","gcompris")
install_dir = makepath('/','opt', 'gcompris')
bashrc_global = "/etc/bash.bashrc"

def install():
    bin = glob.glob('gcompris*64.sh')[0]
    if not isdir(install_dir):
        mkdirs(install_dir)

    filecopyto(bin, install_dir)
    install_bin = makepath(install_dir, bin)
    run(f'chmod u+x {install_bin}')
    run(f'yes | {install_bin} --prefix={install_dir} --exclude-subdir')

    # Création de l'alias pour gcompris
    alias_command = f"export LD_LIBRARY_PATH={install_dir}/bin ; {install_dir}/bin/gcompris-qt"
    add_alias("gcompris", alias_command)

    if isdir(install_bin):
        remove_tree(install_bin)


def uninstall():
    remove_alias("gcompris")

    if isdir(install_dir):
        remove_tree(install_dir)


def add_alias(alias_name, command_name):
    alias_command = f"alias {alias_name}='{command_name}'\n"

    if not alias_exists(bashrc_global, alias_name):
        with open(bashrc_global, "a") as bashrc:
            bashrc.write(alias_command)
        # reload bashrc
        run(f'bash -c "source {bashrc_global}"')


def alias_exists(file_path, alias_name):
    with open(file_path, "r") as file:
        lines = file.readlines()
        for line in lines:
            if line.strip().startswith(f"alias {alias_name}="):
                return True
    return False


def remove_alias(alias_name):
    if alias_exists(bashrc_global, alias_name):
        run(f"sed -i '/alias {alias_name}=/d' {bashrc_global}")
        # Reload bashrc
        run(f'bash -c "source {bashrc_global}"')

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



def update_package():
    # Declaring local variables
    result = False
    proxies = get_proxies()
    if not proxies:
        proxies = get_proxies_from_wapt_console()
    app_name = control.name
    url = "https://gcompris.net/downloads-en.html#windows"  

    bin_ends = "64.sh"
    bin_contains = "gcompris"
    arch_dict ={
        'x64':'64.sh',
    }

    # Getting latest version from official sources
    print("URL used is: %s" % url)
    for bs_search in bs_find_all(url, "a", proxies=proxies, timeout=10):
        if bin_contains in bs_search["href"]  and bin_ends in bs_search["href"] and arch_dict[control.architecture] in bs_search["href"]:
            version = bs_search["href"].split("-")[-2]
            latest_bin = bs_search["href"].split("/")[-1]
            download_url = bs_search["href"]
            break

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

     #nettoyer les fichiers temporaires
    for f in glob.glob('*.sh'):
        if f != latest_bin:
            remove_file(f)

    # Downloading latest binaries
    if not isfile(latest_bin):
        print("Downloading: %s" % latest_bin)
        wget(download_url, latest_bin, connect_timeout=100, proxies=proxies)


    control.set_software_version(version)
    control.save_control_to_wapt()

01ca7fe94636e5a08fcb73849d3b5df25d51e2c82f4dd1a08f01798b25899819 : WAPT/certificate.crt
067d2669ce3a49d861e92bceb5cd65b1eb558107c988d0fdc0f8130e542cb450 : WAPT/control
5cfc57ec92ef443e2b1027bf2b291ac651065e15349f9fa7bc42621971410371 : WAPT/icon.png
1edabff429d0faee95e1215b4415ab2756a907d7fc07662c736fb81a214507ec : gcompris-qt-26.1-Linux64.sh
1a684611eac5fee43aedeb912d55c0a64f3bde03067fc80ae20aad30d7d6c795 : luti.json
e5c221f07f6fcb0dc28d6bd3791ea18da418aa0627a0e17cd8ae16995fc9d12b : setup.py
ee55c2b2be9f0fd06b45ae0da6419ccae2fca28fa0b14ed89c37c1bf94685999 : update_package.py