Hi, The attached tarball is a port for https://fpm.fortran-lang.org/ (code source at https://github.com/fortran-lang/fpm/).
>From pkg/DESCR: Fortran Package Manager (fpm) is a package manager and build system for Fortran. Its key goal is to improve the user experience of Fortran programmers. It does so by making it easier to build your Fortran program or library, run the executables, tests, and examples, and distribute it as a dependency to other Fortran projects. Fpm's user interface is modeled after Rust's Cargo, so if you're familiar with that tool, you will feel at home with fpm. Fpm's long term vision is to nurture and grow the ecosystem of modern Fortran applications and libraries. Fpm is an early prototype and is evolving rapidly. You can use it to build and package your Fortran projects, as well as to use existing fpm packages as dependencies. Fpm's behavior and user interface may change as it evolves, however as fpm matures and we enter production, we will aim to stay backwards compatible. Please follow the issues to contribute and/or stay up to date with the development. Before opening a bug report or a feature suggestion, please read our Contributor Guide. You can also discuss your ideas and queries with the community in fpm discussions, or more broadly on Fortran-Lang Discourse. Fortran Package Manager is not to be confused with Jordan Sissel's fpm, a more general, non-Fortran related package manager. It is written in (modern-)fortran and use itself for building. Upstream provides a plain one-file fortran version for bootstrapping it. It uses two external dependencies which I vendored in the port (tarballs are downloaded as part of the port), and I patched fpm.toml file to use them instead of getting them with git(1). The build is done in 3 stages: - the bootstrap is built - fpm (with patches) is built using the bootstrap - fpm (with patches) is built using fpm (with patches) The third step is necessary as fpm adds compilation flags on the build, and the patches modifies them. As it build relatively quickly, I don't think it is a problem (less than 2 minutes for all the steps). The default profile used is 'egfortran', so it could works out-of-box with g95 installed (instead of using 'gfortran' which doesn't exist in OpenBSD ports). I didn't added RUN_DEPENDS on g95 as it could work with several fortran compilers and I don't want to stick to one specifically. Comments or OK to import ? -- Sebastien Marie
fpm.tgz
Description: application/tar-gz