1
1
{
2
2
lib ,
3
- fetchurl ,
4
- pkgs ,
5
3
stdenv ,
4
+ fetchurl ,
5
+ gfortran ,
6
+ versionCheckHook ,
7
+ nix-update-script ,
6
8
} :
7
9
8
- stdenv . mkDerivation rec {
10
+ stdenv . mkDerivation ( finalAttrs : {
9
11
pname = "fortran-fpm" ;
10
12
11
13
version = "0.11.0" ;
12
14
13
15
src = fetchurl {
14
- url = "https://github.com/fortran-lang/fpm/releases/download/v${ version } /fpm-${ version } .F90" ;
15
- sha256 = "sha256-mIozF+4kSO5yB9CilBDwinnIa92sMxSyoXWAGpz1jSc=" ;
16
+ url = "https://github.com/fortran-lang/fpm/releases/download/v${ finalAttrs . version } /fpm-${ finalAttrs . version } .F90" ;
17
+ hash = "sha256-mIozF+4kSO5yB9CilBDwinnIa92sMxSyoXWAGpz1jSc=" ;
16
18
} ;
17
19
18
20
dontUnpack = true ;
19
21
20
- nativeBuildInputs = with pkgs ; [ gfortran ] ;
22
+ nativeBuildInputs = [ gfortran ] ;
21
23
22
24
buildPath = "build/bootstrap" ;
23
25
24
26
buildPhase = ''
25
27
runHook preBuild
26
28
27
- mkdir -p ${ buildPath }
28
- gfortran -J ${ buildPath } -o ${ buildPath } /${ pname } $src
29
+ mkdir -p ${ finalAttrs . buildPath }
30
+ gfortran -J ${ finalAttrs . buildPath } -o ${ finalAttrs . buildPath } /fortran-fpm $src
29
31
30
32
runHook postBuild
31
33
'' ;
@@ -34,17 +36,27 @@ stdenv.mkDerivation rec {
34
36
runHook preInstall
35
37
36
38
mkdir -p $out/bin
37
- cp ${ buildPath } /${ pname } $out/bin
39
+ cp ${ finalAttrs . buildPath } /fortran-fpm $out/bin
38
40
39
41
runHook postInstall
40
42
'' ;
41
43
42
- meta = with lib ; {
44
+ nativeInstallCheckInputs = [
45
+ versionCheckHook
46
+ ] ;
47
+ versionCheckProgramArg = "--version" ;
48
+ doInstallCheck = true ;
49
+
50
+ passthru = {
51
+ updateScript = nix-update-script { } ;
52
+ } ;
53
+
54
+ meta = {
43
55
description = "Fortran Package Manager (fpm)" ;
44
56
homepage = "https://fpm.fortran-lang.org" ;
45
- maintainers = [ maintainers . proofconstruction ] ;
46
- license = licenses . mit ;
47
- platforms = platforms . all ;
57
+ maintainers = [ lib . maintainers . proofconstruction ] ;
58
+ license = lib . licenses . mit ;
59
+ platforms = lib . platforms . all ;
48
60
mainProgram = "fortran-fpm" ;
49
61
} ;
50
- }
62
+ } )
0 commit comments