Débutants - installer les sources

Résumé

Vous n'avez jamais installé un logiciel à partir des sources ? Lancez-vous avec TeXmacs.

1.Un peu de théorie : développer un logiciel à plusieurs

Si plusieurs personnes travaillent en même temps à développer un logiciel, il faut que chacun dispose sur son disque dur des sources du logiciel, et quand chacun les modifie, il doit synchroniser ses sources modifiées avec les sources originales qui se trouvent sur un serveur. On utilise pour cela un logiciel de gestion de versions. Subversion (en abrégé SVN) est un tel logiciel. Il est développé par la fondation Apache.

SVN est un logiciel fait pour gérer facilement le développement d'un programme fait entre plusieurs personnes (et même une seule). Il travaille sur une logique client/serveur. Il y a le serveur SVN où se trouvent tous les fichiers sources et il y a ton poste de travail, dans lequel tu dois installer un client SVN et qui fera la copie du projet qui se trouve dans le serveur SVN (c'est ce qu'on appelle un checkout, copie initiale des fichiers, en abrégé co). Quand tu modifieras des fichiers, il faudra envoyer les modifications au serveur SVN grâce à un commit, tu peux ajouter des commentaires pour expliquer ce que tu as fait par exemple, tout est sauvegardé sur le serveur.

