Sortie de gtk-fortran 4.2 : conda et fpm au menu

Posté par  (site web personnel) . Édité par Ysabeau 🧶 🧦 et Xavier Teyssier. Modéré par Pierre Jarillon. Licence CC By‑SA.
Étiquettes :
22
27
avr.
2022
Fortran

gtk-fortran 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 et l’utilisation comme dépendance fpm.

Installation via conda

gtk-fortran peut maintenant être installée via conda (uniquement sous Linux et macOS) :

$ 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 :

$ 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), comme expliqué dans le tutoriel 5 "How to use gtk-fortran as a fpm dependency", basé sur l’exemple 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 :

$ 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

C’est très simple à utiliser, les lignes clés dans le manifeste fpm.toml de cet exemple étant juste :

[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 :

[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 avec gtk-fortran, on ajoutera dans le manifeste fpm.toml la section suivante :

[build]
link = ["plplot", "plplotfortran"]
external-modules = ["plplot"]

et on utilisera l’option --flag de fpm pour faire appel à pkg-config :

$  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

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). 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.

Aller plus loin

  • # M'enfin !...

    Posté par  (site web personnel, Mastodon) . Évalué à 7.

    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

    Tseeuu… s/script Python/programme f95/ : Un peu de dignité, que diable !

  • # Documentation High Level mise à jour

    Posté par  (site web personnel) . Évalué à 8.

    Script terminé !
    La documentation de la partie High Level de gtk-fortran vient d'être mise à jour.

  • # Commentaire supprimé

    Posté par  . Évalué à -3. Dernière modification le 30 avril 2022 à 19:36.

    Ce commentaire a été supprimé par l’équipe de modération.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.