Script pour installer Textadept

Roland57 Membre non connecté
-
- Voir le profil du membre Roland57
- Inscrit le : 08/02/2020
- Site internet
- Groupes :
Je viens de découvrir l'éditeur de texte Textadept, et d'en tomber instantanément amoureux.

C'est un éditeur de texte pour programmeurs simple, rapide et extensible (étant écrit en grande partie en Lua). Pour Linux, il y a trois versions : l'une basée sur Qt, une autre basée sur GTK, une autre sur ncurses.
J'ai écrit un script permettant de télécharger, compiler et installer l'application. J'ai pensé que ça pourrait peut-être intéresser quelqu'un.
Si vous avez des remarques sur mon script, ou si vous voulez explorer avec moi le fonctionnement de ce logiciel, je suis preneur. J'ai l'intention de mettre à jour la version française, qui est incomplète, et d'apprendre à créer des extensions.
Le script en question :
Code BASH :
# Script pour télécharger, compiler et installer l'éditeur de texte [Textadept](https://github.com/orbitalquark/textadept) sous Linux configure() { # Adresse du dépôt GitHub REPOSITORY1=https://github.com/orbitalquark/textadept.git REPOSITORY2=https://github.com/rchastain/textadept.git REPOSITORY=$REPOSITORY1 # Emplacement du code source (*** À MODIFIER ! ***) SOURCE=/home/roland/Documents/sources/textadept # Emplacement des fichiers compilés (*** À MODIFIER ! ***) BUILD=/home/roland/Documents/sources/textadept-build # Emplacement de l'installation finale (*** À MODIFIER ! ***) INSTALL=/home/roland/Documents/sources/textadept-install # Emplacement plus précis de l'installation finale SHARE=$INSTALL/share/textadept # Chemin de l'exécutable TARGET=$SHARE/textadept # Chemin du lien symbolique SYMLINK=~/.local/bin/textadept # Emplacement de l'icône SVG (*** À MODIFIER ! ***) SVGDIR=~/.local/share/icons/Nordic-bluish/apps/scalable/ echo "[DEBUG] REPOSITORY=$REPOSITORY" echo "[DEBUG] SOURCE=$SOURCE" echo "[DEBUG] BUILD=$BUILD" echo "[DEBUG] INSTALL=$INSTALL" echo "[DEBUG] SHARE=$SHARE" echo "[DEBUG] TARGET=$TARGET" echo "[DEBUG] SYMLINK=$SYMLINK" echo "[DEBUG] SVGDIR=$SVGDIR" } download() { echo "[INFO] Download Textadept source" if [ -d "$SOURCE" ]; then echo "[INFO] Directory already exists: $SOURCE" else git clone $REPOSITORY $SOURCE fi } build() { echo "[INFO] Build Textadept" mkdir $BUILD cmake -S $SOURCE -B $BUILD -D CMAKE_INSTALL_PREFIX=$INSTALL cmake --build $BUILD -j cmake --install $BUILD } create_link() { echo "[INFO] Create symbolic link" ln -sf $TARGET $SYMLINK } copy_desktop_files() { echo "[INFO] Copy .desktop files" cp -f $SHARE/textadept.desktop ~/.local/share/applications/ cp -f $SHARE/textadept.desktop ~/Desktop } copy_svg_icon() { echo "[INFO] Copy SVG icon" if [ -d "$SVGDIR" ]; then cp -f $SHARE/core/images/textadept.svg "$SVGDIR" else echo "$SVGDIR does not exist." fi } copy_png_icon() { echo "[INFO] Copy PNG icon" cp -f $SHARE/core/images/textadept.png ~/.local/share/icons/ } configure download build create_link copy_desktop_files copy_svg_icon copy_png_icon
Pour l'installation de l'icône SVG, je n'ai pas trouvé d'emplacement standard qui fonctionne. Donc le script copie l'icône dans le dossier du thème que j'utilise.
Édité par Roland57 Le 19/02/2025 à 14h33

Jybz Membre non connecté
-
- Voir le profil du membre Jybz
- Inscrit le : 10/10/2018
- Groupes :
-
Administrateur
-
Forgeron
Téléverser une image : /wiki/hebergement-de-fichiers-sur-mlo
Arch | Machine | OS |
x86_64 | lenovo x250 | mga9 |
armv7hl | bananapro | mga9 |
aarch64 | Raspberry Pi 4B | mga9 |

Jybz Membre non connecté
-
- Voir le profil du membre Jybz
- Inscrit le : 10/10/2018
- Groupes :
-
Administrateur
-
Forgeron
D'ailleurs, il est possible d'utiliser des dossiers temporaires :
SOURCE="$(mktemp -d)"
BUILD_DIR="${SOURCE}/build"
mkdir -p "${BUILD_DIR}"
Et tu auras moins de lignes à modifier.
Par contre, aucune gestion des fichiers pour désinstaller l'application. Mais comme c'est installé en user-space, c'est un moindre mal.
Téléverser une image : /wiki/hebergement-de-fichiers-sur-mlo
Arch | Machine | OS |
x86_64 | lenovo x250 | mga9 |
armv7hl | bananapro | mga9 |
aarch64 | Raspberry Pi 4B | mga9 |

Roland57 Membre non connecté
-
- Voir le profil du membre Roland57
- Inscrit le : 08/02/2020
- Site internet
- Groupes :
Jybz :Mais pourquoi faire un script complexe alors qu'un fichier .spec aurait pu faire un rpm à mettre dans le dépôt MLO ?
Merci pour ta réponse. Je n'ai jamais fait ça. Je vais regarder.
Jybz :Ton script n'est pas mal, je t'invite à utiliser les variables d'environnement ${USER}, voire ${HOME}.
D'ailleurs, il est possible d'utiliser des dossiers temporaires :
Intéressant. Merci !

Édité par Roland57 Le 19/02/2025 à 14h31
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie