Fortran Package Manager (fpm)
Alpha release update for the Fortran package manager (fpm).
Changes
bootstrap script is now based on 0.3.0 (https://github.com/fortran-lang/fpm/pull/504)
executable, example and test names are checked to contain only alphanumeric characters (https://github.com/fortran-lang/fpm/pull/511)
optimize file listing (https://github.com/fortran-lang/fpm/pull/507)
New Features
generate build/.gitignore
to avoid disallow committing build artifacts (https://github.com/fortran-lang/fpm/pull/528)
allow extra section in package manifest (https://github.com/fortran-lang/fpm/pull/533)
support MPI wrappers and LFortran compiler (https://github.com/fortran-lang/fpm/pull/527)
Fixes
initialize executable names before comparison (https://github.com/fortran-lang/fpm/pull/516)
don't access unallocated variables in fpm-run (https://github.com/fortran-lang/fpm/pull/517)
cleanup help texts and remove unallocated variables (https://github.com/fortran-lang/fpm/pull/522)
fix compilation errors for building fpm with ifort
(https://github.com/fortran-lang/fpm/pull/523)
always call git init in case of backfilling with fpm-new (https://github.com/fortran-lang/fpm/pull/536)
use correct symbols on MacOS/ARM64 (https://github.com/fortran-lang/fpm/pull/548)
Download statistic
Changes:
Add check for duplicate module names (not allowed) (#412)
Add support for detecting OpenBSD (#468)
Exit more gracefully with useful error messages for build
,run
,test
(#491)
New features:
Add external-modules
manifest field to allow using installed library modules (#438)
Add -C
/--directory
flag to change working directory (#483)
Add automatic discovery of manifest files in parent directories (#483)
Add simple support for invoking plugins from fpm (#484)
Add support for specifying command line inputs via response files
Add support for reading package version from file (#500)
Fixes:
Fix default flags for Intel fortran on Windows (#431)
Remove -coarray=single
flag from default Intel flags (#437)
Allow using the lib
archiver in Windows (#442)
Invoke matching c compiler when compiling c code (#433)
Fix spurious output when checking for archiver (#489)
Fix to module statement parsing (#490)
Fix for specifying compiler flags containing an equals(=) sign (#497)
Download statistic
Changes:
Replace deprecated flags in gfortran debug profile (#386)
--release
flag is replaced by --profile release
(#390)
Programs can use modules defined in relative subdirectories (#409)
Add omp_lib to intrinsic modules list (#413)
New features:
Add support for specifying an include directory (#377)
Implement --flag
command line option (#390)
Fixes:
Fix problems when building with local paths (#327,#390)
Fix for executable link libraries when auto discovery is enabled (#398)
Fix fpm_strings::join for null inputs (#404)
Download statistic
Changes:
fpm run
when there are multiple executables (#370)New features:
fpm build --show-model
for displaying the internal representation (#291)
Allow hyphen in fpm new project names (#337)
Add --full
and --bare
options to fpm new
(#316)
Fixes:
Remove -ffast-math
from default build flags (#315)
Fix for severe performance regression (#335)
Use dynamic openmp scheduling for better parallel build performance (#345)
Correct path for default examples (#346)
Fix inconsistency in intel build flags (#372)
Changes to the Haskell version:
-ffast-math
from default build flags (#315)Download statistic
New features:
fpm install
command for installing package executables (#257)
fpm update
command for dependency handling (#266)
Support for example programs (#280)
Support for detecting .f
and .F
files for legacy packages (#294)
Fixes:
Duplicate program names in manifest not checked (#286)
Incorrect help text shown for fpm help -h
(#292)
Incorrect top-level manifest keys not detected (#293)
Invalid passive support for coarrays with ifort
compiler (#300)
Source parsing bugs (#303)
Output file collisions between program objects and executables (#307)
Changes to the Haskell version:
Download statistic
Fixes:
fpm run
and fpm test
commands (#271)Changes to the Haskell version:
Download statistic
Fixes:
Adds:
Changes to bootstrap version:
gfortran
(#262)Download statistic
Note: this repository comprises two different implementations of fpm: the bootstrap
version, written in Haskell, and the Fortran
version, written in Fortran — where the former is used to bootstrap build the latter.
In this initial release, both fpm
implementations support the following features:
fpm.toml
manifest file describing package configurationfpm
project in a new directory--runner
when executing apps/testsThe bootstrap
implementation additionally supports:
The Fortran
implementation additionally supports:
c
code sourcesThis is an alpha release: some planned features are not yet implemented and no promises of future backward compatibility are given.
Download statistic