tis-gimp icon

GIMP

Paquet d’installation silencieuse pour GIMP

3.0.8-4
Media
Media

Les paquets PREPROD sont des paquets construits via LUTI. Ils restent généralement 5 jours en PREPROD, après quoi un deuxième scan VirusTotal est effectué pour vérifier que le status n'a pas changé.
Si le paquet réussit ce dernier contrôle, il est promu en PROD et publié sur le store.

  • package: tis-gimp
  • name: GIMP
  • version: 3.0.8-4
  • categories: Media
  • maintainer: WAPT Team,Tranquil IT,Jimmy PELE,Simon Fonteneau
  • editor: The GIMP Development Team
  • licence: GPLv3+
  • locale: all
  • target_os: linux
  • impacted_process: gimp
  • architecture: arm64
  • signature_date:
  • size: 210.54 Mo
  • homepage : https://www.gimp.org/

package           : tis-gimp
version           : 3.0.8-4
architecture      : arm64
section           : base
priority          : optional
name              : GIMP
categories        : Media
maintainer        : WAPT Team,Tranquil IT,Jimmy PELE,Simon Fonteneau
description       : GIMP (GNU Image Manipulation Program) is a free and open-source raster graphics editor used for image retouching and editing, free-form drawing, converting between different image formats, and more specialized tasks.
depends           : 
conflicts         : 
maturity          : PREPROD
locale            : all
target_os         : linux
min_wapt_version  : 2.5
sources           : https://gimp.org/downloads/
installed_size    : 
impacted_process  : gimp
description_fr    : GIMP (GNU Image Manipulation Program) est un outil d'édition et de retouche d'image
description_pl    : GIMP (GNU Image Manipulation Program) to darmowy i open-source'owy edytor grafiki rastrowej wykorzystywany do retuszu i edycji obrazów, rysowania dowolnych form, konwersji pomiędzy różnymi formatami obrazów oraz bardziej specjalistycznych zadań
description_de    : GIMP (GNU Image Manipulation Program) ist ein freier und quelloffener Editor für Rastergrafiken, der für Bildretuschen und -bearbeitung, Freiformzeichnungen, Konvertierung zwischen verschiedenen Bildformaten und weitere spezielle Aufgaben verwendet wird
description_es    : GIMP (GNU Image Manipulation Program) es un editor de gráficos rasterizados gratuito y de código abierto que se utiliza para el retoque y la edición de imágenes, el dibujo de forma libre, la conversión entre diferentes formatos de imagen y otras tareas más especializadas
description_pt    : GIMP (GNU Image Manipulation Program) é um editor gráfico raster gratuito e de código aberto utilizado para retoque e edição de imagens, desenho de formas livres, conversão entre diferentes formatos de imagem, e tarefas mais especializadas
description_it    : GIMP (GNU Image Manipulation Program) è un editor di grafica raster gratuito e open-source utilizzato per il ritocco e la modifica delle immagini, per il disegno a forma libera, per la conversione tra diversi formati di immagine e per compiti più specializzati
description_nl    : GIMP (GNU Image Manipulation Program) is een vrije en open-source grafische bewerker voor rasterafbeeldingen die wordt gebruikt voor het retoucheren en bewerken van afbeeldingen, tekenen in vrije vorm, converteren tussen verschillende afbeeldingsformaten, en meer gespecialiseerde taken
description_ru    : GIMP (GNU Image Manipulation Program) - это бесплатный редактор растровой графики с открытым исходным кодом, используемый для ретуширования и редактирования изображений, рисования в свободной форме, преобразования между различными форматами изображений и других специализированных задач
audit_schedule    : 
editor            : The GIMP Development Team
keywords          : gimp,gnu,image,manipulation,program,raster,graphic,graphics,editor,retouching,editing,drawing
licence           : GPLv3+
homepage          : https://www.gimp.org/
package_uuid      : 9a57a9e9-b76c-4a6c-b98a-fd8297dea33d
valid_from        : 
valid_until       : 
forced_install_on : 
changelog         : https://www.gimp.org/release-notes/
min_os_version    : 
max_os_version    : 
icon_sha256sum    : 8c35540fff46fd75507afc4849687b9846c269e59a681d95d0873ae073a169fc
signer            : test
signer_fingerprint: b82fc8ef4a4475c0f69ac168176c2bfc58f572eb716c4eadd65e4785c155dd8e
signature_date    : 2026-01-25T02:25:07.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         : sHA3+LZgAcHm7oVAiN1Z1B5lZLg+Zy7d7wLDOQz4F43SFgqPKaHC8M7GX3DTnSZaxyJp0mzTXlZWtmoSu1S6ccMlPy2lA/JE/wKz2jWJCpkK7MUGcQ/3XTJel0NdTn0KaUVY5cnuV6TeNQxLdaL2aXl/OQoGfW/XEHpk05Mwgc81Cdrom4KIAgxNMXGKXTzkKdFOtA8e3ZfjiJHiNpfzcxSkF4VBq8pFxcO2rbGcQ4GvYY3Bwo9CgipJG9OxT2W78S6jCU/PcHgWD7Wsj9W8Oy2v1MbmYchzTUbwEGa2aa1u8QnfoMzsK8S/TaiDmkAuM/bdvXHVf+31oGipSmYb1g==

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


