ART déménage

Bonjour,
agriggio annonce une nouvelle adresse pour ART sur pixls.us..

Il nous faut donc mettre à jour nos marque-pages.

1 « J'aime »

Et la page “Releases” fournit désormais aussi des binaires pour MacOS (j’ai testé une version “beta” du binaire pour macOS arm64 et ça marche sans problème).

Les liens du site ont été mis à jour !

N’hésitez pas à me prévenir si j’ai oublié quelque chose.

2 « J'aime »

Super que Alberto ai regroupé sur PixLS.us et utilise un GitHub pour les sources, ça va me faciliter et diminuer le nombre de sites à visiter.
Je viens d’installer la version 1.24.2 Windows pointée dans le lien sur : A new home for ART - ART - discuss.pixls.us

Je trouve ça très chouette ce déménagement, ça m’a motivé à poster une issue pour demander d’ajouter la possibilité d’écrire des calcules dans les champs, comme ça marche dans GIMP :

N’hésitez pas à réagir avec un emoji à ma demande si ça vous intéresse aussi.

Ca serait bien comme le fait aussi darktable.

9 messages ont été scindés en un nouveau sujet : Traduire le site officiel d’ART en FR ?

2 messages ont été fusionnés à un sujet existant : Traduire le site officiel d’ART en FR ?

Salut à tous.
Pour les adeptes de la compilation d’ART sous Linux, voici le script “Build-art” que vous connaissez tous, modifié, afin qu’il pointe vers le nouveau repo sur github.

Le forum ne me permet pas d’uploader le script. Voici donc l’intégralité du script, à copier coller dans un fichier nommé, par exemple, “build-art-github” et le rendre exécutable (chmod+x build-art-github) avant de l’exécuter (./build-art-github)

#!/usr/bin/env bash
# Adapté pour le dépôt compressé de ART
# Version 2024-12-20
# Ce script télécharge et compile le code source d'ART à partir d'une archive.

# Nom du programme
prog="art"

# Nom de l'exécutable compilé
exe="ART"

# Sous-dossier relatif au chemin d'installation de l'exécutable
exeRelativePath=""

# URL du fichier source compressé
repo="https://github.com/artpixls/ART/archive/refs/tags/1.24.3.tar.gz"

# Dossier de téléchargement et de compilation
sourceDir="$HOME/programs/code-${prog}"
buildDir="$sourceDir/build"
installDir="$HOME/programs/${prog}"

# Fonction pour afficher les messages
echo_info() {
  echo -e "\033[1;32m$1\033[0m"
}

# Supprimer le slash final du chemin relatif si présent
exeRelativePath="${exeRelativePath/%\/}"
exePath="${exeRelativePath:+${exeRelativePath}/}${exe}"

# Vérifier et créer les dossiers nécessaires
if [[ -d "$sourceDir" ]]; then
  echo_info "Suppression de l'ancien dossier source..."
  rm -rf "$sourceDir"
fi
mkdir -p "$sourceDir" "$buildDir" "$installDir"

# Télécharger et extraire les sources
echo_info "Téléchargement de l'archive source..."
wget "$repo" -O "$HOME/${prog}.tar.gz" || exit 1
echo_info "Extraction des fichiers..."
tar -xzf "$HOME/${prog}.tar.gz" -C "$sourceDir" --strip-components=1 || exit 1
rm "$HOME/${prog}.tar.gz"

# Détecter le nombre de cœurs CPU
cpuCount="$(nproc --all)"
if [[ ! ( $cpuCount -ge 1 && $cpuCount -le 64 ) ]]; then
  cpuCount=1
fi

# Compiler le programme
echo_info "Configuration de la compilation avec CMake..."
cmake \
    -DCMAKE_BUILD_TYPE="Release" \
    -DPROC_TARGET_NUMBER="2" \
    -DBUILD_BUNDLE="ON" \
    -DBUNDLE_BASE_INSTALL_DIR="$installDir" \
    -DOPTION_OMP="ON" \
    -DWITH_LTO="OFF" \
    -DWITH_PROF="OFF" \
    -DWITH_SAN="OFF" \
    -DWITH_SYSTEM_KLT="OFF" \
    -DWITH_BENCHMARK="OFF" \
    -DENABLE_LIBRAW="ON" \
    -DENABLE_OCIO="ON" \
    -DENABLE_CTL="ON" \
    "$sourceDir" || exit 1

