URL: https://linuxfr.org/news/sortie-de-gtk-fortran-4-2-conda-et-fpm-au-menu Title: Sortie de gtk-fortran 4.2 : conda et fpm au menu Authors: vmagnin Ysabeau et Xavier Teyssier Date: 2022-04-25T11:57:21+02:00 License: CC By-SA Tags: gtk-fortran, gtk4 et fortran Score: 3 [gtk-fortran](https://github.com/vmagnin/gtk-fortran/wiki) est une bibliothèque permettant de créer des interfaces graphiques GTK en Fortran moderne, ainsi que d’accéder à la bibliothèque généraliste GLib sur laquelle est basée GTK. La dernière version, gtk-fortran 4.2.1, offre des interfaces Fortran à GTK 4.6.2 et GLib 2.72.1, versions actuellement livrées avec la toute nouvelle Fedora 36. Vous pouvez bien sûr utiliser cette version de gtk-fortran avec des versions précédentes de GTK 4, à condition de ne pas appeler de nouvelles fonctions. Elle a été testée sur Linux, MSYS2/Windows 10, macOS et FreeBSD. Les deux grandes nouveautés qu’apporte cette nouvelle mouture sont l’installation par [conda](https://github.com/conda-forge/gtk-4-fortran-feedstock) et l’utilisation comme dépendance fpm. ---- [Tutoriel 1 : My first gtk-fortran application](https://github.com/vmagnin/gtk-fortran/wiki/Tutorial-1) [Tutoriel 5 : How to use fpm to build a gtk-fortran project](https://github.com/vmagnin/gtk-fortran/wiki/Tutorial-5) [Tutoriel 3 : How to write a gtk-fortran program also usable without GUI](https://github.com/vmagnin/gtk-fortran/wiki/Tutorial-3) [A gtk4 tutorial for beginners](https://github.com/ToshioCP/Gtk4-tutorial) [Tutoriels GTK sur la chaîne YouTube de Michael B.](https://www.youtube.com/c/MichaelB-GTK/videos) [Nouvelle documentation GTK](https://docs.gtk.org/) [Discourse GNOME](https://discourse.gnome.org/c/platform/5) [Forum GTK+ sur Developpez.com](https://www.developpez.net/forums/f336/c-cpp/bibliotheques/gtkp/) ---- # Installation via conda gtk-fortran peut maintenant être installée via [conda](https://github.com/conda-forge/gtk-4-fortran-feedstock) (uniquement sous Linux et macOS) : ```bash $ conda install gtk-4-fortran ``` Après avoir exporté le chemin vers le répertoire `pkgconfig/` de l’environnement conda utilisé, on pourra compiler un programme gtk-fortran de la même façon que si la bibliothèque avait été installée dans le système par CMake : ```bash $ export PKG_CONFIG_PATH=/home/osboxes/.conda/envs/fpm/lib/pkgconfig/ $ gfortran julia_pixbuf.f90 $(pkg-config --cflags --libs gtk-4-fortran) ``` # Utilisation comme dépendance fpm La bibliothèque gtk-fortran peut désormais être utilisée comme une dépendance [fpm (Fortran Package Manager)](https://fpm.fortran-lang.org), comme expliqué dans le tutoriel 5 ["How to use gtk-fortran as a fpm dependency"](https://github.com/vmagnin/gtk-fortran/wiki/Tutorial-5), basé sur l’exemple [gtkzero_fpm](https://github.com/vmagnin/gtkzero_fpm). En supposant que vous avez déjà installé un compilateur Fortran, fpm et les fichiers de développement de GTK 4 (paquet `libgtk-4-dev` dans Ubuntu), construire et exécuter cet exemple devrait être aussi simple que de taper : ```bash $ git clone git@github.com:vmagnin/gtkzero_fpm.git $ cd gtkzero_fpm $ fpm run ``` Une fenêtre vide GTK « Hello World » devrait apparaître à l’écran : ![gtkzero_fpm](https://github.com/vmagnin/gtkzero_fpm/blob/main/screenshots/gtkzero_fpm.png?raw=true) C’est très simple à utiliser, les lignes clés dans le manifeste `fpm.toml` de cet exemple étant juste : ```toml [dependencies] gtk-fortran = { git = "https://github.com/vmagnin/gtk-fortran.git", branch = "gtk4" } ``` Notez que si vous avez plusieurs projets utilisant gtk-fortran, il peut être préférable de cloner le dépôt gtk-fortran à côté de vos projets et de remplacer dans leurs manifestes `fpm.toml` la dépendance git par le chemin local vers gtk-fortran : ```toml [dependencies] gtk-fortran = { path = "../gtk-fortran" } ``` Le gestionnaire de paquets Fortran fpm, actuellement disponible en version 0.5.0, simplifie ainsi aussi au maximum l’utilisation de gtk-fortran ! Pour utiliser la bibliothèque de tracé scientifique [PLplot](http://plplot.sourceforge.net/) avec gtk-fortran, on ajoutera dans le manifeste `fpm.toml` la section suivante : ```toml [build] link = ["plplot", "plplotfortran"] external-modules = ["plplot"] ``` et on utilisera l’option `--flag` de fpm pour faire appel à `pkg-config` : ```bash $ fpm run --flag '$(pkg-config --cflags --libs plplot plplot-fortran)' ``` Voici ce qu’on pourra obtenir avec l’exemple `hl_plplot8e.f90` du projet, tournant ici sous MSYS2/Windows : ![plplot8e](https://github.com/vmagnin/gtk-fortran/blob/gtk4/screenshots/hl_plplot8e_MSYS2_Windows7.png?raw=true) # Documentation La documentation Wiki du projet a été mise à jour. Les tutoriels sont désormais, sauf exception, basés sur GTK 4. Seules les pages consacrées à la partie _High Level_ de la bibliothèque restent à actualiser : il me faudra peut-être écrire un script Python, n’ayant pas de trace de l’outil utilisé originellement il y a dix ans pour extraire du code source la doc en commentaires (voir le [problème #259](https://github.com/vmagnin/gtk-fortran/issues/259)). Enfin les quarante exemples disponibles dans les répertoires `examples/` et `plplot/` constituent une mine pour l’apprentissage. Vous trouverez en annexes des liens vers des tutoriels gtk-fortran et GTK, ainsi que vers la documentation de GTK (qui a été entièrement remodelée après la sortie de GTK 4) et vers deux forums pour l’entraide.