execrom

Exécuteur de roms
git clone git://git.asteride.xyz/execrom.git
Journaux | Fichiers | Références | LISEZ-MOI | LICENCE

LISEZ-MOI.txt (3815B)


      1 EXECROM(8)
      2 ==========
      3 
      4 Ce ne sont pas tous les formats de fichier qui contiennent des programmes qui
      5 sont compatibles avec la syntaxe « #! », qui permet d’interpréter des programmes
      6 de la même manière que les programmes compilés dans le format d’exécutable natif
      7 du système d’exploitation. De nombreuses ROMs destinées à certains émulateurs ou
      8 machines virtuelles souffrent notamment de cette incompatibilité.
      9 
     10 Soit ~/uxn/drifblim et ~/uxn/leftA deux ROMs exécutables par une machine
     11 Varvara. La première contient un assembleur uxntal interprétable par la machine
     12 virtuelle en mode texte uxncli(1). La commande suivante assemble prog.tal dans
     13 prog.rom.
     14 
     15 	$ uxncli ~/uxn/drifblim prog.tal prog.rom
     16 
     17 La seconde ROM est un éditeur de texte en mode graphique. Elle doit donc être
     18 interprétée par uxnemu(1). La commande suivante ouvre le fichier doc.txt avec
     19 l’éditeur de texte.
     20 
     21 	$ uxnemu ~/uxn/left doc.txt
     22 
     23 Grâce à execrom(8), et à quelques manipulations montrées plus bas, ces deux
     24 programmes peuvent être exécutés comme suit:
     25 
     26 	$ drifblim prog.tal prog
     27 	$ left doc.txt
     28 
     29 Dépendance d’exécution
     30 -----------------------
     31 
     32 - POSIX
     33 
     34 Dépendances de compilation
     35 --------------------------
     36 
     37 - Compilateur C89 ou plus récent
     38 - POSIX
     39 - make (supportant les assignations avec « != »)
     40 
     41 Installer
     42 ---------
     43 
     44 execrom(8) a été testé sur :
     45 * OpenBSD 7.7
     46 * Alpine Linux 3.22
     47 
     48 Télécharger la publication la plus récente, la décompresser, l’extraire :
     49 
     50 	$ curl -O 'https://asteride.xyz/~ldp/publications/execrom/execrom.tgz'
     51 	$ tar zxvf execrom.tgz
     52 	$ cd execrom
     53 
     54 Compiler le programme :
     55 
     56 	$ make
     57 
     58 Installer le programme et ses pages du manuel :
     59 
     60 	# make install
     61 
     62 Ils s’installeront sous LIBEXEC_DOS et MAN_DOS, respectivement. Ces variables
     63 ont chacune une valeur prédéfinie dans le Makefile et dépendent de PREFIX ; il
     64 peut être utile de les modifier. Puisque les pages du manuel ne sont pour
     65 l’instant disponibles qu’en français et en catalan et que l’installateur les
     66 place dans ${MAN_DOS}/fr/ et ${MAN_DOS}/ca/, respectivement, il y a des chances
     67 qu’elles soient inaccessibles et qu’il faille modifier la variable
     68 d’environnement MANPATH ou le fichier /etc/man.conf.
     69 
     70 Puisque execrom(8) n’a pas été conçu pour être exécuté directement, il est par
     71 défaut installé sous ${PREFIX}/libexec. Ce choix a le désavantage de le rendre
     72 introuvable par la commande which(1).
     73 
     74 Configurer
     75 ----------
     76 
     77 Reprenons les ROMs ~/uxn/drifblim et ~/uxn/left. execrom(8) permet d’exécuter
     78 ces deux programmes sans avoir à spécifier chaque fois l’interpréteur approprié
     79 et le chemin vers la ROM. Pour ce faire, il faut régler la variable
     80 d’environnment EXECROM_CHEM pour qu’elle contienne le chemin vers le dossier où
     81 se trouvent les ROMs, ici, ~/uxn.
     82 
     83       $ export EXECROM_CHEM="$HOME/uxn:$EXECROM_CHEM"
     84 
     85 Il faut aussi modifier le nom de chaque ROM pour que son préfixe et son
     86 suffixe correspondent à son nom d’invocation et au nom du programme
     87 destiné à l’interpréter, respectivement.  Le résultat devrait être le
     88 suivant.
     89 
     90       $ ls ~/uxn
     91       drifblim.uxncli
     92       left.uxnemu
     93 
     94 Enfin, un lien symbolique accessible par PATH et pointant vers
     95 l’exécutable d’execrom doit être créé pour chaque ROM.
     96 
     97       $ ln -s /usr/local/libexec/execrom ~/.local/bin/driftblim
     98       $ ln -s /usr/local/libexec/execrom ~/.local/bin/left
     99 
    100 Les ROMs peuvent alors être exécutées directement.
    101 
    102       $ drifblim prog.tal prog
    103       $ left doc.txt
    104 
    105 Contribuer
    106 ----------
    107 
    108 Pour tout commentaire, rapport de bogue ou diff, on peut m’envoyer un courriel à
    109 ldp@asteride.xyz.
    110 
    111 Licence
    112 -------
    113 
    114 execrom(8) est distribué sous licence GPLv3.
    115 
    116 Auteur
    117 ------
    118 
    119 execrom(8) a été créé et est maintenu par Loïc Daignault-Pichette
    120 <ldp@asteride.xyz>.