make --jobs="$cpuCount" install || exit 1

# Finalisation
echo_info "Compilation terminée. Pour exécuter ${prog}, utilisez :"
echo "$installDir/${exePath}"

2 « J'aime »

Salut à tous !
Petite modif du script précédent.
Celui-ci permet de vérifier, sur la base du checksum SHA-256 de l’archive, si une mise à jour a été faite, et de ne compiler qu’à cette condition… Afin de gagner du temps et d’économiser quelques ressources ! :wink:

#!/usr/bin/env bash
# Adapté pour le dépôt compressé de ART
# Version 2024-12-20
# Ce script télécharge et compile le code source d'ART à partir d'une archive.

# Nom du programme
prog="art"

# Nom de l'exécutable compilé
exe="ART"

# Sous-dossier relatif au chemin d'installation de l'exécutable
exeRelativePath=""

# URL du fichier source compressé
repo="https://github.com/artpixls/ART/archive/refs/tags/1.24.3.tar.gz"

# Dossier de téléchargement et de compilation
sourceDir="$HOME/programs/code-${prog}"
buildDir="$sourceDir/build"
installDir="$HOME/programs/${prog}"
archiveChecksumFile="$HOME/${prog}_checksum.txt"

# Fonction pour afficher les messages
echo_info() {
  echo -e "\033[1;32m$1\033[0m"
}

# Supprimer le slash final du chemin relatif si présent
exeRelativePath="${exeRelativePath/%\/}"
exePath="${exeRelativePath:+${exeRelativePath}/}${exe}"

# Télécharger l'archive et vérifier les mises à jour
echo_info "Vérification des mises à jour..."
currentChecksum=$(wget -qO- "$repo" | sha256sum | awk '{print $1}')
previousChecksum=$(cat "$archiveChecksumFile" 2>/dev/null || echo "")

if [[ "$currentChecksum" == "$previousChecksum" ]]; then
  echo_info "Aucune mise à jour détectée. Compilation non nécessaire."
  exit 0
else
  echo "$currentChecksum" > "$archiveChecksumFile"
  echo_info "Mise à jour détectée. Téléchargement et recompilation nécessaires."
fi

# Vérifier et créer les dossiers nécessaires
if [[ -d "$sourceDir" ]]; then
  echo_info "Suppression de l'ancien dossier source..."
  rm -rf "$sourceDir"
fi
mkdir -p "$sourceDir" "$buildDir" "$installDir"

# Télécharger et extraire les sources
echo_info "Téléchargement de l'archive source..."
wget "$repo" -O "$HOME/${prog}.tar.gz" || exit 1
echo_info "Extraction des fichiers..."
tar -xzf "$HOME/${prog}.tar.gz" -C "$sourceDir" --strip-components=1 || exit 1
rm "$HOME/${prog}.tar.gz"

# Détecter le nombre de cœurs CPU
cpuCount="$(nproc --all)"
if [[ ! ( $cpuCount -ge 1 && $cpuCount -le 64 ) ]]; then
  cpuCount=1
fi

# Compiler le programme
echo_info "Configuration de la compilation avec CMake..."
cmake \
    -DCMAKE_BUILD_TYPE="Release" \
    -DPROC_TARGET_NUMBER="2" \
    -DBUILD_BUNDLE="ON" \
    -DBUNDLE_BASE_INSTALL_DIR="$installDir" \
    -DOPTION_OMP="ON" \
    -DWITH_LTO="OFF" \
    -DWITH_PROF="OFF" \
    -DWITH_SAN="OFF" \
    -DWITH_SYSTEM_KLT="OFF" \
    -DWITH_BENCHMARK="OFF" \
    -DENABLE_LIBRAW="ON" \
    -DENABLE_OCIO="ON" \
    -DENABLE_CTL="ON" \
    "$sourceDir" || exit 1

make --jobs="$cpuCount" install || exit 1

# Finalisation
echo_info "Compilation terminée. Pour exécuter ${prog}, utilisez :"
echo "$installDir/${exePath}"

2 « J'aime »

Bonjour,
merci @jllailes , je vais peut-être apprendre à compiler.

Encore une modification du script build-art… La vérification d’une nouvelle version sur la base du checksum SHA-256 de l’archive ne fonctionne pas, car les mises à jour ne remplacent pas les anciennes versions, mais sont rajoutées en plus des anciennes !

