Fortran: Difference between revisions
Appearance
Initial page |
Simplify setup, add example flake |
||
Line 1: | Line 1: | ||
The Fortran front-end for gcc can be enabled by adding | The Fortran front-end for gcc can be enabled by adding <code>pkgs.gfortran</code> to {{Nixos:option|environment.systemPackages}}. | ||
If both <code>gcc</code> and <code>gfortran</code> are included, the build may fail with an error of the form: "collision between gfortran-wrapper/bin/gcc and gcc-wrapper/bin/gcc". | |||
An example [[Flakes|nix flake]]: | |||
<syntaxhighlight lang="nix"> | |||
{ | |||
inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable"; | |||
outputs = {nixpkgs, ...}: let | |||
system = "x86_64-linux"; | |||
pkgs = nixpkgs.legacyPackages.${system}; | |||
in { | |||
devShells.${system}.default = pkgs.mkShell { | |||
packages = with pkgs; [ | |||
gfortran | |||
]; | |||
}; | |||
}; | |||
} | |||
</syntaxhighlight> | |||
Run <code>nix develop</code> to enter the nix shell, then compile with <code>gfortran myfile.f</code>. |
Revision as of 20:17, 31 May 2025
The Fortran front-end for gcc can be enabled by adding pkgs.gfortran
to environment.systemPackages
.
If both gcc
and gfortran
are included, the build may fail with an error of the form: "collision between gfortran-wrapper/bin/gcc and gcc-wrapper/bin/gcc".
An example nix flake:
{
inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
outputs = {nixpkgs, ...}: let
system = "x86_64-linux";
pkgs = nixpkgs.legacyPackages.${system};
in {
devShells.${system}.default = pkgs.mkShell {
packages = with pkgs; [
gfortran
];
};
};
}
Run nix develop
to enter the nix shell, then compile with gfortran myfile.f
.