--- categories: ['OpenBSD','Système','Développement'] date: 2020-01-19T13:45:21+02:00 description: "Installation, configuration de l'outil 'cabal' pour la gestion des programmes et bibliothèques Haskell, sous OpenBSD" draft: false include_toc: true show_comments: false tags: ['OpenBSD','cabal','haskell'] title: "Installer l'outil Cabal sous OpenBSD" translationKey: 'openbsd-cabal' --- ## Description Le programme en ligne de commande `cabal` simplifie le processus de gestion des logiciels Haskell en automatisant la récupération, configuration, compilation et installation des programmes et bibliothèques Haskell. * architectures gérées : aarch64, amd64, i386 * mainteneur : Matthias Kilian * Openports : https://openports.pl/path/devel/cabal-install * site web officiel : http://www.haskell.org/cabal/ ## Installation **{{< inside2 l="sys/openbsd/pkg" t="Installez" a="installer" >}} le paquet `cabal-install`**. ## Configuration Du fait de la protection mémoire W^X, l'outil `cabal` ne fonctionne pas correctement. Pour résoudre cette situation, deux manières de faire : ### Modifications système Pour remédier à la situation, nous allons modifier légèrement votre `$HOME` et `/usr/local`. - Création des répertoires nécessaires dans `/usr/local`, avec les droits administrateurs - Attribution des droits utilisateurs nécessaires, toujours avec des droits administrateurs - Suppression du répertoire ad hoc dans `$HOME` - et, lien symbolique - création d'un alias utile ```sh # mkdir -p /usr/local/cabal/build # chown -R user:wheel /usr/local/cabal $ rm -rf ~/.cabal $ ln -s /usr/local/cabal ~/.cabal ``` Pour finir, créez donc un alias dans votre fichier personnel `.khsrc`, ou `.profile` :
`alias cabal='env TMPDIR=/usr/local/cabal/build/ cabal'` {{}} Ajouter le dossier .cabal à votre variable PATH pour pouvoir lancer les commandes facilement ! `PATH=$HOME/bin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/X11R6/bin:/usr/local/bin:/usr/local/sbin:$HOME/.cabal/bin` {{}} ### Option wxallowed {{}} Prenez conscience qu'utiliser cette possibilité aura pour conséquence de permettre l'exécution de binaire potentiellement dangereux depuis votre `$HOME`. **Mieux vaut éviter** ! {{}} Il est possible d'ajouter l'option de montage `wxallowed` à votre partition $HOME si vous l'avez créée. ---- source : https://deftly.net/posts/2017-10-12-using-cabal-on-openbsd.html ---- ## Historique J'ai écrit historiquement cette documentation sur le wiki de la communauté "OpenBSD Pour Tous". ---