Finalement, le script est modifié pour qu’il détecte le numéro de version. S’il change, la compilation s’exécute. De plus, les dossiers créés lors de la compilation sont supprimés à la fin de celle-ci, afin de nettoyer un peu !

#!/usr/bin/env bash
# Adapté pour le dépôt compressé de ART
# Version 2024-12-20
# Ce script télécharge et compile automatiquement la dernière version stable d'ART.

# Nom du programme
prog="art"

# Nom de l'exécutable compilé
exe="ART"

# Sous-dossier relatif au chemin d'installation de l'exécutable
exeRelativePath=""

# URL de base pour les fichiers compressés des versions
repoBase="https://github.com/artpixls/ART/archive/refs/tags"

# Dossier de téléchargement et de compilation
sourceDir="$HOME/programs/code-${prog}"
buildDir="$sourceDir/build"
installDir="$HOME/programs/${prog}"
archiveVersionFile="$HOME/${prog}_version.txt"

# Fonction pour afficher les messages
echo_info() {
  echo -e "\033[1;32m$1\033[0m"
}

# Récupérer la dernière version stable disponible
echo_info "Récupération de la dernière version stable..."
latestVersion=$(wget -qO- "https://github.com/artpixls/ART/releases" |
                grep '/artpixls/ART/releases/tag/' |
                grep -v 'nightly' |
                head -n 1 |
                sed -E 's|.*tag/([^"\>]+).*|\1|')

if [[ -z "$latestVersion" ]]; then
  echo_info "Impossible de déterminer la dernière version stable."
  exit 1
fi

repo="$repoBase/$latestVersion.tar.gz"

# Vérification de la version actuelle
echo_info "Vérification des mises à jour de la version..."
previousVersion=$(cat "$archiveVersionFile" 2>/dev/null || echo "")

if [[ "$latestVersion" == "$previousVersion" ]]; then
  echo_info "Aucune mise à jour détectée. Version actuelle : $latestVersion."
  exit 0
else
  echo "$latestVersion" > "$archiveVersionFile"
  echo_info "Nouvelle version détectée : $latestVersion. Téléchargement et recompilation nécessaires."
fi

# Vérifier et créer les dossiers nécessaires
if [[ -d "$sourceDir" ]]; then
  echo_info "Suppression de l'ancien dossier source..."
  rm -rf "$sourceDir"
fi
mkdir -p "$sourceDir" "$buildDir" "$installDir"

# Télécharger et extraire les sources
echo_info "Téléchargement de l'archive source..."
wget "$repo" -O "$HOME/${prog}.tar.gz" || exit 1
echo_info "Extraction des fichiers..."
tar -xzf "$HOME/${prog}.tar.gz" -C "$sourceDir" --strip-components=1 || exit 1
rm "$HOME/${prog}.tar.gz"

# Détecter le nombre de cœurs CPU
cpuCount="$(nproc --all)"
if [[ ! ( $cpuCount -ge 1 && $cpuCount -le 64 ) ]]; then
  cpuCount=1
fi

# Compiler le programme
echo_info "Configuration de la compilation avec CMake..."
cmake \
    -DCMAKE_BUILD_TYPE="Release" \
    -DPROC_TARGET_NUMBER="2" \
    -DBUILD_BUNDLE="ON" \
    -DBUNDLE_BASE_INSTALL_DIR="$installDir" \
    -DOPTION_OMP="ON" \
    -DWITH_LTO="OFF" \
    -DWITH_PROF="OFF" \
    -DWITH_SAN="OFF" \
    -DWITH_SYSTEM_KLT="OFF" \
    -DWITH_BENCHMARK="OFF" \
    -DENABLE_LIBRAW="ON" \
    -DENABLE_OCIO="ON" \
    -DENABLE_CTL="ON" \
    "$sourceDir" || exit 1

make --jobs="$cpuCount" install || exit 1

# Supprimer les dossiers indésirables dans le répertoire personnel
echo_info "Nettoyage des dossiers CMakeFiles, rtgui, rtengine et rtdata..."
rm -rf "$HOME/CMakeFiles" "$HOME/rtgui" "$HOME/rtengine" "$HOME/rtdata"

# Finalisation
echo_info "Compilation terminée. Pour exécuter ${prog}, utilisez :"
echo "$installDir/${exePath}"

3 « J'aime »