Description
Currently fpm's output is very verbose and it's hard to see what is going on. A bunch of commands (typically compiler invocations) are printed to stdout. Instead, let's do something like Rust's Cargo does:
$ cargo build
Compiling libc v0.2.103
Compiling autocfg v1.0.1
Compiling proc-macro2 v1.0.26
Compiling unicode-xid v0.2.2
Compiling syn v1.0.72
Compiling pkg-config v0.3.19
Compiling cfg-if v1.0.0
Compiling serde_derive v1.0.130
...
Compiling path_abs v0.5.1
Compiling encoding v0.2.33
Building [============> ] 79/150: encoding, proc-macro-hack...
Or the Julia's Pkg:
julia> import Pkg
julia> Pkg.add("SymEngine")
Resolving package versions...
Installed RecipesBase ─── v1.1.2
Installed MPC_jll ─────── v1.2.1+0
Installed SymEngine_jll ─ v0.6.0+1
Installed SymEngine ───── v0.8.6
Downloaded artifact: SymEngine
Downloaded artifact: MPC
Updating `~/.julia/environments/v1.6/Project.toml`
[123dc426] + SymEngine v0.8.6
Updating `~/.julia/environments/v1.6/Manifest.toml`
[3cdcf5f2] + RecipesBase v1.1.2
[123dc426] + SymEngine v0.8.6
[2ce0c516] + MPC_jll v1.2.1+0
[3428059b] + SymEngine_jll v0.6.0+1
[781609d7] + GMP_jll
[3a97d323] + MPFR_jll
Precompiling project...
6 dependencies successfully precompiled in 4 seconds (48 already precompiled)
Note that Julia's Pkg prints all kinds of nice progress markers that all disappear when it is done, so the above output only captures the final result. I recommend you try the above commands yourself to see what I mean.
The final output of Cargo seems cleaner and it seems it contains all the information you need to know, which is which package got built and which version. We can also print which Fortran compiler was used (I am not sure).
P.S I thought I already opened up an issue for exactly this, but I can't find it, so I opened a new one.