|
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