Skip to content

Commit dc2e788

Browse files
Add purs-versions script to list supported registry versions (#628)
1 parent e7aadf4 commit dc2e788

File tree

3 files changed

+19
-13
lines changed

3 files changed

+19
-13
lines changed

app/default.nix

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
writeText,
99
nodejs,
1010
compilers,
11+
purs-versions,
1112
dhall,
1213
dhall-json,
1314
git,
@@ -76,7 +77,7 @@ in {
7677
'';
7778
postFixup = ''
7879
wrapProgram $out/bin/${name} \
79-
--set PATH ${lib.makeBinPath [compilers dhall dhall-json licensee git coreutils gzip gnutar]}
80+
--set PATH ${lib.makeBinPath [compilers purs-versions dhall dhall-json licensee git coreutils gzip gnutar]}
8081
'';
8182
};
8283

@@ -109,7 +110,7 @@ in {
109110
'';
110111
postFixup = ''
111112
wrapProgram $out/bin/${name} \
112-
--set PATH ${lib.makeBinPath [compilers dhall dhall-json licensee git coreutils gzip gnutar]}
113+
--set PATH ${lib.makeBinPath [compilers purs-versions dhall dhall-json licensee git coreutils gzip gnutar]}
113114
'';
114115
};
115116
}

flake.nix

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -71,28 +71,31 @@
7171
#
7272
# To add a new compiler to the list, just update the flake:
7373
# $ nix flake update
74-
compilers = let
75-
# Only include the compiler at normal MAJOR.MINOR.PATCH versions.
76-
stableOnly =
77-
prev.lib.filterAttrs (name: _: (builtins.match "^purs-[0-9]+_[0-9]+_[0-9]+$" name != null))
78-
prev.purs-bin;
79-
in
74+
supportedCompilers = prev.lib.filterAttrs (name: _: (builtins.match "^purs-[0-9]+_[0-9]+_[0-9]+$" name != null)) prev.purs-bin;
75+
76+
# An attrset containing all the PureScript binaries we want to make
77+
# available.
78+
compilers =
8079
prev.symlinkJoin {
8180
name = "purs-compilers";
8281
paths = prev.lib.mapAttrsToList (name: drv:
8382
prev.writeShellScriptBin name ''
8483
exec ${drv}/bin/purs "$@"
8584
'')
86-
stableOnly;
85+
supportedCompilers;
8786
};
87+
88+
purs-versions = prev.writeShellScriptBin "purs-versions" ''
89+
echo ${prev.lib.concatMapStringsSep " " (x: prev.lib.removePrefix "purs-" (builtins.replaceStrings ["_"] ["."] x)) (prev.lib.attrNames supportedCompilers)}
90+
'';
8891
in {
8992
apps = prev.callPackages ./app {
90-
inherit compilers package-lock spago-lock;
93+
inherit compilers purs-versions package-lock spago-lock;
9194
};
9295
scripts = prev.callPackages ./scripts {
93-
inherit compilers package-lock spago-lock;
96+
inherit compilers purs-versions package-lock spago-lock;
9497
};
95-
inherit compilers package-lock spago-lock;
98+
inherit purs-versions compilers package-lock spago-lock;
9699
};
97100
};
98101
in
@@ -278,6 +281,7 @@
278281
packages = with pkgs; [
279282
# All stable PureScript compilers
280283
registry.compilers
284+
registry.purs-versions
281285

282286
# TODO: Hacky, remove when I can run spago test in a pure env
283287
run-tests-script

scripts/default.nix

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
nodejs,
88
writeText,
99
compilers,
10+
purs-versions,
1011
dhall,
1112
dhall-json,
1213
licensee,
@@ -48,7 +49,7 @@
4849
'';
4950
postFixup = ''
5051
wrapProgram $out/bin/${name} \
51-
--set PATH ${lib.makeBinPath [ compilers dhall dhall-json licensee git coreutils gzip gnutar ]}
52+
--set PATH ${lib.makeBinPath [ compilers purs-versions dhall dhall-json licensee git coreutils gzip gnutar ]}
5253
'';
5354
};
5455
in {

0 commit comments

Comments
 (0)