Ça permet de développer un truc en gardant une trace de toutes les modifications, et en permettant par exemple de gérer les conflits lorsque deux personnes modifient en même temps le même fichier (pour que l'un n'écrase pas le travail de l'autre), tout ça grâce au versioning (chaque fichier à chaque modification a une version différente). Disons qu'un fichier X a la version 10, tu le modifie et tu commites, il aura la version 11 sur le serveur. Deux personnes récupèrent (commande update de svn) et modifient la version 11, la première personne qui le modifie et qui commite la modification (commiter envoyer la modification au serveur SVN qui centralise tout), n'aura pas de problème, la version du fichier X sur le serveur SVN sera maintenant 12. Mais la deuxième personne voudra commiter des modifications à la version 11, elle aura un conflit à régler car elle ne modifie pas la dernière version présente sur le serveur SVN, c'est à dire la 12.

Deux lectures rapides:

Qu'est-ce que c'est qu'un logiciel de gestion de versions. L'exemple de Subversion.

2.Un peu de théorie : Installer les sources

Les sources sont un ensemble de fichiers contenant toutes les lignes de code du programme. Tu les télécharges, tu les installes en suivant la procédure qui suit. Mais elles ne permettent pas directement de lancer le programme. Pour cela, il faut faire ce que l'on appelle une compilation. La compilation prend les sources (mais ne les modifie pas), et crée à partir d'elles un exécutables (une « application »).

Donc : tu télécharges les sources, tu les modifies comme tu veux, tu les compiles pour pouvoir les utiliser sur ton ordinateur, et en parallèle tu les « commites » pour que le logiciel officiel soit mis à jour avec tes modifications. Compiler et « commiter » sont deux actions indépendantes. Tu peux aussi compiler et mettre à disposition de tous l'exécutable obtenu. C'est ainsi que sur le site texmacs.org tu peux régulièrement mettre à jour l'application texmacs.app.

Quand on installe les sources, il faut indiquer au programme utilisé dans quel dossier on veut placer les sources, et dans quel dossier on veut placer le résultat des complications que l'on fera à partir des sources.

3.Installer les sources de TeXmacs

Ce paragraphe concerne uniquement mac os X.

Sous mac os X, le logiciel Xcode semble incontournable.

Choisir un dossier sur le disque dur où l'on mettra les sources. Par exemple ~/Sources est idéal. Mais on peut choisir n'importe quel autre dossier. Attention toutefois : veiller à ce que dans le path (=chacun des sous dossiers successifs depuis la racine du disque dur), il n'y ait pas de caractères ésotériques : espaces, astérisques etc.

3.1.Préliminaires 1

Installer QT. QT (rien à voir avec Quicktime de Apple) est un système d'interface utilisateur développé par la compagnie nordique Nokia. Les nouvelles versions de TeXmacs s'appuient sur QT.

Télécharger QT (le premier lien : Cocoa, 64bit, libs and dev tools), c'est 178 MB, il s'installe tout seul, laisser faire.

3.2.Préliminaires 2

Dans ~/Sources, télécharger les librairies suivantes, dans cet ordre :

libgmp (télécharger le .bz2)

Readline (premier lien indiqué "ftp.cwru.edu")

Guile (installer guile 1.8.8 ; pas 2.0, c'est pas compatible)

Ghostscript (second lien, celui en bz2)

Ce sont des programmes annexes, dont TeXmacs aura besoin. Tous doivent être compilés pour que TeXmacs puisse faire appel à eux. Pour cela, pour chacun des dossiers décompressés précédents, faire, dans le terminal :

Attention ! à la fin de readline… faire en plus (et avant d'installer Guile, donc) :

sudo ln -f -s /usr/local/lib/libreadline.6.2.dylib /usr/lib/libreadline.dylib

Explications si l'on veut :

La librairie /usr/lib/libreadline.dylib n'est qu'un lien vers libedit.3.dylib, qui est la vraie librairie du MacOS. Avec ls -l /usr/lib/libreadline*, on voit en effet ça: lrwxr-xr-x 1 root wheel 15 Jul 22 2011 /usr/lib/libreadline.dylib -> libedit.3.dylib. Alors le truc est simple : on refait le lien pour qu'il pointe vers la nouvelle librairie. L'effet de l'instruction donnée est donc de remplacer le lien dont on parlait ci-dessus par un lien vers ton nouveau truc (ln fait des liens vers des fichiers, -s toto titi fait pointer titi vers toto, -f veut dire "forcer" parce qu'il y a déjà un lien en place)

On pourra aussi avoir besoin plus tard de ce qu'indique la page installer les sources, à savoir : Aspell, Libiconv, Netpbm and ImageMagick mais si on débute mieux vaut attendre un peu, tout marche plus ou moins bien sans ça.

3.3.Installation de TeXmacs proprement dite

Faire un check out des fichiers source de texmacs. Checkout (en abrégé co) veut dire : télécharger entièrement les sources de la toute dernière version. Il faut ne faire ça qu'une fois, la première fois qu'on installe.

Explication du /trunk : Les fichiers sources d'un logiciels contiennent trois dossier à la racine : trunk, branches, et tag. Les deux dernier servent à archiver toutes les sources successives obtenues par modifications des uns et des autres. C'est très lourd à télécharger, et nécessaire que si l'on plonge vraiment dans le code.

Le résultat de cette opération : un dossier ~/Sources/texmacs/trunk/ contenant "web" (image du site internet www.texmacs.org), "src" (les sources elles-mêmes) et "misc" (des trucs divers).

Si tu as accès d'écriture, il faut configurer tes clés ssh.

3.4.Mise à jour de tes sources par rapport au serveur

Lorsque tu auras besoin de te mettre à jour par rapport aux sources du serveur (que d'autres utilisateurs éventuels auront modifiées), par exemple avant de faire de nouveaux changements ou pour voir les derniers changements dans le code et les compiler, alors il faut faire :

3.5.Mise à jour du serveur par rapport à tes sources

Faire commit veut dire envoyer tes changements. Pour ça il te faut l'accès d'écriture (tu as déjà tout configuré plus haut).

Résumé :

Chaque fichier que tu crées doit être ajouté (svn add nomdefichier) puis envoyé au serveur (svn commit -m "message" nomdefichier). Un fichier qui était déjà là n'a pas besoin d'être ajouté encore une fois par l'instruction add : le commit suffit.

3.6.Créer un exécutable

Pour compiler l'application TeXmacs à partir des sources, utilise XCode "Build->Build and run" ou le raccourci Pomme+R. [Une commande make bundle existe aussi]

4.Aide nécessaire