def install():
    install_dir = makepath('/','opt',control.package.split('-',1)[1])
    appimage = glob.glob("*.AppImage")[0]
    install_appimage(appimage,install_dir)

def uninstall():
    install_dir = makepath('/','opt',control.package.split('-',1)[1])
    uninstall_appimage(install_dir)

def install_appimage(appimage,install_dir,binaliasname=None):
    run('chmod a+x ./' + appimage)

    if isdir(install_dir):
        uninstall_appimage(install_dir)

    mkdirs(install_dir)

    name_appimage = appimage.split('/')[-1]
    filecopyto(appimage, makepath(install_dir, name_appimage))
    run('"./%s" --appimage-extract' % appimage)
    

    for desktop in glob.glob(makepath('squashfs-root','*.desktop')):
 
        desktop_cp = ConfigParser()
        desktop_cp.optionxform = str
        desktop_file = open(desktop, encoding="utf-8")
        desktop_cp.readfp(desktop_file)
        bin_path = desktop_cp.get('Desktop Entry',"Exec")

        newbin_path = install_dir + '/' + name_appimage
        if ' %' in bin_path:
            newbin_path = newbin_path + ' %' + bin_path.split(' %',1)[1]

        icon_path = desktop_cp.get('Desktop Entry',"Icon")

        srcicon = makepath('squashfs-root',icon_path +'.svg')
        if not isfile(srcicon):
            srcicon = makepath('squashfs-root',icon_path +'.png')

        if not isfile(srcicon):
            lstglob = glob.glob(makepath('squashfs-root','*.svg'))
            if lstglob :
                srcicon=lstglob[0]

        if not isfile(srcicon):
            lstglob = glob.glob(makepath('squashfs-root','*.png'))
            if lstglob :
                srcicon=lstglob[0]
            else:
                srcicon = None

        if srcicon:            
            new_icon = install_dir + '/' + srcicon.split('/')[-1]
            filecopyto(srcicon,new_icon)
            desktop_cp.set('Desktop Entry',"Icon",new_icon) 

        desktop_cp.set('Desktop Entry',"Exec",newbin_path)
       
        with open(desktop, 'w', encoding="utf-8") as f:
            desktop_cp.write(f)

        pathdesk = makepath(install_dir,desktop.split('/')[-1])
        filecopyto(desktop, pathdesk)
        run('chown root:root "%s" ' % pathdesk)

    for f in glob.glob(makepath(install_dir,'*.desktop')):
        run('ln -sf "%s" "/usr/share/applications/%s"' % (f,f.split('/')[-1]))

    if binaliasname :
        run(f"ln -sf {install_dir}/{name_appimage} /usr/bin/{binaliasname}")

    remove_tree('squashfs-root')

def uninstall_appimage(install_dir):

    if not glob.glob(makepath(install_dir,'*.desktop')):
        error('.desktop not found')

    for f in glob.glob(makepath(install_dir,'*.desktop')):
        deskfile = f.split('/')[-1]
        system_desktop = makepath("/","usr","share","applications",deskfile)
        if isfile(system_desktop):
            remove_file(system_desktop)
    remove_tree(install_dir)

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

    releases_stable = wgets("https://www.gimp.org/gimp_versions.json", as_json=True)["STABLE"]
    latest_release = max(releases_stable, key=lambda r: Version(r['version']))

    build_dict = {
        'windows-all': ('windows', 'org.gimp.GIMP_official'),
        'linux-x64': ('appimage', 'org.gimp.GIMP_official.AppImage.x86_64'),
        'linux-arm64': ('appimage', 'org.gimp.GIMP_official.AppImage.aarch64'),
        'macos-x64': ('macos', 'org.gimp.GIMP_official.x86_64'),
        'macos-arm': ('macos', 'org.gimp.GIMP_official.arm64'),
    }

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

    latest_filename = max(
        (release for release in latest_release[target_os] if release['build-id'] == build),
        key=lambda r: r['date']
    )

    version = f"{latest_release['version']}.{latest_filename['revision']}" if latest_filename.get('revision') else latest_release["version"]
    latest_bin = latest_filename['filename']
    latest_bin_extension = latest_bin.rsplit('.', 1)[-1]

    download_url = f"https://download.gimp.org/gimp/v{Version(version, 2)}/{control.target_os}/{latest_filename['filename']}"

    # 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

6b6b2c1183864295d106ca82f238c99a81af2836cc6244b9592158c46fb3cfbf : GIMP-3.0.8-aarch64.AppImage
01ca7fe94636e5a08fcb73849d3b5df25d51e2c82f4dd1a08f01798b25899819 : WAPT/certificate.crt
28198cd04474459ef8fb25d75ffb6d5a702dccbd1acce31306a81a5a17afe6d2 : WAPT/control
8c35540fff46fd75507afc4849687b9846c269e59a681d95d0873ae073a169fc : WAPT/icon.png
d54f8c162b96e1da4c42f8ec080720c6475725db2e4bf132903ac84bce4dfa30 : luti.json
6dbee6b73ad6280ec758ddf70dd48128f0f36ac7c7d9420d5cfa086fcd76e02b : setup.py
196a0fe7eef0fe104f47cf2db7edec2bf3c6e67b877a5a53b0bd94f2a597f087 : update_package.py