diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index d15b20ff1cd..bae640db637 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -13189,6 +13189,12 @@ githubId = 406946; name = "Valentin Lorentz"; }; + proofconstruction = { + email = "source@proof.construction"; + github = "proofconstruction"; + githubId = 74747193; + name = "Alexander Groleau"; + }; proofofkeags = { email = "keagan.mcclelland@gmail.com"; github = "ProofOfKeags"; diff --git a/pkgs/tools/package-management/fortran-fpm/default.nix b/pkgs/tools/package-management/fortran-fpm/default.nix new file mode 100644 index 00000000000..6e7c68aa17f --- /dev/null +++ b/pkgs/tools/package-management/fortran-fpm/default.nix @@ -0,0 +1,48 @@ +{ lib +, fetchurl +, pkgs +, stdenv +}: + +stdenv.mkDerivation rec { + pname = "fortran-fpm"; + + version = "0.9.0"; + + src = fetchurl { + url = "https://github.com/fortran-lang/fpm/releases/download/v${version}/fpm-${version}.F90"; + sha256 = "sha256-VWs4g7odtv1iyZunFD8el+u0CXKcQgnwOqPG/JcMzj8="; + }; + + dontUnpack = true; + + nativeBuildInputs = with pkgs; [ gfortran ]; + + buildPath = "build/bootstrap"; + + buildPhase = '' + runHook preBuild + + mkdir -p ${buildPath} + gfortran -J ${buildPath} -o ${buildPath}/${pname} $src + + runHook postBuild + ''; + + installPhase = '' + runHook preInstall + + mkdir -p $out/bin + cp ${buildPath}/${pname} $out/bin + + runHook postInstall + ''; + + meta = with lib; { + description = "Fortran Package Manager (fpm)"; + homepage = "https://fpm.fortran-lang.org"; + maintainers = [ maintainers.proofconstruction ]; + license = licenses.mit; + platforms = platforms.all; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index ce8a07758af..b7600845440 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -7840,6 +7840,8 @@ with pkgs; forktty = callPackage ../os-specific/linux/forktty { }; + fortran-fpm = callPackage ../tools/package-management/fortran-fpm { }; + fortune = callPackage ../tools/misc/fortune { }; fox = callPackage ../development/libraries/fox {