Skip to content

Commit e25d841

Browse files
committed
Handle the case when index-state is null
1 parent bad3c52 commit e25d841

File tree

2 files changed

+8
-5
lines changed

2 files changed

+8
-5
lines changed

modules/hackage-project.nix

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ in {
2121
type = lib.types.str;
2222
default = "default";
2323
description = ''Hackage revision to use ("default", "r1", "r2", etc.)'';
24-
apply = r: if r == "default"
24+
apply = r: if r == "default" && !(builtins.isNull index-state)
2525
then (lib.attrsets.foldlAttrs
2626
(acc: name: value:
2727
if value.revTimestamp > acc.rTimestamp

modules/hackage.nix

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,10 @@ let
8888
lib.mapAttrs
8989
(_: rev2Config { inherit pname vnum; inherit (version) sha256; })
9090
(makeContentAddressed
91-
(
91+
(if builtins.isNull index-state
92+
then version.revisions
93+
else
94+
(
9295
let maxAllowedRev = (lib.attrsets.foldlAttrs
9396
(acc: name: value:
9497
if value.revTimestamp > acc.rTimestamp
@@ -97,10 +100,10 @@ let
97100
)
98101
({ rName = "default"; rTimestamp = "0"; })
99102
(
100-
lib.attrsets.filterAttrs (_: a: builtins.isAttrs a && a.revTimestamp <= index-state)
101-
version.revisions
103+
lib.attrsets.filterAttrs (_: a: builtins.isAttrs a && a.revTimestamp <= index-state)
104+
(version.revisions)
102105
)).rName;
103-
in (version.revisions // {"default" = version.revisions."${maxAllowedRev}";}))
106+
in (version.revisions // {"default" = version.revisions."${maxAllowedRev}";})))
104107
);
105108
}));
106109

0 commit comments

Comments
 (0)