Dernière mise à jour de la page : 15.01.14
Le contenu de cette page est sous licence : CC BY-SA 3.0


  1. Avant propos
  2. Installation de TeX Live 2013 sous Linux
  3. Configuration de TeX Live 2013
  4. Gestion des dépendances pour une installation personnelle de TeX Live

I. Avant propos

Dans cet article, je donne une méthode d'installation de la distribution TeX Live. La motivation de cette rédaction remonte il y a plusieurs années pour la version TeX Live 2007. La version actuelle est TeX Live 2013. Malgré l'apparition d'une interface graphique dès la version 2008, une installation en ligne de commande est toujours possible et reste très pratique. C'est ce que présente cette page.

L'installation présentée ici ne traite que le cas d'une installation sur un système Linux. Je donne d'ailleurs une astuce pour régler le problème de dépendance qu'il peut exister avec d'autres packages de la distribution Archlinux (ainsi que deux vieux exemples d'une telle astuce pour openSUSE 10.3).

II. Installation de TeX Live 2013 sous Linux

(D'après la documentation de TeX Live.)

Pour le problème de dépendance de certains logiciels demandant la version TeX Live comprise dans votre distribution Linux, lire le chapitre dédié.

Je présente ici une installation en ligne de commande de la distribution TeX Live 2013. Vous pouvez trouver l'iso à télécharger et à graver sur cette page. Il est aussi possible d'utiliser l'iso sans le graver en le montant dans le répertoire de son choix en root :

# mkdir -p /media/iso
# mount -t iso9660 -o loop texlive2013-20130530.iso /media/iso/

Dans cet exemple, l'iso texlive2013-20130530.iso sera monté dans le répertoire /media/iso/.

Lançons l'installation. Notez que selon le choix que vous souhaitez faire pour le répertoire d'installation, il vous faudra peut-être vous loguer en root :

# cd /media/iso
# ./install-tl

Par défaut, le menu suivant apparaît (si une installation antérieure existe, il peut être demandé si vous souhaitez importer les réglages de cette dernière) :

======================> TeX Live installation procedure <=====================
 
======>   Letters/digits in <angle brackets> indicate   <=======
======>   menu items for commands or options            <=======
 
 Detected platform: x86_64 with GNU/Linux
 
 <B> binary platforms: 1 out of 13
 
 <S> set installation scheme (scheme-full)
 
 <C> customizing installation collections
     44 collections out of 45, disk space required: 3294 MB
 
 <D> directories:
   TEXDIR (the main TeX directory):
     /usr/local/texlive/2013
   TEXMFLOCAL (directory for site-wide local files):
     /usr/local/texlive/texmf-local
   TEXMFSYSVAR (directory for variable and automatically generated data):
     /usr/local/texlive/2013/texmf-var
   TEXMFSYSCONFIG (directory for local config):
     /usr/local/texlive/2013/texmf-config
   TEXMFVAR (personal directory for variable and automatically generated data):
     ~/.texlive2013/texmf-var
   TEXMFCONFIG (personal directory for local config):
     ~/.texlive2013/texmf-config
   TEXMFHOME (directory for user-specific files):
     ~/texmf
 
 <O> options:
   [ ] use letter size instead of A4 by default
   [X] allow execution of restricted list of programs via \write18
   [X] create all format files
   [X] install macro/font doc tree
   [X] install macro/font source tree
   [X] after install, use tlnet on CTAN for package updates
 
 <V> set up for portable installation
 
Actions:
 <I> start installation to hard disk
 <H> help
 <Q> quit
 
Enter command: 

Plusieurs choix par défaut sont déjà faits, notamment celui du répertoire d'installation /usr/local/texlive. Je préfère placer la distribution ailleurs. Pour autant, afin de rester cohérent avec le Filesystem Hierarchy Standard, puisque TeX Live peut être considéré comme un logiciel optionnel, nous l'installerons dans un sous-répertoire de /opt. Nous l'installerons dans /opt/texlive. Pour définir ce répertoire comme emplacement d'installation, il faut choisir la commande <D> qui nous amène au menu suivant :

===============================================================================
Directories setup:
 
 <1> TEXDIR:       /usr/local/texlive/2013
     support tree: /usr/local/texlive/2013/texmf-dist
 
 <2> TEXMFLOCAL:     /usr/local/texlive/texmf-local
 <3> TEXMFSYSVAR:    /usr/local/texlive/2013/texmf-var
 <4> TEXMFSYSCONFIG: /usr/local/texlive/2013/texmf-config
 
 <5> TEXMFVAR:       ~/.texlive2013/texmf-var
 <6> TEXMFCONFIG:    ~/.texlive2013/texmf-config
 <7> TEXMFHOME:      ~/texmf
 
 Note: ~ will expand to $HOME (or to %USERPROFILE% on Windows)
 
Actions:
 <R> return to main menu
 <Q> quit
 
Enter command: 

Il faut choisir l'option <1> et remplir correctement le champ de saisie qui suivra :

Enter command: 1
New value for TEXDIR [/usr/local/texlive/2013]: /opt/texlive/2013

pour obtenir :

===============================================================================
Directories setup:
 
 <1> TEXDIR:       /opt/texlive/2013
     support tree: /opt/texlive/2013/texmf-dist
 
 <2> TEXMFLOCAL:     /opt/texlive/texmf-local
 <3> TEXMFSYSVAR:    /opt/texlive/2013/texmf-var
 <4> TEXMFSYSCONFIG: /opt/texlive/2013/texmf-config
 
 <5> TEXMFVAR:       ~/.texlive2013/texmf-var
 <6> TEXMFCONFIG:    ~/.texlive2013/texmf-config
 <7> TEXMFHOME:      ~/texmf
 
 Note: ~ will expand to $HOME (or to %USERPROFILE% on Windows)
 
Actions:
 <R> return to main menu
 <Q> quit
 
Enter command: 

La modification est reportée pour l'ensemble des sous-répertoires d'installation. Mais vous pouvez également modifier ceux-ci dans le détail. Revenons au menu principal (option <R>) pour la suite (ne pas hésiter à vérifier que la modification faite apparaît dans le menu principal).

L'option qui nous intéresse ensuite est l'option <S> qui permet de choisir le type d'installation. Choisir cette option permet d'afficher un autre menu :

===============================================================================
Select scheme:
 
 a [X] full scheme (everything)
 b [ ] medium scheme (small + more packages and languages)
 c [ ] small scheme (basic + xetex, metapost, a few languages)
 d [ ] basic scheme (plain and latex)
 e [ ] minimal scheme (plain only)
 f [ ] ConTeXt scheme
 g [ ] GUST TeX Live scheme
 h [ ] teTeX scheme (more than medium, but nowhere near full)
 i [ ] XML scheme
 j [ ] custom selection of collections
 
Actions: (disk space required: 3294 MB)
 <R> return to main menu
 <Q> quit
 
Enter letter to select scheme: 

Personnellement, je choisis toujours une installation complète (choix a, soit full scheme car je n'aime pas courir après les packages et fonctionnalités manquants). Mais il est évident que l'on peut choisir une autre installation. Pour un réglage dans le détail, choississez l'option <C> du menu principal. Vous retrouverez ici la présélection correspondant à votre choix précédent.

Il y a encore quelques choix possibles sous l'option <O>.

Avant de lancer l'installation, vérifiez que la détection automatique de l'architecture de votre système (type d'OS, 32 ou 64  bits...) a bien fait son boulot, sinon vous aurez quelques mauvais surprises. Au besoin, modifiez ce réglage avec l'option <B>.

Une fois tous les réglages/choix faits, l'installation peut être exécutée (choisir <I> dans le menu principal). À la fin de l'installation seront affichées des lignes similaires à :

 Add /opt/texlive/2013/texmf-dist/doc/man to MANPATH.
 Add /opt/texlive/2013/texmf-dist/doc/info to INFOPATH.
 Most importantly, add /opt/texlive/2013/bin/x86_64-linux
   to your PATH for current and future sessions.

Cela signifie que dans l'état, les paths de la distribution LaTeX ne sont pas connus (man pages, binaires...). Il faut donc les ajouter pour chaque utilisateur de LaTeX. L'idéal est d'ajouter les lignes suivantes dans le fichier .profile des utilisateurs de LaTeX :

PATH=$PATH:/opt/texlive/2013/bin/x86_64-linux; export PATH
MANPATH=$MANPATH:/opt/texlive/2013/texmf-dist/doc/man; export MANPATH
INFOPATH=$INFOPATH:/opt/texlive/2013/texmf-dist/doc/info; export INFOPATH
Il faut adapter la manière d'intégrer ces paths à votre système (notamment les man pages qui pouvent être organisées autrement).

Une astuce sous Archlinux est d'ajouter un script dans /etc/profile.d puisque les scripts présents dans ce répertoire sont exécutés au lancement d'une session. Voici par exemple ce qu'on peut placer :
test -d /opt/texlive/2013/bin/i386-linux && export PATH=$PATH:/opt/texlive/2013/bin/i386-linux
test -d /opt/texlive/2013/bin/x86_64-linux && export PATH=$PATH:/opt/texlive/2013/bin/x86_64-linux
Il vérification de la pésence du répertoire de binaires de TeX Live 2013 pour les deux architectures 32 et 64 bits.

L'installation est terminée.

III. Configuration de TeX Live 2013

Nous avons vu plus haut comment modifier les paths des utilisateurs avant de rendre utilisable notre propre version de LaTeX. C'est à l'administrateur de gérer les droits d'accès (utlisateurs/groupes) pour dire qui a le droit ou non d'utiliser LaTeX sur la machine. En dehors de ces choix, l'administreur a également le possiblité d'ordonner les différentes arborescences dans lesquelles les différents binaires vont piocher pour trouver les informations nécessaires à la réalisation des documents, notamment tout ce qui concerne les packages. Il est par exemple possible d'installer des packages dans les répertoires propres de la distribution pour les rendre disponibles pour tous, mais il est aussi possible aux utilisateurs de créer leurs propres packages. Cependant, avec toutes ces possiblités, il peut y avoir des redondances de noms pour les packages. Il est donc nécessaire d'ordonner les différentes arborescences à considérer afin de prioriser certaines d'entre elles par rapport aux autres.

Tout cela se règle dans le fichier /opt/texlive/2013/texmf-dist/web2c/texmf.cnf (si on reprend l'exemple de notre installation personnelle). Nous pouvons y modifier les différentes arborescences. Leur appel se fait un peu de la même manière que les paths Linux. Nous avons les variables suivantes :

  • TEXMFROOT : définit la racine de la distribution.
  • TEXMFDIST : répertoire principal de la distribution. Rien ne devrait être modifié manuellement dans cette arborescence.
  • TEXMFMAIN : variable conservée historiquement de manière temporaire. Il y avait dans des précédentes versions de la distribution une distinction entre les répertoires texmf-dist et texmf. Un regroupement a été opéré. Ainsi, cette variable pointe sur la précédente (soit $TEXMFDIST).
  • TEXMFLOCAL : c'est là que l'administrateur de la machine peut placer des classes, packages locaux, les polices de caractères non disponibles dans TEX Live... Ainsi, si vous créez un super package et que vous voulez le rendre disponible à tous les utilisateurs de la machine, il peut être intéressant de le placer ici en tant qu'administrateur.
  • TEXMFSYSVAR : répertoire dans lequel les scripts texconfig-sys, updmap-sys et fmtutil-sys rangent les données qu'ils produisent.
  • TEXMFSYSCONFIG : répertoire dans lequel les scripts texconfig-sys, updmap-sys et fmtutil-sys placent les données de configuration.
  • TEXMFHOME : répertoire contenant les fichiers personnels (packages, classes, fontes) de l'utilisateur.
  • TEXMFVAR : alternative utilisateur de TEXMFSYSVAR, c'est-à-dire le répertoire dans lequel les scripts texconfig, updmap et fmtutil rangent les données qu'ils produisent.
  • TEXMFCONFIG : alternative utilisateur de TEXMFSYSCONFIG, c'est-à-dire le répertoire dans lequel les scripts texconfig, updmap et fmtutil placent les données de configuration.
  • TEXMF : ici, nous listons toutes les arborescences à considérer. Il est dit dans la documentation officielle qu'en tout premier lieu doivent figurer les répertoires $TEXMFCONFIG et $TEXMFVAR.
  • TEXMFDBS : c'est ici que sont listées les arborescences dans lesquelles seront cherchés les fichiers ls-R, c'est-à-dire une liste du contenu du répertoire qui contient un tel fichier.
  • SYSTEXMF : les arborescences système. Sont listées ici les arborescences principales partagées par tous les utilisateurs.
  • TEXMFCACHE : répertoires utilisés par Lua(La)TeX pour servir de cache aux polices de caractères.
  • VARTEXFONTS : c'est ici que les polices de caractères générées (en multi-utilisateurs) sont placées s'il est impossible d'écrire dans les arborescences de SYSTEXMF.

Le script texconfig permet à l'utilisateur de configurer son utilisation de la distribution TeX Live. Le script updmap, quant à lui, permet d'intégrer de nouvelles polices (voir le mapping pour les polices TrueType pour quelques explications). Les scripts texconfig-sys et updmap-sys ont les mêmes effets, mais agissent sur la configuration générale de la distribution sur la machine, et non sur la configuration personnelle.

Voici la configuration par défaut :

  • TEXMFROOT = $SELFAUTOPARENT
  • TEXMFDIST = $SELFAUTOPARENT/texmf-dist
  • TEXMFMAIN = $TEXMFDIST
  • TEXMFLOCAL = $TEXMFROOT/../texmf-local
  • TEXMFSYSVAR = $TEXMFROOT/texmf-var
  • TEXMFSYSCONFIG = $TEXMFROOT/texmf-config
  • TEXMFHOME = ~/texmf
  • TEXMFVAR = ~/.texlive2013/texmf-var
  • TEXMFCONFIG = ~/.texlive2013/texmf-config
  • TEXMF = {$TEXMFCONFIG,$TEXMFVAR,$TEXMFHOME,!!$TEXMFSYSCONFIG,!!$TEXMFSYSVAR,!!$TEXMFLOCAL,!!$TEXMFDIST}
  • TEXMFDBS = {!!$TEXMFSYSCONFIG,!!$TEXMFSYSVAR,!!$TEXMFLOCAL,!!$TEXMFDIST}
  • SYSTEXMF = $TEXMFSYSVAR;$TEXMFLOCAL;$TEXMFDIST
  • TEXMFCACHE = $TEXMFSYSVAR;$TEXMFVAR
  • VARTEXFONTS = $TEXMFVAR/fonts
Par défaut, le répertoire désigné par TEXMFLOCAL est au même niveau que le répertoire racine de la distribution ($TEXMFROOT/../texmf-local, soit dans notre cas /opt/texlive/texmf-local). Cependant, plusieurs programmes installent par défaut des packages LaTeX dans /usr/local/share/texmf (comme par exemple l'excellent LilyPond pour créer des partitions de musique, ou le non moins excellent logiciel de dessin pour LaTeX s'appelant TeXgraph). Nous pouvons donc changer la valeur de cette variable, ou, plus simple, ne rien changer et créer un lien symbolique /opt/texlive/texmf-local pointant vers /usr/local/share/texmf :
$ pwd
/opt/texlive
$ ls -l
total 8
drwxr-xr-x 9 root root 4096 15 janv. 11:18 2013
-rw-r--r-- 1 root root  232  4 mars   2011 texlive-compatibility-readme
lrwxrwxrwx 1 root root   23 26 sept.  2011 texmf-local -> /usr/local/share/texmf
Le répertoire texmf (défini par TEXMFHOME) étant dans l'arborescence utilisateur, il vaut mieux penser à faire une copie de sauvegarde régulière de ce répertoire pour ne pas perdre un package qu'on aura développé et maintenu depuis plusieurs années...

Quand il y a !! devant une variable de path dans la liste TEXMF, cela signifie qu'à la compilation du document LaTeX, c'est le contenu du fichier ls-R qui sera utilisé pour ce répertoire, et le répertoire concerné ne sera pas rescanné. Logiquement, la liste TEXMFDBS des répertoires où seront cherchés les fichiers ls-R reprendra les répertoires commençant par !! de la liste TEXMF. Il est nécessaire de faire un texconfig-sys rehash en root (respectivement texconfig rehash en user) pour reconstruire les ls-R si des modications sont apportées à la configuration globale (respectivement à la configuration personnelle).

IV. Gestion des dépendances pour une installation personnelle de TeX Live

Un certain nombre de programmes fournis avec une distribution Linux peuvent directement dépendre d'une distribution LaTeX pour pouvoir être installés. Parmi ces programmes, nous pouvons par exemple trouver TeXmaker, TeXstudio, Kile, Emacs, AUCTeX, LyX... Par le jeu des dépendances des packages, c'est la distribution LaTeX disponible dans la distribution Linux qui sera requise pour permettre l'installation de ces programmes.

En général, il est suffisant de rester sur la distribution LaTeX fournie directement par la distribution Linux (aujourd'hui, c'est généralement TeX Live qui est proposée). Cependant, il peut être intéressant de favoriser une installation séparée dans les cas suivants  :

  • la distribution Linux que l'on a n'est plus mise à jour (changement de majeure)
  • la distribution LaTeX proposée n'est pas celle que l'on veut
  • la distriubtion LaTeX proposée ne suit pas le même rythme de mise à jour (notamment au niveau des packages) ou est incomplète
  • on souhaite avoir plus de contrôle dans ce qu'on installe et paramètre au niveau de la distribution LaTeX

Afin de contourner le problème de dépendance, il y a 3 possiblités :

  1. on installe les 2 versions de la distribution LaTeX, celle proposée par la distribution Linux et celle installée manuellement par ailleurs. Dans cette hypothèse, il suffit de gérer correctement les paths des binaires pour favoriser la seconde (et on perd quelques Go d'espace disque).
  2. on installe les logiciels souhaités en forçant la non prise en compte de la distribution LaTeX. On brise donc les liens de dépendance. Il vaut mieux éviter ce genre de manipulation au risque de créer un joyeux bazar au niveau du gestionnaire de packages de la distribution Linux.
  3. on crée un package Linux minimal jouant le rôle de dépendance virtuelle pour les autres qui en ont besoin. C'est l'objet de cette section.

Principe

Je me place dans le cas de la distribution Archlinux (ma distribution du moment). Notons cependant que la grande force de cette distribution Linux est d'être rolling release, c'est-à-dire en constante évolution proposant des mises à jour quotidiennes sans passer par des versions majeures ou mineures. Ainsi, la distribution LaTeX proposée (qui est TeX Live) bénéficie de cet avantage, mais pas exactement au même rythme que les mises à jour des packages de TeX Live

Prenons l'hypothèse que je souhaite installer AUCTeX (une extension pour Emacs pour faciliter la création de documents LaTeX). Voyons les dépendances :

# pacman -Si auctex
Dépôt                 : community
Nom                   : auctex
Version               : 11.87-1
Description           : An extensible package for writing and formatting TeX files in Emacs
Architecture          : any
URL                   : http://www.gnu.org/software/auctex/
Licences              : GPL3
Groupes               : --
Fournit               : --
Dépend de             : emacs  ghostscript  texlive-core
Dépendances opt.      : --
Est en conflit avec   : --
Remplace              : --
Taille à télécharger  : 781,80 KiB
Taille installé       : 3924,00 KiB
Paqueteur             : Eric Belanger <eric@archlinux.org>
Compilé le            : sam. 01 déc. 2012 04:30:51 CET
Validé par            : Somme MD5  Somme SHA256  Signature

À la lecture de ce résultat, nous savons qu'il faut également installer (ou que soient installés) Emacs, Ghostscript et le package texlive-core. Nous pouvons apprendre de la même manière que ce dernier a besoin de texlive-bin. C'est le strict minium, mais cela ne donne pas accès à tout TeX Live. Vérifions ce que Archlinux propose pour TeX Live :

# pacman -Ss texlive
extra/texlive-bibtexextra 2013.31550-1 (texlive-most)
    TeX Live - Additional BibTeX styles and bibliography databases
extra/texlive-bin 2013.30973-7
    TeX Live binaries
extra/texlive-core 2013.31589-1 (texlive-most)
    TeX Live core distribution
extra/texlive-fontsextra 2013.31570-1 (texlive-most)
    TeX Live - all sorts of extra fonts
extra/texlive-formatsextra 2013.30214-1 (texlive-most)
    TeX Live - collection of extra TeX 'formats'
extra/texlive-games 2013.31403-1 (texlive-most)
    TeX Live - Setups for typesetting various board games, including chess
extra/texlive-genericextra 2013.31402-1 (texlive-most)
    TeX Live - mixed bag of generic macro packages and fonts
extra/texlive-htmlxml 2013.31548-1 (texlive-most)
    TeX Live - Packages to convert LaTeX to XML/HTML, and typeset XML/SGML
extra/texlive-humanities 2013.31488-1 (texlive-most)
    TeX Live - LaTeX packages for law, linguistics, social sciences, and humanities
extra/texlive-langcjk 2013.31465-1 (texlive-lang)
    TeX Live - CJK (Chinese, Japanese, Korean) macros and fonts
extra/texlive-langcyrillic 2013.30653-1 (texlive-lang)
    TeX Live - Fonts and macro packages to typeset Cyrillic texts
extra/texlive-langextra 2013.31296-1 (texlive-lang)
    TeX Live - Bundle of all extra language support
extra/texlive-langgreek 2013.31284-1 (texlive-lang)
    TeX Live - Fonts and support for typesetting Greek
extra/texlive-latexextra 2013.31588-1 (texlive-most)
    TeX Live - Large collection of add-on packages for LaTeX
extra/texlive-music 2013.31524-1 (texlive-most)
    TeX Live - Music typesetting packages
extra/texlive-pictures 2013.31517-1 (texlive-most)
    TeX Live - Packages for drawings graphics
extra/texlive-plainextra 2013.31502-1 (texlive-most)
    TeX Live - A collection of add-on packages and macros for plain TeX
extra/texlive-pstricks 2013.31583-1 (texlive-most)
    TeX Live - Additional PSTricks packages
extra/texlive-publishers 2013.31558-1 (texlive-most)
    TeX Live - LaTeX classes and packages for specific publishers
extra/texlive-science 2013.31513-1 (texlive-most)
    TeX Live - Typesetting for natural and computer sciences

Ça fait du monde... Ainsi un utilisateur LaTeX peut potentiellement avoir besoin de tout ça. Un package Linux indique non suelement ses dépendances (obligatoires ou optionnelles) mais aussi ce qu'il fournit. La principe est donc de créer un package compatible avec la distribution Linux indiquant qu'il fournit toute cette liste (ou a minima texlive-bin et texlive-core) même si dans les faits ce n'est pas vrai.

La liste et le nom des packages peuvent varier d'une distribution Linux à l'autre. À vous d'adapter la démarche.

Il faut comprendre ce que l'on fait et ne pas oublier qu'il faut rendre réellement disponible par ailleurs ce qu'on prétend fournir avec le package que l'on va créer.

Création du package

Nous restons dans l'hypothèse d'Archlinux. Un package d'Archlinux est construit sur la base d'un fichier PKGBUILD (voir le wiki dédié pour plus d'informations) qui donne les instruction d'installation, compilation (si nécessaire)... auquel s'ajoutent des fichiers complémentaires nécessaires (et utilisés par PKGBUILD).

Voici un exemple fonctionnel de PKGBUILD 

pkgname=texlive-compatibility
pkgver=1.2
pkgrel=1
pkgdesc="TeXlive compatibility for local version"
arch=('any')
license=('GPL2')
conflicts=('texlive-core')
provides=('texlive-core' 'texlive-bibtexextra' 'texlive-bin' 'texlive-fontsextra'
          'texlive-formatsextra' 'texlive-games' 'texlive-genericextra'
          'texlive-htmlxml' 'texlive-humanities' 'texlive-langcjk'
          'texlive-langcyrillic' 'texlive-langextra' 'texlive-langgreek'
          'texlive-latex3' 'texlive-latexextra' 'texlive-music' 'texlive-pictures'
          'texlive-plainextra' 'texlive-pstricks' 'texlive-publishers'
          'texlive-science')
 
package() {
  mkdir -p $pkgdir/opt/texlive/
  install -Dm644 ${startdir}/texlive-compatibility-readme $pkgdir/opt/texlive/texlive-compatibility-readme
}

Comme vous le constatez par la numérotation, ce n'est pas la toute première version (à vous de gérer les versions comme vous l'entendez). Mais surtout, nous retrouvons tous les packages sensés être fournis (liste provides). Il n'y a pas d'instruction de compilation, ni d'architecture requise (32 ou 64 bits). Seules 2 instructions d'installation existent :

  • création (si besoin) du répertoire /opt/texlive (notons que ce package est tellement minimal qu'il ne cherche pas où pourrait être installé notre distribution TeX Live)
  • copie d'un fichier texlive-compatibility-readme dans ce même répertoire

C'est tout, et ça suffit...

Voici un contenu possible pour le fichier additionnel texlive-compatibility-readme (à placer au même endroit que le fichier PKGBUILD pour la création du package) :

This package ensures compatibility of your own TeX Live with the
packages depending on TeX Live provided by Archlinux.
 
WARNING: TeX Live is supposed to be installed in /opt/texlive.
         You need to upgrade your $PATH yourself

On compile :

$ makepkg
==> Création du paquet texlive-compatibility 1.2-1 (mer. janv. 15 19:16:14 CET 2014)
==> Vérification des dépendances pour l’exécution...
==> Vérification des dépendances pour la compilation...
==> Récupération des sources...
==> Extraction des sources...
==> Entre dans l’environnement fakeroot...
==> Lancement de package()...
==> Nettoyage de l’installation...
  -> Suppression des fichiers indésirables...
  -> Suppression des fichiers libtool...
  -> Suppression des fichiers static library...
  -> Compression des pages de man/info...
  -> Nettoyage des symboles inutiles dans les fichiers binaires et les bibliothèques...
==> Création du paquet « texlive-compatibility »...
  -> Génération du fichier .PKGINFO...
  -> Génération du fichier .MTREE...
  -> Compression du paquet... 
==> Quitte l’environnement fakeroot.
==> Création finie : texlive-compatibility 1.2-1 (mer. janv. 15 19:16:15 CET 2014)

Et on installe (en root) :

# pacman -U texlive-compatibility-1.2-1-any.pkg.tar.xz

C'est terminé, vos dépendances virtuelles sont créées. Il ne reste plus qu'à installer les logiciels demandant ces dépendances.

Les fichiers

Je vous mets à disposition le package vu plus haut pour Archlinux (15.01.2014), ses sources (sic), ainsi que de vieilles versions pour openSUSE 10.3. Tout est également disponible sur la page de téléchargement.