tis-gcompris icon

gcompris

Silent install package for gcompris

25.1-1

  • package: tis-gcompris
  • name: gcompris
  • version: 25.1-1
  • categories: education
  • maintainer: Jordan ARNAUD
  • licence: GPLv3+
  • target_os: debian_based
  • architecture: x64
  • signature_date:
  • size: 97.88 Mo
  • homepage : https://gcompris.net/index-en.html

package           : tis-gcompris
version           : 25.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          : PROD
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      : 064c9437-a3d9-42a7-8130-de5f3365ed9f
valid_from        : 
valid_until       : 
forced_install_on : 
changelog         : 
min_os_version    : 
max_os_version    : 
icon_sha256sum    : 5cfc57ec92ef443e2b1027bf2b291ac651065e15349f9fa7bc42621971410371
signer            : Tranquil IT
signer_fingerprint: 8c5127a75392be9cc9afd0dbae1222a673072c308c14d88ab246e23832e8c6bb
signature_date    : 2025-05-28T10:16:44.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         : mowMT8QOIfJ8RU20UYkrCqX4LXVQh049saLAoUm8wnn5nJZUXjA5F4t3/s3GL/odJ6GgwydI+B7sYJgwHD+YXLxhU4y9y22RFu2uYHplHNTH+3oKxVgZq2UcQLonKz8WbbVU0dyhGRKjrkHqIauIVmNwVFsxeJZAM9A0Ddnx4ZoT2fmVsI29UoDMVHV7FpQRn0UEn1JAlG4mb9ioj1KQCjTlCn4MyYDz6mlQofera3MuD0dF/Z2K5c1qXMOL/s/DPHTndSvfNemyuLsZWsn2JjCgTsabaIpAquewhh0aXuGz5uU61EC/sgOJNWyuFNEZw+GuwXHCH2ysWudBrLtZng==

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

38d056ab130f7bf7c481c12636a4e9959de36561d3dfcbe54c6e3571bc0c1dc3 : WAPT/certificate.crt
99ea2fa60bc268e05abb9b47c96e3decfe6e6ba88c613af26ddf617be459eb86 : WAPT/control
5cfc57ec92ef443e2b1027bf2b291ac651065e15349f9fa7bc42621971410371 : WAPT/icon.png
19592d918cc4feec4f23d0b2f9de7de9702a679cb202655f7e305ae09b0afd4e : gcompris-qt-25.1-Linux64.sh
fb9db3845f52eb00729a3a17dd02ab8d2c5db6b6d52ea811aa533c991297194b : luti.json
e5c221f07f6fcb0dc28d6bd3791ea18da418aa0627a0e17cd8ae16995fc9d12b : setup.py
ee55c2b2be9f0fd06b45ae0da6419ccae2fca28fa0b14ed89c37c1bf94685999 : update_package.py