From b9e22325bb46e2611a73e54a3f0ade31800d1bd9 Mon Sep 17 00:00:00 2001 From: Sébastien Dailly Date: Fri, 9 May 2014 14:30:46 +0200 Subject: Moved to pelican 3.3 --- content/Informatique/2013-05-23-ocamlfind_fr.rst | 77 ++++++++++++++++++++++++ 1 file changed, 77 insertions(+) create mode 100644 content/Informatique/2013-05-23-ocamlfind_fr.rst (limited to 'content/Informatique/2013-05-23-ocamlfind_fr.rst') diff --git a/content/Informatique/2013-05-23-ocamlfind_fr.rst b/content/Informatique/2013-05-23-ocamlfind_fr.rst new file mode 100644 index 0000000..4cf81fd --- /dev/null +++ b/content/Informatique/2013-05-23-ocamlfind_fr.rst @@ -0,0 +1,77 @@ +.. -*- rst -*- +.. -*- coding: utf-8 -*- + +========================= +Un dépôt local pour ocaml +========================= + +:date: 2013-05-23 +:tags: ocaml +:summary: |summary| +:logo: /images/ocaml/camel.jpg +:slug: un-depot-local-pour-ocaml +:lang: fr + +.. figure:: {filename}/images/ocaml/camel_medium.jpg + :figwidth: 150 + :figclass: floatleft + :alt: Pavement + + Image : `@Doug88888`_ (creativecommons_) + +.. _@Doug88888: http://www.flickr.com/photos/doug88888/3458057235/ +.. _creativecommons: http://creativecommons.org/licenses/by-nc-sa/2.0/deed.fr + +|summary| + + +.. |summary| replace:: + Ocaml n'est pas à jour dans debian : l'ensemble des librairies sont encore + restées sur la version 3, alors qu'Ocaml4 est sorti depuis près d'un an. Il + peut être nécessaire de développer en utilisant ocaml4, mais on est alors + obligé de compiler soit même les dépendances, et les installer pour + l'ensemble du système, ce qui n'est pas souhaité, ni toujours possible + (problème de droits). Cette petite recette permet de se créer un dépôt + local en utilisant findlib. + +Findlib est devenu de facto une brique essentielle pour la gestion des +librairies et les dépendances d'un projet. Aujourd'hui toute compilation +utilise findlib pour rechercher les dépendances et faciliter la chaîne de +compilation. La documentation_ du projet est assez dense, mais heureusement, il +est très configurable. + +.. _documentation: http://projects.camlcity.org/projects/dl/findlib-1.3.3/doc/guide-html/index.html + +Nous allons commencer par nous créer un fichier de configuration local qui va +indiquer où stocker nos librairies : + +.. code-block:: bash + + destdir="/home/chimrod/ocaml/packages/" + path="/home/chimrod/ocaml/packages/:/usr/local/lib/ocaml/4.00.1:/usr/lib/ocaml:/usr/lib/ocaml/METAS" + +:destdir: correspond à l'emplacement d'installation des nouvelles librairies. +:path: est l'ensemble des répertoires où chercher les dépendances. Ici + nous déclarons tout d'abord notre dépôt local avant de référencer + les répertoires système. + +Il faut bien sûr remplacer `/home/chimrod/` par le chemin sur votre +installation : celui-ci doit être écrit en absolu pour le bon fonctionnement de +findlib. + +Le répertoire de configuration peut être exporté via une variable shell, ce qui +va nous faciliter la vie ; il ne nous reste plus qu'à référencer ce fichier de +configuration dans notre environnement : + +.. code-block:: bash + + export OCAMLFIND_CONF=/home/chimrod/ocaml/ocamlfind.conf + +Là encore, remplacer le chemin par celui qui est le votre sur votre système. + +On peut mettre cette chaîne dans le fichier `.bashrc` pour que le paramétrage +soit pris en compte dans chaque session ouverte dans le terminal. + +Et le tour est joué : toutes nos nouvelles dépendances vont s'installer +directement dans notre répertoire personnel, et nous n'avons plus besoin +d'aller poluer le système avec nos compilation. -- cgit v1.2.3