63 | """
64 |
65 | html_theme_options = {
66 | "repository_url": "https://github.com/fortran-lang/fpm-docs",
67 | "repository_branch": "main",
68 | "use_repository_button": True,
69 | "use_edit_page_button": True,
70 | "use_download_button": False,
71 | "path_to_docs": "pages",
72 | "extra_navbar": _extra_navbar,
73 | }
74 |
75 | html_sidebars = {
76 | "news": [
77 | "sidebar-logo.html",
78 | "search-field.html",
79 | "sbt-sidebar-nav.html",
80 | "tagcloud.html",
81 | "archives.html",
82 | ],
83 | "news/**": [
84 | "sidebar-logo.html",
85 | "postcard.html",
86 | "recentposts.html",
87 | "archives.html",
88 | ],
89 | }
90 |
91 | html_css_files = [
92 | "css/custom.css",
93 | ]
94 | html_static_path = ["_static"]
95 | templates_path = ["_templates"]
96 |
97 | blog_path = "news"
98 | blog_post_pattern = "news/*/*"
99 |
100 | copybutton_prompt_text = "❯ "
101 |
102 | master_doc = "index"
103 | gettext_compact = "index"
104 |
105 | jinja_contexts = {}
106 | for name, data_file in data_files.items():
107 | with open(data_file[0], "r", encoding="utf-8") as fd:
108 | jinja_contexts[name] = json.load(fd)
109 |
110 | jinja_filters = {
111 | "is_list": lambda value: isinstance(value, list),
112 | "len": lambda value: len(value),
113 | "sort": lambda sortable: {
114 | key: sortable[key] for key in sorted(sortable, key=lambda value: value.lower())
115 | },
116 | "clean_repo": (
117 | lambda value, depth=0, sep="/": sep.join(value.split(sep)[depth:])
118 | ),
119 | }
120 |
--------------------------------------------------------------------------------
/pages/news/2024/01-08-fpm-version-0.10.0.md:
--------------------------------------------------------------------------------
1 | ---
2 | author: Brad Richardson, Federico Perini, Giannis Nikiteas, urbanjost, Minh Dao
3 | date: 2024-01-08
4 | category: release
5 | ...
6 |
7 | # Fpm version 0.10.0 released
8 |
9 | The latest release of the Fortran Package Manager (FPM) showcases a range of
10 | updates geared towards enhancing functionality and user experience.
11 | Key improvements include significant advancements in MPI support,
12 | now allowing the usage of MPI modules in metapackages.
13 | On the command line interface, a `--dry-run` option for `fpm publish` has been
14 | added, allowing users to simulate the publishing process. This release also
15 | brings various bug fixes and performance improvements. For a full list of
16 | changes please see below.
17 |
18 | ## Changelog
19 |
20 | - search MPI runner in `%MS_MPI%` and `PATH` also in `get_mpi_runner` by @perazz in https://github.com/fortran-lang/fpm/pull/924
21 | - Add `--dry-run` option to `fpm publish` by @minhqdao in https://github.com/fortran-lang/fpm/pull/918
22 | - MPI: add `mpi` and `mpi_f08` to the list of external modules by @perazz in https://github.com/fortran-lang/fpm/pull/930
23 | - Fix `module-naming` typo by @minhqdao in https://github.com/fortran-lang/fpm/pull/932
24 | - Add developer documentation for run(3f) and example program by @urbanjost in https://github.com/fortran-lang/fpm/pull/933
25 | - Allow overriding metapackages with standard dependency syntax by @perazz in https://github.com/fortran-lang/fpm/pull/928
26 | - Parse `intrinsic` and `non_intrinsic` `use`d modules by @perazz in https://github.com/fortran-lang/fpm/pull/920
27 | - Fix `convert_to_absolute_path` by @minhqdao in https://github.com/fortran-lang/fpm/pull/940
28 | - remove arbitrary limit on width of input files, corrects #902 by @urbanjost in https://github.com/fortran-lang/fpm/pull/941
29 | - Just some refactoring by @minhqdao in https://github.com/fortran-lang/fpm/pull/946
30 | - use `clang` in lieu of `gcc` as C compiler for homebrew-openmpi action by @perazz in https://github.com/fortran-lang/fpm/pull/944
31 | - Remove ENV_VARIABLE() as it duplicates the functionality of GET_ENV() by @urbanjost in https://github.com/fortran-lang/fpm/pull/942
32 | - Add verbose printouts options to `git_archive` and `upload_form` by @minhqdao in https://github.com/fortran-lang/fpm/pull/938
33 | - update jonquil version by @urbanjost in https://github.com/fortran-lang/fpm/pull/947
34 | - Clean up clean command by @minhqdao in https://github.com/fortran-lang/fpm/pull/948
35 | - MPI: check presence of a runner command only with `run` and `test` apps by @perazz in https://github.com/fortran-lang/fpm/pull/937
36 | - Fix unallocated targets array by @perazz in https://github.com/fortran-lang/fpm/pull/954
37 | - Dependency-level macro setting by @perazz in https://github.com/fortran-lang/fpm/pull/952
38 | - Fix broken links in `README.md` by @perazz in https://github.com/fortran-lang/fpm/pull/959
39 | - Add `-O3` optimization flags for intel compiler (release profile) by @perazz in https://github.com/fortran-lang/fpm/pull/964
40 | - Make install script executable by @everythingfunctional in https://github.com/fortran-lang/fpm/pull/965
41 | - MPI fixes (macOS build/link flags), oneAPI ifort->ifx switch; turn off MSMPI CI by @perazz in https://github.com/fortran-lang/fpm/pull/976
42 | - FPM Release v0.10.0 by @gnikit in https://github.com/fortran-lang/fpm/pull/978
43 |
44 | Full Changelog:
45 |
46 | Discourse thread:
47 |
--------------------------------------------------------------------------------
/pages/registry/publish.md:
--------------------------------------------------------------------------------
1 | # Package upload
2 |
3 | Packages can be uploaded to the [official registry](https://registry-phi.vercel.app) using the `fpm publish` command. After a successful upload, users can search for the package and use it in their projects. But be aware that the upload is permanent. Once a package is uploaded, it cannot be deleted. If you want to make changes to a package, you will have to create a new version of the package and upload that.
4 |
5 | fpm version 0.8.2 and higher is required to upload packages to the registry.
6 |
7 | :::{note}
8 | We are currently building and testing the registry. All uploaded packages will be deleted after the testing period (in June 2023)
9 | :::
10 |
11 | ## Prerequisites
12 |
13 | ### Register
14 |
15 | Before you can upload a package, you need to have an account on the official registry. You can create an account by visiting the [registry website](https://registry-phi.vercel.app).
16 |
17 | ### Namespace
18 |
19 | A package must be uploaded to a given namespace. If you don't have a namespace yet, you need to create one on the website first. A user can have multiple namespaces and a namespace can accomodate multiple packages.
20 |
21 | ### Token
22 |
23 | After having created a namespace, you will need to generate a token to upload a package to that namespace. You can do this on the website as well. The token is used to authenticate the upload and is linked to your username. Do not share the token with anyone else. The token also expires after a certain amount of time. You can generate a new token after the old one has expired.
24 |
25 | ### Version
26 |
27 | A package must specify a valid [semver](https://semver.org/) version in its manifest.
28 |
29 | You can check the version of the package by running `fpm publish --show-package-version` before publishing.
30 |
31 | ### License
32 |
33 | A package must specify a valid [SPDX](https://spdx.org/licenses/) license in its manifest.
34 |
35 | ### Upload rights
36 |
37 | Users can upload a package to a namespace if they are either an admin or maintainer of the namespace or a maintainer of the package. Namespace admins can grant namespace admin and maintainer rights to other users. Users can be granted maintainer rights for individual packages by namespace admins, maintainers, and package maintainers.
38 |
39 | ## Uploading
40 |
41 | fpm will create a tarball and upload the package to the registry with all the requirements being met.
42 |
43 | ### Show package version
44 |
45 | To check the version of the package, run `fpm publish --show-package-version`.
46 |
47 | ### Show upload data
48 |
49 | You can see all the data being sent to the registry before uploading by running `fpm publish --show-upload-data`. The token will be included if you specify it on the command line (`fpm publish --show-upload-data --token `). No network request will be performed. A tarball will be created, which you can inspect before publishing.
50 |
51 | ### Dry run
52 |
53 | A dry run can be performed with `fpm publish --token --dry-run`. This will create the tarball and simulate the upload without publishing the package to the registry. The package and the token will be verified by the registry, and you will be provided with the path to the locally created tarball for inspection. By including the `--verbose` flag, you will be able to see all the data being sent to the registry.
54 |
55 | ### Publishing
56 |
57 | To publish a package, run `fpm publish --token ` using the token you generated on the website. You can as well include the `--verbose` flag to see all the data being sent to the registry.
58 |
--------------------------------------------------------------------------------
/pages/news/2022/10-26-fpm-version-0.7.0.md:
--------------------------------------------------------------------------------
1 | ---
2 | author: Lewis McMillan, Damian Rouson, Giannis Nikiteas, Laurence Kedward, Sebastian Ehlert, Zuo Zhihua, Jakub Jelínek, Arteev Raina
3 | date: 2022-10-26
4 | category: release
5 | ...
6 |
7 | # Fpm version 0.7.0 released
8 |
9 | This release introduces preprocessor support in the `fpm.toml` manifest, allowing
10 | for preprocessor macros, file suffixes and directories where the preprocessor should run.
11 | This feature was implemented as part of Arteev Raina's Google Summer of Code 2022 project.
12 | Furthermore, fpm has now the ability to compile C++ source files in addition to Fortran and C.
13 | Finally, the ability to define compiler profiles in the `fpm.toml` manifest has been added,
14 | although the profile settings are not currently used in the build process.
15 |
16 | Find the full release notes [here](https://github.com/fortran-lang/fpm/releases/tag/v0.7.0).
17 |
18 | Many thanks to
19 | Lewis McMillan ([@lewisfish](https://github.com/lewisfish)),
20 | Damian Rouson ([@rouson](https://github.com/rouson)),
21 | Giannis Nikiteas ([@gnikit](https://github.com/gnikit)),
22 | Laurence Kedward ([@LKedward](https://github.com/LKedward)),
23 | Sebastian Ehlert ([@awvwgk](https://github.com/awvwgk)),
24 | Zuo Zhihua ([@zoziha](https://github.com/zoziha)),
25 | Jakub Jelínek ([@kubajj](https://github.com/kubajj)),
26 | Arteev Raina ([@arteevraina](https://github.com/arteevraina))
27 | for contributing patches to this release.
28 |
29 | ## Changelog
30 |
31 | - feat: added basic preprocess table configuration by in
32 | - Add homebrew installation instructions to README.md by in
33 | - Some cleanups and minor fixes by in
34 | - feat: ability to read macros from manifest by in
35 | - Support for dependency path relative to the fpm.toml it’s written in by in
36 | - feat: added support for C++ files compilation by in
37 | - Fix executables linking by in
38 | - Change git directory using work-tree / git-dir by in
39 | - Fix #734: First resolve dependencies, then resolve programs by in
40 | - docs(README): improve Homebrew references by in
41 | - Minor fix for `fpm new` by in
42 | - docs: updated example packages README with new packages that were added by in
43 | - Enable profiles in toml by in
44 | - Updated URL to manifest file in help section by in
45 | - Fix compilation with NAG by in
46 | - Fixes #756: add judgement of macros allocation status by in
47 | - In the default case of command line subcommands, stop `fpm` running in time by in
48 | - Disallow C-style escaping for IBM XL compiler by in
49 | - bug: C preprocessor does not propagate directives to executables by in
50 | - bug: macros don't propage to C executables by in
51 | - Enable cpp preprocessor flag for dependencies by in
52 | - Bump version to 0.7.0 by in
53 |
--------------------------------------------------------------------------------
/pages/news/2021/11-21-fpm-version-0.5.0.md:
--------------------------------------------------------------------------------
1 | ---
2 | author: Carl Burkert, Sebastian Ehlert, Laurence Kedward, Sascha Klawohn, Brad Richardson, Damian Rouson, Simon Rowe, Carlos Une, John Urban, Zuo Zhihua
3 | date: 2021-11-21
4 | category: release
5 | ...
6 |
7 | # Fpm version 0.5.0 released
8 |
9 | We have a large number of bug fixes in this release and made plenty of improvements to the tooling around fpm, like the continuous delivery and the Windows installer.
10 | New features include the possibility for better compiler/linker selection and the improved build backend (test are only build when needed, link dependencies are properly tracked).
11 |
12 | Find the full release notes [here](https://github.com/fortran-lang/fpm/releases/tag/v0.5.0).
13 |
14 | ## Changes
15 |
16 | - tests are only build for fpm test and not by default anymore ([#572](https://github.com/fortran-lang/fpm/pull/572))
17 | - environment variables for setting Fortran and C compiler changed ([#549](https://github.com/fortran-lang/fpm/pull/549), [#584](https://github.com/fortran-lang/fpm/pull/584))
18 | - add LFortran optimization flag to release profile ([#597](https://github.com/fortran-lang/fpm/pull/597))
19 |
20 |
21 | ## New features
22 |
23 | - command line arguments for linker, archiver and C-compiler added ([#549](https://github.com/fortran-lang/fpm/pull/549))
24 |
25 |
26 | ## Fixes
27 |
28 | - tabs are correctly expanded in source file scanning ([#521](https://github.com/fortran-lang/fpm/pull/521))
29 | - installer script will use fpm update to avoid stale dependencies ([#557](https://github.com/fortran-lang/fpm/pull/557))
30 | - use multiple build output directories depending on link line options ([#575](https://github.com/fortran-lang/fpm/pull/575))
31 | - update truncated help text ([#578](https://github.com/fortran-lang/fpm/pull/578))
32 | - fix directory removal in fpm new tests ([#579](https://github.com/fortran-lang/fpm/pull/579))
33 | - use MSVS like commands for Intel compilers on Windows ([#590](https://github.com/fortran-lang/fpm/pull/590))
34 | - add critical section to mkdir in backend ([#613](https://github.com/fortran-lang/fpm/pull/613))
35 | - fix modules listing (for install) ([#612](https://github.com/fortran-lang/fpm/pull/612))
36 | - repair --list option and correct obsolete descriptions of the --list option ([#607](https://github.com/fortran-lang/fpm/pull/607))
37 | - fix incorrect Intel release flag on Windows
38 | ([#602](https://github.com/fortran-lang/fpm/pull/602))
39 | - list names without suffix for Windows
40 | ([#595](https://github.com/fortran-lang/fpm/pull/595))
41 |
42 |
43 | ## Repository updates
44 |
45 | - add files and workflow to make installer on release ([#616](https://github.com/fortran-lang/fpm/pull/616))
46 | - issue templates added to guide reporting of bugs, package issues, feature requests and specification proposals ([#558](https://github.com/fortran-lang/fpm/pull/558))
47 | - default branch renamed to *main* ([#565](https://github.com/fortran-lang/fpm/pull/565))
48 | - update documentation on distributions supporting fpm, like spack and MSYS2 ([#562](https://github.com/fortran-lang/fpm/pull/562))
49 | - new workflow to automatically generate single source fpm versions ([#563](https://github.com/fortran-lang/fpm/pull/563))
50 | - continuous delivery of current fpm git source implemented ([#569](https://github.com/fortran-lang/fpm/pull/569), [#564](https://github.com/fortran-lang/fpm/pull/564))
51 | - update of bootstrapping instructions ([#587](https://github.com/fortran-lang/fpm/pull/587))
52 | - update README.md compiler, archiver, & link flags ([#598](https://github.com/fortran-lang/fpm/pull/598))
53 |
54 |
55 | ## Feedback
56 |
57 | - [Discourse thread](https://fortran-lang.discourse.group/t/2314)
58 | - [Twitter post](https://twitter.com/fortranlang/status/1462506491752161286)
59 |
--------------------------------------------------------------------------------
/pages/index.md:
--------------------------------------------------------------------------------
1 | ---
2 | sd_hide_title: true
3 | ...
4 |
5 | # Fortran Package Manager
6 |
7 | :::{card}
8 | :class-header: sd-text-white sd-fs-2 sd-font-weight-bold sd-border-0
9 | :class-body: sd-text-white sd-fs-4 sd-border-0
10 | :class-card: sd-border-0 sd-bg-danger sd-px-5 sd-py-1 sd-rounded-3
11 | :shadow: none
12 |
13 | Fortran Package Manager
14 | ^^^
15 |
16 | Package manager and build system for Fortran
17 | :::
18 |
19 | Welcome to the documentation for the Fortran Package Manager (fpm).
20 |
21 | ::::{note}
22 | These pages are currently under construction.
23 | Please help us improve them by contributing content or reporting issues.
24 | ::::
25 |
26 |
27 | :::::{grid} 2
28 | :gutter: 3
29 |
30 | ::::{grid-item-card}
31 | :class-header: sd-text-white sd-font-weight-bold sd-border-0
32 | :class-card: sd-text-white sd-bg-info sd-rounded-3
33 | :class-body: sd-text-white
34 | :class-footer: sd-py-1 sd-border-0
35 |
36 | {octicon}`download` Install
37 | ^^^
38 |
39 | Instructions on how to install fpm across Windows, Linux, macOS and more.
40 |
41 | +++
42 | ```{card}
43 | :link-type: ref
44 | :link: install
45 | :class-card: sd-btn sd-btn-light
46 | :class-body: sd-p-1 sd-text-center sd-font-weight-bold sd-text-info
47 |
48 | Install fpm
49 | ```
50 | ::::
51 |
52 | ::::{grid-item-card}
53 | :class-header: sd-text-white sd-font-weight-bold sd-border-0
54 | :class-card: sd-text-white sd-bg-warning sd-rounded-3
55 | :class-body: sd-text-white
56 | :class-footer: sd-py-1 sd-border-0
57 |
58 | {octicon}`mortar-board` Tutorials
59 | ^^^
60 |
61 | Learn about using fpm for Fortran development, creating projects and managing dependencies.
62 |
63 | +++
64 | ```{card}
65 | :link-type: ref
66 | :link: tutorial
67 | :class-card: sd-btn sd-btn-light
68 | :class-body: sd-p-1 sd-text-center sd-font-weight-bold sd-text-warning
69 |
70 | Browse tutorials
71 | ```
72 | ::::
73 |
74 | ::::{grid-item-card}
75 | :class-header: sd-text-white sd-font-weight-bold sd-border-0
76 | :class-card: sd-text-white sd-bg-primary sd-rounded-3
77 | :class-body: sd-text-white
78 | :class-footer: sd-py-1 sd-border-0
79 |
80 | {octicon}`book` How-To Guides
81 | ^^^
82 |
83 | Practical guides and recipes to solve specific problems with fpm
84 |
85 | +++
86 | ```{card}
87 | :link-type: ref
88 | :link: how-to
89 | :class-card: sd-btn sd-btn-light
90 | :class-body: sd-p-1 sd-text-center sd-font-weight-bold sd-text-primary
91 |
92 | Browse recipes
93 | ```
94 | ::::
95 |
96 | ::::{grid-item-card}
97 | :class-header: sd-text-white sd-font-weight-bold sd-border-0
98 | :class-card: sd-text-white sd-bg-success sd-rounded-3
99 | :class-body: sd-text-white
100 | :class-footer: sd-py-1 sd-border-0
101 |
102 | {octicon}`gear` References
103 | ^^^
104 |
105 | Specifications of fpm components and implementation references
106 |
107 | +++
108 | ```{card}
109 | :link-type: ref
110 | :link: spec
111 | :class-card: sd-btn sd-btn-light
112 | :class-body: sd-p-1 sd-text-center sd-font-weight-bold sd-text-success
113 |
114 | Browse references
115 | ```
116 | ::::
117 |
118 | :::::
119 |
120 | ## {fa}`cubes` [Registry](registry/index)
121 |
122 | fpm supports local and online registries for downloading dependencies.
123 | [**Learn more**](registry/index) about the fpm registry and how to use it.
124 |
125 | ## {fa}`newspaper` [News](news.md)
126 |
127 | Recent events around the Fortran Package Manager, such as new releases, conference talks, and new packages will be announced here.
128 |
129 | :::{postlist} 5
130 | :date: '%Y-%m-%d'
131 | :format: '{title} ({date})'
132 | :excerpts:
133 | :::
134 |
135 |
136 | ````{toctree}
137 | :maxdepth: 2
138 | :hidden:
139 | Installation
140 | Tutorial
141 | How-To
142 | Reference
143 | Design
144 | Registry
145 | news
146 | ````
147 |
--------------------------------------------------------------------------------
/pages/news/2022/06-19-fpm-version-0.6.0.md:
--------------------------------------------------------------------------------
1 | ---
2 | author: Pedro Costa, Sebastian Ehlert, Laurence Kedward, Wileam Y. Phan, Arteev Raina, Simon Rowe, Andre Smit, John Urban, Zuo Zhihua, St-Maxwell, Joel
3 | date: 2022-06-19
4 | category: release
5 | ...
6 |
7 | # Fpm version 0.6.0 released
8 |
9 | This release introduces a better visualization for the build output, compiler output is only shown on error to keep the standard output clean for successful builds.
10 | Furthermore, fpm can now detect unused modules and avoids compiling modules that are not needed for an application, which improves the compilation speed with large dependencies like stdlib.
11 | When creating a new project with fpm the author information are now taken from the git configuration to avoid using placeholders in the manifest.
12 | Several more bug fixes and plenty of improvements went into this version as well.
13 |
14 | Find the full release notes [here](https://github.com/fortran-lang/fpm/releases/tag/v0.6.0).
15 |
16 | Many thanks to Pedro Costa ([@p-costa](https://github.com/p-costa)), Sebastian Ehlert ([@awvwgk](https://github.com/awvwgk)), Laurence Kedward ([@lkedward](https://github.com/lkedward)), Wileam Y. Phan ([@wyphan](https://github.com/wyphan)), Arteev Raina ([@arteevraina](https://github.com/arteevraina)), Simon Rowe ([@wiremoons](https://github.com/wiremoons)), Andre Smit ([@freevryheid](https://github.com/freevryheid)), John Urban ([@urbanjost](https://github.com/urbanjost)), Zuo Zhihua ([@zoziha](https://github.com/zoziha)), [@st-maxwell](https://github.com/st-maxwell), and [@noisegul](https://github.com/noisegul) for contributing patches to this release.
17 |
18 |
19 | ## Changelog
20 |
21 | * Better extraction of the Fortran compiler from the MPI wrapper ([#634](https://github.com/fortran-lang/fpm/pull/634))
22 | * Update module output directory command for flang-new/f18 ([#645](https://github.com/fortran-lang/fpm/pull/645))
23 | * Respect user provided main-files ([#646](https://github.com/fortran-lang/fpm/pull/646))
24 | * just allow . on new subcommand instead of changing canonical path ([#630](https://github.com/fortran-lang/fpm/pull/630))
25 | * get user name and email using git config if available else use defaults ([#652](https://github.com/fortran-lang/fpm/pull/652))
26 | * Ignore hidden source files ([#654](https://github.com/fortran-lang/fpm/pull/654))
27 | * Cleanup the backend output ([#622](https://github.com/fortran-lang/fpm/pull/622))
28 | * Add note about relocation of manifest reference ([#648](https://github.com/fortran-lang/fpm/pull/648))
29 | * Fix for backtrace error when file not found in: `src/fpm_source_parsing.f90` ([#675](https://github.com/fortran-lang/fpm/pull/675))
30 | * Fix issue with backend pretty output ([#677](https://github.com/fortran-lang/fpm/pull/677))
31 | * fix: remove remove unnecessary space in fpm new cmd ([#684](https://github.com/fortran-lang/fpm/pull/684))
32 | * Small fix for `fpm_model` ([#688](https://github.com/fortran-lang/fpm/pull/688))
33 | * add clean command ([#655](https://github.com/fortran-lang/fpm/pull/665))
34 | * Fix for non-portable GFortran `-J` flag in install script ([#692](https://github.com/fortran-lang/fpm/pull/692))
35 | * Fix show-model option ([#693](https://github.com/fortran-lang/fpm/pull/693))
36 | * Tree shaking for modules ([#676](https://github.com/fortran-lang/fpm/pull/676))
37 | * Fix submodule shaking ([#704](https://github.com/fortran-lang/fpm/pull/704))
38 | * fix: remove extra space from help-test cmd ([#686](https://github.com/fortran-lang/fpm/pull/686))
39 | * Fix: to pipe up-to-date message to stderr ([#706](https://github.com/fortran-lang/fpm/pull/706))
40 | * Avoid infinite loop if command "fpm-" is in path ([#713](https://github.com/fortran-lang/fpm/pull/713))
41 | * Fix --show-model, init `c_source%parent_modules` ([#712](https://github.com/fortran-lang/fpm/pull/712))
42 | * Add OMP critical for `make_archive` ([#708](https://github.com/fortran-lang/fpm/pull/708))
43 |
--------------------------------------------------------------------------------
/pages/news/2025/03-10-fpm-version-0.11.0.md:
--------------------------------------------------------------------------------
1 | ---
2 | author: Henil Panchal, Zuo Zhihua, David Pfister, Ivan Pribec, aury6623, Giannis Nikiteas, Federico Perini
3 | date: 2025-03-10
4 | category: release
5 | ...
6 |
7 | # Fpm version 0.11.0 released
8 |
9 | The latest release of the Fortran Package Manager (FPM) brings several maintenance updates, bug fixes, and performance improvements. This version also introduces new features such as support for HDF5 metapackages via `pkg_config`, enhanced parsing for abstract interfaces, and the ability to install test programs. Additionally, compliance with Fortran standards has been improved, along with better handling of Windows-specific issues and Intel Fortran Compiler (`ifx`) support.
10 |
11 | ## Important notice
12 |
13 | Users employing [setup-fpm](https://github.com/fortran-lang/setup-fpm) for their GitHub actions should upgrade to `setup-fpm@v7` to maintain compatibility with fpm 0.11.0.
14 |
15 | ## Changelog
16 |
17 | - Patch `toml_error` by @perazz in https://github.com/fortran-lang/fpm/pull/1011
18 | - Fortran standard compliance fixes by @perazz in https://github.com/fortran-lang/fpm/pull/1013
19 | - fix: add fpm_model.json to the package tarball before uploading to the registry by @henilp105 in https://github.com/fortran-lang/fpm/pull/1010
20 | - Improve text file reading performance by @zoziha in https://github.com/fortran-lang/fpm/pull/961
21 | - fix: #1023 gfortran-specific backslash line continuations by @henilp105 in https://github.com/fortran-lang/fpm/pull/1024
22 | - Reorganize fpm run; fix `--example --all` by @perazz in https://github.com/fortran-lang/fpm/pull/1021
23 | - Remove duplicate `operator(==)` interface by @perazz in https://github.com/fortran-lang/fpm/pull/1028
24 | - Always initialize `redirect_str` to prevent memory leak by @perazz in https://github.com/fortran-lang/fpm/pull/1029
25 | - Metapackage CI: macos-latest -> macos-12 by @perazz in https://github.com/fortran-lang/fpm/pull/1030
26 | - Non-`main.f90` auto executables: fix in `fpm install` by @perazz in https://github.com/fortran-lang/fpm/pull/1036
27 | - Fix: `--target` option should only run the desired target by @perazz in https://github.com/fortran-lang/fpm/pull/1038
28 | - ci: GCC-13 has been removed from GA runners by @gnikit in https://github.com/fortran-lang/fpm/pull/1043
29 | - Fix Bug #1047 - rename implicit interface option for lfortran by @davidpfister in https://github.com/fortran-lang/fpm/pull/1048
30 | - Bump actions/upload-artifact from 2 to 4 by @dependabot in https://github.com/fortran-lang/fpm/pull/985
31 | - Run all tests with user-specified runner by @perazz in https://github.com/fortran-lang/fpm/pull/1046
32 | - Check that Fortran sources run; Robust Fortran features by @perazz in https://github.com/fortran-lang/fpm/pull/1051
33 | - `install.sh`: always bootstrap with 0.8.0 by @perazz in https://github.com/fortran-lang/fpm/pull/1057
34 | - CI: use setup-fortran by @perazz in https://github.com/fortran-lang/fpm/pull/1061
35 | - Metapackages: `pkg_config` backend support; HDF5 by @perazz in https://github.com/fortran-lang/fpm/pull/1055
36 | - Windows archiver: also search for `gcc-ar` by @perazz in https://github.com/fortran-lang/fpm/pull/1067
37 | - HDF5 metapackage: remove unnecessary printouts by @perazz in https://github.com/fortran-lang/fpm/pull/1068
38 | - Maintenance: fix Ubuntu metapackage CI by @perazz in https://github.com/fortran-lang/fpm/pull/1076
39 | - Expand parsing to include abstract interfaces by @ivan-pi in https://github.com/fortran-lang/fpm/pull/1074
40 | - Source parsing: consider `end program` with no `program` header by @perazz in https://github.com/fortran-lang/fpm/pull/1078
41 | - Feat: option to install test programs by @perazz in https://github.com/fortran-lang/fpm/pull/1079
42 | - Manifest: do not allow path lists in `library.source-dir` by @perazz in https://github.com/fortran-lang/fpm/pull/1077
43 | - update CI by @perazz in https://github.com/fortran-lang/fpm/pull/1102
44 | - Remove unneeded `public :: operator(==)` which causes an error on ifx by @aury6623 in https://github.com/fortran-lang/fpm/pull/1095
45 |
46 | Full Changelog:
47 |
48 | Discourse thread:
49 |
50 |
--------------------------------------------------------------------------------
/pages/_static/fortran-logo.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
59 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Fpm documentation
2 |
3 | [](https://fpm.fortran-lang.org/)
4 | [](https://github.com/fortran-lang/fpm-docs/actions/workflows/build.yaml)
5 |
6 | Repository for building the documentation pages for the Fortran package manager (fpm).
7 |
8 |
9 | ## Getting started
10 |
11 | ### Get the code
12 |
13 | ```
14 | git clone https://github.com/fortran-lang/fpm-docs
15 | cd fpm-docs
16 | ```
17 |
18 | ### Install dependencies
19 |
20 | The documentation pages are created using [sphinx](https://www.sphinx-doc.org).
21 | You first need to install the required dependencies using conda or pip.
22 | This project uses
23 |
24 | - [sphinx-build](https://www.sphinx-doc.org) for building the pages
25 | - [sphinx-intl](https://www.sphinx-doc.org/en/master/usage/advanced/intl.html) for translations
26 | - [ablog](https://ablog.readthedocs.io/en/latest/) for the news section and posts
27 | - [sphinx-book-theme](https://sphinx-book-theme.readthedocs.io/en/latest/) for the page theme
28 | - [myst-parser](https://myst-parser.readthedocs.io/en/latest/) for markdown support
29 | - [sphinx-design](https://sphinx-design.readthedocs.io/en/latest/) for the bootstrap building blocks
30 | - [sphinx-copybutton](https://sphinx-copybutton.readthedocs.io/en/latest/) to allow copying of code-blocks
31 | - [sphinx-jinja](https://github.com/tardyp/sphinx-jinja) to use templating for the registry
32 |
33 | #### conda
34 |
35 | ```
36 | conda env create -n sphinx -f environment.yaml
37 | conda activate sphinx
38 | ```
39 |
40 | #### pip
41 |
42 | ```
43 | python3 -m venv venv
44 | source venv/bin/activate
45 | pip install -U pip
46 | pip install -r requirements.txt
47 | ```
48 |
49 | ### Build fpm-docs
50 |
51 | Build the documentation by invoking
52 |
53 | ```
54 | make html
55 | ```
56 |
57 | The website will be built in `_build/html` and can be previewed by opening the page with a browser (*e.g.* firefox, chromium or similar):
58 |
59 | ```
60 | firefox file://$PWD/_build/html/index.html
61 | ```
62 |
63 | By default all languages will be built.
64 | To limit the build to a single language subtree, *i.e.* English, use
65 |
66 | ```
67 | make html LANGUAGES=en
68 | ```
69 |
70 |
71 | ### Translating via weblate
72 |
73 | Translations can be contributed via [weblate](https://hosted.weblate.org/projects/fortran-lang/fpm/).
74 |
75 | [](https://hosted.weblate.org/engage/fortran-lang/)
76 |
77 |
78 | ### Update or add translations
79 |
80 | The documentation uses the
81 | [sphinx-intl](https://sphinx-intl.readthedocs.io/en/master/quickstart.html)
82 | utility to generate websites for multiple languages.
83 | It generates `*.po` files,
84 | which contain the original sentences and a placeholder for translations.
85 |
86 | To update translations run
87 |
88 | ```
89 | make gettext
90 | ```
91 |
92 | if you only want to update a single translation add `LANGUAGES=de` to the command.
93 | This command will generate the message catalog (`*.pot`) and update the `*.po` files in the *locale* directory of the respective translations.
94 | Then edit the `*.po` files,
95 | e.g. `locale/de/LC_MESSAGES/index.po`.
96 | In the `*.po` files are paragraphs like
97 | ```po
98 | #: ../../pages/index.md:16
99 | msgid "Package manager and build system for Fortran"
100 | msgstr ""
101 | ```
102 |
103 | The first line describes the file and line where to find the original text.
104 |
105 | The second line is the original text.
106 | **Don't edit this line, edit the original document instead**.
107 |
108 | The third line is meant for the translation.
109 |
110 | To continue a long string in another line,
111 | simply close the string in the current line with `"`
112 | and open another one in the line underneath. E.g.
113 | ```
114 | msgstr "This is "
115 | "one string"
116 | ```
117 | *don't forget a space between 'is' and 'one'*
118 |
119 | After adding or updating translations
120 | build the documentation as described above.
121 |
122 | ## Pull Requests Previews
123 |
124 | You can build the Preview of the fpm-docs website by opening a pull request
125 | and commenting `#preview` on the pull request. Similarly, you can force the
126 | deletion of the preview by commenting `#delete-preview`.
127 |
--------------------------------------------------------------------------------
/pages/news/2023/04-07-fpm-version-0.8.0.md:
--------------------------------------------------------------------------------
1 | ---
2 | author: Aarush Bhat, Minh Dao, Sebastian Ehlert, Sergey Fedorov, Sebastien Marie, Giannis Nikiteas, Federico Perini, Ivan Pribec, John Urban, Zuo Zhihua
3 | date: 2023-04-07
4 | category: release
5 | ...
6 |
7 | # Fpm version 0.8.0 released
8 |
9 | This release introduces support for enabling and disabling language features in fpm, such as implicit typing or default source form.
10 | By default, fpm now tries to disable implicit typing rules, implicit external interfaces and assumes the source form is always free.
11 | The options can be overwritten in the manifest for each project.
12 |
13 | Furthermore, first support for local and remote registries are integrated in fpm.
14 | The registry support can be configured in a new global configuration file.
15 | This development was sponsored by the [Sovereign Tech Fund](https://sovereigntechfund.de/en/projects/fortran/).
16 |
17 | Bugfixes and improvements to the preprocessor support, C++ compilation, dependency updates and more are included in this release.
18 |
19 | Find the full release notes [here](https://github.com/fortran-lang/fpm/releases/tag/v0.8.0).
20 |
21 | Many thanks to
22 | Aarush Bhat ([@sloorush](https://github.com/sloorush)),
23 | Minh Dao ([@minhqdao](https://github.com/minhqdao)),
24 | Sebastian Ehlert ([@awvwgk](https://github.com/awvwgk)),
25 | Sergey Fedorov ([@barracuda156](https://github.com/barracuda156)),
26 | Sebastien Marie ([@semarie](https://github.com/semarie)),
27 | Giannis Nikiteas ([@gnikit](https://github.com/gnikit)),
28 | Federico Perini ([@perazz](https://github.com/perazz)),
29 | Ivan Pribec ([@ivan-pi](https://github.com/ivan-pi)),
30 | John Urban ([@urbanjost](https://github.com/urbanjost)),
31 | Zuo Zhihua ([@zoziha](https://github.com/zoziha))
32 | for contributing patches to this release.
33 |
34 | ## Changelog
35 |
36 | * Set C++ compiler to clang++ in [fpm#787](https://github.com/fortran-lang/fpm/pull/787)
37 | * Document ``FPM_CXX``, ``FPM_CXXFLAGS`` and options in [fpm#788](https://github.com/fortran-lang/fpm/pull/788)
38 | * Simplify and update README in [fpm#778](https://github.com/fortran-lang/fpm/pull/778)
39 | * Add C++ flags to profiles in [fpm#786](https://github.com/fortran-lang/fpm/pull/786)
40 | * fix 32-bit platform issues with M\_CLI2 in [fpm#796](https://github.com/fortran-lang/fpm/pull/796)
41 | * Fix missing space before -D option for preprocessor in [fpm#804](https://github.com/fortran-lang/fpm/pull/804)
42 | * Do not pass in quotes in manifest tests in [fpm#806](https://github.com/fortran-lang/fpm/pull/806)
43 | * Improve error handling for invalid ``git`` dependencies in [fpm#797](https://github.com/fortran-lang/fpm/pull/797)
44 | * Lower windows check precedence in ``get_os_type`` function in [fpm#802](https://github.com/fortran-lang/fpm/pull/802)
45 | * Fix broken links to webpage in [fpm#826](https://github.com/fortran-lang/fpm/pull/826)
46 | * Consistently call ``execute_command_line`` from the ``run`` wrapper in [fpm#832](https://github.com/fortran-lang/fpm/pull/832)
47 | * Fix the build on macOS PPC in [fpm#824](https://github.com/fortran-lang/fpm/pull/824)
48 | * Query latest release from GitHub in [fpm#818](https://github.com/fortran-lang/fpm/pull/818)
49 | * Add missing dollar sign in OpenMP directive in [fpm#841](https://github.com/fortran-lang/fpm/pull/841)
50 | * Fix query for latest release from GitHub on missing curl in [fpm#839](https://github.com/fortran-lang/fpm/pull/839) and [fpm#842](https://github.com/fortran-lang/fpm/pull/842)
51 | * Fix unallocated model variables in the testsuite (#844) in [fpm#845](https://github.com/fortran-lang/fpm/pull/845)
52 | * Add wait when linking library with \*.resp file in [fpm#808](https://github.com/fortran-lang/fpm/pull/808)
53 | * Add option to enforce module naming in [fpm#828](https://github.com/fortran-lang/fpm/pull/828)
54 | * Fix unhandled error branch in [fpm#849](https://github.com/fortran-lang/fpm/pull/849)
55 | * Automated dependency tree update in [fpm#843](https://github.com/fortran-lang/fpm/pull/843)
56 | * Return program's exit code from fpm run in [fpm#852](https://github.com/fortran-lang/fpm/pull/852) and [fpm#](https://github.com/fortran-lang/fpm/pull/858)
57 | * Update gcc version to 10 for CI in [fpm#857](https://github.com/fortran-lang/fpm/pull/857)
58 | * Fix macOS CI for fpm-bootstrap executables built with gcc-9 in [fpm#861](https://github.com/fortran-lang/fpm/pull/861)
59 | * Update TOML Fortran to version 0.4.0 in [fpm#862](https://github.com/fortran-lang/fpm/pull/862)
60 | * Add support for toggling Fortran features in [fpm#864](https://github.com/fortran-lang/fpm/pull/864)
61 | * Add global configuration file and support local and remote registry [fpm#817](https://github.com/fortran-lang/fpm/pull/817)
62 |
--------------------------------------------------------------------------------
/pages/tutorial/dependencies.md:
--------------------------------------------------------------------------------
1 | # Adding dependencies
2 |
3 | This tutorial covers the usage of dependencies with fpm and how to reuse existing fpm projects.
4 |
5 | ## Using the standard library
6 |
7 | We start with a new project with fpm, we want to build a command line application to read a file, find a certain pattern and replace it.
8 | Since we do not want to write the replace function ourselves, we will use the Fortran standard library ([stdlib](https://github.com/fortran-lang/stdlib)) as dependency.
9 | In the package manifest we define *stdlib* in the *dependencies* table:
10 |
11 | ```{literalinclude} ../../src/tutorial/dependencies/fpm.toml
12 | :language: toml
13 | :caption: fpm.toml
14 | :lines: 1-6
15 | :emphasize-lines: 4-6
16 | ```
17 |
18 | Now we create a module with a procedure to perform the substitution.
19 | It requires three steps:
20 |
21 | 1. reading a whole line from one unit
22 | 2. replace the pattern in the string
23 | 3. write the new string to an output
24 |
25 | We will use the *replace\_all* function from the *stdlib\_strings* module for this purpose.
26 | The implementation is shown here
27 |
28 | ```{literalinclude} ../../src/tutorial/dependencies/src/demo.f90
29 | :language: fortran
30 | :caption: src/demo.f90
31 | ```
32 |
33 | Finally, we need a command line driver to make use of our new function.
34 |
35 | ```{code-block} fortran
36 | :caption: app/main.f90
37 | program main
38 | use, intrinsic :: iso_fortran_env, only : output_unit
39 | use demo, only : substitute
40 | implicit none
41 | character(len=256) :: pattern, replacement, input_file
42 | integer :: input
43 |
44 | call get_command_argument(1, pattern)
45 | call get_command_argument(2, replacement)
46 | call get_command_argument(3, input_file)
47 |
48 | open(newunit=input, file=input_file, status='old')
49 | call substitute(input, output_unit, trim(pattern), trim(replacement))
50 | close(input)
51 | end program main
52 | ```
53 |
54 | We can check our command line driver by running it with fpm:
55 |
56 | ```{code-block} text
57 | :emphasize-lines: 2
58 | ❯ fpm run -- demo substitute fpm.toml
59 | name = "substitute"
60 | version = "0.1.0"
61 |
62 | [dependencies]
63 | stdlib = "*"
64 | ```
65 |
66 |
67 | ## Adding a testing framework
68 |
69 | Before we continue implementing new features, we want to add some tests to verify that our implementation keeps working as we modify it.
70 | A minimalist testing framework is available with [test-drive].
71 | Since the testing framework is only required when developing the package itself, but not for other packages which might in the future make use of our modules, we add it as a development dependency.
72 | The *test-drive* package is added in the *dev-dependencies* table as shown below
73 |
74 | [test-drive]: https://github.com/fortran-lang/test-drive
75 |
76 | ```{literalinclude} ../../src/tutorial/dependencies/fpm.toml
77 | :language: toml
78 | :caption: fpm.toml
79 | :lines: 1-10
80 | :emphasize-lines: 7-9
81 | ```
82 |
83 | :::{note}
84 | For a development dependency like a testing framework we choose a strict version pin by specifying the *tag* we want to use.
85 | :::
86 |
87 | Now we can write a simple unit test, since our function works with units, we will create scratch units to create the input and capture the output.
88 | For now we will add a simple one line substitution as single test case
89 |
90 | ```{literalinclude} ../../src/tutorial/dependencies/test/main.f90
91 | :language: fortran
92 | :caption: test/main.f90
93 | ```
94 |
95 | We run our new test using fpm
96 |
97 | ```{code-block} text
98 | ❯ fpm test
99 | Starting substitute ... (1/1)
100 | ... substitute [PASSED]
101 | ```
102 |
103 | Creating the scratch units for multiple unit tests will be repetitive, this kind of tasks can usually be done in a separate procedure and reused in several tests.
104 |
105 |
106 | ## Target-specific dependencies
107 |
108 | Dependencies can also be used for specific targets only.
109 | This can be used for adding a command line interface package, which is only used for the executable but not part of the library dependencies.
110 |
111 | ```{literalinclude} ../../src/tutorial/dependencies/fpm.toml
112 | :language: toml
113 | :caption: fpm.toml
114 | :emphasize-lines: 13-14
115 | ```
116 |
117 | We restructure our main program a bit for using [M\_CLI2] to handle the command line input.
118 | The *unnamed* array contains all positional command line arguments, we still use the first two as pattern and replacement, and use all remaining arguments as input.
119 | We also add an option to redirect the output.
120 | Our final main program looks like
121 |
122 | [M\_CLI2]: https://github.com/urbanjost/M_CLI2
123 |
124 | ```{literalinclude} ../../src/tutorial/dependencies/app/main.f90
125 | :language: fortran
126 | :caption: app/main.f90
127 | ```
128 |
129 | Again we run a quick check using fpm
130 |
131 | ```{code-block} text
132 | :emphasize-lines: 2, 12
133 | ❯ fpm run -- demo substitute fpm.toml
134 | name = "substitute"
135 | version = "0.1.0"
136 |
137 | [dependencies]
138 | stdlib = "*"
139 |
140 | [dev-dependencies]
141 | test-drive.git = "https://github.com/fortran-lang/test-drive"
142 | test-drive.tag = "v0.4.0"
143 |
144 | [[executable]]
145 | name = "substitute"
146 | [executable.dependencies]
147 | M_CLI2.git = "https://github.com/urbanjost/M_CLI2"
148 | ```
149 |
150 | The output looks as expected with two substitutions.
151 |
152 |
153 | :::{admonition} Summary
154 | :class: tip
155 | In this tutorial you learned how to
156 |
157 | - depend on another fpm project in the package manifest
158 | - add development dependencies for testing
159 | - use dependencies for executables
160 | :::
161 |
--------------------------------------------------------------------------------
/pages/how-to/selective-cleaning.md:
--------------------------------------------------------------------------------
1 | # Cleaning build artifacts with fpm
2 |
3 | The `fpm clean` command allows you to remove build artifacts to free up disk space or ensure a fresh build. This guide covers both general cleaning and selective cleaning options.
4 |
5 | ## Overview
6 |
7 | By default, `fpm clean` prompts for confirmation before deleting directories in the `build/` folder while preserving dependencies. The command supports several modes of operation:
8 |
9 | - **Interactive cleaning** (default): Prompts for confirmation
10 | - **Automatic cleaning**: Skip prompts with `--skip` or `--all`
11 | - **Selective cleaning** *(fpm v0.14.0+)*: Target specific executable types
12 | - **Registry cache cleaning**: Remove cached registry data
13 |
14 | ## General cleaning options
15 |
16 | ### Default behavior
17 |
18 | ```bash
19 | fpm clean
20 | ```
21 |
22 | Prompts for confirmation before deleting build artifacts, excluding dependencies. This is the safest option for regular use.
23 |
24 | ### Skip confirmation, preserve dependencies
25 |
26 | ```bash
27 | fpm clean --skip
28 | ```
29 |
30 | Deletes build directories without prompting but preserves dependency builds. Useful in automated scripts where you want to clean your project but keep external dependencies intact.
31 |
32 | ### Clean everything including dependencies
33 |
34 | ```bash
35 | fpm clean --all
36 | ```
37 |
38 | Deletes all build directories without prompting, including dependencies. Use this when you need a completely fresh build environment or when dependency issues require rebuilding everything from scratch.
39 |
40 | ### Clean registry cache
41 |
42 | ```bash
43 | fpm clean --registry-cache
44 | ```
45 |
46 | Removes cached registry data. Useful when registry metadata becomes stale or when troubleshooting package resolution issues.
47 |
48 | ### Custom configuration file
49 |
50 | ```bash
51 | fpm clean --config-file /path/to/config.toml
52 | ```
53 |
54 | Use a custom global configuration file location for the clean operation.
55 |
56 | ## Selective cleaning options
57 |
58 | :::{note}
59 | Available since fpm v0.14.0
60 | :::
61 |
62 | Selective cleaning allows you to remove only specific types of executables, which speeds up recompilation by preserving other build outputs.
63 |
64 | ### Available selective cleaning flags
65 |
66 | - `--test`: Clean only test executables
67 | - `--apps`: Clean only application executables
68 | - `--examples`: Clean only example executables
69 |
70 | ### Selective cleaning examples
71 |
72 | #### Clean test executables only
73 |
74 | ```bash
75 | fpm clean --test
76 | ```
77 |
78 | This removes only the compiled test executables while preserving application executables, example executables, and all object files. Useful when you've modified test code and want to ensure tests are rebuilt from scratch.
79 |
80 | #### Clean application executables only
81 |
82 | ```bash
83 | fpm clean --apps
84 | ```
85 |
86 | This removes only the compiled application executables while preserving test executables, example executables, and object files. Useful when you've made changes that affect only your main applications.
87 |
88 | #### Clean example executables only
89 |
90 | ```bash
91 | fpm clean --examples
92 | ```
93 |
94 | This removes only the compiled example executables while preserving application and test executables, and object files. Useful when working on documentation examples.
95 |
96 | ### Combining selective flags
97 |
98 | You can combine multiple flags to clean several types of executables simultaneously:
99 |
100 | ```bash
101 | # Clean both test and application executables
102 | fpm clean --test --apps
103 |
104 | # Clean all executable types (equivalent to targeting all executables)
105 | fpm clean --test --apps --examples
106 | ```
107 |
108 | ## Use cases and workflows
109 |
110 | ### Common scenarios
111 |
112 | #### Debugging failing tests
113 |
114 | When tests are failing and you suspect cached executables might be the issue:
115 |
116 | ```bash
117 | fpm clean --test
118 | fpm test
119 | ```
120 |
121 | This ensures test executables are rebuilt from scratch while preserving your application builds.
122 |
123 | #### Preparing for release
124 |
125 | Before building release versions of your applications:
126 |
127 | ```bash
128 | fpm clean --apps
129 | fpm build --release
130 | ```
131 |
132 | This ensures your applications are built fresh while preserving test and example builds for ongoing development.
133 |
134 | ### Working on examples
135 |
136 | When updating documentation examples:
137 |
138 | ```bash
139 | fpm clean --examples
140 | fpm run --example my_example
141 | ```
142 |
143 | This rebuilds only the example you're working on without affecting your main application or tests.
144 |
145 | ### Managing disk space efficiently
146 |
147 | For large projects where full rebuilds are time-consuming:
148 |
149 | ```bash
150 | # Clean only what you're currently working on
151 | fpm clean --test # If working on tests
152 | fpm clean --apps # If working on applications
153 | fpm clean --examples # If working on examples
154 | ```
155 |
156 | ## Command reference
157 |
158 | ### Complete option summary
159 |
160 | | Command | What gets removed | Dependencies | Prompts | Use when |
161 | |---------|------------------|--------------|---------|----------|
162 | | `fpm clean` | All build artifacts | Preserved | Yes | Safe interactive cleaning |
163 | | `fpm clean --skip` | All build artifacts | Preserved | No | Automated scripts, preserve deps |
164 | | `fpm clean --all` | All build artifacts | Removed | No | Fresh start, dependency issues |
165 | | `fpm clean --registry-cache` | Registry cache only | N/A | No | Registry troubleshooting |
166 | | `fpm clean --test` | Test executables only | Preserved | Variable | Test-specific issues |
167 | | `fpm clean --apps` | Application executables only | Preserved | Variable | Application changes |
168 | | `fpm clean --examples` | Example executables only | Preserved | Variable | Documentation updates |
169 |
170 | ### Combining options
171 |
172 | You can combine general and selective cleaning options:
173 |
174 | ```bash
175 | # Clean test and apps without prompting, preserve dependencies
176 | fpm clean --skip --test --apps
177 |
178 | # Clean everything including dependencies and registry cache
179 | fpm clean --all --registry-cache
180 | ```
181 |
182 | ## Performance benefits
183 |
184 | Selective cleaning provides several advantages:
185 |
186 | - **Faster rebuilds**: Preserves object files and unmodified executables
187 | - **Targeted workflow**: Clean only what you're working on
188 | - **Disk space management**: Remove executables while keeping compiled objects
189 | - **Parallel development**: Different team members can clean different components
190 |
191 | ## Best practices
192 |
193 | 1. **Use selective cleaning during development**: Avoid full `fpm clean` unless necessary
194 | 2. **Clean specific targets when troubleshooting**: If tests fail, try `fpm clean --test` first
195 | 3. **Combine with build flags**: `fpm clean --apps && fpm build --release` for release builds
196 | 4. **Clean examples regularly**: Examples often have different build requirements than main code
197 |
198 | :::{tip}
199 | If you're unsure which executables to clean, start with the most specific flag (e.g., `--test` if working on tests) and escalate to broader cleaning only if needed.
200 | :::
--------------------------------------------------------------------------------
/pages/spec/metapackages.md:
--------------------------------------------------------------------------------
1 | # Built-in dependencies ("Metapackages")
2 |
3 | :::{note}
4 | Metapackages are experimental! Please help us improve them by submitting issues to the [fpm repository](https://github.com/fortran-lang/fpm).
5 | :::
6 |
7 | Most real-world applications require dependencies that are not self-contained Fortran packages; but rather involve libraries with system-dependent installation steps, often provided with multiple language interfaces.
8 | As of 0.8.3, `fpm` supports the automated discovery, and binding, of a subset of such libraries to packages via the `metapackage` feature.
9 |
10 | Metapackages can be enabled in the manifest in the `[dependencies]` section, just by recalling their name. Here is how one enables OpenMP in a package:
11 |
12 | ```{code-block} toml
13 | :emphasize-lines: 2
14 | name = "my_openmp_package"
15 | dependencies.openmp = "*"
16 | ```
17 |
18 | which is equivalent to
19 |
20 | ```{code-block} toml
21 | :emphasize-lines: 3
22 | name = "my_openmp_package"
23 | [dependencies]
24 | openmp = "*"
25 | ```
26 |
27 | :::{note}
28 | Metapackages are enabled using the `"*"` wildcard, meaning _any version_, not with a boolean flag. Version requirements are not yet supported and will be introduced in a future release.
29 | :::
30 |
31 | Several pre-built examples can be found in `fpm`'s `example_packages/metapackage_*` folders under the fpm installation directory.
32 |
33 | ## fortran-lang Standard Library (stdlib)
34 |
35 | This dependency automatically downloads the latest release of the [fortran-lang standard library](https://stdlib.fortran-lang.org) and adds it to the project as a git dependency.
36 |
37 | ```toml
38 | name = "with_stdlib"
39 | dependencies.stdlib = "*"
40 | ```
41 |
42 | Starting with **fpm version 0.12.0**, if both the `stdlib` and `blas` metapackages are enabled, the standard library will be configured to link against the external BLAS/LAPACK implementation provided by the `blas` metapackage.
43 |
44 | When this configuration is active, the following preprocessor macros are automatically defined:
45 |
46 | * `STDLIB_EXTERNAL_BLAS`
47 | * `STDLIB_EXTERNAL_LAPACK`
48 |
49 | These macros disable internal fallback routines in `stdlib` and enable use of the external BLAS/LAPACK library.
50 |
51 | To enable this setup:
52 |
53 | ```toml
54 | [dependencies]
55 | stdlib = "*"
56 | blas = "*"
57 | ```
58 |
59 | An example is provided in:
60 |
61 | [`example_packages/metapackage_stdlib_extblas`](https://github.com/fortran-lang/fpm/tree/main/example_packages/metapackage_stdlib_extblas)
62 |
63 | ## fortran-lang MINPACK
64 |
65 | This dependency automatically downloads the release v2.0.0-rc1 of the modernized [fortran-lang MINPACK](https://github.com/fortran-lang/minpack) and adds it to the project as a git dependency.
66 |
67 | ```{code-block} toml
68 | :emphasize-lines: 2
69 | name = "with_minpack"
70 | dependencies.minpack = "*"
71 | ```
72 |
73 | ## OpenMP
74 |
75 | This dependency automatically adds appropriate compiler flags to enable OpenMP support compiling and running fpm targets.
76 |
77 | ```{code-block} toml
78 | :emphasize-lines: 2
79 | name = "my_openmp_package"
80 | dependencies.openmp = "*"
81 | ```
82 |
83 | ## MPI
84 |
85 | ```{code-block} toml
86 | :emphasize-lines: 2
87 | name = "my_parallel_app"
88 | dependencies.mpi = "*"
89 | ```
90 |
91 | MPI is supported for Fortran, C and C++ languages. `fpm` will perform system-specific steps to find and match available MPI libraries on your system with the `fpm` compiler.
92 | `fpm` will first search for standard MPI compiler wrappers (`mpifort`, `mpif90`, `mpif77`, `mpicc`, `mpicxx`, ...), then try to match them with the current `fpm` compiler for Fortran, C and C++.
93 |
94 | If no wrappers are available in your path, they can be enabled setting environment variables `MPICC`, `MPICXX`, `MPIFC`, `MPIF90` or `MPIF77` in your shell.
95 | For IntelMPI, fpm will also look up environment variables `I_MPI_CC`, `I_MPI_CXX` and `I_MPI_f90` for wrappers as well as `I_MPI_ROOT`.
96 | When a wrapper-compiler match is found, its queried to retrieve the appropriate compiler and runner commands, as well as build and link flags.
97 |
98 | Special steps are taken on Windows for the MSMPI package. the [MS-MPI SDK](https://learn.microsoft.com/en-us/message-passing-interface/microsoft-mpi) should be installed to enable building projects with MS-MPI support.
99 | Furthermore, MS-MPI is only available in combination with the [MSYS2](https://www.msys2.org) GNU compiler suite and [pre-built Fortran modules](https://packages.msys2.org/package/mingw-w64-x86_64-msmpi) for MS-MPI.
100 | The MS-MPI installation is looked up through the `MSMPI_BIN` environment variable, by searching for `mpiexec.exe` in the local path, or in the default folder, `C:\Program Files\Microsoft MPI\Bin\`.
101 |
102 | MPI applications can be run manually using `mpirun` or `mpiexec`, or directly via fpm using the `fpm run` command. In the latter case, the MPI runner will use the default number of processes on the current node.
103 | To customize the MPI runner command, the `--runner` and `--runner-args` options should be used, for example:
104 |
105 | ```{code-block}
106 | ./fpm run --runner=" sbatch script.sh"
107 | ./fpm run --runner-args=" -np 12 -N 2"
108 | ```
109 |
110 | Note that `--runner` can be used to override the default runner command (`mpiexec` or `mpirun`), while `--runner-args` should be used to pass arguments to the runner itsef, e.g., the number of processes.
111 |
112 | Currently verified system configurations are:
113 | - MacOS/x86_64 + GCC + OpenMPI (via brew)
114 | - MacOS/x86_64 + GCC + MPICH (via brew)
115 | - Linux/x86_64 + GCC + OpenMPI (via apt)
116 | - Linux/x86_64 + GCC + MPICH (via apt)
117 | - Linux/x86_64 + Intel + IntelMPI (via apt)
118 | - Windows/x86_64 + MinGW + MSMPI (via msys2)
119 | - Windows/x86_64 + Intel oneAPI + IntelMPI (via offline installer)
120 |
121 | :::{note}
122 | MPI C++ support on macOS is missing because homebrew is built with `clang`, whose C++ ABI is incompatible with the GNU C++ ABI needed to link against gfortran.
123 | :::
124 |
125 | ## HDF5
126 |
127 | ```{code-block} toml
128 | :emphasize-lines: 2
129 | name = "my_science_app"
130 | dependencies.hdf5 = "*"
131 | ```
132 |
133 | HDF5 is supported for Fortran, C and C++ languages. The `pkg-config` backend is employed by `fpm` to find a valid local HDF5 installation, so, please ensure that `pkg-config` is also available when using this metapackage.
134 |
135 | Both the default and the high-level (`HL`) interfaces are linked against if available.
136 | - On Ubuntu, special steps are taken to ensure `HL` are added.
137 | - On Ubuntu with oneAPI compilers, `CMake` HDF5 installations are supported (`apt` versions only support `gfortran`).
138 |
139 | :::{note}
140 | Codes using HDF5 built with `oneAPI` compilers should not have the `-standard-semantics` flag: it changes module name mangling from `_mp_` to `_MP_` which makes HDF5 modules unavailable.
141 | :::
142 |
143 |
144 | ## NetCDF
145 |
146 | ```{code-block} toml
147 | :emphasize-lines: 2
148 | name = "my_geoscience_app"
149 | dependencies.netcdf = "*"
150 | ```
151 |
152 | The `netcdf` metapackage will automatically link against the NetCDF Fortran and C libraries.
153 | It exposes the `netcdf` module for Fortran90, `netcdf_f03` and `netcdf4_f03` for
154 | Fortran 2003, as well as the underlying lower-level modules. Similar to HDF5, `fpm`
155 | uses `pkg-config` to find a valid local NetCDF installation.
156 |
157 |
158 | ## BLAS
159 |
160 | ```{code-block} toml
161 | :emphasize-lines: 2
162 | name = "my_linear_algebra_app"
163 | dependencies.blas = "*"
164 | ```
165 |
166 | The `blas` metapackage will automatically discover and link against BLAS libraries.
167 | The search order is `Apple Accelerate`, `Intel MKL`, `OpenBLAS` and finally usual `BLAS`.
168 | =======
169 |
--------------------------------------------------------------------------------
/pages/registry/naming.md:
--------------------------------------------------------------------------------
1 | # Module name requirements
2 |
3 | :::{note}
4 | Module naming requirements only apply to packages which are uploaded to a fpm registry; by default, no naming rules are enforced for local fpm projects.
5 | :::
6 |
7 | :::{note}
8 | TL;DR Always prefix all your module names with a standardized package prefix.
9 | - A default prefix (package name + double underscore: `my_package__*`) is always reserved by the registry
10 | - A custom prefix (no-symbols + single underscore: `mypkg_*`) can be specified, but it is subject to not being reserved in the registry yet.
11 | - Set default (`module-naming=true`) or custom (`module-naming="mypfx"`) prefix in `fpm.toml` `[build]`.
12 | :::
13 |
14 | The Fortran language does not support namespaces. This means that all public names (modules, but also global subroutines and functions) must be unique in the build space.
15 | Any build that contains duplicate names will fail because it is impossible to resolve a name to a unique object.
16 | For this reason, fpm by default requires all packages to comply with simple naming conventions that apply to both the package name and its modules.
17 |
18 |
19 | ## Fortran names: general rules
20 |
21 | As of Fortran 2003 onward, valid Fortran names need to comply with the following rules:
22 |
23 | - Up to 63 characters long;
24 | - Letters are case insensitive;
25 | - Must begin with a letter;
26 | - Only alphanumeric characters (letters, numbers) and underscores `_` are allowed.
27 |
28 | *Examples of invalid Fortran names:*
29 |
30 | ```{code-block} fortran
31 | 1_package ! Begins with #
32 | package$ ! Contains invalid symbol
33 | _package ! Does not begin with letter
34 | my package ! Contains space
35 | ```
36 |
37 | *Examples of valid Fortran names:*
38 |
39 | ```{code-block} fortran
40 | my_module ! Case insensitive: all versions valid,
41 | My_Module ! but resolving to the same object
42 | MY_MODULE
43 | MyModule
44 | mypackage
45 | package_module ! Underscores allowed
46 | my_package_123
47 | ```
48 |
49 | ## fpm registry names: rules for packages and modules
50 |
51 | To reduce the chance of name collisions, any Fortran module name in a package must begin with a unique prefix.
52 | Two options are offered.
53 |
54 | ### Default Module names
55 |
56 | The default option is always valid for all packages, as it is uniquely bound to the package name. It features a fortrannized package name, followed by a double underscore, with these rules:
57 |
58 | 1. Must begin with their package name;
59 | 2. The ``default separator`` `__` between the package name chunk and what follows must be used;
60 | 3. Neither the module nor the package name shall contain the default separator sequence elsewhere.
61 |
62 | :::{note}
63 | The default separator is a *double* underscore, single underscores are allowed anywhere except at the end of a package name.
64 | :::
65 |
66 | *Valid enforced module names*
67 |
68 | When the naming conventions are enforced, these are example modules in a package named `my_pkg` to illustrate the rules:
69 |
70 | ```{code-block} fortran
71 |
72 | module my_pkg ! Global API
73 | module my_pkg__1 ! We can now number them
74 | module my_pkg__123
75 | module my_pkg__core
76 | module my_pkg__utils
77 | module my_pkg__with_very_long_name
78 | ```
79 |
80 | *Invalid enforced module names*
81 |
82 | Considering the same package `my_pkg`, the following names will be invalid according to the naming rules:
83 |
84 | ```{code-block} fortran
85 |
86 | module my_pkg__ ! Nothing follows the separator
87 | module my_pkg__1__2 ! Separator must be unique
88 | module my_pkg__90123456789012345678901234567890123456789012345678901234 ! 64 chars: too long
89 | module my_pkg__util$ ! non-Fortran name
90 | ```
91 |
92 | ### Custom Module names
93 |
94 | Optionally, one can specify a custom prefix for the package's modules. The custom prefix must be:
95 |
96 | 1. A valid Fortran name;
97 | 2. Alphanumeric only characters (no spaces, symbols, dashes, underscores allowed).
98 |
99 | Different from the default option, a custom prefix needs to be validated by the registry, which keeps a
100 | list of unique custom prefixes to prevent name collisions.
101 |
102 | Module names with the custom prefix are followed by a ``single underscore`` `_`, which makes this option more flexible and backward compatible with existing packages.
103 | When a custom module prefix is specified, the default one is still available. Considering for example a package named `date-time`, with chosen prefix `dt`, the following are all valid module names:
104 |
105 | ```{code-block} fortran
106 |
107 | module date_time ! Same as package name
108 | module dt ! Same as custom prefix
109 | module date_time__utils ! use standard naming -> double underscore
110 | module dt_utils ! custom prefix -> single underscore
111 | module dt_123 ! custom prefix
112 | module dt_1
113 | module dt__1 ! also valid
114 | ```
115 |
116 | ### Package names
117 |
118 | All packages in FPM registries must have unique names, hence they must abide to the following rules
119 |
120 | 1. All package names shall be valid Fortran names;
121 | 2. Dash characters (`-`) are also allowed, and are treated by fpm as underscores;
122 | 3. Package names may contain uppercase and lowercase characters, but their unique identification is made case insensitive;
123 | 4. No duplicate package names are allowed within the same namespace.
124 |
125 | *Examples of valid package names:*
126 |
127 | ```{code-block} fortran
128 | my_package ! 1 underscore allowed
129 | My_Package ! same as the former
130 | mypackage123 ! Numbers OK
131 | my-package ! Will be read by fpm as "my_package"
132 | ```
133 |
134 | *Examples of invalid package names:*
135 |
136 | ```fortran
137 | my__package ! Contains package__module separator
138 | package__ ! Contains separator
139 | package_ ! Ends with underscore
140 | my pac$age ! Spaces and all symbols besides `_` not allowed
141 | _my_package ! Does not begin with letter
142 | 123package ! Does not begin with letter
143 | ```
144 |
145 | ## Manifest Settings
146 |
147 | :::{note}
148 | Key facts:
149 | - FPM does not apply naming requirements by default. If you want them, enable them in `fpm.toml`
150 | - FPM registries mandatorily require them. Ensure `fpm.toml` enables them.
151 | - Enable standard prefix with `module-naming=true`, custom prefix with `module-naming="prefixname"`.
152 | :::
153 |
154 | Module naming requirements can be enabled in `fpm.toml` under the `build` section, using the boolean flag `module-naming`.
155 | By default, `module-naming = false`, so no registry name enforcing is checked during the build.
156 |
157 | *Example:*
158 |
159 | ```{code-block} toml
160 | :emphasize-lines: 5
161 | [build]
162 | auto-executables = true
163 | auto-examples = false
164 | auto-tests = false
165 | module-naming = true # Use default naming convention
166 | external-modules = "netcdf"
167 | ```
168 |
169 | ```{code-block} toml
170 | :emphasize-lines: 5
171 | [build]
172 | auto-executables = true
173 | auto-examples = false
174 | auto-tests = false
175 | module-naming = "tomlf" # Use custom prefix, "tomlf"
176 | external-modules = "netcdf"
177 | ```
178 |
179 | ## Guidelines
180 |
181 | :::{note}
182 | These are non-mandatory styling suggestions to improve code readability and uniformity.
183 | :::
184 |
185 | It's recommended that the public API of each package is contained in a top-level module, whose name is same as the package name.
186 | For example, assuming a package ``DateTime`` deals with time and date in Fortran, one could have several modules deal with parts of it:
187 |
188 | ```{code-block} fortran
189 | module datetime__dates ; end module
190 | module datetime__time ; end module
191 | module datetime__julian; end module
192 | ```
193 |
194 | and a unique public API that's contained in the top-level module:
195 |
196 | ```{code-block} fortran
197 | module datetime
198 | use datetime__dates, only: [...]
199 | use datetime__time, only: [...]
200 | use datetime__julian, only: [...]
201 | implicit none(type,external)
202 | private
203 |
204 | ! Publish API
205 | public :: sub_1
206 | public :: fun_123
207 |
208 | end module datetime
209 | ```
210 |
211 | ## References
212 |
213 | [1] Metcalf, Reid, Cohen, "[Modern Fortran Explained](https://dl.acm.org/doi/book/10.5555/2090092)", Oxford University Press.
214 |
215 | [2] [Style Guide for Python Code](https://peps.python.org/pep-0008/#package-and-module-names)
216 |
217 |
--------------------------------------------------------------------------------
/pages/install/index.md:
--------------------------------------------------------------------------------
1 | (install)=
2 |
3 | # Installing fpm
4 |
5 | This how-to guide covers the installation of the Fortran Package Manager (fpm) on various platforms.
6 |
7 | ## {fab}`apple` {fab}`linux` {fab}`windows` Download binaries
8 |
9 | Binaries for macOS, Linux, and Windows (all on x86-64) are available for download for each release of fpm, as well as the latest (bleeding edge) release which mirrors the latest commit in the main branch of fpm.
10 |
11 | Navigate to [fpm releases](https://github.com/fortran-lang/fpm/releases) to see all available releases.
12 | The downloadable files are available at the bottom of each release section under *Assets*.
13 | Click on the appropriate link based on your OS.
14 | For example, to download a macOS fpm binary, click on the link that has *macos* in its name.
15 | After downloading, you will need to make your binary executable.
16 | On Linux and macOS, you can do this by typing
17 |
18 | ```{code-block} bash
19 | chmod +x fpm-0.5.0-linux-x86_64
20 | ```
21 |
22 | Optionally, place the binary in a directory that is globally accessible (*i.e.* in the ``PATH`` environment variable on Linux and macOS).
23 | You can also rename the binary to just *fpm* for easier use.
24 |
25 | For Windows, both a self-contained binary and a Windows Installer for fpm are available.
26 |
27 | :::{note}
28 | Links that end with ``.sha256`` provide the cryptographic hashes that you can use to verify if the download of your binary was successful.
29 | To verify the integrity of the downloaded binary the checksum can be computed locally and compared with the one provided in the release
30 |
31 | ```{code-block} text
32 | ❯ openssl sha256 -r fpm-0.5.0-linux-x86_64
33 | 387782f29b19eb6fbf14dd5cef76907a4c9cb6d20726d5508a78225ccd131ca8 *fpm-0.5.0-linux-x86_64
34 | ❯ cat fpm-0.5.0-linux-x86_64.sha256
35 | 387782f29b19eb6fbf14dd5cef76907a4c9cb6d20726d5508a78225ccd131ca8 fpm-0.5.0-linux-x86_64
36 | ```
37 |
38 | If the checksums mismatch, the download was most likely incomplete and the binary non-functional.
39 | In this case, retry the download of the binary and confirm that the checksums match.
40 | :::
41 |
42 |
43 | ## {fab}`windows` MSYS2 package manager
44 |
45 | [](https://packages.msys2.org/base/mingw-w64-fpm)
46 |
47 | The [MSYS2 project](https://www.msys2.org) provides a package manager and makes many common Unix tools available for Windows.
48 |
49 | :::{note}
50 | To install download the ``msys2-x86_64-YYYYMMDD.exe`` installer from the MSYS2 webpage and run it.
51 | MSYS2 will create several new desktop shortcuts, like *MSYS terminal*, *MinGW64 terminal* and *UCRT64 terminal* (more information on MSYS2 terminals are available [here](https://www.msys2.org/docs/terminals/)).
52 |
53 | The Fortran Package Manager is supported for the *UCRT64*, *MinGW64*, or *MinGW32* terminal.
54 | :::
55 |
56 | Open a new terminal and update your installation with
57 |
58 | ```{code-block} bash
59 | pacman -Syu
60 | ```
61 |
62 | You might have to update MSYS2 and ``pacman`` first, restart the terminal and run the above command again to update the installed packages.
63 |
64 | If you are using the *MinGW64 terminal* you can install the required software with
65 |
66 | ```{code-block} bash
67 | pacman -S git mingw-w64-x86_64-gcc-fortran mingw-w64-x86_64-fpm
68 | ```
69 |
70 | :::{tip}
71 | Both *git* and *gfortran* are not mandatory dependencies for running fpm.
72 | If you provide *git* and *gfortran* from outside they will get picked up as well.
73 | :::
74 |
75 |
76 | ## {fab}`apple` Homebrew package manager
77 |
78 | The Fortran Package Manager (fpm) is available for the [homebrew](https://brew.sh) package manager on MacOS via an additional tap.
79 | To install fpm via brew, include the new tap and install it using
80 |
81 | ```{code-block} bash
82 | brew tap fortran-lang/homebrew-fortran
83 | brew install fpm
84 | ```
85 |
86 | Binary distributions are available for MacOS 11 (Catalina) and 12 (Big Sur) for x86\_64 architectures.
87 | For other platforms fpm will be built locally from source automatically.
88 |
89 | Fpm should be available and functional after those steps.
90 |
91 |
92 | ## {fab}`apple` Macports
93 |
94 | [](https://ports.macports.org/port/fpm/)
95 |
96 | The Fortran Package Manager (fpm) is available via [macports](https://www.macports.org/) and can be installed with
97 |
98 | ```{code-block} bash
99 | sudo port install fpm
100 | ```
101 |
102 | Fpm should be available and functional after those steps.
103 |
104 |
105 | ## {fab}`apple` {fab}`linux` pip package manager
106 |
107 | [](https://pypi.org/project/fpm)
108 | 
109 |
110 | Fpm is available on [PyPI] and may be installed with [pipx] with:
111 |
112 | ```{code-block} bash
113 | pipx install fpm
114 | ```
115 |
116 | The use of [pipx] instead of `pip` allows automatically managing a dedicated virtual environment without potential clashes with the host operating system.
117 |
118 | :::{note}
119 | The `pipx` package manager can be installed from [sources](https://github.com/pypa/pipx)
120 | or from the package manager of your distribution.
121 | :::
122 |
123 | [pipx]: https://github.com/pypa/pipx
124 | [PyPI]: https://pypi.org/
125 |
126 |
127 | ## {fab}`apple` {fab}`linux` Conda package manager
128 |
129 | [](https://github.com/conda-forge/fpm-feedstock)
130 |
131 | Fpm is available on [conda-forge], to add conda-forge to your channels use:
132 |
133 | ```{code-block} bash
134 | conda config --add channels conda-forge
135 | ```
136 |
137 | Fpm can be installed with:
138 |
139 | ```{code-block} bash
140 | conda create -n fpm fpm
141 | conda activate fpm
142 | ```
143 |
144 | Alternatively, if you want fpm to be always available directly install into your current environment with
145 |
146 | ```{code-block} bash
147 | conda install fpm
148 | ```
149 |
150 | :::{note}
151 | The conda package manager can be installed from [miniforge](https://github.com/conda-forge/miniforge/releases)
152 | or from [miniconda](https://docs.conda.io/en/latest/miniconda.html).
153 | :::
154 |
155 | [Conda]: https://conda.io
156 | [conda-forge]: https://conda-forge.org/
157 |
158 |
159 | ## {fab}`apple` {fab}`linux` Spack package manager
160 |
161 | [](https://packages.spack.io/package.html?name=fpm)
162 |
163 | Fpm is available with spack in its develop version.
164 | To install fpm from spack use
165 |
166 | ```{code-block} sh
167 | spack install fpm
168 | ```
169 |
170 | You can add `+openmp` to enable parallelization of the target compilation in fpm.
171 | To use fpm in your environment load it with
172 |
173 | ```{code-block} sh
174 | spack load fpm
175 | ```
176 |
177 | For more details check the package information [here](https://spack.readthedocs.io/en/latest/package_list.html#fpm).
178 |
179 | [Spack]: https://spack.io
180 |
181 |
182 | ## {fab}`linux` Arch Linux user repository
183 |
184 | [](https://aur.archlinux.org/packages/fortran-fpm)
185 | [](https://aur.archlinux.org/packages/fortran-fpm-bin)
186 |
187 | The Arch Linux user repository (AUR) contains two packages for the Fortran Package Manager (fpm).
188 | With the [fortran-fpm-bin](https://aur.archlinux.org/packages/fortran-fpm-bin/) installs the statically linked Linux/x86\_64 binary from the release page, while the [fortran-fpm](https://aur.archlinux.org/packages/fortran-fpm/) package will bootstrap fpm from source.
189 |
190 | Select one of the PKGBUILDs and retrieve it with
191 |
192 | ```{code-block} bash
193 | git clone https://aur.archlinux.org/fortran-fpm.git
194 | cd fortran-fpm
195 | ```
196 |
197 | As usual, first inspect the PKGBUILD before building it.
198 | After verifying the PKGBUILD is fine, build the package with
199 |
200 | ```{code-block} bash
201 | makepkg -si
202 | ```
203 |
204 | Once the build passed pacman will ask to install the fpm package.
205 |
206 |
207 | ## OpenBSD ports
208 |
209 | [](https://openports.pl/path/devel/fpm)
210 |
211 | A port for OpenBSD is available in the default port tree.
212 | To install fpm install the *devel/fpm* port with
213 |
214 | ```{code-block} bash
215 | cd /usr/ports/devel/fpm
216 | make install clean
217 | ```
218 |
219 |
220 | ## {fab}`windows` WinGet
221 |
222 | [](https://github.com/microsoft/winget-pkgs/tree/master/manifests/f/FortranLang/fpm)
223 |
224 | The installer provided from the fpm release can be used via [WinGet] to install fpm:
225 |
226 | ```{code-block} powershell
227 | winget install FortranLang.fpm
228 | ```
229 |
230 | [WinGet]: https://learn.microsoft.com/en-us/windows/package-manager/
231 |
232 |
233 | ## Building from source
234 |
235 | To build fpm from source get the latest fpm source, either by cloning the repository from GitHub with
236 |
237 | ```{code-block} none
238 | git clone https://github.com/fortran-lang/fpm
239 | cd fpm
240 | ```
241 |
242 | or by downloading a source tarball from the latest source
243 |
244 | ```{code-block} none
245 | wget https://github.com/fortran-lang/fpm/archive/refs/heads/main.zip
246 | unzip main.zip
247 | cd fpm-main
248 | ```
249 |
250 | The available install script allows to bootstrap fpm by using just a Fortran compiler, git and network access.
251 | Invoke the script to start the bootstrap build
252 |
253 | ```{code-block} none
254 | ./install.sh
255 | ```
256 |
257 | Fpm will be installed in ``~/.local/bin/fpm``.
258 |
259 | :::{note}
260 | Building the bootstrapper binary from the single source file version might take a few seconds, which might make the install script look like it is hanging.
261 | :::
262 |
263 | :::{tip}
264 | The installation location can be adjusted by passing the ``--prefix=/path/to/install`` option.
265 | :::
266 |
267 | If you can't run the install script, you can perform the bootstrap procedure manually, with the following three steps:
268 |
269 | 1. Download the single source version of fpm
270 |
271 | :::{code-block} none
272 | wget https://github.com/fortran-lang/fpm/releases/download/current/fpm.F90
273 | :::
274 |
275 | 2. Build a bootstrap binary from the single source version
276 |
277 | :::{code-block} none
278 | mkdir -p build/bootstrap
279 | gfortran -J build/bootstrap -o build/bootstrap/fpm fpm.F90
280 | :::
281 |
282 | 3. Use the bootstrap binary to build the feature complete fpm version
283 |
284 | :::{code-block} none
285 | ./build/bootstrap/fpm install
286 | :::
287 |
--------------------------------------------------------------------------------
/locale/ja/LC_MESSAGES/news.po:
--------------------------------------------------------------------------------
1 | # SOME DESCRIPTIVE TITLE.
2 | # Copyright (C) 2021 Fortran programming language community
3 | # This file is distributed under the same license as the fpm package.
4 | # Tomohiro Degawa , 2022.
5 | #
6 | #, fuzzy
7 | msgid ""
8 | msgstr ""
9 | "Project-Id-Version: fpm \n"
10 | "Report-Msgid-Bugs-To: \n"
11 | "POT-Creation-Date: 2022-08-10 15:13+0200\n"
12 | "PO-Revision-Date: 2022-03-22 20:58+0900\n"
13 | "Last-Translator: 出川智啓 \n"
14 | "Language-Team: degawa \n"
15 | "MIME-Version: 1.0\n"
16 | "Content-Type: text/plain; charset=utf-8\n"
17 | "Content-Transfer-Encoding: 8bit\n"
18 | "Generated-By: Babel 2.10.3\n"
19 |
20 | #: ../../pages/news.md:3
21 | msgid "News"
22 | msgstr "新着情報"
23 |
24 | #: ../../pages/news/2021/09-24-fortrancon.md:7
25 | msgid "Fpm at FortranCon 2021"
26 | msgstr ""
27 |
28 | #: ../../pages/news/2021/09-24-fortrancon.md:9
29 | msgid ""
30 | "As part of the Fortran-lang symposium at the FortranCon 2021 we presented"
31 | " the progress on the Fortran implementation of fpm since the last "
32 | "FortranCon. Furthermore, Jakub Jelínek presented his work on the compiler"
33 | " profile support developed in his Google Summer of Code project."
34 | msgstr ""
35 |
36 | #: ../../pages/news/2021/09-24-fortrancon.md:13
37 | #: ../../pages/news/2021/11-10-packagingcon.md:13
38 | msgid "Recording"
39 | msgstr ""
40 |
41 | #: ../../pages/news/2021/09-24-fortrancon.md:15
42 | msgid "The recording of the talk is available at the FortranCon YouTube channel:"
43 | msgstr ""
44 |
45 | #: ../../pages/news/2021/11-10-packagingcon.md:7
46 | msgid "Presenting fpm at PackagingCon 2021"
47 | msgstr ""
48 |
49 | #: ../../pages/news/2021/11-10-packagingcon.md:9
50 | msgid ""
51 | "We are happy to get the chance to present the Fortran Package Manager at "
52 | "the first PackagingCon. The presentation covers the reasons for creating "
53 | "a package manager and build system for Fortran, what we already "
54 | "accomplished with the early prototype, and highlights open questions and "
55 | "future milestones for the fpm development."
56 | msgstr ""
57 |
58 | #: ../../pages/news/2021/11-10-packagingcon.md:15
59 | msgid ""
60 | "The recording of the talk is available at the PackagingCon YouTube "
61 | "channel:"
62 | msgstr ""
63 |
64 | #: ../../pages/news/2021/11-10-packagingcon.md:20
65 | #: ../../pages/news/2021/11-21-fpm-version-0.5.0.md:55
66 | msgid "Feedback"
67 | msgstr ""
68 |
69 | #: ../../pages/news/2021/11-10-packagingcon.md:22
70 | msgid "[Discourse thread](https://fortran-lang.discourse.group/t/1581)"
71 | msgstr ""
72 |
73 | #: ../../pages/news/2021/11-21-fpm-version-0.5.0.md:7
74 | msgid "Fpm version 0.5.0 released"
75 | msgstr "Fpm 0.5.0をリリースしました"
76 |
77 | #: ../../pages/news/2021/11-21-fpm-version-0.5.0.md:9
78 | msgid ""
79 | "We have a large number of bug fixes in this release and made plenty of "
80 | "improvements to the tooling around fpm, like the continuous delivery and "
81 | "the Windows installer. New features include the possibility for better "
82 | "compiler/linker selection and the improved build backend (test are only "
83 | "build when needed, link dependencies are properly tracked)."
84 | msgstr "このリリースには,多くのバグ修正があり,また継続的デリバリやWindowsインストーラといったfpmの周辺ツールに多くの改善が加えられています.新機能として,コンパイラ・リンカの選択の幅が広がり,バックエンドが改善されました.(テストは必要な場合にのみビルドされ,リンクの依存関係は適切に追跡されます)"
85 |
86 | #: ../../pages/news/2021/11-21-fpm-version-0.5.0.md:12
87 | msgid ""
88 | "Find the full release notes [here](https://github.com/fortran-"
89 | "lang/fpm/releases/tag/v0.5.0)."
90 | msgstr ""
91 | "リリースノートの全文は[こちら](https://github.com/fortran-"
92 | "lang/fpm/releases/tag/v0.5.0)をご覧ください."
93 |
94 | #: ../../pages/news/2021/11-21-fpm-version-0.5.0.md:14
95 | msgid "Changes"
96 | msgstr ""
97 |
98 | #: ../../pages/news/2021/11-21-fpm-version-0.5.0.md:16
99 | msgid ""
100 | "tests are only build for fpm test and not by default anymore "
101 | "([#572](https://github.com/fortran-lang/fpm/pull/572))"
102 | msgstr ""
103 |
104 | #: ../../pages/news/2021/11-21-fpm-version-0.5.0.md:17
105 | msgid ""
106 | "environment variables for setting Fortran and C compiler changed "
107 | "([#549](https://github.com/fortran-lang/fpm/pull/549), "
108 | "[#584](https://github.com/fortran-lang/fpm/pull/584))"
109 | msgstr ""
110 |
111 | #: ../../pages/news/2021/11-21-fpm-version-0.5.0.md:18
112 | msgid ""
113 | "add LFortran optimization flag to release profile "
114 | "([#597](https://github.com/fortran-lang/fpm/pull/597))"
115 | msgstr ""
116 |
117 | #: ../../pages/news/2021/11-21-fpm-version-0.5.0.md:21
118 | msgid "New features"
119 | msgstr ""
120 |
121 | #: ../../pages/news/2021/11-21-fpm-version-0.5.0.md:23
122 | msgid ""
123 | "command line arguments for linker, archiver and C-compiler added "
124 | "([#549](https://github.com/fortran-lang/fpm/pull/549))"
125 | msgstr ""
126 |
127 | #: ../../pages/news/2021/11-21-fpm-version-0.5.0.md:26
128 | msgid "Fixes"
129 | msgstr ""
130 |
131 | #: ../../pages/news/2021/11-21-fpm-version-0.5.0.md:28
132 | msgid ""
133 | "tabs are correctly expanded in source file scanning "
134 | "([#521](https://github.com/fortran-lang/fpm/pull/521))"
135 | msgstr ""
136 |
137 | #: ../../pages/news/2021/11-21-fpm-version-0.5.0.md:29
138 | msgid ""
139 | "installer script will use fpm update to avoid stale dependencies "
140 | "([#557](https://github.com/fortran-lang/fpm/pull/557))"
141 | msgstr ""
142 |
143 | #: ../../pages/news/2021/11-21-fpm-version-0.5.0.md:30
144 | msgid ""
145 | "use multiple build output directories depending on link line options "
146 | "([#575](https://github.com/fortran-lang/fpm/pull/575))"
147 | msgstr ""
148 |
149 | #: ../../pages/news/2021/11-21-fpm-version-0.5.0.md:31
150 | msgid ""
151 | "update truncated help text ([#578](https://github.com/fortran-"
152 | "lang/fpm/pull/578))"
153 | msgstr ""
154 |
155 | #: ../../pages/news/2021/11-21-fpm-version-0.5.0.md:32
156 | msgid ""
157 | "fix directory removal in fpm new tests ([#579](https://github.com"
158 | "/fortran-lang/fpm/pull/579))"
159 | msgstr ""
160 |
161 | #: ../../pages/news/2021/11-21-fpm-version-0.5.0.md:33
162 | msgid ""
163 | "use MSVS like commands for Intel compilers on Windows "
164 | "([#590](https://github.com/fortran-lang/fpm/pull/590))"
165 | msgstr ""
166 |
167 | #: ../../pages/news/2021/11-21-fpm-version-0.5.0.md:34
168 | msgid ""
169 | "add critical section to mkdir in backend ([#613](https://github.com"
170 | "/fortran-lang/fpm/pull/613))"
171 | msgstr ""
172 |
173 | #: ../../pages/news/2021/11-21-fpm-version-0.5.0.md:35
174 | msgid ""
175 | "fix modules listing (for install) ([#612](https://github.com/fortran-"
176 | "lang/fpm/pull/612))"
177 | msgstr ""
178 |
179 | #: ../../pages/news/2021/11-21-fpm-version-0.5.0.md:36
180 | msgid ""
181 | "repair --list option and correct obsolete descriptions of the --list "
182 | "option ([#607](https://github.com/fortran-lang/fpm/pull/607))"
183 | msgstr ""
184 |
185 | #: ../../pages/news/2021/11-21-fpm-version-0.5.0.md:37
186 | msgid ""
187 | "fix incorrect Intel release flag on Windows ([#602](https://github.com"
188 | "/fortran-lang/fpm/pull/602))"
189 | msgstr ""
190 |
191 | #: ../../pages/news/2021/11-21-fpm-version-0.5.0.md:39
192 | msgid ""
193 | "list names without suffix for Windows ([#595](https://github.com/fortran-"
194 | "lang/fpm/pull/595))"
195 | msgstr ""
196 |
197 | #: ../../pages/news/2021/11-21-fpm-version-0.5.0.md:43
198 | msgid "Repository updates"
199 | msgstr ""
200 |
201 | #: ../../pages/news/2021/11-21-fpm-version-0.5.0.md:45
202 | msgid ""
203 | "add files and workflow to make installer on release "
204 | "([#616](https://github.com/fortran-lang/fpm/pull/616))"
205 | msgstr ""
206 |
207 | #: ../../pages/news/2021/11-21-fpm-version-0.5.0.md:46
208 | msgid ""
209 | "issue templates added to guide reporting of bugs, package issues, feature"
210 | " requests and specification proposals ([#558](https://github.com/fortran-"
211 | "lang/fpm/pull/558))"
212 | msgstr ""
213 |
214 | #: ../../pages/news/2021/11-21-fpm-version-0.5.0.md:47
215 | msgid ""
216 | "default branch renamed to *main* ([#565](https://github.com/fortran-"
217 | "lang/fpm/pull/565))"
218 | msgstr ""
219 |
220 | #: ../../pages/news/2021/11-21-fpm-version-0.5.0.md:48
221 | msgid ""
222 | "update documentation on distributions supporting fpm, like spack and "
223 | "MSYS2 ([#562](https://github.com/fortran-lang/fpm/pull/562))"
224 | msgstr ""
225 |
226 | #: ../../pages/news/2021/11-21-fpm-version-0.5.0.md:49
227 | msgid ""
228 | "new workflow to automatically generate single source fpm versions "
229 | "([#563](https://github.com/fortran-lang/fpm/pull/563))"
230 | msgstr ""
231 |
232 | #: ../../pages/news/2021/11-21-fpm-version-0.5.0.md:50
233 | msgid ""
234 | "continuous delivery of current fpm git source implemented "
235 | "([#569](https://github.com/fortran-lang/fpm/pull/569), "
236 | "[#564](https://github.com/fortran-lang/fpm/pull/564))"
237 | msgstr ""
238 |
239 | #: ../../pages/news/2021/11-21-fpm-version-0.5.0.md:51
240 | msgid ""
241 | "update of bootstrapping instructions ([#587](https://github.com/fortran-"
242 | "lang/fpm/pull/587))"
243 | msgstr ""
244 |
245 | #: ../../pages/news/2021/11-21-fpm-version-0.5.0.md:52
246 | msgid ""
247 | "update README.md compiler, archiver, & link flags "
248 | "([#598](https://github.com/fortran-lang/fpm/pull/598))"
249 | msgstr ""
250 |
251 | #: ../../pages/news/2021/11-21-fpm-version-0.5.0.md:57
252 | msgid "[Discourse thread](https://fortran-lang.discourse.group/t/2314)"
253 | msgstr ""
254 |
255 | #: ../../pages/news/2021/11-21-fpm-version-0.5.0.md:58
256 | msgid "[Twitter post](https://twitter.com/fortranlang/status/1462506491752161286)"
257 | msgstr ""
258 |
259 | #: ../../pages/news/2021/new-documentation.md:7
260 | msgid "New documentation"
261 | msgstr ""
262 |
263 | #: ../../pages/news/2022/06-19-fpm-version-0.6.0.md:7
264 | #, fuzzy
265 | msgid "Fpm version 0.6.0 released"
266 | msgstr "Fpm 0.5.0をリリースしました"
267 |
268 | #: ../../pages/news/2022/06-19-fpm-version-0.6.0.md:9
269 | msgid ""
270 | "This release introduces a better visualization for the build output, "
271 | "compiler output is only shown on error to keep the standard output clean "
272 | "for successful builds. Furthermore, fpm can now detect unused modules and"
273 | " avoids compiling modules that are not needed for an application, which "
274 | "improves the compilation speed with large dependencies like stdlib. When "
275 | "creating a new project with fpm the author information are now taken from"
276 | " the git configuration to avoid using placeholders in the manifest. "
277 | "Several more bug fixes and plenty of improvements went into this version "
278 | "as well."
279 | msgstr ""
280 |
281 | #: ../../pages/news/2022/06-19-fpm-version-0.6.0.md:14
282 | #, fuzzy
283 | msgid ""
284 | "Find the full release notes [here](https://github.com/fortran-"
285 | "lang/fpm/releases/tag/v0.6.0)."
286 | msgstr ""
287 | "リリースノートの全文は[こちら](https://github.com/fortran-"
288 | "lang/fpm/releases/tag/v0.5.0)をご覧ください."
289 |
290 | #: ../../pages/news/2022/06-19-fpm-version-0.6.0.md:16
291 | msgid ""
292 | "Many thanks to Pedro Costa ([@p-costa](https://github.com/p-costa)), "
293 | "Sebastian Ehlert ([@awvwgk](https://github.com/awvwgk)), Laurence Kedward"
294 | " ([@lkedward](https://github.com/lkedward)), Wileam Y. Phan "
295 | "([@wyphan](https://github.com/wyphan)), Arteev Raina "
296 | "([@arteevraina](https://github.com/arteevraina)), Simon Rowe "
297 | "([@wiremoons](https://github.com/wiremoons)), Andre Smit "
298 | "([@freevryheid](https://github.com/freevryheid)), John Urban "
299 | "([@urbanjost](https://github.com/urbanjost)), Zuo Zhihua "
300 | "([@zoziha](https://github.com/zoziha)), [@st-maxwell](https://github.com"
301 | "/st-maxwell), and [@noisegul](https://github.com/noisegul) for "
302 | "contributing patches to this release."
303 | msgstr ""
304 |
305 | #: ../../pages/news/2022/06-19-fpm-version-0.6.0.md:19
306 | msgid "Changelog"
307 | msgstr ""
308 |
309 | #: ../../pages/news/2022/06-19-fpm-version-0.6.0.md:21
310 | msgid ""
311 | "Better extraction of the Fortran compiler from the MPI wrapper "
312 | "([#634](https://github.com/fortran-lang/fpm/pull/634))"
313 | msgstr ""
314 |
315 | #: ../../pages/news/2022/06-19-fpm-version-0.6.0.md:22
316 | msgid ""
317 | "Update module output directory command for flang-new/f18 "
318 | "([#645](https://github.com/fortran-lang/fpm/pull/645))"
319 | msgstr ""
320 |
321 | #: ../../pages/news/2022/06-19-fpm-version-0.6.0.md:23
322 | msgid ""
323 | "Respect user provided main-files ([#646](https://github.com/fortran-"
324 | "lang/fpm/pull/646))"
325 | msgstr ""
326 |
327 | #: ../../pages/news/2022/06-19-fpm-version-0.6.0.md:24
328 | msgid ""
329 | "just allow . on new subcommand instead of changing canonical path "
330 | "([#630](https://github.com/fortran-lang/fpm/pull/630))"
331 | msgstr ""
332 |
333 | #: ../../pages/news/2022/06-19-fpm-version-0.6.0.md:25
334 | msgid ""
335 | "get user name and email using git config if available else use defaults "
336 | "([#652](https://github.com/fortran-lang/fpm/pull/652))"
337 | msgstr ""
338 |
339 | #: ../../pages/news/2022/06-19-fpm-version-0.6.0.md:26
340 | #, fuzzy
341 | msgid ""
342 | "Ignore hidden source files ([#654](https://github.com/fortran-"
343 | "lang/fpm/pull/654))"
344 | msgstr ""
345 | "リリースノートの全文は[こちら](https://github.com/fortran-"
346 | "lang/fpm/releases/tag/v0.5.0)をご覧ください."
347 |
348 | #: ../../pages/news/2022/06-19-fpm-version-0.6.0.md:27
349 | msgid ""
350 | "Cleanup the backend output ([#622](https://github.com/fortran-"
351 | "lang/fpm/pull/622))"
352 | msgstr ""
353 |
354 | #: ../../pages/news/2022/06-19-fpm-version-0.6.0.md:28
355 | msgid ""
356 | "Add note about relocation of manifest reference "
357 | "([#648](https://github.com/fortran-lang/fpm/pull/648))"
358 | msgstr ""
359 |
360 | #: ../../pages/news/2022/06-19-fpm-version-0.6.0.md:29
361 | msgid ""
362 | "Fix for backtrace error when file not found in: "
363 | "`src/fpm_source_parsing.f90` ([#675](https://github.com/fortran-"
364 | "lang/fpm/pull/675))"
365 | msgstr ""
366 |
367 | #: ../../pages/news/2022/06-19-fpm-version-0.6.0.md:30
368 | msgid ""
369 | "Fix issue with backend pretty output ([#677](https://github.com/fortran-"
370 | "lang/fpm/pull/677))"
371 | msgstr ""
372 |
373 | #: ../../pages/news/2022/06-19-fpm-version-0.6.0.md:31
374 | msgid ""
375 | "fix: remove remove unnecessary space in fpm new cmd "
376 | "([#684](https://github.com/fortran-lang/fpm/pull/684))"
377 | msgstr ""
378 |
379 | #: ../../pages/news/2022/06-19-fpm-version-0.6.0.md:32
380 | msgid ""
381 | "Small fix for `fpm_model` ([#688](https://github.com/fortran-"
382 | "lang/fpm/pull/688))"
383 | msgstr ""
384 |
385 | #: ../../pages/news/2022/06-19-fpm-version-0.6.0.md:33
386 | msgid "add clean command ([#655](https://github.com/fortran-lang/fpm/pull/665))"
387 | msgstr ""
388 |
389 | #: ../../pages/news/2022/06-19-fpm-version-0.6.0.md:34
390 | msgid ""
391 | "Fix for non-portable GFortran `-J` flag in install script "
392 | "([#692](https://github.com/fortran-lang/fpm/pull/692))"
393 | msgstr ""
394 |
395 | #: ../../pages/news/2022/06-19-fpm-version-0.6.0.md:35
396 | msgid ""
397 | "Fix show-model option ([#693](https://github.com/fortran-"
398 | "lang/fpm/pull/693))"
399 | msgstr ""
400 |
401 | #: ../../pages/news/2022/06-19-fpm-version-0.6.0.md:36
402 | msgid ""
403 | "Tree shaking for modules ([#676](https://github.com/fortran-"
404 | "lang/fpm/pull/676))"
405 | msgstr ""
406 |
407 | #: ../../pages/news/2022/06-19-fpm-version-0.6.0.md:37
408 | msgid ""
409 | "Fix submodule shaking ([#704](https://github.com/fortran-"
410 | "lang/fpm/pull/704))"
411 | msgstr ""
412 |
413 | #: ../../pages/news/2022/06-19-fpm-version-0.6.0.md:38
414 | msgid ""
415 | "fix: remove extra space from help-test cmd ([#686](https://github.com"
416 | "/fortran-lang/fpm/pull/686))"
417 | msgstr ""
418 |
419 | #: ../../pages/news/2022/06-19-fpm-version-0.6.0.md:39
420 | msgid ""
421 | "Fix: to pipe up-to-date message to stderr ([#706](https://github.com"
422 | "/fortran-lang/fpm/pull/706))"
423 | msgstr ""
424 |
425 | #: ../../pages/news/2022/06-19-fpm-version-0.6.0.md:40
426 | msgid ""
427 | "Avoid infinite loop if command \"fpm-\" is in path "
428 | "([#713](https://github.com/fortran-lang/fpm/pull/713))"
429 | msgstr ""
430 |
431 | #: ../../pages/news/2022/06-19-fpm-version-0.6.0.md:41
432 | msgid ""
433 | "Fix --show-model, init `c_source%parent_modules` "
434 | "([#712](https://github.com/fortran-lang/fpm/pull/712))"
435 | msgstr ""
436 |
437 | #: ../../pages/news/2022/06-19-fpm-version-0.6.0.md:42
438 | msgid ""
439 | "Add OMP critical for `make_archive` ([#708](https://github.com/fortran-"
440 | "lang/fpm/pull/708))"
441 | msgstr ""
442 |
443 |
--------------------------------------------------------------------------------
/locale/nl/LC_MESSAGES/news.po:
--------------------------------------------------------------------------------
1 | # Copyright (C) 2022 Fortran programming language community
2 | # This file is distributed under the same license as the fpm package.
3 | # Arjen Markus , 2022.
4 | #
5 | msgid ""
6 | msgstr ""
7 | "Project-Id-Version: fpm\n"
8 | "Report-Msgid-Bugs-To: \n"
9 | "POT-Creation-Date: 2022-08-10 15:13+0200\n"
10 | "PO-Revision-Date: 2022-01-18 12:11+0100\n"
11 | "Last-Translator: Vincent MAGNIN \n"
12 | "Language: fr\n"
13 | "Language-Team: \n"
14 | "Plural-Forms: nplurals=2; plural=(n > 1);\n"
15 | "MIME-Version: 1.0\n"
16 | "Content-Type: text/plain; charset=utf-8\n"
17 | "Content-Transfer-Encoding: 8bit\n"
18 | "Generated-By: Babel 2.10.3\n"
19 |
20 | #: ../../pages/news.md:3
21 | msgid "News"
22 | msgstr "Actualités"
23 |
24 | #: ../../pages/news/2021/09-24-fortrancon.md:7
25 | msgid "Fpm at FortranCon 2021"
26 | msgstr ""
27 |
28 | #: ../../pages/news/2021/09-24-fortrancon.md:9
29 | msgid ""
30 | "As part of the Fortran-lang symposium at the FortranCon 2021 we presented"
31 | " the progress on the Fortran implementation of fpm since the last "
32 | "FortranCon. Furthermore, Jakub Jelínek presented his work on the compiler"
33 | " profile support developed in his Google Summer of Code project."
34 | msgstr ""
35 |
36 | #: ../../pages/news/2021/09-24-fortrancon.md:13
37 | #: ../../pages/news/2021/11-10-packagingcon.md:13
38 | msgid "Recording"
39 | msgstr ""
40 |
41 | #: ../../pages/news/2021/09-24-fortrancon.md:15
42 | msgid "The recording of the talk is available at the FortranCon YouTube channel:"
43 | msgstr ""
44 |
45 | #: ../../pages/news/2021/11-10-packagingcon.md:7
46 | msgid "Presenting fpm at PackagingCon 2021"
47 | msgstr ""
48 |
49 | #: ../../pages/news/2021/11-10-packagingcon.md:9
50 | msgid ""
51 | "We are happy to get the chance to present the Fortran Package Manager at "
52 | "the first PackagingCon. The presentation covers the reasons for creating "
53 | "a package manager and build system for Fortran, what we already "
54 | "accomplished with the early prototype, and highlights open questions and "
55 | "future milestones for the fpm development."
56 | msgstr ""
57 |
58 | #: ../../pages/news/2021/11-10-packagingcon.md:15
59 | msgid ""
60 | "The recording of the talk is available at the PackagingCon YouTube "
61 | "channel:"
62 | msgstr ""
63 |
64 | #: ../../pages/news/2021/11-10-packagingcon.md:20
65 | #: ../../pages/news/2021/11-21-fpm-version-0.5.0.md:55
66 | msgid "Feedback"
67 | msgstr "Aankondigingen"
68 |
69 | #: ../../pages/news/2021/11-10-packagingcon.md:22
70 | #, fuzzy
71 | msgid "[Discourse thread](https://fortran-lang.discourse.group/t/1581)"
72 | msgstr "[Discussie op Discourse](https://fortran-lang.discourse.group/t/2314)"
73 |
74 | #: ../../pages/news/2021/11-21-fpm-version-0.5.0.md:7
75 | msgid "Fpm version 0.5.0 released"
76 | msgstr "Fpm 0.5.0 uitgebracht"
77 |
78 | #: ../../pages/news/2021/11-21-fpm-version-0.5.0.md:9
79 | msgid ""
80 | "We have a large number of bug fixes in this release and made plenty of "
81 | "improvements to the tooling around fpm, like the continuous delivery and "
82 | "the Windows installer. New features include the possibility for better "
83 | "compiler/linker selection and the improved build backend (test are only "
84 | "build when needed, link dependencies are properly tracked)."
85 | msgstr ""
86 | "In deze release hebben we een groot aantal bugs opgelost en veel "
87 | "verbeteringen doorgevoerd in de tools bij fpm, zoals continue bouw en "
88 | "levering en de installatie voor Windows. Onder de nieuwe functionaliteit "
89 | "vind je betere mogelijkheden om de compiler/linker te selecteren en een "
90 | "slimmere build-backend (testen worden bijvoorbeeld alleen gebouwd indien "
91 | "nodig en link-afhankelijkheden worden netter bijgehouden)."
92 |
93 | #: ../../pages/news/2021/11-21-fpm-version-0.5.0.md:12
94 | msgid ""
95 | "Find the full release notes [here](https://github.com/fortran-"
96 | "lang/fpm/releases/tag/v0.5.0)."
97 | msgstr ""
98 | "Hier vind je alle releasenotes [ici](https://github.com/fortran-"
99 | "lang/fpm/releases/tag/v0.5.0)."
100 |
101 | #: ../../pages/news/2021/11-21-fpm-version-0.5.0.md:14
102 | msgid "Changes"
103 | msgstr "Wijzigingen"
104 |
105 | #: ../../pages/news/2021/11-21-fpm-version-0.5.0.md:16
106 | msgid ""
107 | "tests are only build for fpm test and not by default anymore "
108 | "([#572](https://github.com/fortran-lang/fpm/pull/572))"
109 | msgstr ""
110 | "testen worden alleen gebouwd met fpm test en niet langer bij verstek "
111 | "([#572](https://github.com/fortran-lang/fpm/pull/572))"
112 |
113 | #: ../../pages/news/2021/11-21-fpm-version-0.5.0.md:17
114 | msgid ""
115 | "environment variables for setting Fortran and C compiler changed "
116 | "([#549](https://github.com/fortran-lang/fpm/pull/549), "
117 | "[#584](https://github.com/fortran-lang/fpm/pull/584))"
118 | msgstr ""
119 | "andere environmentvariabelen voor het kiezen van de Fortran en C "
120 | "compilers ([#549](https://github.com/fortran-lang/fpm/pull/549), "
121 | "[#584](https://github.com/fortran-lang/fpm/pull/584))"
122 |
123 | #: ../../pages/news/2021/11-21-fpm-version-0.5.0.md:18
124 | msgid ""
125 | "add LFortran optimization flag to release profile "
126 | "([#597](https://github.com/fortran-lang/fpm/pull/597))"
127 | msgstr ""
128 | "optie voor optimalisatie toegevoegd aan het releaseprofiel voor de "
129 | "LFortran compiler ([#597](https://github.com/fortran-lang/fpm/pull/597))"
130 |
131 | #: ../../pages/news/2021/11-21-fpm-version-0.5.0.md:21
132 | msgid "New features"
133 | msgstr "Nieuwe functonaliteiten"
134 |
135 | #: ../../pages/news/2021/11-21-fpm-version-0.5.0.md:23
136 | msgid ""
137 | "command line arguments for linker, archiver and C-compiler added "
138 | "([#549](https://github.com/fortran-lang/fpm/pull/549))"
139 | msgstr ""
140 | "command-lineargumenten toegevoegd voor linker, archiver en C-compiler "
141 | "([#549](https://github.com/fortran-lang/fpm/pull/549))"
142 |
143 | #: ../../pages/news/2021/11-21-fpm-version-0.5.0.md:26
144 | msgid "Fixes"
145 | msgstr "Verbeteringen"
146 |
147 | #: ../../pages/news/2021/11-21-fpm-version-0.5.0.md:28
148 | msgid ""
149 | "tabs are correctly expanded in source file scanning "
150 | "([#521](https://github.com/fortran-lang/fpm/pull/521))"
151 | msgstr ""
152 | "tabs worden nu correct behandeld bij het scannen van de broncode "
153 | "([#521](https://github.com/fortran-lang/fpm/pull/521))"
154 |
155 | #: ../../pages/news/2021/11-21-fpm-version-0.5.0.md:29
156 | msgid ""
157 | "installer script will use fpm update to avoid stale dependencies "
158 | "([#557](https://github.com/fortran-lang/fpm/pull/557))"
159 | msgstr ""
160 | "installatiescript gebruikt fpm update om verouderde afhankelijkheden te "
161 | "vermijden ([#557](https://github.com/fortran-lang/fpm/pull/557))"
162 |
163 | #: ../../pages/news/2021/11-21-fpm-version-0.5.0.md:30
164 | msgid ""
165 | "use multiple build output directories depending on link line options "
166 | "([#575](https://github.com/fortran-lang/fpm/pull/575))"
167 | msgstr ""
168 | "gebruik meerder uitvoerdirectories afhankelijk van de linkeropties "
169 | "([#575](https://github.com/fortran-lang/fpm/pull/575))"
170 |
171 | #: ../../pages/news/2021/11-21-fpm-version-0.5.0.md:31
172 | msgid ""
173 | "update truncated help text ([#578](https://github.com/fortran-"
174 | "lang/fpm/pull/578))"
175 | msgstr ""
176 | "afgebroken helptekst verbeterd ([#578](https://github.com/fortran-"
177 | "lang/fpm/pull/578))"
178 |
179 | #: ../../pages/news/2021/11-21-fpm-version-0.5.0.md:32
180 | msgid ""
181 | "fix directory removal in fpm new tests ([#579](https://github.com"
182 | "/fortran-lang/fpm/pull/579))"
183 | msgstr ""
184 | "verwijderen van directories verbeterd in fpm new tests "
185 | "([#579](https://github.com/fortran-lang/fpm/pull/579))"
186 |
187 | #: ../../pages/news/2021/11-21-fpm-version-0.5.0.md:33
188 | msgid ""
189 | "use MSVS like commands for Intel compilers on Windows "
190 | "([#590](https://github.com/fortran-lang/fpm/pull/590))"
191 | msgstr ""
192 | "gebruik opdrachten van het type MSVS voor de Intel-compilers op Windows "
193 | "([#590](https://github.com/fortran-lang/fpm/pull/590))"
194 |
195 | #: ../../pages/news/2021/11-21-fpm-version-0.5.0.md:34
196 | msgid ""
197 | "add critical section to mkdir in backend ([#613](https://github.com"
198 | "/fortran-lang/fpm/pull/613))"
199 | msgstr ""
200 | "kritische sectie toegevoegd in het backend voor mkdir "
201 | "([#613](https://github.com/fortran-lang/fpm/pull/613))"
202 |
203 | #: ../../pages/news/2021/11-21-fpm-version-0.5.0.md:35
204 | msgid ""
205 | "fix modules listing (for install) ([#612](https://github.com/fortran-"
206 | "lang/fpm/pull/612))"
207 | msgstr ""
208 | "corrigeer de lijst van modules (voor de installatie) "
209 | "([#612](https://github.com/fortran-lang/fpm/pull/612))"
210 |
211 | #: ../../pages/news/2021/11-21-fpm-version-0.5.0.md:36
212 | msgid ""
213 | "repair --list option and correct obsolete descriptions of the --list "
214 | "option ([#607](https://github.com/fortran-lang/fpm/pull/607))"
215 | msgstr ""
216 | "corrigeer de optie --list et corrigeer de verouderde beschrijvingen van "
217 | "deze optie ([#607](https://github.com/fortran-lang/fpm/pull/607))"
218 |
219 | #: ../../pages/news/2021/11-21-fpm-version-0.5.0.md:37
220 | msgid ""
221 | "fix incorrect Intel release flag on Windows ([#602](https://github.com"
222 | "/fortran-lang/fpm/pull/602))"
223 | msgstr ""
224 | "corrigeer de foutieve Release-optie voor Intel op Windows "
225 | "([#602](https://github.com/fortran-lang/fpm/pull/602))"
226 |
227 | #: ../../pages/news/2021/11-21-fpm-version-0.5.0.md:39
228 | msgid ""
229 | "list names without suffix for Windows ([#595](https://github.com/fortran-"
230 | "lang/fpm/pull/595))"
231 | msgstr ""
232 | "vermeld de namen zonder suffix op Windows ([#595](https://github.com"
233 | "/fortran-lang/fpm/pull/595))"
234 |
235 | #: ../../pages/news/2021/11-21-fpm-version-0.5.0.md:43
236 | msgid "Repository updates"
237 | msgstr "Updates van de fpm repository"
238 |
239 | #: ../../pages/news/2021/11-21-fpm-version-0.5.0.md:45
240 | msgid ""
241 | "add files and workflow to make installer on release "
242 | "([#616](https://github.com/fortran-lang/fpm/pull/616))"
243 | msgstr ""
244 | "bestanden en workflow voor het maken van de release-installatie op "
245 | "Windows toegevoegd ([#616](https://github.com/fortran-lang/fpm/pull/616))"
246 |
247 | #: ../../pages/news/2021/11-21-fpm-version-0.5.0.md:46
248 | msgid ""
249 | "issue templates added to guide reporting of bugs, package issues, feature"
250 | " requests and specification proposals ([#558](https://github.com/fortran-"
251 | "lang/fpm/pull/558))"
252 | msgstr ""
253 | "templates voor het beschrijven van fouten, problemen met pakketten, "
254 | "verzoeken om nieuwe functies en voorstellen voor specificaties "
255 | "([#558](https://github.com/fortran-lang/fpm/pull/558))"
256 |
257 | #: ../../pages/news/2021/11-21-fpm-version-0.5.0.md:47
258 | msgid ""
259 | "default branch renamed to *main* ([#565](https://github.com/fortran-"
260 | "lang/fpm/pull/565))"
261 | msgstr ""
262 | "hoofdtak hernoemd tot *main* ([#565](https://github.com/fortran-"
263 | "lang/fpm/pull/565))"
264 |
265 | #: ../../pages/news/2021/11-21-fpm-version-0.5.0.md:48
266 | msgid ""
267 | "update documentation on distributions supporting fpm, like spack and "
268 | "MSYS2 ([#562](https://github.com/fortran-lang/fpm/pull/562))"
269 | msgstr ""
270 | "documentatie bijgewerkt voor de distributiesystemen die fpm ondersteunen,"
271 | " zoals spack en MSYS2 ([#562](https://github.com/fortran-"
272 | "lang/fpm/pull/562))"
273 |
274 | #: ../../pages/news/2021/11-21-fpm-version-0.5.0.md:49
275 | msgid ""
276 | "new workflow to automatically generate single source fpm versions "
277 | "([#563](https://github.com/fortran-lang/fpm/pull/563))"
278 | msgstr ""
279 | "nieuwe workflow voor automatisch genereren van de single-source versies "
280 | "van fpm ([#563](https://github.com/fortran-lang/fpm/pull/563))"
281 |
282 | #: ../../pages/news/2021/11-21-fpm-version-0.5.0.md:50
283 | #, fuzzy
284 | msgid ""
285 | "continuous delivery of current fpm git source implemented "
286 | "([#569](https://github.com/fortran-lang/fpm/pull/569), "
287 | "[#564](https://github.com/fortran-lang/fpm/pull/564))"
288 | msgstr ""
289 | "continue bouw en levering van de broncode in git van fpm "
290 | "([#569](https://github.com/fortran-lang/fpm/pull/569), "
291 | "[#564](https://github.com/fortran-lang/fpm/pull/564))"
292 |
293 | #: ../../pages/news/2021/11-21-fpm-version-0.5.0.md:51
294 | msgid ""
295 | "update of bootstrapping instructions ([#587](https://github.com/fortran-"
296 | "lang/fpm/pull/587))"
297 | msgstr ""
298 | "instructie voor initiële bouw (bootstrap) bijgewerkt "
299 | "([#587](https://github.com/fortran-lang/fpm/pull/587))"
300 |
301 | #: ../../pages/news/2021/11-21-fpm-version-0.5.0.md:52
302 | msgid ""
303 | "update README.md compiler, archiver, & link flags "
304 | "([#598](https://github.com/fortran-lang/fpm/pull/598))"
305 | msgstr ""
306 | "bestand README.md bjigewerkt met de opties voor de compiler, archiver en "
307 | "linker ([#598](https://github.com/fortran-lang/fpm/pull/598))"
308 |
309 | #: ../../pages/news/2021/11-21-fpm-version-0.5.0.md:57
310 | msgid "[Discourse thread](https://fortran-lang.discourse.group/t/2314)"
311 | msgstr "[Discussie op Discourse](https://fortran-lang.discourse.group/t/2314)"
312 |
313 | #: ../../pages/news/2021/11-21-fpm-version-0.5.0.md:58
314 | msgid "[Twitter post](https://twitter.com/fortranlang/status/1462506491752161286)"
315 | msgstr "[Twitterpost](https://twitter.com/fortranlang/status/1462506491752161286)"
316 |
317 | #: ../../pages/news/2021/new-documentation.md:7
318 | msgid "New documentation"
319 | msgstr ""
320 |
321 | #: ../../pages/news/2022/06-19-fpm-version-0.6.0.md:7
322 | #, fuzzy
323 | msgid "Fpm version 0.6.0 released"
324 | msgstr "Fpm 0.5.0 uitgebracht"
325 |
326 | #: ../../pages/news/2022/06-19-fpm-version-0.6.0.md:9
327 | msgid ""
328 | "This release introduces a better visualization for the build output, "
329 | "compiler output is only shown on error to keep the standard output clean "
330 | "for successful builds. Furthermore, fpm can now detect unused modules and"
331 | " avoids compiling modules that are not needed for an application, which "
332 | "improves the compilation speed with large dependencies like stdlib. When "
333 | "creating a new project with fpm the author information are now taken from"
334 | " the git configuration to avoid using placeholders in the manifest. "
335 | "Several more bug fixes and plenty of improvements went into this version "
336 | "as well."
337 | msgstr ""
338 |
339 | #: ../../pages/news/2022/06-19-fpm-version-0.6.0.md:14
340 | #, fuzzy
341 | msgid ""
342 | "Find the full release notes [here](https://github.com/fortran-"
343 | "lang/fpm/releases/tag/v0.6.0)."
344 | msgstr ""
345 | "Hier vind je alle releasenotes [ici](https://github.com/fortran-"
346 | "lang/fpm/releases/tag/v0.5.0)."
347 |
348 | #: ../../pages/news/2022/06-19-fpm-version-0.6.0.md:16
349 | msgid ""
350 | "Many thanks to Pedro Costa ([@p-costa](https://github.com/p-costa)), "
351 | "Sebastian Ehlert ([@awvwgk](https://github.com/awvwgk)), Laurence Kedward"
352 | " ([@lkedward](https://github.com/lkedward)), Wileam Y. Phan "
353 | "([@wyphan](https://github.com/wyphan)), Arteev Raina "
354 | "([@arteevraina](https://github.com/arteevraina)), Simon Rowe "
355 | "([@wiremoons](https://github.com/wiremoons)), Andre Smit "
356 | "([@freevryheid](https://github.com/freevryheid)), John Urban "
357 | "([@urbanjost](https://github.com/urbanjost)), Zuo Zhihua "
358 | "([@zoziha](https://github.com/zoziha)), [@st-maxwell](https://github.com"
359 | "/st-maxwell), and [@noisegul](https://github.com/noisegul) for "
360 | "contributing patches to this release."
361 | msgstr ""
362 |
363 | #: ../../pages/news/2022/06-19-fpm-version-0.6.0.md:19
364 | #, fuzzy
365 | msgid "Changelog"
366 | msgstr "Wijzigingen"
367 |
368 | #: ../../pages/news/2022/06-19-fpm-version-0.6.0.md:21
369 | #, fuzzy
370 | msgid ""
371 | "Better extraction of the Fortran compiler from the MPI wrapper "
372 | "([#634](https://github.com/fortran-lang/fpm/pull/634))"
373 | msgstr ""
374 | "hoofdtak hernoemd tot *main* ([#565](https://github.com/fortran-"
375 | "lang/fpm/pull/565))"
376 |
377 | #: ../../pages/news/2022/06-19-fpm-version-0.6.0.md:22
378 | #, fuzzy
379 | msgid ""
380 | "Update module output directory command for flang-new/f18 "
381 | "([#645](https://github.com/fortran-lang/fpm/pull/645))"
382 | msgstr ""
383 | "verwijderen van directories verbeterd in fpm new tests "
384 | "([#579](https://github.com/fortran-lang/fpm/pull/579))"
385 |
386 | #: ../../pages/news/2022/06-19-fpm-version-0.6.0.md:23
387 | #, fuzzy
388 | msgid ""
389 | "Respect user provided main-files ([#646](https://github.com/fortran-"
390 | "lang/fpm/pull/646))"
391 | msgstr ""
392 | "hoofdtak hernoemd tot *main* ([#565](https://github.com/fortran-"
393 | "lang/fpm/pull/565))"
394 |
395 | #: ../../pages/news/2022/06-19-fpm-version-0.6.0.md:24
396 | #, fuzzy
397 | msgid ""
398 | "just allow . on new subcommand instead of changing canonical path "
399 | "([#630](https://github.com/fortran-lang/fpm/pull/630))"
400 | msgstr ""
401 | "instructie voor initiële bouw (bootstrap) bijgewerkt "
402 | "([#587](https://github.com/fortran-lang/fpm/pull/587))"
403 |
404 | #: ../../pages/news/2022/06-19-fpm-version-0.6.0.md:25
405 | #, fuzzy
406 | msgid ""
407 | "get user name and email using git config if available else use defaults "
408 | "([#652](https://github.com/fortran-lang/fpm/pull/652))"
409 | msgstr ""
410 | "vermeld de namen zonder suffix op Windows ([#595](https://github.com"
411 | "/fortran-lang/fpm/pull/595))"
412 |
413 | #: ../../pages/news/2022/06-19-fpm-version-0.6.0.md:26
414 | #, fuzzy
415 | msgid ""
416 | "Ignore hidden source files ([#654](https://github.com/fortran-"
417 | "lang/fpm/pull/654))"
418 | msgstr ""
419 | "tabs worden nu correct behandeld bij het scannen van de broncode "
420 | "([#521](https://github.com/fortran-lang/fpm/pull/521))"
421 |
422 | #: ../../pages/news/2022/06-19-fpm-version-0.6.0.md:27
423 | #, fuzzy
424 | msgid ""
425 | "Cleanup the backend output ([#622](https://github.com/fortran-"
426 | "lang/fpm/pull/622))"
427 | msgstr ""
428 | "hoofdtak hernoemd tot *main* ([#565](https://github.com/fortran-"
429 | "lang/fpm/pull/565))"
430 |
431 | #: ../../pages/news/2022/06-19-fpm-version-0.6.0.md:28
432 | #, fuzzy
433 | msgid ""
434 | "Add note about relocation of manifest reference "
435 | "([#648](https://github.com/fortran-lang/fpm/pull/648))"
436 | msgstr ""
437 | "kritische sectie toegevoegd in het backend voor mkdir "
438 | "([#613](https://github.com/fortran-lang/fpm/pull/613))"
439 |
440 | #: ../../pages/news/2022/06-19-fpm-version-0.6.0.md:29
441 | #, fuzzy
442 | msgid ""
443 | "Fix for backtrace error when file not found in: "
444 | "`src/fpm_source_parsing.f90` ([#675](https://github.com/fortran-"
445 | "lang/fpm/pull/675))"
446 | msgstr ""
447 | "tabs worden nu correct behandeld bij het scannen van de broncode "
448 | "([#521](https://github.com/fortran-lang/fpm/pull/521))"
449 |
450 | #: ../../pages/news/2022/06-19-fpm-version-0.6.0.md:30
451 | #, fuzzy
452 | msgid ""
453 | "Fix issue with backend pretty output ([#677](https://github.com/fortran-"
454 | "lang/fpm/pull/677))"
455 | msgstr ""
456 | "afgebroken helptekst verbeterd ([#578](https://github.com/fortran-"
457 | "lang/fpm/pull/578))"
458 |
459 | #: ../../pages/news/2022/06-19-fpm-version-0.6.0.md:31
460 | #, fuzzy
461 | msgid ""
462 | "fix: remove remove unnecessary space in fpm new cmd "
463 | "([#684](https://github.com/fortran-lang/fpm/pull/684))"
464 | msgstr ""
465 | "verwijderen van directories verbeterd in fpm new tests "
466 | "([#579](https://github.com/fortran-lang/fpm/pull/579))"
467 |
468 | #: ../../pages/news/2022/06-19-fpm-version-0.6.0.md:32
469 | #, fuzzy
470 | msgid ""
471 | "Small fix for `fpm_model` ([#688](https://github.com/fortran-"
472 | "lang/fpm/pull/688))"
473 | msgstr ""
474 | "corrigeer de lijst van modules (voor de installatie) "
475 | "([#612](https://github.com/fortran-lang/fpm/pull/612))"
476 |
477 | #: ../../pages/news/2022/06-19-fpm-version-0.6.0.md:33
478 | #, fuzzy
479 | msgid "add clean command ([#655](https://github.com/fortran-lang/fpm/pull/665))"
480 | msgstr ""
481 | "hoofdtak hernoemd tot *main* ([#565](https://github.com/fortran-"
482 | "lang/fpm/pull/565))"
483 |
484 | #: ../../pages/news/2022/06-19-fpm-version-0.6.0.md:34
485 | #, fuzzy
486 | msgid ""
487 | "Fix for non-portable GFortran `-J` flag in install script "
488 | "([#692](https://github.com/fortran-lang/fpm/pull/692))"
489 | msgstr ""
490 | "corrigeer de foutieve Release-optie voor Intel op Windows "
491 | "([#602](https://github.com/fortran-lang/fpm/pull/602))"
492 |
493 | #: ../../pages/news/2022/06-19-fpm-version-0.6.0.md:35
494 | #, fuzzy
495 | msgid ""
496 | "Fix show-model option ([#693](https://github.com/fortran-"
497 | "lang/fpm/pull/693))"
498 | msgstr ""
499 | "corrigeer de lijst van modules (voor de installatie) "
500 | "([#612](https://github.com/fortran-lang/fpm/pull/612))"
501 |
502 | #: ../../pages/news/2022/06-19-fpm-version-0.6.0.md:36
503 | #, fuzzy
504 | msgid ""
505 | "Tree shaking for modules ([#676](https://github.com/fortran-"
506 | "lang/fpm/pull/676))"
507 | msgstr ""
508 | "instructie voor initiële bouw (bootstrap) bijgewerkt "
509 | "([#587](https://github.com/fortran-lang/fpm/pull/587))"
510 |
511 | #: ../../pages/news/2022/06-19-fpm-version-0.6.0.md:37
512 | #, fuzzy
513 | msgid ""
514 | "Fix submodule shaking ([#704](https://github.com/fortran-"
515 | "lang/fpm/pull/704))"
516 | msgstr ""
517 | "corrigeer de lijst van modules (voor de installatie) "
518 | "([#612](https://github.com/fortran-lang/fpm/pull/612))"
519 |
520 | #: ../../pages/news/2022/06-19-fpm-version-0.6.0.md:38
521 | #, fuzzy
522 | msgid ""
523 | "fix: remove extra space from help-test cmd ([#686](https://github.com"
524 | "/fortran-lang/fpm/pull/686))"
525 | msgstr ""
526 | "afgebroken helptekst verbeterd ([#578](https://github.com/fortran-"
527 | "lang/fpm/pull/578))"
528 |
529 | #: ../../pages/news/2022/06-19-fpm-version-0.6.0.md:39
530 | #, fuzzy
531 | msgid ""
532 | "Fix: to pipe up-to-date message to stderr ([#706](https://github.com"
533 | "/fortran-lang/fpm/pull/706))"
534 | msgstr ""
535 | "afgebroken helptekst verbeterd ([#578](https://github.com/fortran-"
536 | "lang/fpm/pull/578))"
537 |
538 | #: ../../pages/news/2022/06-19-fpm-version-0.6.0.md:40
539 | #, fuzzy
540 | msgid ""
541 | "Avoid infinite loop if command \"fpm-\" is in path "
542 | "([#713](https://github.com/fortran-lang/fpm/pull/713))"
543 | msgstr ""
544 | "kritische sectie toegevoegd in het backend voor mkdir "
545 | "([#613](https://github.com/fortran-lang/fpm/pull/613))"
546 |
547 | #: ../../pages/news/2022/06-19-fpm-version-0.6.0.md:41
548 | #, fuzzy
549 | msgid ""
550 | "Fix --show-model, init `c_source%parent_modules` "
551 | "([#712](https://github.com/fortran-lang/fpm/pull/712))"
552 | msgstr ""
553 | "verwijderen van directories verbeterd in fpm new tests "
554 | "([#579](https://github.com/fortran-lang/fpm/pull/579))"
555 |
556 | #: ../../pages/news/2022/06-19-fpm-version-0.6.0.md:42
557 | #, fuzzy
558 | msgid ""
559 | "Add OMP critical for `make_archive` ([#708](https://github.com/fortran-"
560 | "lang/fpm/pull/708))"
561 | msgstr ""
562 | "kritische sectie toegevoegd in het backend voor mkdir "
563 | "([#613](https://github.com/fortran-lang/fpm/pull/613))"
564 |
565 |
--------------------------------------------------------------------------------