Fortran: Difference between revisions

Initial page
 
Pigs (talk | contribs)
m Add category languages
 
(One intermediate revision by one other user not shown)
Line 1: Line 1:
The Fortran front-end for gcc can be enabled by adding '''pkgs.gfortran.cc''' to '''environment.systemPackages'''. <ref>https://github.com/NixOS/nixpkgs/issues/61736</ref>
The Fortran front-end for gcc can be enabled by adding <code>pkgs.gfortran</code> to {{Nixos:option|environment.systemPackages}}.


The addition of '''.cc''' indicates the compiler itself without the gcc-wrapper Nix expressions used by '''gfortran'''. <ref>https://github.com/NixOS/nixpkgs/issues/20270</ref>
If both <code>gcc</code> and <code>gfortran</code> are included, the build may fail with an error of the form: <code>collision between gfortran-wrapper/bin/gcc and gcc-wrapper/bin/gcc</code>.


If both '''gcc''' and '''gfortran''' (without '''.cc''') 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>.
 
[[Category:Languages]]