|
2 | 2 | description = "The PureScript Registry"; |
3 | 3 |
|
4 | 4 | inputs = { |
5 | | - nixpkgs.url = "github:nixos/nixpkgs/release-24.05"; |
| 5 | + nixpkgs.url = "github:nixos/nixpkgs/release-25.05"; |
6 | 6 | flake-utils.url = "github:numtide/flake-utils"; |
7 | 7 |
|
8 | 8 | flake-compat.url = "github:edolstra/flake-compat"; |
|
11 | 11 | purescript-overlay.url = "github:thomashoneyman/purescript-overlay"; |
12 | 12 | purescript-overlay.inputs.nixpkgs.follows = "nixpkgs"; |
13 | 13 |
|
| 14 | + mkSpagoDerivation.url = "github:jeslie0/mkSpagoDerivation"; |
| 15 | + mkSpagoDerivation.inputs.nixpkgs.follows = "nixpkgs"; |
| 16 | + mkSpagoDerivation.inputs.ps-overlay.follows = "purescript-overlay"; |
| 17 | + |
14 | 18 | slimlock.url = "github:thomashoneyman/slimlock"; |
15 | 19 | slimlock.inputs.nixpkgs.follows = "nixpkgs"; |
16 | 20 | }; |
|
21 | 25 | nixpkgs, |
22 | 26 | flake-utils, |
23 | 27 | purescript-overlay, |
| 28 | + mkSpagoDerivation, |
24 | 29 | slimlock, |
25 | 30 | ... |
26 | 31 | }: |
|
44 | 49 | ./foreign |
45 | 50 | ./lib |
46 | 51 | ./scripts |
| 52 | + ./test-utils |
47 | 53 | ./spago.lock |
48 | 54 | ./spago.yaml |
49 | 55 | ] |
|
76 | 82 | # We don't want to force everyone to update their configs if they aren't |
77 | 83 | # normally on flakes. |
78 | 84 | nixFlakes = prev.writeShellScriptBin "nixFlakes" '' |
79 | | - exec ${prev.nixFlakes}/bin/nix --experimental-features "nix-command flakes" "$@" |
| 85 | + exec ${prev.nixVersions.stable}/bin/nix --experimental-features "nix-command flakes" "$@" |
80 | 86 | ''; |
81 | 87 |
|
82 | 88 | # Detects arguments to 'git' containing a URL and replaces them with a |
|
144 | 150 | # Packages associated with the registry, ie. in this repository. |
145 | 151 | registry = |
146 | 152 | let |
147 | | - spago-lock = prev.purix.buildSpagoLock { |
148 | | - src = fileset.toSource { |
149 | | - root = ./.; |
150 | | - fileset = pureScriptFileset; |
151 | | - }; |
152 | | - corefn = true; |
| 153 | + spago-lock = prev.mkSpagoDerivation { |
| 154 | + name = "registry"; |
| 155 | + src = ./.; |
| 156 | + nativeBuildInputs = [ |
| 157 | + prev.pkgs.spago-bin.spago-0_93_44 |
| 158 | + prev.pkgs.purescript |
| 159 | + ]; |
| 160 | + buildPhase = "spago build"; |
| 161 | + installPhase = "mkdir $out; cp -r * $out"; |
153 | 162 | }; |
154 | 163 |
|
155 | 164 | package-lock = |
|
245 | 254 | inherit system; |
246 | 255 | overlays = [ |
247 | 256 | purescript-overlay.overlays.default |
| 257 | + mkSpagoDerivation.overlays.default |
248 | 258 | slimlock.overlays.default |
249 | 259 | registryOverlay |
250 | 260 | ]; |
|
265 | 275 | set -euo pipefail |
266 | 276 | WORKDIR=$(mktemp -d) |
267 | 277 | cp spago.yaml spago.lock $WORKDIR |
268 | | - cp -a app foreign lib scripts types $WORKDIR |
| 278 | + cp -a app foreign lib scripts test-utils types $WORKDIR |
269 | 279 | ln -s ${pkgs.registry.package-lock}/js/node_modules $WORKDIR/node_modules |
270 | 280 |
|
271 | 281 | pushd $WORKDIR |
272 | 282 | export HEALTHCHECKS_URL=${defaultEnv.HEALTHCHECKS_URL} |
273 | | - ${pkgs.spago-bin.spago-0_93_19}/bin/spago test |
| 283 | + ${pkgs.spago-bin.spago-0_93_44}/bin/spago test |
274 | 284 |
|
275 | 285 | popd |
276 | 286 | ''; |
|
317 | 327 | { |
318 | 328 | nixpkgs.overlays = [ |
319 | 329 | purescript-overlay.overlays.default |
| 330 | + mkSpagoDerivation.overlays.default |
320 | 331 | slimlock.overlays.default |
321 | 332 | registryOverlay |
322 | 333 | ]; |
|
853 | 864 |
|
854 | 865 | # Development tooling |
855 | 866 | purs |
856 | | - spago-bin.spago-0_93_19 # until new lockfile format supported by overlay |
| 867 | + spago-bin.spago-0_93_44 |
857 | 868 | purs-tidy-unstable |
858 | 869 | purs-backend-es-unstable |
859 | 870 | ]; |
|
870 | 881 | system = "x86_64-linux"; |
871 | 882 | overlays = [ |
872 | 883 | purescript-overlay.overlays.default |
| 884 | + mkSpagoDerivation.overlays.default |
873 | 885 | slimlock.overlays.default |
874 | 886 | registryOverlay |
875 | 887 | ]; |
|
0 commit comments