fortran-fpm: modernize (#390225)

This commit is contained in:
Nick Cao
2025-03-21 19:07:56 -04:00
committed by GitHub
+26 -14
View File
@@ -1,31 +1,33 @@
{
lib,
fetchurl,
pkgs,
stdenv,
fetchurl,
gfortran,
versionCheckHook,
nix-update-script,
}:
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "fortran-fpm";
version = "0.11.0";
src = fetchurl {
url = "https://github.com/fortran-lang/fpm/releases/download/v${version}/fpm-${version}.F90";
sha256 = "sha256-mIozF+4kSO5yB9CilBDwinnIa92sMxSyoXWAGpz1jSc=";
url = "https://github.com/fortran-lang/fpm/releases/download/v${finalAttrs.version}/fpm-${finalAttrs.version}.F90";
hash = "sha256-mIozF+4kSO5yB9CilBDwinnIa92sMxSyoXWAGpz1jSc=";
};
dontUnpack = true;
nativeBuildInputs = with pkgs; [ gfortran ];
nativeBuildInputs = [ gfortran ];
buildPath = "build/bootstrap";
buildPhase = ''
runHook preBuild
mkdir -p ${buildPath}
gfortran -J ${buildPath} -o ${buildPath}/${pname} $src
mkdir -p ${finalAttrs.buildPath}
gfortran -J ${finalAttrs.buildPath} -o ${finalAttrs.buildPath}/fortran-fpm $src
runHook postBuild
'';
@@ -34,17 +36,27 @@ stdenv.mkDerivation rec {
runHook preInstall
mkdir -p $out/bin
cp ${buildPath}/${pname} $out/bin
cp ${finalAttrs.buildPath}/fortran-fpm $out/bin
runHook postInstall
'';
meta = with lib; {
nativeInstallCheckInputs = [
versionCheckHook
];
versionCheckProgramArg = "--version";
doInstallCheck = true;
passthru = {
updateScript = nix-update-script { };
};
meta = {
description = "Fortran Package Manager (fpm)";
homepage = "https://fpm.fortran-lang.org";
maintainers = [ maintainers.proofconstruction ];
license = licenses.mit;
platforms = platforms.all;
maintainers = [ lib.maintainers.proofconstruction ];
license = lib.licenses.mit;
platforms = lib.platforms.all;
mainProgram = "fortran-fpm";
};
}
})