Releases: fortran-lang/fpm
Fpm version 0.5.0
Alpha release update for the Fortran package manager (fpm).
Many thanks to Carl Burkert (@Carltoffel), Laurence Kedward (@LKedward), Sascha Klawohn (@Sideboard), Brad Richardson (@everythingfunctional), Damian Rouson (@rouson), Simon Rowe (@wiremoons), Carlos Une (@brocolis), John Urban (@urbanjost), and Zuo Zhihua (@zoziha) for making this release possible.
Changes
-
tests are only build for fpm test and not by default anymore (#572)
-
environment variables for setting Fortran and C compiler changed (#549, #584)
-
add LFortran optimization flag to release profile (#597)
New features
- command line arguments for linker, archiver and C-compiler added (#549)
Fixes
-
tabs are correctly expanded in source file scanning (#521)
-
installer script will use fpm update to avoid stale dependencies (#557)
-
use multiple build output directories depending on link line options (#575)
-
update truncated help text (#578)
-
fix directory removal in fpm new tests (#579)
-
use MSVS like commands for Intel compilers on Windows (#590)
-
add critical section to mkdir in backend (#613)
-
fix modules listing (for install) (#612)
-
repair --list option and correct obsolete descriptions of the --list option (#607)
-
fix incorrect Intel release flag on Windows (#602)
-
list names without suffix for Windows (#595)
Repository updates
-
add files and workflow to make installer on release (#616)
-
issue templates added to guide reporting of bugs, package issues, feature requests and specification proposals (#558)
-
default branch renamed to main (#565)
-
update documentation on distributions supporting fpm, like spack and MSYS2 (#562)
-
new workflow to automatically generate single source fpm versions (#563)
-
continuous delivery of current fpm git source implemented (#564, #569)
-
update of bootstrapping instructions (#587)
-
update README.md compiler, archiver, & link flags (#598)
Download statistic
Feedback
Discourse thread: https://fortran-lang.discourse.group/t/2314
Twitter post: https://twitter.com/fortranlang/status/1462506491752161286
Fpm alpha version 0.4.0
Alpha release update for the Fortran package manager (fpm).
Changes
-
bootstrap script is now based on 0.3.0 (#504)
-
executable, example and test names are checked to contain only alphanumeric characters (#511)
-
optimize file listing (#507)
New Features
-
generate
build/.gitignore
to avoid disallow committing build artifacts (#528) -
allow extra section in package manifest (#533)
-
support MPI wrappers and LFortran compiler (#527)
Fixes
-
initialize executable names before comparison (#516)
-
don't access unallocated variables in fpm-run (#517)
-
cleanup help texts and remove unallocated variables (#522)
-
fix compilation errors for building fpm with
ifort
(#523) -
always call git init in case of backfilling with fpm-new (#536)
-
use correct symbols on MacOS/ARM64 (#548)
Download statistic
Alpha release update
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
Alpha release update
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:
Fixes:
-
Fix for executable link libraries when auto discovery is enabled (#398)
-
Fix fpm_strings::join for null inputs (#404)
Download statistic
Alpha release update
Changes:
- Change the default behaviour of
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 tofpm 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:
- Remove
-ffast-math
from default build flags (#315)
Download statistic
Alpha release update
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:
- Expanded support for different compilers (#289)
Download statistic
Alpha release update
Alpha release update
Initial alpha release
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.
Feature summary
In this initial release, both fpm
implementations support the following features:
- Packages containing library modules and executable apps/tests
fpm.toml
manifest file describing package configuration- Building of sources in the correct order, accounting for module dependencies
- External package dependencies: both local and remote (using git)
- Fortran submodules
- Initialise a new
fpm
project in a new directory - Specifying a custom
--runner
when executing apps/tests
The bootstrap
implementation additionally supports:
- Specifying a custom build script or Makefile
- Specifying custom compiler flags
- Partial/incremental rebuilds
The Fortran
implementation additionally supports:
- Packages including simple
c
code sources - Specification of link flags to link with external library
- Auto-discovery of executable apps/tests not specified in manifest
Download statistic