Extendiendo fpm con complementos

Extendiendo fpm con complementos

El administrador de paquetes de Fortran tiene un sistema de complementos que permite ampliar fácilmente su funcionalidad. Este tutorial mostrará cómo instalar un complemento con fpm y usarlo.

Herramienta de búsqueda del registro

El proyecto fpm-search es un complemento para consultar el registro del paquete. Dado que está construido con fpm, podemos instalarlo fácilmente en nuestro sistema con

git clone https://github.com/urbanjost/fpm-search
cd fpm-search
fpm install --profile release

Esto instalará el binario fpm-search para ~/.local/bin (or %APPDATA%\local\bin on Windows).

Nota

Asegúrese que el binario instalado esté en el PATH, i.e. run

which fpm-search
~/.local/bin/fpm-search

Si no se encuentra ningún binario, agregue el directorio a su ruta usando

La configuración predeterminada para bash shell se puede encontrar en el archivo .bashrc en el directorio de inicio, para agregar a PATH siguiendo las instrucciones a continuación.

echo 'export PATH=$PATH:$HOME/.local/bin' >> ~/.bashrc
. ~/.bashrc

Asegúrese de obtener su .bashrc después de cambiarlo, de lo contrario, el cambio no se aplicará al shell actual.

La configuración predeterminada para el shell zsh se puede encontrar en el archivo .zshrc en el directorio de inicio, para agregar al uso de PATH

echo 'export PATH=$PATH:$HOME/.local/bin' >> ~/.zshrc
exec zsh

Asegúrese de reiniciar zsh después de cambiar .zshrc, de lo contrario, el cambio no se aplicará al shell actual.

La variable PATH se puede modificar usando el programa pathman desde el indicador cmd

pathman /au %APPDATA%\local\bin

Ahora, con una instalación en funcionamiento, podemos invocar nuestro nuevo complemento desde fpm.

❯ fpm search
Downloading registry ... https://github.com/fortran-lang/fpm-registry/raw/master/index.json
...

Tenga en cuenta que usamos fpm search en lugar de fpm-search en el comando. Para encontrar un paquete para crear una interfaz de línea de comandos, ahora podemos escribir

❯ fpm search commandline
M_CLI : Unix-style commandline parsing using a prototype command and NAMELIST (STD:f2008)
M_CLI2 : Unix-style commandline parsing using a prototype command

Para usar uno de los paquetes en nuestro manifiesto podemos generar la línea de dependencia necesaria ejecutando

❯ fpm search --toml M_CLI2
M_CLI2 = { git = "https://github.com/urbanjost/M_CLI2" }

Agregar esta línea a un manifiesto de paquete permite depender del proyecto respectivo.

Resumen

En este tutorial aprenderas cómo

  • instalar un complemento fpm

  • use el complemento fpm-search para consultar el registro

  • generar una entrada de dependencia a partir de un resultado de consulta